Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Hue adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Hue adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      Bitte mit:

      cd /opt/iobroker
      npm install https://github.com/ioBroker/ioBroker.hue/tarball/master --production
      
      

      Testen und berichten ob es geht. 8-)

      1 Reply Last reply Reply Quote 0
      • P
        Pman last edited by

        Ich kann die Weiterentwicklung dieses Adapters gerne testweise übernehmen, ich muss mich allerdings noch etwas in node und speziell in die ioBroker Adapter einarbeiten.

        Bevor ich weiter an dem Adapter arbeite würde ich aber gerne eure Meinungen zu ein paar Designentscheidungen hören, das steuern der Hue Lampen ist nämlich in vielen Punkten etwas "speziell".

        Grundsätzlich stellt sich die Frage wie man mit Änderungen an Werten umgehen soll, während eine Lampe ausgeschaltet ist. Die node-hue-api lässt solche Änderungen nicht zu, die States in ioBroker werden beim polling dann auch wieder mit den in der Hue Bridge zuletzt hinterlegten überschrieben. Ich sehe folgende Möglichkeiten:

        • Änderungen werden so lange in ioBroker erhalten (ack=false), bis die Lampe eingeschaltet wird (.on = true)

        • Änderungen bewirken immer ein Einschalten der Lampe (aber auf welche Helligkeit dann?). Diese Lösung ist im Moment bei .ct, .bri, und den rgb Werten umgesetzt, nicht jedoch bei Änderungen an .hue und .sat.

        • Änderungen bei ausgeschalteter Lampe sind nicht möglich und werden beim polling wieder überschrieben.

        Die zweite und teilweise damit überschneidende Frage ist die nach dem Verhalten von .bri und .on, ich halte es für sinnvoll .on readonly zu machen und die Lampe nur über .bri zu steuern (.bri = 0 => Lampe aus). Das hat den Vorteil, dass dieses Verhalten mit den vorhanden Widgets kompatibel ist, da andere Dimmer auch nur über einen Dimmwert gesteuert werden.

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

          root@iobroker:/opt/iobroker# npm install https://github.com/ioBroker/ioBroker.hue/tarball/master --production
          iobroker.hue@0.2.1 node_modules/iobroker.hue
          └── node-hue-api@1.0.5 (parseUri@1.2.3-2, traits@0.4.0, q@1.0.1, xml2js@0.2.8, request-util@0.1.0)
          root@iobroker:/opt/iobroker# 
          
          

          Ich habe erst mit dem Kommando oben "drüber installiert". Da sich im Log nichts getan hat und ich auf Anhieb keine Veränderung festgestellt habe, habe ich unter Instanzen den hue Adapter gelöscht und wieder per npm install hinzufügen wollen.

          Als Ergebnis taucht unter Instanzen der Adapter nicht auf.

          P.S.: Meine Lampennamen haben Leerzeichen. Ist der Fehler noch drin und ich muss vor einem sinnvollen Test alle Lampennamen ändern?

          1 Reply Last reply Reply Quote 0
          • P
            Pman last edited by

            Der Fehler mit den Leerzeichen war im alten Adapter auch drin, wenn es da lief, dann wird es heir auch laufen. Bei mir war nach der Installation vom github der Adapter installiert, aber keine Instanz, die konnte ich dann über das kleine + unter Adapter hinzufügen.

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

              @Pman:

              Der Fehler mit den Leerzeichen war im alten Adapter auch drin, wenn es da lief, dann wird es heir auch laufen. Bei mir war nach der Installation vom github der Adapter installiert, aber keine Instanz, die konnte ich dann über das kleine + unter Adapter hinzufügen. `

              Au man… danke... logisch. Einmal neu anlernen bitte :roll:

              Habe den Adapter nun hinzugefügt, funktioniert aber leider jetzt gar nicht mehr:

              iobroker	2015-07-23 22:47:55	info	host.iobroker Restart adapter system.adapter.hue.0 because enabled
              iobroker	2015-07-23 22:47:55	error	host.iobroker instance system.adapter.hue.0 terminated with code 1 ()
              iobroker	2015-07-23 22:47:45	info	host.iobroker instance system.adapter.hue.0 started with pid 15652
              host-iobroker	2015-07-23 22:47:15	info	Restart adapter system.adapter.hue.0 because enabled
              host-iobroker	2015-07-23 22:47:15	error	instance system.adapter.hue.0 terminated with code 1 ()
              hue-0	2015-07-23 22:47:15	error	{"code":"ETIMEDOUT"}
              hue-0	2015-07-23 22:47:05	info	starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.hue
              host-iobroker	2015-07-23 22:47:04	info	instance system.adapter.hue.0 started with pid 15234
              host-iobroker	2015-07-23 22:47:04	info	object change system.adapter.hue.0
              inMem	2015-07-23 22:46:59	debug	message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1437684419, from=system.adapter.admin.0, lc=1437669483
              inMem	2015-07-23 22:46:52	debug	message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1437684413, from=system.adapter.admin.0, lc=1437669483
              iobroker	2015-07-23 22:46:44	info	exit 0
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0 created
              host-iobroker	2015-07-23 22:46:44	info	object change system.adapter.hue.0
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.alive created
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.connected created
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.memHeapUsed created
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.memHeapTotal created
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.memRss created
              iobroker	2015-07-23 22:46:44	info	object system.adapter.hue.0.uptime created
              iobroker	2015-07-23 22:46:44	info	create instance hue
              iobroker	2015-07-23 22:46:44	info	add hue
              
              

              Vorher wurden die Lampen importiert (über 200 Datenpunkte). Es gab aber dauernd Warnungen.

              Nun lüppt nichts mehr 😉

              IP-Adresse der Bridge und der User standen, trotz der vorherigen Deinstallation des Adapters, noch drin.

              1 Reply Last reply Reply Quote 0
              • P
                Pman last edited by

                Diese Fehler (Error: ETIMEDOUT) bekomme ich, wenn die Bridge tatsächlich nicht erreicht werden kann. Ich nehme an, dass irgendwas mit der Config nicht stimmt, bei mir waren nach dem entfernen der npm version auch keine Config oder States mehr vorhanden.
                1136_heizungslog.txt
                1136_objektstruktur_wohnzimmer.json.txt

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

                  Ich glaube langsam an Geister… :twisted:

                  Wollte gerade schreiben, dass ich die Bridge per Ping vom ioBroker Server erreiche und dass die externen Apps funktionieren. Stimmt, ist alles richtig. Dann noch einmal in den Adaptereinstellungen und siehe da. "Nun" steht da die falsche IP. Ich könnte schwören, dass da gestern noch die IP der Bridge drin stand... :mrgreen: :oops:

                  War vielleicht zu spät 😉

                  Beim Start des Adapters wurden alle Lichter übernommen. Die Leerzeichen waren kein Problem. Sie wurde ausgetauscht gegen Unterstriche. Bluefox?

                  D.h. Unterstriche sehe ich unter Zustände, Leerzeichen bei den Objektnamen.

                  22 Hue Lichter werden alle 30 Sekunden gepollt. Prima!

                  Bei den Objekten fehlen die Werte.

                  Unter Zustände sehe ich Werte, die verändern sich auch (spätestens nach 30 Sekunden über das Polling).

                  Einschalten kann ich über Zustände eine Lampe allerdings nicht. Ich habe versucht den Datenpunkt "on" über Zustände auf true zu setzen. Kann man, die Lampe geht aber nicht an.

                  In den Objekten werden keine Werte angezeigt:
                  327_2015-07-24_hue_objekte_keine_werte.png

                  In den Zuständen werden Werte angezeigt. Änderungen dort werden aber nicht übernommen:
                  327_2015-07-24_hue_zust_nde_weniger_datenpunkte.png
                  Wenn ich hier was ändere, werden nach dem Polling wieder die aktuellen Werte der Lampen eingetragen.

                  Ich sehe in den Zuständen auch weniger Datenpunkte als bei den Objekten je Lampe.

                  Dafür sind die ganzen Warnungen weg, die ich vorher mit dem Adapter hatte 😉

                  Eine generelle technische frage. Der Adapter pollt all 30 Sekunden. In anderen Apps werden die Werte in beiden Richtungen sofort angezeigt (meine ich zu mindestens). Pollen die in kürzeren Abständen oder wird dort ein anderes verfahren verwendet.

                  1 Reply Last reply Reply Quote 0
                  • P
                    Pman last edited by

                    @ruhr70:

                    Wollte gerade schreiben, dass ich die Bridge per Ping vom ioBroker Server erreiche und dass die externen Apps funktionieren. Stimmt, ist alles richtig. Dann noch einmal in den Adaptereinstellungen und siehe da. "Nun" steht da die falsche IP. Ich könnte schwören, dass da gestern noch die IP der Bridge drin stand… :mrgreen: :oops:

                    War vielleicht zu spät 😉 `
                    Wenn ich Instanzen oder Adapter lösche lade ich danach die Adminseite einmal komplett neu, sonst sieht man häufiger alte Objekte. Ich nehme an, dass diese irgendwie lokal gecached werden.

                    ` > Beim Start des Adapters wurden alle Lichter übernommen. Die Leerzeichen waren kein Problem. Sie wurde ausgetauscht gegen Unterstriche. Bluefox?

                    D.h. Unterstriche sehe ich unter Zustände, Leerzeichen bei den Objektnamen.

                    […] `
                    Du hast dann doch auch den Fehler mit den Leerzeichen, ich denke der ist auf die Funktionen setObject und setState zurückzuführen. Ersteres ersetzt die Leerzeichen nicht, letzteres schon. Dadurch hast du dann die Objekte mit Leerzeichen und die States mit Unterstrichen. Ich gucke nachher mal ob ich die Leerzeichen präventiv bei der Erstellung der Objekte ersetzen kann.

                    > Eine generelle technische frage. Der Adapter pollt all 30 Sekunden. In anderen Apps werden die Werte in beiden Richtungen sofort angezeigt (meine ich zu mindestens). Pollen die in kürzeren Abständen oder wird dort ein anderes verfahren verwendet.
                    Sofort auch nicht, das ist mir aufgefallen als ich in ioBroker Farben geändert habe. Es dauert dann etwas bis es in der App ist, bis zu 10 Sekunden denke ich. Ich habe die Hue Api noch nicht durch, aber ich glaube eine andere Möglichkeit als selber abfragen gibt es nicht.

                    EDIT:

                    für die Sache mit den Unterstrichen brauche ich erstmal den Rat von Bluefox. Einfach alle Leerzeichen zu ersetzen ist nämlich doof, da beim ändern von Werten ja wieder der Originalname benötigt wird, welcher dann aber nicht mehr zweifelsfrei hergestellt werden kann (wenn der Originalname schon Unterstriche verwendet). Wenn es nicht übertrieben viel Arbeit für dich ist würde ich dir raten erstmal die Bridge und die Lampen umzubenennen.

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

                      @Bluefox:

                      Bitte mit:

                      cd /opt/iobroker
                      npm install https://github.com/ioBroker/ioBroker.hue/tarball/master --production
                      
                      

                      Testen und berichten ob es geht. 8-) `
                      Ok.Ok einfach npm install wird natürlich noch nicht die ganze arbeit machen. So sieht dann komplettes Skript aus:

                      cd /opt/iobroker
                      npm install https://github.com/ioBroker/ioBroker.hue/tarball/master --production
                      iobroker restart hue
                      iobroker upload hue
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • P
                        Pman last edited by

                        Ich habe mal versucht die Sache mit den Leerzeichen anzugehen. Bei mir Funktioniert es jetzt auch mit Leerzeichen bei Bridge und Lampen. Was nicht funktionieren kann: wenn einer Lampe "a_b" heißt und eine zweite "a b". Das würde dann zu zwei ioBroker Objekten mit gleichem Namen "a_b" führen.

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

                          super! das probiere ich direkt nach dem Frühstück. 😉

                          Gesendet von iPhone mit Tapatalk

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

                            Ich bin begeistert!

                            Endlich kann ich hue nutzen 🙂

                            In den Objekten werden die Werte angezeigt. In den Zuständen kann ich de Werte verändern und sie greifen sofort.

                            Im Log habe ich den Level auf Debug stehen. Da habe ich vorher bei jeden Poll alle 30 Sekunden über 300 Werte von hue gesehen. Jetzt erscheinen diese (zum Glück nicht mehr). Sonst hätte ich noch einen Wunsch gehabt 🙂 … im Webadmin ein Flag, mit dem man für den Adapter den Debug-Level ein-, bzw. ausschalten kann.

                            Klasse Arbeit! Ich danke Dir!

                            1 Reply Last reply Reply Quote 0
                            • A
                              Arminhh last edited by

                              wie es aussieht funktioniert es bei mir!

                              Besteht die Hoffnung das die Gruppenfunktion noch eingefügt wird?

                              mfg

                              Arminhh

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

                                Das hört sich gut an. Kann ich eine neue Version veröffentlichen?

                                1 Reply Last reply Reply Quote 0
                                • P
                                  Pman last edited by

                                  @Bluefox

                                  Habe einen Pull Request gemacht.

                                  @Arminhh

                                  Wie würde so eine Gruppenfunktion aussehen? Die Gruppen als Enum hinzufügen? Ich muss sagen, dass ich die Gruppenfunktion bei Hue noch nie benutzt habe.

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

                                    hue selbst unterstützt direkt Gruppen.

                                    Man kann über hue de Lampen einzeln oder als Gruppe ansteuern.

                                    http://www.developers.meethue.com/docum … e-concepts

                                    Auszug:

                                    Groups

                                    You can also choose to control all your lights at once. For this you need to address the /groups/0 resource (this is a special group that always contains all lights). For groups we have the “action” resource (similar to the state resource for lights but containing the last values sent to the group rather than a state).

                                    You can modify resources in the “action” resource in the same way as the state resource. So the following turns all lights off:

                                    Address http://<bridge ip/address="">/api/<username>/groups/0/action

                                    Body {"on":false}

                                    Method PUT

                                    And this sets them all to full brightness red.

                                    Address http://<bridge ip/address="">/api/<username>/groups/0/action

                                    Body {"on":true,"bri":255,"sat":255,"hue":0}

                                    Method PUT</username></bridge></username></bridge>

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Pman last edited by

                                      Das wirft natürlich direkt Fragen auf. Kann man Lampen unterschiedlichen Typs gruppieren, z. B. Hue und Lux? Was passiert wenn man dann eine Farbe ändert? In ioBroker könnte man Gruppen anzeigen wie die einzelnen Lampen, dann allerdings zwingend mit allen Datenpunkten.

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

                                        @Pman:

                                        Das wirft natürlich direkt Fragen auf. Kann man Lampen unterschiedlichen Typs gruppieren, z. B. Hue und Lux? Was passiert wenn man dann eine Farbe ändert? `

                                        Ich habe keine Lux. Ich glaube schon das man die auch mischen kann. Auch wenn es nur bedingt Sinn macht.

                                        Die Lux werden dann nicht bunt.

                                        @Pman:

                                        In ioBroker könnte man Gruppen anzeigen wie die einzelnen Lampen, dann allerdings zwingend mit allen Datenpunkten. `

                                        Wofür alle Datenpunkte? Man braucht doch nur für jede Gruppe die Datenpunkte (hue, sat, …).

                                        Die Datenpunkte müssen auch nur geschrieben werden. Ein Auslesen macht keinen Sinn, da die Werte innerhalb einer Gruppe unterschiedlich sein können.

                                        Mit der Gruppe werden die Werte dann für alle Lampen in der Gruppe angepasst.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Pman last edited by

                                          Mit alle Datenpunkte meinte ich nur die Farben usw., die gibt es bei Lux nämlich sonst nicht.

                                          Mit dem nur schreiben hast du recht. Allerdings kann man dann keine klassischen an/aus buttons nutzen sondern müsste einen Knopf für Gruppe an und einen für Gruppe aus bauen, da ja kein aktueller Status definiert ist.

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

                                            Ich hatte gestern Abend noch gesehen, dass sich beim hue Adapter etwas getan hat 🙂 Version: 0.3.0

                                            Direkt installiert… Mit der Version habe ich aber leider folgendes Problem:

                                            Ich setze über ein Script die hue Standardwerte, die eine Lampe auch hat, wenn man Sie über einen Schalter einschaltet.

                                            `setState(hueLichter[i] + ".hue",    14922);
                                            setState(hueLichter[i] + ".sat",    144);
                                            setState(hueLichter[i] + ".effect", "none");
                                            setState(hueLichter[i] + ".alert",  "none");
                                            if(isTimeInRange('23:00:00', '05:00:00')) {                     // Nachts mit verringerter Helligkeit
                                                 setState(hueLichter[i] + ".bri",    100);
                                            } else {
                                                 setState(hueLichter[i] + ".bri",    254);                   // Tagsüber mit voller Helligkeit
                                            }` 
                                            
                                            Mit der neuen hue Adapter Version 0.3.0 bekommen damit die Lampen nicht Ihre Standardeinschaltfarbe, sondern werden rosa.
                                            
                                            Im Log sieht das wie folgt aus (Mehrfacheinträge, wg. mehrere Lampen entfernt):
                                            
                                            `~~[code]~~hue-0	2015-07-26 07:44:00	error	error: Api Error: Internal error, 404
                                            hue-0	2015-07-26 07:44:00	error	error: Api Error: Internal error, 404
                                            hue-0	2015-07-26 07:44:00	error	error: Api Error: Internal error, 404
                                            hue-0	2015-07-26 07:43:59	info	final lightState: {"bri":254,"on":true}
                                            hue-0	2015-07-26 07:43:59	info	final lightState: {"bri":254,"on":true,"alert":"none"}
                                            hue-0	2015-07-26 07:43:59	info	final lightState: {"bri":254,"on":true,"effect":"none"}
                                            hue-0	2015-07-26 07:43:59	info	final lightState: {"bri":254,"on":true,"hue":14922,"sat":144,"colormode":"hs"}
                                            hue-0	2015-07-26 07:43:59	info	final lightState: {"bri":254,"on":true}
                                            hm-rpc-0	2015-07-26 07:43:59	info	setValue ["GEQ0132484:1","STATE",true] BOOL
                                            javascript-0	2015-07-26 07:43:59	info	script.js.LOGIK_Gästebad: hue Standard gesetzt
                                            [/code]`
                                            
                                            Info: Dann hatte ich noch die alten Objekte mit den Leerzeichen im Namen. Die wurden bei der Deinstallation des alten Adapters nicht gelöscht. Diese Objekte habe ich dann alle händisch gelöscht.
                                            
                                            [EDIT]: der 404 kommt nicht bei jeder Änderung.
                                            
                                            Dann noch ein paar gesammelte Fehlermeldungen aus dem Log, wenn der Adapter ein paar Minuten läuft (Meldungen dazwischen gelöscht):
                                            
                                            `~~[code]~~hue-0	2015-07-26 08:06:44	error	error: Api Error: Internal error, 404
                                            hue-0	2015-07-26 08:05:26	error	error: Api Error: invalid/missing parameters in body
                                            hue-0	2015-07-26 08:05:25	error	error: Api Error: invalid/missing parameters in body
                                            hue-0	2015-07-26 08:05:24	error	Cannot get result for lightStatus13
                                            hue-0	2015-07-26 08:05:24	error	Error: ETIMEDOUT
                                            hue-0	2015-07-26 08:05:22	error	error: Error: read ECONNRESET
                                            hue-0	2015-07-26 08:05:12	error	error: Api Error: invalid/missing parameters in body
                                            hue-0	2015-07-26 08:05:11	error	error: Error: read ECONNRESET
                                            [/code]`[/i][/i][/i][/i][/i][/i]
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            534
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            24
                                            185
                                            35644
                                            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