Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem Milight / colorchooser mit OH als Backend

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Problem Milight / colorchooser mit OH als Backend

    Hallo zusammen,

    nachdem ich mir bislang bei der Einarbeitung in CometVisu durch entsprechende Recherche im Internet ganz gut selber helfen konnte, stehe ich im Moment vor einem Problem, bei dem ich leider Unterstützung benötige.

    Ich habe in CometVisu meine Räume wie gewünscht angelegt und steuer damit diverse Geräte und Funktionen meiner unter OpenHAB zusammengefaßten Installation. Nachdem ich nun am Wochenende auch die Steuerung diverser milight RGBW Leuchmittel integriert habe, tritt folgendes Problem auf:

    Bei jedem Start oder auch dem Reload der CV-Oberfläche, wird die Farbe der milight-Lampen auf die zuletzt im colorchooser gewählte Farbe gesetzt. Wie kann dies verhindert werden?

    Und wo wir gerade schon dabei sind: Meine Versuche, die Steuerung des milight Disco-Modus in CV abzubilden, sind leider ebenfalls gescheitert. Hat diese Funktion (mit OH als Backend) schon mal jemand via CV angesprochen? Ich benötige die Funktion zwar nicht unbedingt, hätte nur gerne die komplette Funktionalität auch gerne unter CV zur Verfügung :-)

    Ich bedanke mich schonmal vorab für die Unterstützung und hoffe, daß mir jemand helfen kann.

    MIB2001

    #2
    Zitat von MIB2001 Beitrag anzeigen
    Bei jedem Start oder auch dem Reload der CV-Oberfläche, wird die Farbe der milight-Lampen auf die zuletzt im colorchooser gewählte Farbe gesetzt. Wie kann dies verhindert werden?
    Verstehe ich das richtig, dass die CometVisu beim Laden die Farbe der Lampen ändert (also aktiv Daten an openHAB schickt)? Das wäre dann wohl ein Bug. Und 2. Frage: Weder beim Reload aber noch viel weniger beim ersten Start kann der Colorchooser die zuletzt eingestellte Farbe kennen, sendet der dann einen Default-Wert oder was? Irgendwie hab ich noch nicht ganz verstanden was genau hier passert.

    Zitat von MIB2001 Beitrag anzeigen
    Und wo wir gerade schon dabei sind: Meine Versuche, die Steuerung des milight Disco-Modus in CV abzubilden, sind leider ebenfalls gescheitert. Hat diese Funktion (mit OH als Backend) schon mal jemand via CV angesprochen?
    Ich habe kein MiLight, daher kann ich hier nicht wirklich helfen. Wie wird den dieser Disco-Modus openHAB-seitig angesteuert (sprich: welche Items braucht man dafür)? Wenn es rein aus openHAB geht, sollte man das auch irgendwie mit der CV hinbekommen.
    Gruß
    Tobias

    Kommentar


      #3
      Zitat von peuter Beitrag anzeigen
      Verstehe ich das richtig, dass die CometVisu beim Laden die Farbe der Lampen ändert (also aktiv Daten an openHAB schickt)? Das wäre dann wohl ein Bug. Und 2. Frage: Weder beim Reload aber noch viel weniger beim ersten Start kann der Colorchooser die zuletzt eingestellte Farbe kennen, sendet der dann einen Default-Wert oder was? Irgendwie hab ich noch nicht ganz verstanden was genau hier passert.
      Hallo Tobias,
      zunächst vielen Dank für Deine Antwort und die schnelle Reaktion :-)

      Also, ich versuche es nochmal genauer zu erklären:

      Ja, CV sendet beim Start bzw. beim Reload die zuletzt im colorchooser für die Lampe gewählte Farbe erneut an OH. Diese gewählte Farbe wird auch in der Visu im colorchooser nach wie vor angezeigt. Übrigens ist es egal von welchem Gerät CV (danach) aufgerufen wird (PC via Webbrowser, iPhone oder unter Android mit der CV App): Das Problem tritt immer auf und auch bei einem Reload der Seite.
      Ich habe inzwischen übrigens festgestellt, daß das Problem temporär zu lösen ist, wenn ich OH neu starte. Dann tritt es erst wieder auf, wenn ich das erste mal eine Farbauswahl im colorchooser via CV treffe.

      Da Du einen Bug vermutest, hier mal die Angaben zu meine Umgebung:

      CV: V 0.9.2
      OH: 1.8.3
      OH CV Binding: V 1.8.3

      Wenn CV neu gestartet bzw. reloaded wird, taucht im OH events.log folgendes auf:

      Code:
      2016-07-04 20:13:47 - LampeSZRGBW_Farbe received command 237.39130434782606,98.2
      9059829059828,45.88235294117647
      Hier mal der relevante Teil aus meiner visu_config.xml:

      Code:
            <group name="RGB Bettleuchte">
            <layout colspan="6"/>
            <group>
            <layout colspan="1.5"/>
                <colorchooser>
                  <address transform="OH:color" variant="rgb">LampeSZRGBW_Farbe</address>
                </colorchooser>
                </group>
            <group>
            <layout colspan="4.5"/>
              <info mapping="Dimmer" align="left">
                <layout colspan="0.5"/>
                <address transform="OH:dimmer" mode="read">LampeSZRGBWHelligkeit</address>
              </info>
              <slide min="0" max="100" step="5" format="%d%%" flavour="lithium">
                <layout colspan="4"/>
                <address transform="OH:dimmer" mode="readwrite">LampeSZRGBWHelligkeit</address>
              </slide>
            <break/>
            <group>
            <multitrigger button1label="rot" button1value="0" button2label="gelb" button2value="1" button3label="grün" button3value="2" button4label="cyan" button4value="4">
                  <layout colspan="1"/>
                  <address transform="OH:number">LampeSZRGBWLight_scene</address>
                </multitrigger>
                <multitrigger button1label="blau" button1value="5" button2label="magenta" button2value="7">
                  <layout colspan="1"/>
                  <address transform="OH:number">LampeSZRGBWLight_scene</address>
                </multitrigger>
              <trigger value="1" mapping="MilightWhiteON" align="center">
                <layout colspan="2"/>
                <address transform="OH:switch">LampeSZRGBWWhiteMode</address>
              </trigger>
            <switch on_value="1" off_value="0" mapping="OnOffSymbol" styling="NeutralGreenBG" align="center">
                  <layout colspan="2"/>
                  <address transform="OH:switch">LampeSZRGBW</address>
                </switch>
              </group>
                </group>
              </group>
      Die OH items sehen wie folgt aus:


      Code:
      Switch LampeSZRGBW  "Lampe RGBW"              {milight="bridge1;10"}
      Switch LampeSZRGBWWhiteMode  "Lampe RGBW weiss-Modus"     {milight="bridge1;10;whiteMode"}
      Dimmer LampeSZRGBWHelligkeit "Lampe RGBW (Helligkeit) [%d %%]"      {milight="bridge1;10;brightness;24"}
      
      Dimmer LampeSZRGBWDiscoMode   "Lampe RGBW Disco-Modus"               {milight="bridge1;10;discoMode"}
      Dimmer LampeSZRGBWDiscoSpeed  "Lampe RGBW Disco-Modus (Änderungsrate)"             {milight="bridge1;10;discoSpeed"}
      
      Color LampeSZRGBW_Farbe    "Wählen Sie eine Farbe RGBW"            {milight="bridge1;10;rgb"}
      
      Number LampeSZRGBWLight_scene      "Farbewahl (Grundfarben)"
      Color  LampeSZRGBWLight_scene_ColorSelect "Scene Selector"   <colorwheel> (MiLight)    {milight="bridge1;10;rgb"}


      Zitat von peuter Beitrag anzeigen
      Ich habe kein MiLight, daher kann ich hier nicht wirklich helfen. Wie wird den dieser Disco-Modus openHAB-seitig angesteuert (sprich: welche Items braucht man dafür)? Wenn es rein aus openHAB geht, sollte man das auch irgendwie mit der CV hinbekommen.

      Oben siehst Du ja schon die OH items. Die sitemap sieht wie folgt aus:

      Code:
              Text label="Schlafzimmer" icon="bedroom" {
                  /* 2x GU10 RGBW 4W FB-Kanal 4 bzw. 10 via WLAN-Bridge*/
                  Text label="Beleuchtung RGB + weiss" icon="colorwheel" {
                  Switch item=LampeSZRGBW
                  Switch item=LampeSZRGBWWhiteMode icon="switch-on" mappings=[ON="an"]
                  Selection item=LampeSZRGBWLight_scene icon="colorwheel" mappings=[0="rot", 1="gelb", 2="grün", 3="dunkelgrün", 4="cyan", 5="blau", 6="dunkelblau", 7="magenta"]
                  Slider item=LampeSZRGBWHelligkeit
                  Colorpicker item=LampeSZRGBW_Farbe icon="colorwheel"
                  Switch item=LampeSZRGBWDiscoMode icon="smiley" mappings=[DECREASE='vor', INCREASE='zurück']
                  Switch item=LampeSZRGBWDiscoSpeed icon="chart" mappings=[DECREASE='-', INCREASE='+']
                  }
                  }
      Ich habe leider keine Ahnung, wie ich diese Funktion in CV implementiert kriege.

      Nochmals vielen Dank und noch einen schönen Abend wünscht

      MIB2001

      Kommentar


        #4
        Ich bin so frei und pushe das Problem noch mal hoch :-)

        Ich kann mir einfach nicht vorstellen, daß dieses Verhalten des colorchoosers vorher noch nie jemand beobachtet hat, bzw. es müsste doch einen einfachen Weg geben, nach dem ersten Ausführen einer Farbwahl, den colorchooser wieder in die Grundeinstellung zu versetzen?!

        Ich bin für jede Idee bzw. jeden Vorschlag (auch bezüglich des Disco-Mode) dankbar.

        Schon mal allen ein schönes Wochenende wünscht

        MIB2001

        Kommentar


          #5
          Zumindest kann ich das Problem reproduzieren. Beim Laden der Visu sendet der Colorchooser einmalig Daten ans Backend. Irgendwas scheint da mit der Farbumrechnung nicht zu passen. Der Ablauf ist wie folgt:

          CV fordert initial (beim Start) die Werte aller Items vom Backend an, diese werden geliefert, der Colorchooser konvertiert den eingehenden HSV-Farbwert in das RGB-Hex-Format was der Colorchooser benötigt, dieser Farbwert wird nun im Colorchooser gesetzt und der Fehler kommt dann in der Überprüfung, wo er prüft ob der geänderte Wert ungleich des letzten Buswerts ist (ist in dem Fall so) und somit gehts wieder zurück zum Backend.

          Optische Auswirkungen hat das bei mit nicht, ich kann nicht feststellen dass sich die Farbe wirklich ändern, es werden da wohl sehr ähnliche Farbwerte gesendet, daher vermute ich ist das noch niemandem aufgefallen. Siehst Du da denn Untersschiede?

          Das Grundproblem ist aber, dass ich keine Ahnung habe wir ich das Problem beheben kann, diese Ganze Farbraumkonvertierung ist alles andere als unkompliziert und ich weiß nicht so recht wo der Fehler liegt.

          Zum Disko-Modus: da müsste ich wissen, welche Werte denn da an die beiden relevanten Items gesendet werden müssen, da werde ich aus der Items/Sitemap Definition nicht so ganz schlau raus, sind das irgendwelche Zahlenwerte?
          Gruß
          Tobias

          Kommentar


            #6
            So ein frischer Kopf am neuen Tag hilft dann doch manchmal, habs gefunden und gefixt. PR ist hier: https://github.com/CometVisu/CometVisu/pull/359
            Gruß
            Tobias

            Kommentar


              #7
              Hallo Tobias,

              das ist ja echt klasse, vielen Dank noch mal für Deine Unterstützung!

              Ich nehme an, daß ich dann demnächst von der Release Version 0.9.2 auf die aktuelle Entwicklerversion aus dem github umsteigen muß, um das Problem zu lösen?! Da ich mich mit github allerdings nicht wirklich auskenne, kannst Du evtl. auch hier meine Wissenslücke schließen: Die Version ist erst dann gefixed, wenn der Pullrequest eingepflegt wurde, richtig? Wie bzw. wo(ran) erkenne ich, daß dies geschehen ist?

              Und nochmal zu meinem Problemchen mit dem Disco-Mode: Ich müßte CV eigentlich nur anweisen, bei Aktivierung eines Switches den Befehl DECREASE bzw. INCREASE (siehe meine OH Items Definition) an die entsprechende milight-Funktion von OH zu senden, habe aber keine Idee, wie ich dies anstellen soll. In Verbindung mit CV und OpenHab habe ich ähnliche Funktionen in Verbindung mit der Steuerung von Receivern (ich glaube Onkyo und Panasonic), bzw. für die Logotech Squeezeboxen gefunden, aber anhand der Beispiele ist es mir nicht gelungen, die korrekte Vorgehensweise für die Switchkonfiguration in CV für meine milight Implementierung abzuleiten. Evtl. hilft Dir (oder gerne auch jemand anderem) diese Erklärung, um mich in die richtige Richtung zu schubsen?

              So, jetzt bleibt mir erstmal nur, Dir noch ein schönes (Rest-)Wochenende zu wünschen.

              Viele Grüße aus dem Norden wünscht

              MIB2001

              Kommentar


                #8
                Zitat von peuter Beitrag anzeigen
                Optische Auswirkungen hat das bei mit nicht, ich kann nicht feststellen dass sich die Farbe wirklich ändern, es werden da wohl sehr ähnliche Farbwerte gesendet, daher vermute ich ist das noch niemandem aufgefallen. Siehst Du da denn Untersschiede?
                Sorry, ich hatte ganz vergessen, auf Deine Frage zu antworten: Ja, der Unterschied ist bei mir sogar sehr deutlich, weil die Leuchten bei mir standardmäßig auf weiss gestellt sind. Da dies bei den milights jedoch nicht über die Farbeinstellung, sondern als separater Switch / Befehl stattfindet, wird durch den Bug die Leuchte immer wieder auf die zuletzt gewählte Farbe umgestellt, was halt etwas unpraktisch ist. Aber Du hast es ja gefunden und gefixed. Nochmals meine Respekt, für den prompten Service!

                Gruß

                MIB2001

                Kommentar


                  #9
                  Zum Disko-Modus: Das würde ich mal mit einem Multitrigger versuchen etwa so (ungetestet, nur mal fix zusammengeschrieben wie funktionieren müsste):

                  Code:
                  <multitrigger button1label="vor" button1value="DECREASE" button2label="zurück" button1value="INCREASE">
                   <address transform="OH:string" mode="write">LampeSZRGBWDiscoMode</address>
                  </multitrigger>
                  Keine Ahnung obs geht, probiers mal aus.

                  Bevor ich jetzt hier einen Github Exkurs schreibe, wäre es wohl einfacher ich schicke Dir einfach einen Build mit dem Fix. Ist aber leider zu groß um ihn hier an den Thread zu hängen, von daher müsstest Du mir Deine Emailadresse mal per PN schicken.
                  Zuletzt geändert von peuter; 09.07.2016, 10:00.
                  Gruß
                  Tobias

                  Kommentar


                    #10
                    Zitat von MIB2001 Beitrag anzeigen
                    Ich nehme an, daß ich dann demnächst von der Release Version 0.9.2 auf die aktuelle Entwicklerversion aus dem github umsteigen muß, um das Problem zu lösen?! Da ich mich mit github allerdings nicht wirklich auskenne, kannst Du evtl. auch hier meine Wissenslücke schließen: Die Version ist erst dann gefixed, wenn der Pullrequest eingepflegt wurde, richtig? Wie bzw. wo(ran) erkenne ich, daß dies geschehen ist?
                    Da der ColorChooser ein Plugin ist, geht's in diesem konkreten Fall leichter - Du musst (nach dem Merge!) nur die Datei /plugins/colorchooser/structure_plugin.js von GitHub nehmen (also https://raw.githubusercontent.com/Co...ture_plugin.js ) und damit die entsprechende lokale Datei bei Dir ersetzen.

                    Ob der Fix gemerged wurde siehts Du unter https://github.com/CometVisu/CometVisu/pull/359

                    Ich schätze, dass ich im Laufe des Tages ein sauberes Review machen kann und dann mergen werde.

                    (Es könnte auch passieren, dass dieser Pull Request abgelehnt oder zurück gezogen wird und dann ggf. durch einen neuen ersetzt wird. Um vom Request unabhängig zu sein, kannst Du unter https://github.com/CometVisu/CometVi...ture_plugin.js pauschal sehen, wann diese Datei durch welche Aktion angefasst wurde)
                    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                    Kommentar


                      #11
                      Zitat von peuter Beitrag anzeigen
                      Zum Disko-Modus: Das würde ich mal mit einem Multitrigger versuchen etwa so (ungetestet, nur mal fix zusammengeschrieben wie funktionieren müsste):

                      ...

                      Keine Ahnung obs geht, probiers mal aus.
                      Hallo Tobias,

                      super, vielen Dank, es funktioniert! Ich wußte nicht, das es auch möglich ist, das ganze als String zu implementieren. Meine Versuche mit Switch waren nämlich nicht von Erfolg gekrönt.

                      Bei dieser Gelegenheit noch zwei weitere Fragen: Sowohl hier bei den milights, als auch bei verschiedenen Homematic Geräten habe ich beobachtet, daß es zum Teil bis zu 30 Sekunden dauert, bis nach der Betätigung (vorwiegend via Switches, Trigger und Multitrigger) einer Funktion in CV, die Möglichkeit besteht, erneut eine (funktionierende) Änderung an das Gerät zu senden. In OH selber funktioniert dies schneller. Ist dies eine Einschränkung von CV aufgrund der Rückmeldung der einzelnen Stati?

                      Zweite Frage: Ich möchte gerne die Auswahl der festen Farben bei meinen milights über entsprechend farbige Schalter bzw. Buttons machen (anstatt über die aktuellen Multitrigger). Die Imagetrigger Funktion ist hierzu jedoch scheinbar ungeeignet. Könntest Du mich evtl. auch hier in die richtige Richtung schubsen?


                      Zitat von peuter Beitrag anzeigen
                      Bevor ich jetzt hier einen Github Exkurs schreibe, wäre es wohl einfacher ich schicke Dir einfach einen Build mit dem Fix. Ist aber leider zu groß um ihn hier an den Thread zu hängen, von daher müsstest Du mir Deine Emailadresse mal per PN schicken.
                      Das ist sehr nett von Dir, aber aufgrund der Hinweise von Chris, halte ich da ein Auge drauf, ist also nicht nötig.

                      Noch einen schönen Sonntag wünscht

                      MIB2001

                      Kommentar


                        #12
                        Zitat von Chris M. Beitrag anzeigen
                        ..

                        Ob der Fix gemerged wurde siehts Du unter https://github.com/CometVisu/CometVisu/pull/359

                        Ich schätze, dass ich im Laufe des Tages ein sauberes Review machen kann und dann mergen werde.

                        ...
                        Hallo Chris,

                        Danke für die Infos. Ich werde ein Auge darauf halten und es dann testen.

                        Viele Grüße aus dem Norden

                        MIB2001

                        Kommentar


                          #13
                          Zitat von MIB2001 Beitrag anzeigen
                          Bei dieser Gelegenheit noch zwei weitere Fragen: Sowohl hier bei den milights, als auch bei verschiedenen Homematic Geräten habe ich beobachtet, daß es zum Teil bis zu 30 Sekunden dauert, bis nach der Betätigung (vorwiegend via Switches, Trigger und Multitrigger) einer Funktion in CV, die Möglichkeit besteht, erneut eine (funktionierende) Änderung an das Gerät zu senden. In OH selber funktioniert dies schneller. Ist dies eine Einschränkung von CV aufgrund der Rückmeldung der einzelnen Stati?
                          Bei einem Switch wäre das denkbar. Wenn man den z.B.einschaltet und die Rückmeldung fehlt, dann sendet der ja beim erneuten Klick wieder 'ein' zum Backend und somit ändert sich nichts. Bei triggern allerdings gibts keine Rückmeldung, die senden bei jedem Klick den selben Wert. Also keine Ahnung was da los ist.

                          Zitat von MIB2001 Beitrag anzeigen
                          Zweite Frage: Ich möchte gerne die Auswahl der festen Farben bei meinen milights über entsprechend farbige Schalter bzw. Buttons machen (anstatt über die aktuellen Multitrigger). Die Imagetrigger Funktion ist hierzu jedoch scheinbar ungeeignet. Könntest Du mich evtl. auch hier in die richtige Richtung schubsen?
                          Warum ist der Imagetrigger denn ungeeignet? Alternative so aus dem Bauch heraus: Mehrere Trigger in eine Group packen und jedem eine eigene CSS-Klasse geben (<trigger class="red">) und dann in der custom.css, diese mit der entsprechenden Farbe versehen ( .custom_red { background-color: #FF0000; } )

                          Gruß
                          Tobias

                          Kommentar


                            #14
                            Hallo,

                            ich will auch einen colorchooser aus der Cometvisu an color von openhab anbinden.

                            items:
                            Color LEDRGB "RGB LED"

                            cometvisu:
                            < colorchooser>
                            <label>Color</label>
                            <address transform="OH:color" variant="rgb">LEDRGB</address>
                            < /colorchooser>

                            Leider funktioniert das nur teilweise.
                            Es sieht so aus, das wenn ein Wert über 100 geht der colorschooser
                            wieder in die Ausgangsstellung springt. Der Marker im Kreis springt nach oben und der Marker im Rechteck
                            springt raus.

                            Hat jemand eine Idee woran das liegen kann?

                            Grüße
                            Christian

                            Kommentar

                            Lädt...
                            X