Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hue Szenen aus ioBroker steuern

    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

    Hue Szenen aus ioBroker steuern

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

      Ich habe mal ein Skript geschrieben, welches automatisch alle (sinnvollen) Szenen von der Hue-Bridge abfragt und über Objekte aktivierbar macht, welche man dann auch im VIS verwenden kann.

      Skript (Version 1):

      ! ```
      `var HueApi = require("node-hue-api").HueApi
      ! var host = "192.168.x.x",
      username = "xxxxxxxxxx",
      api = new HueApi(host, username),
      light_list = [];
      ! var displayResults = function(result) {
      console.log(JSON.stringify(result, null, 2));
      };
      ! var parseLights = function(result) {
      for (var i = 0; i < result.length; i++) {
      var id = result[i].id,
      name = result[i].name;
      light_list[id] = name;
      }
      };
      ! var createStates = function(result) {
      for (var i = 0; i < result.length; i++) {
      if (!result[i].appdata.data){continue;}

          var id = result[i].id,
          lights = result[i].lights,
          name = result[i].name.replace(/"/g,''),
          pathname = name.replace(/ /g,'_'),
          light_names = [];
      
          if (name.indexOf("Switch") !== -1){continue;}
      

      ! for (var j = 0; j < lights.length; j++) {
      var light_name = light_list[lights[j]];
      light_names.push(light_name);
      }

          createState('Hue_Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+light_names.join(", ")+')'});
      }
      

      };

      ! api.lights(function(err, lights) {
      if (err) throw err;
      parseLights(lights.lights);
      });
      ! api.scenes(function(err, scenes) {
      if (err) throw err;
      createStates(scenes);
      });
      ! on({id: /^javascript.0.Hue_Scenes./, val: true}, function (obj) {
      sceneId = obj.id.split('.').pop();
      api.activateScene(sceneId, function(err, result) {
      if (err) throw err;
      displayResults(result);
      });
      setState(obj.id, false);
      });`
      ! ~~[b]~~Version 2 auf GitHub:[/b]
      ! https://github.com/cernst1980/iobroker.hue_scenes
      ! ~~[b]~~Screenshots:[/b]
      4997_bildschirmfoto_2018-02-07_um_17.56.31.png
      4997_bildschirmfoto_2018-02-07_um_17.49.56.png
      ! Im Javascript Adapter muss das Modul "node-hue-api" geladen werden.
      ! Im Skript müssen nur IP und https://github.com/peter-murray/node-hue-api#registering-without-an-existing-deviceuser-id gesetzt werden.[/i][/i][/i][/i][/i][/i]

      1 Reply Last reply Reply Quote 0
      • K
        Kueppert last edited by

        Das ist ja cool. Probiere ich am Wochenende aus. Wäre vielleicht auch etwas, das in den Hue Adapter integriert werden könnte?

        Danke dir und Grüße, Thorsten

        Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • K
          Kueppert last edited by

          Das ist ja cool. Hab das Skript getestet - und was soll ich sagen - LÄUFT 🙂

          Hab den Username aus dem HUE-Adapter kopiert, meine IP vom HUE eingetragen, gestartet und folgendes Ergebnis:
          2700_hue_skript.png

          Danke dir für deine Arbeit.

          Viele Grüße, Thorsten

          1 Reply Last reply Reply Quote 0
          • cash
            cash Most Active last edited by

            Läuft bei mir auch. Sehr gut, vielen Dank für Deine Arbeit… Die fehlenden Szenen im Hue-Adapter

            Eine Kleinigkeit habe ich aber doch 8-)

            Wobei ich nicht weiß ob es halt so ist oder ob man es ändern kann? Ich habe z. B. jetzt eine Szene: "Wohnzimmer gedimmt" drücke ich auf den Button im Reiter Objekte wird das Wohnzimmer gedimmt und zwar egal ob das Licht vorher an oder aus war. Das passt auch. Jetzt hätte ich aber erwartet, dass wenn ich nochmal auf den Button drücke das das Licht dann aus geht. Geht das?

            Zusatzfrage: Wenn ich jetzt neue Szenen erstelle. Landen die dann automatisch im iobroker? Wahrscheinlich nicht. Ich vermute ich muss dann das Script neu starten oder? Wie sieht es aus wenn ich eine Szene lösche?

            1 Reply Last reply Reply Quote 0
            • C
              cernst1980 last edited by

              @cash:

              Jetzt hätte ich aber erwartet, dass wenn ich nochmal auf den Button drücke das das Licht dann aus geht. `

              Das Skript ist "quick & dirty" entstanden.

              Es verhält sich, wie in der Hue App. Man kann "nur" die Szenen aktivieren.

              In HomeKit und im ioBroker Szenen Adapter ist das anders, ich weiß.

              Da kann man Szenen an- und ausschalten.

              Man könnte es aber theoretisch entsprechend erweitern.

              Die Lampen, die zur Szene gehören, sind ja bekannt.

              Die müsste man dann einzeln ausschalten.

              Vielleicht gibt es in der Hue API aber auch eine entsprechende Funktion.

              Einfacher wäre es aktuell, einfach eine weitere Szene "Licht aus…" zu erstellen.

              @cash:

              Wenn ich jetzt neue Szenen erstelle. Landen die dann automatisch im iobroker? Wahrscheinlich nicht. Ich vermute ich muss dann das Script neu starten oder? `

              Richtig, man könnte das aber einfach über ein "setInterval" lösen.

              @cash:

              Wie sieht es aus wenn ich eine Szene lösche? `

              Dann muss man aktuell die Objekte manuell löschen.

              Sollte ja nicht allzu oft vorkommen.

              Könnte man aber theoretisch auch lösen.

              Die wichtigste Frage, die sich mir aber stellt:

              Für mich ist das Skript nur ein "Workaround", um eine fehlende Funktion "schnell & einfach" zu ermöglichen.

              Klar könnte man das jetzt auch schön machen mit allem "wenn & aber".

              Das gehört aber meiner Meinung nach in den offiziellen Adapter.

              Ich hab hier schon Sachen gesehen, da wurde an mehreren Adaptern und Skripten für das gleiche Thema entwickelt, und am Ende gibt es nichts Fertiges (z.B. Denon).

              Das finde ich nicht zielführend.

              Ebenso gehören Skripte ins GitHub, was bringt es, wenn im Forum zig Versionen existieren.

              __Wie seht Ihr das?

              Wie sollte man Adapter und Skripte voneinander abgrenzen?__

              Wenn gewünscht, kann ich das Skript in GitHub einstellen und kleinere Verbesserungen vornehmen.

              Für größere Änderungen würde ich eher versuchen, diese in den Adapter einfließen zu lassen, da fehlt mir aber in diesen Tagen leider die Zeit dafür.

              PS: Danke für das positive Feedback, freut mich, wenn ich mit dem einfachen Skript dem ein oder anderen helfen kann. 😄

              1 Reply Last reply Reply Quote 0
              • C
                cernst1980 last edited by

                Neue Version, nun auf GitHub:

                https://github.com/cernst1980/iobroker.hue_scenes

                1 Reply Last reply Reply Quote 0
                • cash
                  cash Most Active last edited by

                  Mit den Adaptern gebe ich Dir recht. Es gibt viele Adapter die haben nur die Grundfunktionen mehr leider nicht. Irgend etas fehlt mir eigentlich bei jedem Adapter. Und deshalb sind manche eigentlich nicht wirklich 100% zu nutzen…

                  Ich finde in den Hue-Adapter gehören eben auch die Szenen. Am Besten natürlich als Option so kann jeder der Szenen nutzt, diese aktivieren und die die es anders wollen eben nicht.

                  Für nich sind die Hue´s ohne Szenen eigentlich nicht zu verwenden. Klar kann man per Script Szenen nachbauen aber in homematic habe ich dabei festgestellt das die Hue Bridge damit überfordert istEs steht ja auch glaube ich in der Api von Hue das man pro Sekunde nur max. 2 Lampen steuern soll... Mit einer Szene hat man die Probleme eben nicht...

                  Leider habe ich 0 Ahnung von Adaptern ansonsten würde ich den ein oder anderen eben auch erweitern. Ich scheitere ja schon oft an den einfachsten Scripten. Obwohl es dort langsam besser wird...

                  Gegen eine eigene Gegenszene für Lampen aus spricht übrigens das diese für mich dann die Hue-App zumüllen und in Alexa sind die dann auch. Deshalb habe ich pro Raum max 3 Szenen (oft auch nur 2, einmal hell und einmal gedimmt). Bei vielen Räumen kommt so schon einiges zusammen... Zumal man sich die ganzen Namen ja auch noch merken muss wenn man die Sprache bedienen will...

                  Auf jeden Fall Danke das Du das Script veröffentlicht hast. Ob nun Github oder nicht ist mir eigentlich egal. Bei Adaptern macht es dort auf jeden Fall Sinn bei einen Script was nur aus einer Datei ist, ist es nach meiner Meinung nicht nötig. Schadet aber natürlich auch nicht.

                  1 Reply Last reply Reply Quote 0
                  • K
                    Kueppert last edited by

                    Finde den Upload auf git sehr gut. Evtl sieht das Thema hier jemand der den Hue Adapter weiter entwickeln kann. Und er hat via Git steht die nötigen Code Zeilen…

                    Danke und grüße, Thorsten

                    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                      @cernst1980:

                      Neue Version, nun auf GitHub:

                      https://github.com/cernst1980/iobroker.hue_scenes ` Moin,

                      magst Du die Unterschiede ggf. kurz schildern?

                      Bei mir findet die v.1 deutlich mehr Szenen als die v.2

                      Als wären es bei der v.2 nur Standardszenen?!

                      1 Reply Last reply Reply Quote 0
                      • C
                        cernst1980 last edited by

                        @BBTown:

                        magst Du die Unterschiede ggf. kurz schildern? `
                        https://github.com/cernst1980/iobroker. … 0Szenen.js

                        • Resync function (script start & button)

                        • Rooms (groups) instead of lights in the scene names

                        • Only Hue app default and custom scenes

                        • Get rooms directly from scenes, not over lights

                        • Skip duplicates

                        @BBTown:

                        Bei mir findet die v.1 deutlich mehr Szenen als die v.2

                        Als wären es bei der v.2 nur Standardszenen?! `

                        Hast Du die Szenen außerhalb der Hue App angelegt, die fehlen?

                        Kommentier mal diese Zeile ein…

                        https://github.com/cernst1980/iobroker. ... nen.js#L63

                        Wenn die Szenen mit der Hue App angelegt wurden, dann müsste bei den Szenen unter appdata -> data etwas in dem Format stehen:

                        xxxxx___r__yy___d__zz

                        yy ist die ID für Raum/Gruppe

                        zz ist 01-x für Standardszenen und 99 für Custom Szenen

                        Alle anderen Szenen werden momentan rausgefiltert.

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

                          Ich habe die iPhone App "iConnectHue" und dort wiederum einige "In-App-Käufe" getätigt.

                          Unter anderem habe ich dadurch einige Animierte Szenen.

                          In deinem Script v.1 werden diese ebenfalls gefunden und angelegt.

                          In deinem Script v.2. nicht (ich hatte vor dem Script v.2 alle Szenen gelöscht)

                          [EDIT]

                          v.2 gefundene Szenen: 11

                          v.1. gefundene Szenen: 75

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

                            @cernst1980:

                            Kommentier mal diese Zeile ein…

                            https://github.com/cernst1980/iobroker. ... nen.js#L63 ` da kommt dann ein beeindruckend langes Log-File bei raus 😉

                            (ich wollte es hier nicht reinstellen, da einige kryptische "owner" Angaben enthalten sind die ich nicht recht zuordnen kann)

                            1 Reply Last reply Reply Quote 0
                            • C
                              cernst1980 last edited by

                              @BBTown:

                              da kommt dann ein beeindruckend langes Log-File bei raus 😉

                              (ich wollte es hier nicht reinstellen, da einige kryptische "owner" Angaben enthalten sind die ich nicht recht zuordnen kann) `

                              Mindestens eine Szene bräuchte ich mal exemplarisch, owner kannst Du gerne anonymisieren. Müsste der Hue Bridge Benutzer sein, der die Szene erstellt hat.

                              Ich habe noch keine Möglichkeit gefunden, bei den Szenen Spreu und Weizen zu trennen. Wahrscheinlich muss man doch alle nehmen, wo es appdata Daten gibt. Dann muss man die Raumzuordnung aber auch wieder über die Leuchten machen, da das direkt nicht möglich ist bei diesen Szenen.

                              Gesendet von iPhone mit Tapatalk

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

                                @cernst1980:

                                Mindestens eine Szene bräuchte ich mal exemplarisch, owner kannst Du gerne anonymisieren. Müsste der Hue Bridge Benutzer sein, der die Szene erstellt hat. ` ich habe einen Auszug des Logs angefügt

                                ! ````
                                { "name": "Scene mySceneDim huelabs/chris", "lights": [ "1", "2", "3", "4", "5", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": {}, "picture": "", "lastupdated": "2018-01-05T14:06:18", "version": 2, "id": "RQj2JRcyGxWKWHG" }, { "name": "Scene myScene1 huelabs/christm", "lights": [ "1", "2", "3", "4", "5", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": {}, "picture": "", "lastupdated": "2018-01-05T14:06:19", "version": 2, "id": "Wzbzl3V8mS1nDTC" }, { "name": "Scene myScene2 huelabs/christm", "lights": [ "1", "2", "3", "4", "5", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": {}, "picture": "", "lastupdated": "2018-01-05T14:06:20", "version": 2, "id": "zTCG7lcWMbD7cFi" }, { "name": "Scene myScene3 huelabs/christm", "lights": [ "1", "2", "3", "4", "5", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": {}, "picture": "", "lastupdated": "2018-01-05T14:06:21", "version": 2, "id": "BiblxsWfZKj2Z3t" }, { "name": "Green day-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": false, "appdata": { "version": 1, "data": "dfsjkh54:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:30:15", "version": 2, "id": "i6F7O7VRXDV3ebY" }, { "name": "Green day-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": false, "appdata": { "version": 1, "data": "j65dfggj:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:30:16", "version": 2, "id": "7Qef2YB4KXRTkZc" }, { "name": "Green day-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": false, "appdata": { "version": 1, "data": "jdfh5345:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:30:17", "version": 2, "id": "AIxffigw1K7gO7C" }, { "name": "Green day-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": false, "appdata": { "version": 1, "data": "djh5lsef:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:30:18", "version": 2, "id": "0KbRcqtSX8wKLyi" }, { "name": "The beach-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": { "version": 1, "data": "sdfjhe65:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:31:55", "version": 2, "id": "EOru8lpElqA3yZT" }, { "name": "The beach-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": { "version": 1, "data": "sdfkljw4:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:31:56", "version": 2, "id": "JJjdIDIhsuCY3Yk" }, { "name": "The beach-Animation", "lights": [ "1", "2", "3", "4", "5", "12", "22", "23", "24" ], "owner": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "recycle": true, "locked": true, "appdata": { "version": 1, "data": "fjk76dfg:CA06000" }, "picture": "", "lastupdated": "2018-01-14T21:31:57", "version": 2, "id": "avewviNhrPWQuKP" } ]

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cernst1980 last edited by

                                  Danke Dir.

                                  Ist gar nicht so trivial…

                                  Wenn ich mir dies so anschaue, musste ich folgende Annahmen treffen.

                                  ! ````
                                  "name": "Scene mySceneDim huelabs/chris",
                                  "name": "Scene myScene1 huelabs/christm",
                                  "name": "Scene myScene2 huelabs/christm",
                                  "name": "Scene myScene3 huelabs/christm",
                                  "data": "dfsjkh54:CA06000",
                                  "name": "Green day-Animation",
                                  "data": "j65dfggj:CA06000",
                                  "name": "Green day-Animation",
                                  "data": "jdfh5345:CA06000",
                                  "name": "Green day-Animation",
                                  "data": "djh5lsef:CA06000",
                                  "name": "Green day-Animation",
                                  "data": "sdfjhe65:CA06000",
                                  "name": "The beach-Animation",
                                  "data": "sdfkljw4:CA06000",
                                  "name": "The beach-Animation",
                                  "data": "fjk76dfg:CA06000",
                                  "name": "The beach-Animation",

                                  
                                  1\. Die "huelabs" Szenen werden nicht benötigt (haben auch keine "appdata" Einträge).
                                  
                                  2\. Die "Green day-Animation" und "The beach-Animation" Szenen sind alle im selben Raum (ID: 06) und somit Duplikate!?
                                  
                                  Wenn meine Annahmen richtig sind, sollte die aktuelle Version im GitHub funktionieren.
                                  
                                  Kannst Du bitte folgendes prüfen:
                                  
                                  - Fehlen Szenen?
                                  
                                  - Sind Szenen zuviel?
                                  
                                  - Gibt es Duplikate (gleicher Name und Raum)?
                                  
                                  - Wird bei allen Szenen ein Raumname angezeigt?
                                  
                                  - Stimmen die Raumangaben bei den Szenen?
                                  1 Reply Last reply Reply Quote 0
                                  • BBTown
                                    BBTown last edited by

                                    Mit dem neuen Script werden bei mir gar keine Szenen angelegt 8-)

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

                                      @BBTown:

                                      Mit dem neuen Script werden bei mir gar keine Szenen angelegt 8-) ` Sorry, Kommando zurück!

                                      Wenn man seine Log-In Angaben (Host, Username) korrekt setzt, dann klappt natürlich auch die Verbindung 😢

                                      Die aktuelle Version findet wie auch schon die v.2 insgesamt 11 Szenen.

                                      Das sind jene welche die ich als "Standardszenen" bezeichnen würde.

                                      Also Nicht die Szenen aus iConnectHue App die von der v.1 gefunden werden.

                                      Die Szenen aus der iConnectHue App sind nicht unbedingt einem Raum zugeordnet.

                                      [EDIT]

                                      Ich habe 2 ScreenShots angefügt:

                                      • Szenen aus Script v.2/3

                                      • Auszug aus den Szenen der v.1.
                                        1917_hue_szene_v.1.jpg
                                        1917_hue_szenen_v.3.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        cernst1980 last edited by

                                        @BBTown:

                                        Die Szenen aus der iConnectHue App sind nicht unbedingt einem Raum zugeordnet. `

                                        Dies scheint der springende Punkt zu sein.

                                        Wie sieht es denn mit der jetzt aktuellen Version auf GitHub aus? 😄

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

                                          @cernst1980:

                                          @BBTown:

                                          Die Szenen aus der iConnectHue App sind nicht unbedingt einem Raum zugeordnet. ` Dies scheint der springende Punkt zu sein.

                                          Wie sieht es denn mit der jetzt aktuellen Version auf GitHub aus? 😄 ` Sieht gut aus, alle 75 Szenen wurden angelegt 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            RalfR72 last edited by

                                            @BBTown:

                                            @cernst1980:

                                            @BBTown:

                                            Die Szenen aus der iConnectHue App sind nicht unbedingt einem Raum zugeordnet. ` Dies scheint der springende Punkt zu sein.

                                            Wie sieht es denn mit der jetzt aktuellen Version auf GitHub aus? 😄 Sieht gut aus, alle 75 Szenen wurden angelegt :)
                                            Überlege seit längerem mir auch die App iconnect zu kaufen, werden alle szenen aus der App dann angezeigt? Auch Dynamische? Was musich in der App noch dazu kaufen?

                                            Gesendet von iPhone mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            429
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            83
                                            18239
                                            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