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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • simatec
      simatec Developer Most Active @holomekc last edited by

      @holomekc sagte in Test Adapter hueemu (Hue Emulator) v0.0.x:

      Für einen schnellen Test könntest du auch in der hue-upnp.js Datei vom hue-emu den Port oben einmal abändern.

      Die Datei hue-upnp.js habe ich leider nicht gefunden

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

        @simatec
        /opt/iobroker/node_modules/hue-emu/dist/upnp/hue-upnp.js

        Die neue Version steht aber jetzt auch bereit. Da kannst du das über die admin ui einstellen.

        simatec 1 Reply Last reply Reply Quote 0
        • simatec
          simatec Developer Most Active @holomekc last edited by simatec

          @holomekc
          So habe mal auf meine Prod System das ganze getestet und konnte mit Port 8080 statt 8070 pairen.
          Deine Idee mit dem Adapter ist echt klasse und ich verfolge das gerne weiter, aber aktuell sehe ich den eher als Alpha Version.

          • Meine Systemlast geht nach dem Pairing sehr hoch (Pythonscript fällt da garnicht auf)
          • beim schalten entsteht eine relativ lange Verzögerung
          • Geräte anlegen wäre über ein Gui (eventuell Tabelle) sinnvoll ... Beispiel die GUI von shuttercontrol
          • Geräteverknüpfungen zu den tatsächlichen Geräten wäre sinnvoll
          • Da der Pythonscript seit Jahren bei mir absolut rund läuft, wäre hier sicher ein guter Ansatz für dich drauf aufzubauen

          Grundsätzlich begrüße ich es sehr, dass du dich der Sache annimmst und unterstütze gerne, wenn du Fragen zur GUI hast.
          Python ist leider nicht meine Sprache, aber wenn du Python kannst, würde ich den Script von Falke in js nachbauen

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

            @simatec
            Hi. Jetzt bin ich verwirrt. Hast du den UPNP Port jetzt geändert oder auf 1900 gelassen. "Port 8080 statt 8070" klingt eher nach dem Port auf den der Server lauscht. Also der Port der nach der Discovery verwendet wird. Bei dem hängt es sehr stark vom Gerät ab. Bspw. will Amazon Echo nur via Port 80 sprechen. Die Empfehlung ist hier so oder so klar Port 80 (via nginx oder vergleichbares), da das einem Hue Gerät am ehesten entspricht. Ansonsten hätte ich angenommen das Port 8080 oder 8070 keine Rolle spielt. Das Logging vom Adapter ist auf Info noch schlecht. Vielleicht konntest du eine Fehlermeldung nicht sehen.

            Alpha trifft ziemlich zu. Daher noch 0.0.x. Ich glaube niedriger kann ich mit der Version nicht gehen 😉

            Wegen der Verzögerung und Last kann ich gerne mal schauen, ob ich da was sehe.

            Wegen GUI will ich nichts versprechen. Ich habe aktuell sehr wenig Zeit für ioBroker Projekte. Das Projekt ist auch mehr entstanden weil ich keinen hue simulator finden konnte der mit Amazon Echo kommunizieren konnte und die features hatte die ich brauchte.

            Der Hinweis mit Geräteverknüpfungen kam bereits. Wie gesagt ist eine Zeit frage. Müsste mir erst einmal anschauen wie das funktioniert.

            Das Python Script wird mir da nicht viel bringen, da die Protokolle an sich passen, die verwendeten libs aber grundverschieden sind. Vielleicht habe ich auch irgendwo noch einen Bock geschossen bei der Server Implementierung, so dass dort Zeit verloren geht.

            simatec 1 Reply Last reply Reply Quote 0
            • simatec
              simatec Developer Most Active @holomekc last edited by

              @holomekc
              War auch absolut nicht als Kritik gemeint sondern konstruktiv gedacht.
              Den Port 1900 habe ich zum pairen gelassen.

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

                @simatec
                Habe ich auch nicht so aufgefasst. Alles gut 😉

                simatec siggi85 3 Replies Last reply Reply Quote 2
                • simatec
                  simatec Developer Most Active @holomekc last edited by

                  @holomekc
                  Wäre aber schön, wenn der Adapter weiter entwickelt wird und die Bugs mit Systemlast und Verzögerung behoben werden.
                  Ich mache mir mal Gedanken über die Gui wenn du magst.

                  1 Reply Last reply Reply Quote 0
                  • simatec
                    simatec Developer Most Active @holomekc last edited by

                    @holomekc
                    Vielleicht noch als Hinweis zur Systemlast.
                    Wenn der Adapter gepairt ist, steigt die Systemlast erst an, wenn ich deconz und den deconz Adapter wieder starte.
                    Da scheint ein Konflikt zu sein, da dann auch die auf Port 1900 lauschen.
                    Eventuell kannst du das lauschen auf Port 1900 nach erfolgreicher Pairing deaktivieren

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

                      @holomekc Du hast auf Github ein Beispiel für eine on/off und eine dimmbare Lampe. Könntest du noch ein Template für eine RGB Lampe dazu packen? Am liebsten mit "Hue", "Sat" und "CT" als farbgebende Werte. Dann würde ich auch mal etwas testen. 🙂

                      EDIT: Achja und nocht eine Frage: Sind die ganzen anderen Werte zwingend notwendig? Ich meine, zur Steuerung einer RGB lampe benötigt man ja nur on/off, helligkeit, hue, sat und ct. Kann man ModelID, swversion, etc etc. einfach weglassen?!

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

                        @siggi85
                        Das template was du suchst ist das extended-color-light.json . Das stammt von meiner Hue Lampe bei der ich die Farben einstellen kann. Das ist das Modell was ich habe:
                        https://www.amazon.de/Philips-Hue-Ambiance-Doppelpack-Bluetooth/dp/B07SHVQCTJ/ref=sr_1_5?__mk_de_DE=ÅMÅŽÕÑ&dchild=1&keywords=hue+gU10+color&qid=1607454048&sr=8-5

                        Soweit deckt sich das auch mit der Beschreibung aus der Hue API. Ich glaube etwas anderes gibt es nicht.

                        Zu deiner anderen Frage. Ich glaube nicht das alle anderen Werte notwendig sind. Mein Gedanke war hier das der Adapter es erlaubt diese Werte zu setzen für den Fall das ein Gerät diese Werte tatsächlich doch verwendet. Daher habe ich die Werte der Hue Lampen im Template mit aufgenommen. Dadurch sollte so ein Fall abgedeckt sein und der Emulator so nah wie möglich an einer echten Hue Bridge sein. Private habe ich nur mit Harmony und Amazon Echo getestet. Ich habe jetzt jedoch nicht probiert den einen oder anderen Wert wegzulassen.

                        Dann vielleicht einmal generell. Suchst du vielleicht die Umrechnung von RGB nach xy?
                        https://stackoverflow.com/questions/22564187/rgb-to-philips-hue-hsb

                        Das wäre tatsächlich etwas was der Adapter anbieten könnte. Damit wäre jedoch ein rgb Wert mehr als Umrechnungswert zu betrachten und ein Wert, der dann an der API nicht mit ausgegeben werden würde. Denn die Hue API selber bietet rgb nicht an. Gott das war jetzt eine komische Beschreibung. Ich hoffe der Gedanke wird klar?

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

                          @holomekc Jetzt habe ich das alles etwas besser verstanden. Ich habe mir über:
                          https://<bridge ip address>/api/1028d66426293e821ecfd9ef1a0731df/lights
                          Die Konfigurationen meiner Lampen geholt. Danach habe ich den Namen einer Farblampe verändert und in den Emulator importiert.

                          Mit der HuePro App konnte ich mich danach sogar verbinden (automatisch wurde die Bridge nicht gefunden, manuell ging es aber). Hier wurden Veränderungen an meiner Testlampe an den Datenpunkten übernommen. Die Hue Werte von existierenden Leuchtmitteln im ioBroker sind meist 0-360 und er spuckt hier 0-65535 aus, aber das kann man ggf. noch regeln (vielleicht kann das irgendwann auch der Adapter übernehmen 😉 )

                          Leider ging das Verbinden mit Hue Essentials nicht (das wäre allerdings mein Favorit). Hier kam entweder ein Fehler beim Anmelden oder die App ist abgebrochen beim Versuch sich zu verbinden. Die Bridge wurde auch hier nicht automatisch entdeckt und ich musste die IP-Adresse manuell eingeben. Beim manuellen Pairen kann ich in Hue Essentials dann folgendes auswählen:
                          Philips Hue
                          IKEA TRADRFRI
                          deCONZ
                          diyHue

                          Ich habe Philips Hue und diyHue ausprobiert, beides ging nicht. Hast du hier ggf. noch ne Idee?

                          Hier mal der Log, wenn ich es mit diyHue ausprobiere und die App dabei abstürzt.

                          hueemu.0	2020-12-08 20:52:16.367	info	(2972) Terminated (NO_ERROR): Without reason
                          hueemu.0	2020-12-08 20:52:16.366	info	(2972) terminating
                          hueemu.0	2020-12-08 20:52:16.344	info	(2972) cleaned everything up...
                          hueemu.0	2020-12-08 20:52:16.344	error	(2972) Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client at ServerResponse.setHeader (_http_outgoing.js:518:11) at ServerResponse.header (/opt/iobroker/node_m
                          hueemu.0	2020-12-08 20:52:16.343	error	(2972) uncaught exception: Cannot set headers after they are sent to the client
                          hueemu.0	2020-12-08 20:52:16.340	info	(2972) Pairing with devicetype=undefined and generateclientkey=undefined
                          

                          Aber trotzdem schon mal cool, dass es mit deinem Adpater mind. eine schicke Hue App gibt, die beim Konfigurieren einer Lampe Daten in den ioBroker gepusht bekommt. 🙂 👍

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

                            @siggi85
                            Das mit Hue Essentials kann ich mir mal anschauen. Auch das mit Umrechnungen zwischen Hue Api und ioBroker. Ich packe es zumindest mal auf die Liste. Was ich aktuell jedoch noch abarbeiten muss ist:
                            wolf ism7 to mqtt für einen Freund, Jalousien automatisieren auch für einen Freund, Definitiv noch Cyberpunk 2077, ioBroker.bshb noch updaten und dann hätte ich Zeit für hueemu.

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

                              @holomekc OK, ich warte gespannt. 😊👍

                              simatec 1 Reply Last reply Reply Quote 0
                              • simatec
                                simatec Developer Most Active @siggi85 last edited by

                                @siggi85 sagte in Test Adapter hueemu (Hue Emulator) v0.0.x:

                                OK, ich warte gespannt.

                                Ich auch 😉

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

                                  Hi mal ein paar Infos:

                                  habe den server durch fastify ausgetauscht. Reponse ist bei 5-7ms. Das würde ich jetzt erst einmal so lassen.

                                  Bei discovery bin ich noch dran. Mir fehlen hier Geräte um es auszuprobieren. Nächste Woche bin ich wieder daheim, da kann ich mehr testen. Habe mir das python script und deconz angeschaut. Beide funktionieren ähnlich, wobei ich glaube das der Ansatz von deconz mehr abdeckt. Ich würde das dann übernehmen.

                                  Zu Hue essentials: Ich glaube das kann ich nicht umsetzen. Die app nutzt nicht ssdp, sondern n-upnp. Zumindest denke ich das. Ich kann es nicht genau sagen, da ich keinen Einblick dort habe. Details zu den verschiedenen Möglichkeiten eine Hue-Bridge zu finden gibt es hier:
                                  https://developers.meethue.com/develop/application-design-guidance/hue-bridge-discovery/

                                  Bissle mehr im Detail. Die Bridge (oder bspw. Deconz) schickt in einem definierten Interval Bridge-Informationen an einen Server. Bei hue ist es https://discovery.meethue.com/ (Wobei ich hier die put/post Adresse/Methode nicht kenne) und bei deconz/phoscon ist es https://phoscon.de/discover. Die hue essentials app ruft vermutlich dann einfach diesen Endpunkt auf, um sehr schnell die verfügbaren Bridges im Netzwerk zu finden. Da die app nur den Endpunkt abfragen muss (Kann man im Browser austesten) ist das wirklich sehr schnell.

                                  Ich hatte probiert das gleich zu machen wie deconz. Das hat jedoch irgendwie noch nicht funktioniert. Jedoch weiß ich nicht, ob die Kollegen das soll toll fänden, wenn ich deren Endpunkt verwende und Hue-Emu würde dann dort als Phoscon aufgelistet werden.

                                  Der Grund warum hue-essentials dann phoscon bridges findet, ist dass dort in der app der phoscon endpunkt sehr wahrscheinlich abgerufen wird. Auf der offiziellen Seite von hue-essentials wird phoscon auch aufgelistet. Selbst wenn ich einen Server hinstellen würde an den ich die Informationen von hue-emu schicke, würde das nichts bringen, da die App diesen Endpunkt nicht abfragen wird.

                                  Letzte Hoffnung die ich noch habe ist mDNS, da im developer portal von hue steht das ssdp/upnp deprecated ist und durch n-upnp oder mDNS ausgetauscht werden soll. Ersteres ist nicht wirklich praktikabel und mDNS muss ich mir erst anschauen.

                                  simatec 1 Reply Last reply Reply Quote 1
                                  • simatec
                                    simatec Developer Most Active @holomekc last edited by

                                    @holomekc
                                    Hört sich sehr interessant an.
                                    Was wie gesagt noch klasse wäre, wenn man im Adapter direkt mit dem tatsächlichen Gerät verknüpfen könnte. Somit würde man alles dann im Adapter ohne zusätzliche Scripte lösen können.

                                    Wenn du ne Testversion hast, sag Bescheid, dann kann ich hier testen und dir Feedback geben, ob sich die Systemlast des Adapters verbessert hat

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

                                      So sorry. Hat wieder etwas länger gedauert. Hatte noch anderes zu tun und ich hatte Probleme beim Pairing. Harmony ging direkt aber Alexa wollte nicht mehr. Lag bei mir an den Templates die ich verwendet habe. Ich habe dementsprechend alle einmal ausgetauscht mit den Infos die meine echten Hue Lampen zurück geben. Ich habe kein on/off light aber ich habe die Osram Steckdose genommen und dann on/off light hingeschrieben. Mit Alexa ging das auf jeden Fall. Die alten Templates existieren im Unterordner old.

                                      Ansonsten wird man noch nicht viel neues sehen. Das Logging ist hoffentlich etwas besser und bezüglich Performance vielleicht einmal kurz folgende Info. Die größte Verzögerung kommt durch das Auslesen der Objekte und States in ioBroker. Die .../api/xxx/lights Endpunkte waren so um die 100ms, wobei dies bestimmt von der Anzahl der Lichter ankommt. Ich habe beim Setzen von states Werten von Lichtern das Auslesen von ioBroker States entfernt, da diese Info von der hueemu lib nur zum Logging verwendet wird. Der Endpunkt ist mit 20-40ms deutlich schneller. Zumindest nach meinem Gefühl ist die Steuerung über Alexa viel viel schneller als wenn ich normale Hue Lampe steuere.

                                      Eine Überlegung wäre es hier das ich einige Werte Cache. Würde aber bedeuten, dass der Adapter neugestartet werden muss, wenn neue Lichter angelernt werden. Ich weiß nicht, ob sich das lohnt. Normalerweise werden die Werte mehr geändert als das der lights Endpunkt ständig aufgerufen wird.

                                      Getestet habe ich auf einen Raspberry Pi 4. Wäre toll, wenn ihr schon einmal bissle testen könntet. Ich würde mir dann das Thema mit den linked devices oder wie das heißt und GUI anschauen. Bei letzterem wäre Hilfe auch willkommen.

                                      simatec 1 Reply Last reply Reply Quote 0
                                      • simatec
                                        simatec Developer Most Active @holomekc last edited by

                                        @holomekc sagte in Test Adapter hueemu (Hue Emulator) v0.0.x:

                                        Ich würde mir dann das Thema mit den linked devices oder wie das heißt und GUI anschauen. Bei letzterem wäre Hilfe auch willkommen.

                                        Ich würde im Menü eine Tabelle machen, wo das tatsächliche Gerät hinzugefügt werden kann (also der state.
                                        Da würde ich dann auch die hue Geräte mit einfügen. Im Code hast du dann die Tabelle als json und kannst diese auswerten und die Geräteverknüpfungen machen.

                                        Eine Beispieltabelle hätte z.B. shuttercontrol

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

                                          Hmm ich brauche noch einmal Feedback zu dem verknüpfen wie es gewünscht war. War hiermit ein anderer Adapter gemeint? Linked devices oder devices adapter? Beide hatte ich mir angeschaut aber irgendwie verstehe ich noch nicht wie mich das weiter bringt.

                                          Oder war gemeint das in hueemu selber ein andere state hinterlegt werden kann so wie ich es vom yahka adapter kenne? Also bspw. Für hueemu.0.1.state.on hinterlege ich deconz.0....on Und falls ja, dann müsste ich mehr anbieten als nur state hinterlegen, da unter umständen die Werte ins passende Format umgewandelt werden müssen.

                                          simatec 1 Reply Last reply Reply Quote 0
                                          • simatec
                                            simatec Developer Most Active @holomekc last edited by

                                            @holomekc
                                            Ich würde es direkt in hueemu hinterlegen.
                                            Welches Gerät man denn wählt, ist ja jedem überlassen. Man könnte die ID nehmen oder auch den alias

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            520
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            echo emulator hue lights
                                            19
                                            180
                                            16573
                                            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