Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Hue Dimmer Switch

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Hue Dimmer Switch

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
20 Beiträge 10 Kommentatoren 7.8k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    haiperf
    schrieb am zuletzt editiert von
    #2

    Ok, scheint nicht direkt zu gehen. Nach langer Suche, viel Gebastel und in kleinen Schritten habe ich mein Ziel beinahe erreicht. Da der Weg dahin evtl. für dein ein oder anderen interessant ist und ich bisher noch keine derartige (vollständig funktionierende) Lösung gefunden habe, möchte ich das hier mal kurz skizzieren. Da das ganze eigentlich nichts mehr mit dem Hue Adapter zu tun hat, kann ein Mod den Thread gern in ein passendes Unterforum verschieben.

    Der User moses123 hat hier http://forum.iobroker.net/viewtopic.php … 043#p87043 die entscheidende Vorlage geliefert, ohne die ich es nicht hinbekommen hätte. In seinem Script fehlte lediglich ein bisschen Code für den Switch. Die für mich unnötigen Codeanteile habe ich rausgenommen und den Switch ergänzt. Dazu noch eine Abfrage gebastelt, die prüft, ob sich der Zustand geändet hat (sprich ein Knopf gedrückt wurde), um nur dann ein Event im ioBroker zu erzeugen.

    Es sind die IP und der USER einzutragen. node-hue-api, http und https müssen ggf. noch über npm installiert werden. Die Bridge wird einmal pro Sekunde gepollt.

    var hue = require('node-hue-api');
    var HueApi = hue.HueApi;
    var api;
    
    var request = require('request');
    
    var presenceID=0;
    var laststatechanged='';
    
    var bridge='[IP-DER-HUE-Bridge]';
    var user='[USER-AUF-DER-HUE-Bridge]';
    var port=80;
    
    var displayResult = function(result) {
        console.log(JSON.stringify(result, null, 2));
    };
    
    api = new HueApi(bridge, user, 0, port);
    
    schedule("*/1 * * * * *", readAllHueSensors); 
    createHueSensors();
    
    function createHueSensors() {
        api.sensors(function(err, config) {
            if (err) throw err;
            var sensors = config.sensors;
            console.log('sensors create');
            for (var sid in sensors) {
                var sensor = sensors[sid];
    
                if (sensor.type=='ZLLSwitch') {
    
                    var sensorName =  sensor.name.replace(/\s/g, '');
                    if (getState('hueSensors.'+sensorName).notExist===true) {
                        console.log('hueSensors.'+sensorName +' wird erstellt.')
                        createState('hueSensors.'+sensorName, sensorName, true, {
                            read: true, 
                           write: true, 
                            name: sensorName, 
                            type: "string", 
                            role: "channel",
                            def: false
                        });
    
                        if (sensor.type=='ZLLSwitch') {
                            createState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent, true, {
                                read: true, 
                               write: true, 
                                name: "buttonevent", 
                                type: "number", 
                                role: "state",
                                def: 0
                            });
                            createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                read: true, 
                               write: true, 
                                name: "lastupdated", 
                                type: "string", 
                                role: "date",
                                def: false
                            });
                            //Config
                            createState('hueSensors.'+sensorName+'.on', sensor.config.on, true, {
                                read: true, 
                               write: true, 
                                name: "on", 
                                type: "boolean", 
                                role: "config",
                                def: false
                            });
                            createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                read: true, 
                               write: true, 
                                name: "battery", 
                                type: "number", 
                                role: "config",
                                def: 0
                            });
                            createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                read: true, 
                               write: true, 
                                name: "reachable", 
                                type: "boolean", 
                                role: "config",
                                def: false
                            });
                            createState('hueSensors.'+sensorName+'.pending', sensor.config.pending, true, {
                                read: true, 
                               write: true, 
                                name: "pending", 
                                type: "number", 
                                role: "config",
                                def: 0
                            });
                        }
    
                    }
                }
            }
        });
    }
    
    function readAllHueSensors() {
        //console.log('sensors refresh');
        api.sensors(function(err, config) {
            if (err) throw err;
            var sensors = config.sensors;
            for (var sid in sensors) {
                var sensor = sensors[sid];
                if (sensor.type=='ZLLSwitch') {
                    var sensorName =  sensor.name.replace(/\s/g, '');
                    //console.log(sensorName)
    
                    if (sensor.type=='ZLLSwitch') {
                        // Hue Dimmer Switch
    
                        if (sensor.state.lastupdated != getState('hueSensors.'+sensorName+'.lastupdated').val) {
                            console.log('UPDATE HueSwitch');
                            //console.log(sensor.state.lastupdated);
                            //console.log(getState('hueSensors.'+sensorName+'.lastupdated').val);                   
    
                            setState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent);
                            setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                            setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                            setState('hueSensors.'+sensorName+'.on', sensor.config.on);
                            setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                            setState('hueSensors.'+sensorName+'.pending', sensor.config.pending);
                        }
                    }                    
                }
            }
        });
    }
    
    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #3

      sieht ja gut aus, waehre es fuer dich moeglich das auch im git zu hinterlegen z.b. als issue ?

      Wen de jetzige adapter keine bewegungsmelder und switches sieht aber bereits loesungen mit scripten vorhanden ist kan der entwickles das evenutell integrieren ?

      https://github.com/ioBroker/ioBroker.hue/issues

      1 Antwort Letzte Antwort
      0
      • E Offline
        E Offline
        edyelektrik
        schrieb am zuletzt editiert von
        #4

        @haiperf:

        Ok, scheint nicht direkt zu gehen. Nach langer Suche, viel Gebastel und in kleinen Schritten habe ich mein Ziel beinahe erreicht. Da der Weg dahin evtl. für dein ein oder anderen interessant ist und ich bisher noch keine derartige (vollständig funktionierende) Lösung gefunden habe, möchte ich das hier mal kurz skizzieren. Da das ganze eigentlich nichts mehr mit dem Hue Adapter zu tun hat, kann ein Mod den Thread gern in ein passendes Unterforum verschieben.

        Der User moses123 hat hier http://forum.iobroker.net/viewtopic.php … 043#p87043 die entscheidende Vorlage geliefert, ohne die ich es nicht hinbekommen hätte. In seinem Script fehlte lediglich ein bisschen Code für den Switch. Die für mich unnötigen Codeanteile habe ich rausgenommen und den Switch ergänzt. Dazu noch eine Abfrage gebastelt, die prüft, ob sich der Zustand geändet hat (sprich ein Knopf gedrückt wurde), um nur dann ein Event im ioBroker zu erzeugen.

        Es sind die IP und der USER einzutragen. node-hue-api, http und https müssen ggf. noch über npm installiert werden. Die Bridge wird einmal pro Sekunde gepollt.

        var hue = require('node-hue-api');
        var HueApi = hue.HueApi;
        var api;
        
        var request = require('request');
        
        var presenceID=0;
        var laststatechanged='';
        
        var bridge='[IP-DER-HUE-Bridge]';
        var user='[USER-AUF-DER-HUE-Bridge]';
        var port=80;
        
        var displayResult = function(result) {
            console.log(JSON.stringify(result, null, 2));
        };
        
        api = new HueApi(bridge, user, 0, port);
        
        schedule("*/1 * * * * *", readAllHueSensors); 
        createHueSensors();
        
        function createHueSensors() {
            api.sensors(function(err, config) {
                if (err) throw err;
                var sensors = config.sensors;
                console.log('sensors create');
                for (var sid in sensors) {
                    var sensor = sensors[sid];
                    
                    
                    if (sensor.type=='ZLLSwitch') {
        
                        var sensorName =  sensor.name.replace(/\s/g, '');
                        if (getState('hueSensors.'+sensorName).notExist===true) {
                            console.log('hueSensors.'+sensorName +' wird erstellt.')
                            createState('hueSensors.'+sensorName, sensorName, true, {
                                read: true, 
                               write: true, 
                                name: sensorName, 
                                type: "string", 
                                role: "channel",
                                def: false
                            });
                            
                            if (sensor.type=='ZLLSwitch') {
                                createState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent, true, {
                                    read: true, 
                                   write: true, 
                                    name: "buttonevent", 
                                    type: "number", 
                                    role: "state",
                                    def: 0
                                });
                                createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                    read: true, 
                                   write: true, 
                                    name: "lastupdated", 
                                    type: "string", 
                                    role: "date",
                                    def: false
                                });
                                //Config
                                createState('hueSensors.'+sensorName+'.on', sensor.config.on, true, {
                                    read: true, 
                                   write: true, 
                                    name: "on", 
                                    type: "boolean", 
                                    role: "config",
                                    def: false
                                });
                                createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                    read: true, 
                                   write: true, 
                                    name: "battery", 
                                    type: "number", 
                                    role: "config",
                                    def: 0
                                });
                                createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                    read: true, 
                                   write: true, 
                                    name: "reachable", 
                                    type: "boolean", 
                                    role: "config",
                                    def: false
                                });
                                createState('hueSensors.'+sensorName+'.pending', sensor.config.pending, true, {
                                    read: true, 
                                   write: true, 
                                    name: "pending", 
                                    type: "number", 
                                    role: "config",
                                    def: 0
                                });
                            }
                                 
                        }
                    }
                }
            });
        }
        
        function readAllHueSensors() {
            //console.log('sensors refresh');
            api.sensors(function(err, config) {
                if (err) throw err;
                var sensors = config.sensors;
                for (var sid in sensors) {
                    var sensor = sensors[sid];
                    if (sensor.type=='ZLLSwitch') {
                        var sensorName =  sensor.name.replace(/\s/g, '');
                        //console.log(sensorName)
        
                        if (sensor.type=='ZLLSwitch') {
                            // Hue Dimmer Switch
                            
                            if (sensor.state.lastupdated != getState('hueSensors.'+sensorName+'.lastupdated').val) {
                                console.log('UPDATE HueSwitch');
                                //console.log(sensor.state.lastupdated);
                                //console.log(getState('hueSensors.'+sensorName+'.lastupdated').val);                   
                            
                                setState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent);
                                setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                                setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                                setState('hueSensors.'+sensorName+'.on', sensor.config.on);
                                setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                                setState('hueSensors.'+sensorName+'.pending', sensor.config.pending);
                            }
                        }                    
                    }
                }
            });
        }
        ```` `  
        

        Hallo

        Da ich noch nicht so den Plan habe frage ich mal nach.

        Wie hast du die API installiert?

        Ich bekomme die Nachricht im Log " script.js.Philips_HUe.Skript1: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-hue-api'"

        Vielleicht könnt ihr mir weiter helfen.

        Edit: Habe es selbst hin bekommen. Man muss in den Adapter ein zusätzlches NPM - Modul eintragen :roll:

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Marko
          schrieb am zuletzt editiert von
          #5

          Hallo,

          ich habe das Problem einfach über den NodeRed Adapter gelöst. Da gibt es eine Library über Hue Switch/Dimm/Sensor. Diese nutzen und an IO Broker übergeben. Jetzt kann man ganz einfach diesen Zustand im Skript weiterverarbeiten.

          Gruß

          Marko

          1 Antwort Letzte Antwort
          0
          • C Offline
            C Offline
            CyberMicha
            schrieb am zuletzt editiert von
            #6

            Hi zusammen,

            möchte auch gerne den Sensor und Dimmerswitch ansprechen. Kann mir bitte jemand mal auf die Sprünge helfen? versehe die Aussagen hier in dem Thread leider nicht so ganz.

            LG Micha

            1 Antwort Letzte Antwort
            0
            • K Offline
              K Offline
              Kueppert
              schrieb am zuletzt editiert von
              #7

              @Dutchman:

              sieht ja gut aus, waehre es fuer dich moeglich das auch im git zu hinterlegen z.b. als issue ?

              Wen de jetzige adapter keine bewegungsmelder und switches sieht aber bereits loesungen mit scripten vorhanden ist kan der entwickles das evenutell integrieren ?

              https://github.com/ioBroker/ioBroker.hue/issues ` Ist schon paar Monate offen :(

              Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

              UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                cernst1980
                schrieb am zuletzt editiert von
                #8

                Wenn ich es richtig im Kopf habe, hättet Ihr das auch einfacher haben können.

                Einfach folgendes installieren über die Admin - URL/Git Funktion:

                4997_bildschirmfoto_2018-02-17_um_13.01.18.png

                https://github.com/robbsta/ioBroker.hue

                https://github.com/abwaters/node-hue-api

                Damit werden dann auch die Sensoren angezeigt…

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  Kueppert
                  schrieb am zuletzt editiert von
                  #9

                  Das Script nutze ich auch für meine Hue Motion Sensoren ;) allerdings nicht für die Bewegungsmeldung, da ich dafür den Hue zu oft abfragen müsste…

                  Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                  UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    CyberMicha
                    schrieb am zuletzt editiert von
                    #10

                    @cernst1980:

                    Wenn ich es richtig im Kopf habe, hättet Ihr das auch einfacher haben können.

                    Einfach folgendes installieren über die Admin - URL/Git Funktion:

                    Bildschirmfoto 2018-02-17 um 13.01.18.png

                    https://github.com/robbsta/ioBroker.hue

                    https://github.com/abwaters/node-hue-api

                    Damit werden dann auch die Sensoren angezeigt… `

                    Brauche ich für das Node-hue noch irgrgendwas? ioBroker meckert
                    > npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.node-red/package.json'

                    Vermutlich Node Red?

                    Kuppert: Meinst du mit Script das Node Hue?

                    Mein Ziel wäre es meine Osram Lampen über die Bewegungsmelder der Hue zu steuern. Sollte doch sicher irgendwie gehen?

                    Direkt die Osram Lampen in das Hue Gateway einbinden macht immer Probleme bzw da ist es ja nicht möglich eine Helligkeit zu speichern wenn Strom mal weg ist. Das geht ja leider nur mit dem Osram GW.

                    LG Michael

                    1 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      Kueppert
                      schrieb am zuletzt editiert von
                      #11

                      Hi,

                      ich meine den Beitrag von cernst. Hab im Javascript Adapter eine Code Zeile hinzugefügt und nutze sein Script:

                      http://forum.iobroker.net/viewtopic.php?t=11610

                      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                      UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                      1 Antwort Letzte Antwort
                      0
                      • MicM Offline
                        MicM Offline
                        Mic
                        Developer
                        schrieb am zuletzt editiert von
                        #12

                        Ich habe hier übrigens eine Lösung vorgestellt: https://forum.iobroker.net/viewtopic.php?f=35&t=14605

                        1 Antwort Letzte Antwort
                        0
                        • arteckA Offline
                          arteckA Offline
                          arteck
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #13

                          @Mic:

                          Ich habe hier übrigens eine Lösung vorgestellt: https://forum.iobroker.net/viewtopic.php?f=35&t=14605 `

                          dir ist schon klar, dass der Adapter das seit Monaten auch kann..

                          zigbee hab ich, zwave auch, nuc's genauso und HA auch

                          1 Antwort Letzte Antwort
                          0
                          • MicM Offline
                            MicM Offline
                            Mic
                            Developer
                            schrieb am zuletzt editiert von
                            #14

                            Theoretisch ja, arteck. Den 4stelligen Zahlencode könnte man auch noch über ein switch-Statement entsprechend in sprechende Variablen etc. bringen. Nur reagiert der Adapter (Version1.0.0) bei dem Dimmer-Switch viel zu langsam (teils 7-8 Sekunden und länger) und teilweise wurden Tastendrücke gar nicht in den Datenpunkt geschrieben.

                            1 Antwort Letzte Antwort
                            0
                            • N Offline
                              N Offline
                              Nikoxx
                              schrieb am zuletzt editiert von
                              #15

                              @arteck:

                              dir ist schon klar, dass der Adapter das seit Monaten auch kann.. `
                              Wie ?? Hab jetzt Version 1.0.0 installiert, aber bekomm nur meine Lampen angezeigt. Muss ich noch irgendwas beachten ?

                              Gruss Niko

                              1 Antwort Letzte Antwort
                              0
                              • arteckA Offline
                                arteckA Offline
                                arteck
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #16

                                schau genauer hin in die Objekte

                                so wie du den Schalter benamst hast ist der auch da zu finden

                                zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                1 Antwort Letzte Antwort
                                0
                                • arteckA Offline
                                  arteckA Offline
                                  arteck
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #17

                                  @Mic:

                                  Theoretisch ja, arteck. Den 4stelligen Zahlencode könnte man auch noch über ein switch-Statement entsprechend in sprechende Variablen etc. bringen. Nur reagiert der Adapter (Version1.0.0) bei dem Dimmer-Switch viel zu langsam (teils 7-8 Sekunden und länger) und teilweise wurden Tastendrücke gar nicht in den Datenpunkt geschrieben. `

                                  der reagiert so wie das polling eingestellt ist.. so einfach ist das … wurde schon zig tausendmal von mir erwähnt.. die api ist halt so ... ja auch unter node..

                                  zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                  1 Antwort Letzte Antwort
                                  0
                                  • MicM Offline
                                    MicM Offline
                                    Mic
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #18

                                    Wäre schön, wenn es so einfach wäre: Polling auch bei 1 Sekunde: Reaktion deutlich später, in Node-RED nicht der Fall.

                                    1 Antwort Letzte Antwort
                                    0
                                    • N Offline
                                      N Offline
                                      Nikoxx
                                      schrieb am zuletzt editiert von
                                      #19

                                      @arteck:

                                      schau genauer hin in die Objekte

                                      so wie du den Schalter benamst hast ist der auch da zu finden `

                                      Da war nichts, sonst hätte ich nicht gefragt. Hab den Adapter dann mal komplett neuinstalliert und … Schalter gefunden.

                                      Allerdings reagieren sie, wie Mic schon schrieb, trotz Polling von einer Sekunde sehr träge. So nicht wirklich zu gebrauchen.

                                      Aber trotzdem Danke zumindest sind sie jetzt da :)

                                      1 Antwort Letzte Antwort
                                      0
                                      • arteckA Offline
                                        arteckA Offline
                                        arteck
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #20

                                        @Mic:

                                        Wäre schön, wenn es so einfach wäre: Polling auch bei 1 Sekunde: Reaktion deutlich später, in Node-RED nicht der Fall. `

                                        wir überfluten ndie Bridge nicht mit anfragen… das wird mit paar Geräten funktionieren aber irgendwann steigt die Bridge aus...

                                        wir haben intern eine min polling Zeit von 10 sec.

                                        zigbee hab ich, zwave auch, nuc's genauso und HA auch

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        855

                                        Online

                                        32.4k

                                        Benutzer

                                        81.5k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe