Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter hueemu (Hue Emulator) v0.0.x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter hueemu (Hue Emulator) v0.0.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Neopholus @holomekc last edited by

      @holomekc
      Vielen Dank, das hat mich in die richtige Richtung geschubst.
      In der Konfiguration des Adapters ist leider nicht angegeben, welche Daten für was gelten.

      Meine Konfiguration, falls jemand auch seine Harmony Elite mit diesem Hue Emulator verbinden will:

      • Ip-Adresse, unter der der Server gestartet wird: 0.0.0.0
      • Port, auf dem der Server lauscht: 8070
      • Ip-Adresse, unter der der Server gefunden wird: <IP-Adresse von ioBroker>
      • Port, unter dem der Server gefunden wird: 8070
      • Port für https: 8071
      • Mac-Adresse: <MAC-Adresse, die zur IP-Adresse oben von ioBrober passt>

      Dann war's einfach: Eine Lampe testweise anlegen, Adapter starten, In Harmony Hub eine Hue Bridge suchen, im Adapter auf StartPairing klicken und... klappt. Der Status in ioBroker lässt sich damit auch steuern.

      Passt also, super!

      Nun eine Frage:

      • Um nun wirklich einen Effekt in ioBroker zu erzielen, muss ich auf Statusänderung der Lampe triggern und dann einen echten Homematic-IP-Schalter schalten. Korrekt?
      • Oder gibt es eine Möglichkeit, direkt einen Status in ioBroker einer "Hue-Emu-Lampe" zuzuweisen?

      Vielen Dank und viele Grüße
      Stefan

      H 1 Reply Last reply Reply Quote 0
      • N
        Neopholus @holomekc last edited by

        @holomekc
        Ach ja, noch ein Hinweis: Ich habe eine einfache On/Off-Lampe angelegt, wie im Template beschrieben. In der Harmony wird dann eine schaltbare Steckdose angezeigt. Ist für mich nicht relevant, da ich einfach nur etwas schalten können will. Vermutlich liegt es aber an dem
        "modelid": "Plug 01"
        in dem Template.

        1 Reply Last reply Reply Quote 0
        • H
          holomekc @Neopholus last edited by

          @Neopholus
          Hi. Super das es funktioniert. Ich schaue mal das ich die Beschreibung im Konfigurationsmenü verbessere.

          Zu deinen Fragen:
          Soweit ich weiß kannst du nicht direkt einen Status auf den anderen mappen. Dafür kannst du aber mittels Skripte Adapter auf einen Wert lauschen und dann den anderen Wert setzen:
          on({id: '...', change: "any"},
          function(obj) {
          //ack
          setState('...', obj.state.val, true).val;
          });

          Ich denke so wäre das dann. Alternativ gibt es auch noch weitere Adapter die da helfen können

          Ich habe bisher nicht versucht im Adapter direkt auf andere Objekte zu verweisen. Ich wollte versuchen den Adapter relativ allgemein/einfach zu halten.

          Zu dem Plug 01:
          Ok interessant. Alexa erkennt es als Lampe, obwohl ich in dem Fall lieber einen Schalter gehabt hätte. Am Sprachkommand hat es bei mir jedoch keinen Unterschied gemacht.

          Ich habe tatsächlich keine einzige "einfache" Lampe hier, so dass ich die Werte nicht ausgelesen bekommen habe. Ich kann auch mal schauen, das ich noch mehr Beispiele finde. Jedoch können die Werte je nach belieben ausgetauscht werden.

          N 2 Replies Last reply Reply Quote 0
          • N
            Neopholus @holomekc last edited by Neopholus

            @holomekc
            Hallo,

            danke für die weiteren Hinweise. Ich werde mit JavaScript was erstellen, allerdings dann in beide Richtungen. Wenn man ein Licht z.B. über den Schalter einschaltet, sollte man es ja auch in der Harmony sehen. Ich poste was, wenn ich fertig bin.

            Bis dahin für alle, die IOT-Geräte auch in ein eigenes VLAN verbannt haben: Wenn man die Harmony temporär in das ioBroker-VLAN umzieht, dann kann man die beiden Geräte pairen. Dabei speichert die Harmony die IP-Adresse. Danach kann man die Harmony wieder ins IOT-VLAN umziehen und trotzdem funktioniert der Zugriff zwischen IOBroker und Harmony danach korrekt. Man muss nur an der Firewall dir korrekten Ports zwischen den Geräten aufmachen.

            IOBroker -> Harmony: 8088 (TCP) und 5224 (UDP)
            Harmony -> IOBroker: 8070 (TCP; Achtung: Hier muss der Port aus der Adapter-Konfiguration stehen!), 61991 (TCP)

            Viele Grüße
            Stefan

            N 1 Reply Last reply Reply Quote 0
            • N
              Neopholus @holomekc last edited by Neopholus

              @holomekc
              So bekommt man eine einfache An/Aus-Lampe in Harmony:

              {
              		"1": {
              			"state": {
              				"on": false,
              				"reachable": true,
              				"mode": "homeautomation"
              			},
              			"type": "On/Off light",
              			"modelid": "On/Off light iobroker",
              			"uniqueid": "00:00:01",
              			"manufacturername": "iobroker",
              			"swversion": "V1",
              			"name": "WZ.Licht"
              		}
              }
              

              Achtung: In der Version 0.0.1 hatte der Adapter einen Fehler, der dazu führte, dass die Harmony manchmal keine Statusupdates erhalten hat, kurzzeitig Verbindungsprobleme angezeigt hat und teilweise sehr langsam reagiert hat. In 0.0.2 soll der Fehler behoben sein.

              1 Reply Last reply Reply Quote 0
              • N
                Neopholus @Neopholus last edited by Neopholus

                Und so kann man die Werte der emulierten Hue-Lampen mit z.B. Homematic IP Geräten in beide Richtungen synchronierieren:

                /**
                 * Status setzen, falls Wert bisher anders
                 */
                function statusSetzenFallsAnders(id:string, status:boolean) {
                    if (getState(id).val != status)
                        setState(id, status);
                }
                
                /** 
                 * Ein-/Ausschalten von WZ.Licht
                 */
                on ({id: "hueemu.0.1.state.on", change: "ne"}, 
                    function(obj){
                        statusSetzenFallsAnders('hm-rpc.1.0008556XXXXXXE.4.STATE', obj.newState.val);
                    }
                );
                on ({id: 'hm-rpc.1.0008556XXXXXXE.4.STATE', change: "ne"}, 
                    function(obj){
                        statusSetzenFallsAnders("hueemu.0.1.state.on", obj.newState.val);
                    }
                );
                
                1 Reply Last reply Reply Quote 0
                • N
                  Neopholus @holomekc last edited by Neopholus

                  @holomekc
                  Soweit funktionieren jetzt die Hausautomatisierungstasten an meiner Harmony und eine Liste aller Lampen ist auch am Geräte-Display angezeigt.

                  Was mit aufgefallen ist:

                  • Manchmal dauert das Schalten über die Harmony relativ lange. Konnte noch nicht herausfinden, woran das liegt. Schaue ich mir noch an, könnte aber an der Harmony liegen.
                  • Häufig passiert folgendes, wenn man ein Gerät schaltet (über die Tasten oder im Menu ist egal, man sieht die Fehlermeldungen aber nur im Geräte-Menu):
                    • Klicken auf "Lampe ein"
                    • Lampe geht ein
                    • Der angezeigte Status der Lampe auf der Harmony ändert sich sofort (hier hat die Harmony noch kein Feedback von Hue Emu erhalten, ich vermute, er nimmt einfach an, dass der Schaltbefehl erfolgreich war)
                    • Neben der Lampe wird nach ein paar Sekunden ein rotes "!" angezeigt und darunter die Fehlermeldung "Keine Verbindung"
                    • Nach weiteren wenigen Sekunden ist die Meldung wieder verschwunden.

                  Ich habe das Log-Level zwar auf silly hochgestellt, aber so ganz klar ist mir das Verhalten nicht. Eine Vermutung:

                  • Die Harmony frägt alle ca. 10 Sekunden den Status der Lampen ab
                  • Klickt man auf eine Lampe, sendet de Harmony einen Befehl an den Hue Emulator
                  • Hue Emulator schaltet die Lampe, sendet aber kein Feedback an die Harmony, dass geschaltet wurde (stimmt das?)
                  • Nach einem relativ kurzen Timeout geht die Harmony dann davon aus, dass die Verbindung unterbrochen ist und zeigt den Fehler an, wie oben beschrieben
                  • Bei der nächsten zyklischen Anfrage von Harmony an Hue Emulator kommen dann die aktuellen Lampenzustände. Harmony geht davon aus, dass die Verbindung wieder hergestellt worden ist, und löscht die Fehlermeldung.

                  Könnte das sein? Sollte der Hue Emulator nach einem Schaltvorgang ein Statusupdate schicken? Ich habe leider keine Hue Bridge und kann das Verhalten daher leider nicht überprüfen.

                  Laut Hue-API-Dokumentation, Kapitel 1.6.5. wird eine Antwort wie z.B.

                  [
                  	{"success":{"/lights/1/state/bri":200}},
                  	{"success":{"/lights/1/state/on":true}},
                  	{"success":{"/lights/1/state/hue":50000}}
                  ]
                  

                  erwartet nach einem

                  /api/<username>/lights/<id>/state
                  

                  eine Antwort wie z.B.

                  [
                  	{"success":{"/lights/1/state/bri":200}},
                  	{"success":{"/lights/1/state/on":true}},
                  	{"success":{"/lights/1/state/hue":50000}}
                  ]
                  

                  Update:
                  Laut Wireshark wird gesendet:

                  [{"success":{"/lights/1/state/on":false}}]
                  

                  Meine Vermutung war also falsch. Irgendeine andere Idee, woran es liegen kann?

                  Update 2
                  In meinem PCap-Trace, den ich gerade analysiert habe, kommen durchaus Statusänderungen einer Lampe vor, auf deren HTTP-Request nicht geantwortet wurde. Das ist komisch, da der Hue Emulator ja prinzipiell funktioniert und auch im Log kein Fehler steht. Irgendwie scheint es Situationen zu geben, auf die der Hue Emulator zwar den Status intern umstellt im Objekt, dann aber keine Antwort verschickt.

                  Viele Grüße
                  Stefan

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    holomekc @Neopholus last edited by

                    @Neopholus
                    Hi Danke für die vielen Infos und detaillierten Analysen. Wenn ich jetzt das Update 2 richtig verstanden habe siehst du das Requests (Ich vermute /api/<username>/lights/<id>/state) nicht beantwortet werden? Also die Vermutung ist das Hamony hier in einen Timeout läuft. Ist das 100% reproduzierbar oder nur hin und wieder?

                    Der Request beinhaltet nur das Ein- und Ausschalten oder? Ich kann heute Abend mal probieren das Interface zu bombardieren und zu schauen, ob ich das auch nachstellen kann.

                    Optimal wäre, wenn du den Request mit allen Details von Nachricht body, header in einen curl formulierst und auf der gleichen Maschine abschickst, wo auch der Emulator läuft. Somit könnte man ausschließen, dass es irgendwie an der Netzwerkverbindung liegt.

                    Ich hatte am Anfang so ein ähnliches Problem, welches aber 100% reproduzierbar war. Daher hatte ich HTTP Header: Connection: close hinzugefügt, da einige Clients sonst Probleme damit hatten und die Hue Bridge das tatsächlich auch schickt.

                    N 2 Replies Last reply Reply Quote 0
                    • N
                      Neopholus @holomekc last edited by

                      @holomekc
                      Hi, wahrscheinlich bin ich schon zu spät dran, aber um deine Fragen zu beantworten:

                      • Ja, es geht um simple Anfragen wie /api/<username>/lights/<id>/state
                      • Tritt nicht reproduzierbar auf. Zumindest ist mir bisher kein Muster aufgefallen.

                      Eine Nachricht, die beantwortet wird:

                      PUT /api/60329b2b-ff27-XXXX-XXXX-c7f8b05b00a2/lights/5/state HTTP/1.1
                      connection: close, TE
                      content-length: 12
                      user-agent: LuaSocket 2.0.2
                      te: trailers
                      content-type: application/json
                      host: 192.168.3.105
                      {"on":false}
                      
                      
                      HTTP/1.1 200 OK
                      X-Powered-By: Express
                      Access-Control-Allow-Origin: *
                      Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE, HEAD
                      Access-Control-Allow-Credentials: true
                      Access-Control-Max-Age: 3600
                      Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
                      Connection: close
                      Content-Type: application/json; charset=utf-8
                      Content-Length: 42
                      ETag: W/"2a-uykK5pYlmrKxqMEgMLTtq2vhWxQ"
                      Date: Tue, 31 Mar 2020 20:15:57 GMT
                      
                      [{"success":{"/lights/5/state/on":false}}]
                      

                      Ein nicht beantworteter Request:

                      PUT /api/60329b2b-ff27-XXXX-XXXX-c7f8b05b00a2/lights/3/state HTTP/1.1
                      connection: close, TE
                      content-length: 30
                      user-agent: LuaSocket 2.0.2
                      te: trailers
                      content-type: application/json
                      host: 192.168.3.105
                      
                      {"xy":[0,0],"on":true,"bri":0}
                      

                      Das mit curl kann ich erst am Wochenende versuchen um Netz-Probleme auszuschließen. Gute Idee.

                      Danke, Stefan

                      1 Reply Last reply Reply Quote 0
                      • N
                        Neopholus @holomekc last edited by

                        @holomekc
                        Einer Eingebung folgend habe ich alle einfachen An/Aus-Lampen mit doch recht stark reduzierten Attributen durch "Extended Color Light" mit allen Attributen einer Originallampe angelegt.

                        Seitdem treten weder die Fehlermeldungen auf der Harmony noch die teilweise langen Verzögerungen mehr auf.

                        Verstehen tu ich es nicht, aber die Probleme waren sofort nach der Lampen-Neudefinition (und neue Sync auf die Harmony) weg.

                        Sorry, dass ich dir deswegen Arbeit gemacht habe.

                        Fazit: Der Adapter funktioniert gut, auch mit der Harmony.

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          holomekc @Neopholus last edited by holomekc

                          @Neopholus
                          Hi. Habe gerade den fix hochgeladen 😉

                          Es ist wie du sagt. Wenn einer der Werte nicht gefunden wurde, dann hat der Adapter der Library nicht bescheid gegeben, dass die Bearbeitung fertig ist. Dadurch hing der Request fest und wurde nicht beantwortet. In 0.0.2 ist das jetzt behoben. Dann würde die Antwort bspw so aussehen:

                          [
                              {
                                  "error": {
                                      "type": 6,
                                      "address": "/lights/1/state/xy",
                                      "description": "parameter, xy, not available"
                                  }
                              },
                              {
                                  "error": {
                                      "type": 6,
                                      "address": "/lights/1/state/bri",
                                      "description": "parameter, bri, not available"
                                  }
                              },
                              {
                                  "success": {
                                      "/lights/1/state/on": true
                                  }
                              }
                          ]
                          

                          Edit:
                          Ich war am überlegen, ob ich dann einfach die Werte hätte hinzufügen sollen. Aber theoretisch ist das denke ich das was auch die hue bridge sagen würde.

                          Edit:
                          Ich bin eher dankbar, dass du dir das angeschaut hast! Das ganze soll ja funktionieren. Von daher ist Feedback immer Willkommen. Also kurz gesagt: Danke 😉

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Neopholus @holomekc last edited by Neopholus

                            @holomekc
                            Sehr gerne. Und Danke für den Bugfix. Hab ich vor allem gemacht, weil mit ha-bridge und was es sonst noch gibt einfach zu kompliziert oder komplex waren oder einen weiteren Raspi brauchen. Deine Lösung ist super-schlank und wunderbar in iobroker integriert.

                            Das Javascript oben zum Auswerten der Änderungen des Hue Emulators ist übrigens getestet. Kannst du gerne in die Anleitung auf Github kopieren, wenn du willst.

                            1 Reply Last reply Reply Quote 0
                            • bullrandle
                              bullrandle last edited by

                              Hi,

                              hab voller Vorfreude den Adapter mal testweise installiert, da ich auch ganz gern meine Wohnzimmerbeleuchtung/Raffstores mit der Harmony FB steuern würde.
                              Leider kann ich den Hub nicht mit dem Emulator verbinden.

                              Nach kurzer Analyse mittels Wireshark dürfte ich dasselbe Problem haben wie in diesen Thread erwähnt:
                              https://github.com/diyhue/diyHue/issues/147

                              Auch mein Hub schein nicht nach der HueBridge zu suchen sondern nach dem Hunter Douglas Powerview Hub.

                              @Neopholus
                              kannst du mal checken welche FW version auf deinem Hub läuft?
                              Bzw. hast du eine Elite oder Companion?

                              SG
                              Christian

                              arachnetech created this issue in diyhue/diyHue

                              closed Harmony Hub unable to detect diyHue bridge #147

                              N 1 Reply Last reply Reply Quote 0
                              • N
                                Neopholus @bullrandle last edited by Neopholus

                                @bullrandle
                                Hi Christian,

                                ich habe eine Elite.
                                FW-Version:

                                • Fernbedienung: 4.15.264
                                • Hub: 4.15.264
                                • Nest: 1.1.4
                                • HEOS: 1.1.7
                                • Caseta: 1.2.3
                                • Root-Certificates: 1.1.7
                                • Quivicon: 1.2.3

                                Wie sieht deine Konfiguration denn aus?

                                Meine ist:

                                • Ip-Adresse, unter der der Server gestartet wird: 0.0.0.0
                                • Port, auf dem der Server lauscht: 8070
                                • Ip-Adresse, unter der der Server gefunden wird: 192.168.X.X (die lokale IP meines Raspberry Pis)
                                • Port, unter dem der Server gefunden wird: 8070
                                • Bei Bedarf können Sie einen Port für https angeben: 8071
                                • Mac-Adresse, die in API-Antworten verwendet wird: MAC-Adresse der LAN-Schnittstelle meines Raspberry

                                Damit ging es dann plötzlich
                                Viele Grüße
                                Stefan

                                1 Reply Last reply Reply Quote 0
                                • bullrandle
                                  bullrandle last edited by

                                  Hab diesselbe FW Version am Hub allerdings nur die Companion, sollte aber ja eigentlich keinen unterschied machen.

                                  Meine Konfiguration für den Adapter ist exakt gleich.

                                  @Neopholus
                                  Kannst du evtl. mal mit Wireshark checken was der Harmony Hub bei dir ausgibt, wenn du nach einer Hue Bridge suchst?

                                  1 Reply Last reply Reply Quote 0
                                  • siggi85
                                    siggi85 last edited by

                                    Kurze Frage zur Funktion: Könnte man mit diesem Adapter jede in ioBroker integrierte Lampe über diese emulierte Hue Bridge steuern? Also dass man mit den bekannten Hue Apps quasi jede seiner smarten Lampen steuern kann? Und ganz einfach Szenen anlegen?

                                    H 1 Reply Last reply Reply Quote 0
                                    • H
                                      holomekc @siggi85 last edited by

                                      @siggi85
                                      Wenn ich dich richtig verstehe dann ja 🙂 . Du musst jedoch jede Lampe erst einmal in dem Adapter anlegen. Dazu kannst du die vorhandenen Templates (An/Aus, Farbe, Dimmbar) verwenden. Anschließend musst du die Lampen zu den anderen States in ioBroker verlinken.

                                      Du erstellst also immer eine "Fake" Lampe und verknüpfst sie mittels Blockly, Skripte, Node-Red, etc. mit der tatsächlichen Lampe in ioBroker.

                                      siggi85 1 Reply Last reply Reply Quote 0
                                      • siggi85
                                        siggi85 @holomekc last edited by

                                        @holomekc Coole Sache. Man könnte hier doch auch Informationen aus dem neuen Devices Adapter beziehen, oder? Also dass man die Lampen im zentralen Devices Adapter definiert und der Hue Adapter die Informationen genau daraus zieht. Der Devices Adapter ist ja prinzipiell genau für sowas gedacht.
                                        Ist sowas geplant?

                                        1 Reply Last reply Reply Quote 0
                                        • bullrandle
                                          bullrandle last edited by bullrandle

                                          @Neopholus
                                          Vergiss es, musste die gut versteckte XMPP API in der Harmony App aktivieren. 🤦‍♂️
                                          Menu > Harmony Setup > Add/Edit Devices & Activities > Remote & Hub > Enable XMPP

                                          Jetzt hab ich zumindest mal die Bridge in der Harmony App, allerdings sehe ich noch keine "Lampen" ...

                                          1 Reply Last reply Reply Quote 0
                                          • bullrandle
                                            bullrandle last edited by

                                            Wohl doch zu früh gefreut, Harmony findet die Bridge nicht mehr 😠

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            740
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            echo emulator hue lights
                                            19
                                            180
                                            18757
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo