Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. HUE Adapter und Bewegunsmelder

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    720

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

HUE Adapter und Bewegunsmelder

Scheduled Pinned Locked Moved ioBroker Allgemein
10 Posts 6 Posters 2.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    IksDrei
    wrote on last edited by
    #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 Reply Last reply
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by
      #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 Reply Last reply
      0
      • M Offline
        M Offline
        moses123
        wrote on last edited by
        #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 Reply Last reply
        0
        • M Offline
          M Offline
          moses123
          wrote on last edited by
          #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 Reply Last reply
          0
          • N Offline
            N Offline
            neo4a
            wrote on last edited by
            #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 Reply Last reply
            0
            • N Offline
              N Offline
              neo4a
              wrote on last edited by
              #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 Reply Last reply
              0
              • M Offline
                M Offline
                moses123
                wrote on last edited by
                #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 Reply Last reply
                0
                • N Offline
                  N Offline
                  neo4a
                  wrote on last edited by
                  #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 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    masterki
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mikiline
                      wrote on last edited by
                      #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 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

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

                      513

                      Online

                      32.7k

                      Users

                      82.6k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe