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 Adapter und Bewegunsmelder

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    46

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

HUE Adapter und Bewegunsmelder

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
10 Beiträge 6 Kommentatoren 2.7k Aufrufe
  • Ä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.
  • I Offline
    I Offline
    IksDrei
    schrieb am zuletzt editiert von
    #1

    Guten Tag Gemeinde,

    wieso ist der Bewegungsmelder nicht in der Objekt Liste aufzufinden, jemand eine Idee ?

    Hue Adapter Version : 0.6.9

    Grüße!

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

      weil die hue diese nicht zur verfügung stellt genau so wie die Schalter..

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

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        moses123
        schrieb am zuletzt editiert von
        #3

        Aber über ein Skript kann man den auslesen und anzeigen…

        Wenn ich heute abend daran denke, kann ich ja mal das hier anhängen.

        Gruß,

        Moses123

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          moses123
          schrieb am zuletzt editiert von
          #4

          So,

          anbei nun das Skript. Es muss die Ip der Bridge und der User ergänzt werden (kann man aus dem Hue- Adapter übernehmen).

          Als zusätzliche NPM- Module wird node-hue-api,http,https benötigt.

          Gruß,7

          Moses123

          ! ````
          var hue = require('node-hue-api');
          var HueApi = hue.HueApi;
          var api;
          ! var request = require('request');
          ! var presenceID=0;
          var laststatechanged='';
          ! var bridge='IPDerHueBridge';
          var user='DereigeneHueUser';
          var port=80;
          ! var displayResult = function(result) {
          console.log(JSON.stringify(result, null, 2));
          };
          ! api = new HueApi(bridge, user, 0, port);
          ! createHueSensors();
          schedule("0 */6 * * ", createHueSensors);
          schedule("
          /30 * * * ", readAllHueSensors);
          ! //schedule("
          /5 * * * *", readPresenseHueSensor);
          ! 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=='Daylight' || sensor.type=='ZLLTemperature' || sensor.type=='ZLLPresence' || sensor.type=='ZLLLightLevel') {
          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=='Daylight') {
          createState('hueSensors.'+sensorName+'.daylight', sensor.state.daylight, true, {
          read: true,
          write: true,
          name: "daylight",
          type: "boolean",
          role: "state",
          def: false
          });
          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+'.configured', sensor.config.configured, true, {
          read: true,
          write: true,
          name: "configured",
          type: "boolean",
          role: "config",
          def: false
          });
          createState('hueSensors.'+sensorName+'.sunriseoffset', sensor.config.sunriseoffset, true, {
          read: true,
          write: true,
          name: "sunriseoffset",
          type: "number",
          role: "config",
          def: 0
          });
          createState('hueSensors.'+sensorName+'.sunsetoffset', sensor.config.sunsetoffset, true, {
          read: true,
          write: true,
          name: "sunsetoffset",
          type: "number",
          role: "config",
          def: 0
          });

                          }
          
                          if (sensor.type=='ZLLPresence') {
                              // Bewegungsmelder
                              /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                              presenceID=sensor.id;
                              createState('hueSensors.'+sensorName+'.presence', sensor.state.presence, true, {
                                  read: true, 
                                 write: true, 
                                  name: "presence", 
                                  type: "boolean", 
                                  role: "state",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                  read: true, 
                                 write: true, 
                                  name: "lastupdated", 
                                  type: "string", 
                                  role: "date",
                                  def: ''
                              });
                              // Config
                              createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                  read: true, 
                                 write: true, 
                                  name: "reachable", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication, true, {
                                  read: true, 
                                 write: true, 
                                  name: "ledindication", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                  read: true, 
                                 write: true, 
                                  name: "battery", 
                                  type: "number", 
                                  role: "value.battery",
                                  def: 0
                              });
                              createState('hueSensors.'+sensorName+'.sensitivity', sensor.config.sensitivity, true, {
                                  read: true, 
                                 write: true, 
                                  name: "sensitivity", 
                                  type: "number", 
                                  role: "config",
                                  def: 0
                              });
          
                          }
              	        if (sensor.type=='ZLLLightLevel') {
                              // Helligkeitssensor
                              /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                              createState('hueSensors.'+sensorName+'.lightlevel', sensor.state.lightlevel, true, {
                                  read: true, 
                                 write: true, 
                                  name: "lightlevel", 
                                  type: "number", 
                                  role: "config",
                                  def: 0
                              });
                              createState('hueSensors.'+sensorName+'.dark', sensor.state.dark, true, {
                                  read: true, 
                                 write: true, 
                                  name: "dark", 
                                  type: "boolean", 
                                  role: "state",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.daylight', sensor.state.daylight, true, {
                                  read: true, 
                                 write: true, 
                                  name: "daylight", 
                                  type: "boolean", 
                                  role: "state",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                  read: true, 
                                 write: true, 
                                  name: "lastupdated", 
                                  type: "string", 
                                  role: "date",
                                  def: ''
                              });
                              // Config
                              createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                  read: true, 
                                 write: true, 
                                  name: "reachable", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication, true, {
                                  read: true, 
                                 write: true, 
                                  name: "ledindication", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                  read: true, 
                                 write: true, 
                                  name: "battery", 
                                  type: "number", 
                                  role: "value.battery",
                                  def: 0
                              });
                              createState('hueSensors.'+sensorName+'.tholdoffset', sensor.config.tholdoffset, true, {
                                  read: true, 
                                 write: true, 
                                  name: "tholdoffset", 
                                  type: "number", 
                                  role: "config",
                                  def: 0
                              });
                              createState('hueSensors.'+sensorName+'.tholddark', sensor.config.tholddark, true, {
                                  read: true, 
                                 write: true, 
                                  name: "tholddark", 
                                  type: "number", 
                                  role: "config",
                                  def: 0
                              });
          
                          }
                          if (sensor.type=='ZLLTemperature') {
                               // Temepratursensor
                              /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                              createState('hueSensors.'+sensorName+'.temperature', Math.round(sensor.state.temperature / 10) / 10, true, {
                                  read: true, 
                                  write: true, 
                                  name: "temperature", 
                                  type: "number", 
                                  role: "value.temperature",
                                  "smartName": {"de": "Temperatur"}
                              });
                              createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                  read: true, 
                                 write: true, 
                                  name: "lastupdated", 
                                  type: "string", 
                                  role: "date",
                                  def: ''
                              });
                              // Config
                              createState('hueSensors.'+sensorName+'.on', sensor.config.on, true, {
                                  read: true, 
                                 write: true, 
                                  name: "on", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                                  });
                              createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                  read: true, 
                                 write: true, 
                                  name: "reachable", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication, true, {
                                  read: true, 
                                 write: true, 
                                  name: "ledindication", 
                                  type: "boolean", 
                                  role: "config",
                                  def: false
                              });
                              createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                  read: true, 
                                 write: true, 
                                  name: "battery", 
                                  type: "number", 
                                  role: "battery",
                                  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=='Daylight' || sensor.type=='ZLLSwitch' || sensor.type=='ZLLTemperature' || sensor.type=='ZLLPresence' || sensor.type=='ZLLLightLevel') {
          var sensorName = sensor.name.replace(/\s/g, '');
          console.log(sensorName)
          if (sensor.type=='Daylight') {
          setState('hueSensors.'+sensorName+'.daylight', sensor.state.daylight);
          setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
          setState('hueSensors.'+sensorName+'.on', sensor.config.on);
          setState('hueSensors.'+sensorName+'.configured', sensor.config.configured);
          setState('hueSensors.'+sensorName+'.sunriseoffset', parseFloat(sensor.config.sunriseoffset));
          setState('hueSensors.'+sensorName+'.sunsetoffset',parseFloat(sensor.config.sunsetoffsett));
          }

                      if (sensor.type=='ZLLPresence') {
                          // Bewegungsmelder
                          /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                          setState('hueSensors.'+sensorName+'.presence', sensor.state.presence);
                          setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                          setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                          setState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication);
                          setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                          setState('hueSensors.'+sensorName+'.sensitivity', sensor.config.sensitivity);
          
                      }
          	        if (sensor.type=='ZLLLightLevel') {
                          // Helligkeitssensor
                          /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                          setState('hueSensors.'+sensorName+'.lightlevel', parseFloat(sensor.state.lightlevel));
                          setState('hueSensors.'+sensorName+'.dark', sensor.state.dark);
                          setState('hueSensors.'+sensorName+'.daylight', sensor.state.daylight);
                          setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                          setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                          setState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication);
                          setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                          setState('hueSensors.'+sensorName+'.tholdoffset', parseFloat(sensor.config.tholdoffset));
                          setState('hueSensors.'+sensorName+'.tholddark', sensor.config.tholddark);
          
                      }
                      if (sensor.type=='ZLLTemperature') {
                           // Temepratursensor
                          /* Diese Eigenschaften werden nicht ausgelesen: "alert": "none","usertest": false,"sensitivitymax": 2,"pending": []*/
                          createState('hueSensors.'+sensorName+'.temperature', parseFloat(Math.round(sensor.state.temperature / 10) / 10));
                          setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                          setState('hueSensors.'+sensorName+'.on', sensor.config.on);
                          setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                          setState('hueSensors.'+sensorName+'.ledindication', sensor.config.ledindication);
                          setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                      }                
                  }
              }
          });
          

          }

          ! function readPresenseHueSensor() {
          console.log('sensors presence');
          if (presenceID!==0) {
          var link = 'http://'+bridge+'/api/'+user+'/sensors/'+presenceID;
          request(link, function (error, response, body) {
          if (!error && response.statusCode == 200) {
          var result;
          try{
          result = JSON.parse(body);
          } catch (e) {
          console.log('Parse Fehler (Roofi Modul):' + e);
          }
          if (result) {
          var sensorName = result.name.replace(/\s/g, '');
          if (result.state.lastupdated!=laststatechanged) {
          setState('hueSensors.'+sensorName+'.presence', result.state.presence);
          setState('hueSensors.'+sensorName+'.lastupdated', result.state.lastupdated);
          console.log('State changed');
          laststatechanged=result.state.lastupdated;
          }
          }
          } else console.log('Fehler (Hue Sensordaten Abfrage: ' + error);
          }); // Ende request
          }
          }

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            neo4a
            schrieb am zuletzt editiert von
            #5

            @moses123:

            anbei nun das Skript. `

            Du berücksichtigst bereits in readAllHueSensors() den Typ ZLLSwitch ohne allerdings die Struktur dafür aufzubauen und zu füllen. Gibt es eine Chance, dass der HUE-Dimmer bei Gelegenheit unterstützt wird?

            Hieraus (https://github.com/ebaauw/homebridge-hue/wiki/Services) lese ich heraus, dass die HUE-Bridge wohl einen Daylight Sensor hat. Wenn das so ist: Wie kann man den eventuell auch abfragen?

            Danke für das Script.

            1 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              neo4a
              schrieb am zuletzt editiert von
              #6

              @neo4a:

              …lese ich heraus, dass die HUE-Bridge wohl einen Daylight Sensor hat. Wenn das so ist: Wie kann man den eventuell auch abfragen? `
              Um mir selbst zu antworten: Es ist wohl nur ein "virtueller" Sensor, sagen die Kollegen hier: https://forum.fhem.de/index.php?topic=48462.0

              So kann meine HUE-Bridge weiterhin im dunklen Schrank bleiben …

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                moses123
                schrieb am zuletzt editiert von
                #7

                Hallo,

                den Switch habe ich nicht weiter berücksichtigt, weil der für meine Zwecke nicht von nutzen war.

                Abgesehen davon ist genau wie beim Bewegungsmelder hier nur pollen möglich, man bekommt keine direkte Rückmeldung, ob eine Taste gedrückt wurde, oder ob Bewegung erkannt wurde. Auch deswegen ist der Switch nicht im Skript weiter berücksichtigt.

                Für mich war die Temperatur vom Bewegungsmelder interessant, der Rest ist eigentlich nur Beiwerk ;-)

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  neo4a
                  schrieb am zuletzt editiert von
                  #8

                  @moses123:

                  nur pollen möglich, man bekommt keine direkte Rückmeldung, ob eine Taste gedrückt wurde `
                  Seit kurzem sind ja durch eine Update auch die HUE accessories (motion sensor, dimmer) HomeKit-fähig. Damit sollte es über kurz oder lang auch im ioBroker möglich sein, z.B. mit den Dimmer-Tasten Nicht-HUE-Devices schalten zu können…

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    masterki
                    schrieb am zuletzt editiert von
                    #9

                    Hallo zusammen, ich bin neu bei ioBroker und hab unter anderem das Hue Skript eingebaut wegen der Temperatur.

                    Nun soweit läuft es eigentlich auch allerdings schreibt er bei mir die Stats iwie nur einmal und dann nicht mehr.

                    auch der SQL adapter nimmt keine stat änderung wahr und zeichne t demnach auch nichts auf.

                    Im Log wird leider auch keine fehler angezeigt immer nur schön die Sensor Namen.

                    Was mach ich falsch -HILFEEE

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mikiline
                      schrieb am zuletzt editiert von
                      #10

                      @masterki:

                      Hallo zusammen, ich bin neu bei ioBroker und hab unter anderem das Hue Skript eingebaut wegen der Temperatur.

                      Nun soweit läuft es eigentlich auch allerdings schreibt er bei mir die Stats iwie nur einmal und dann nicht mehr.

                      auch der SQL adapter nimmt keine stat änderung wahr und zeichne t demnach auch nichts auf.

                      Im Log wird leider auch keine fehler angezeigt immer nur schön die Sensor Namen.

                      Was mach ich falsch -HILFEEE `

                      Ändere den Schedule auf diese Weise

                      schedule("*/59 * * * *", createHueSensors); // alle 59 Minnuten

                      schedule("*/10 * * * * *", readAllHueSensors); // alle 10 Sekunden

                      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

                      339

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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