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. Entwicklung
  4. [gelöst] Hue Motion Sensor Daten auslesen und verarbeiten

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

[gelöst] Hue Motion Sensor Daten auslesen und verarbeiten

Geplant Angeheftet Gesperrt Verschoben Entwicklung
287 Beiträge 17 Kommentatoren 60.3k Aufrufe 7 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.
  • E Offline
    E Offline
    eXTreMe
    schrieb am zuletzt editiert von
    #2

    Hier bittesehr:

    setState("javascript.0.hueSensors.Temperaturen.Schlafzimmer", Temperatur); musst du noch anpassen, ebenso IP und API-Key

    //Schlafzimmer Temp Sensor
    schedule("*/1 * * * *", function () { // Abfrage alle 1 Min
    	var url = "http://192.168.xx.xx/api/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/sensors/11";
    	var request = require("request");
    	request(url, function (error, response, body) {
    	var json = JSON.parse(body);
    	var Temperatur = parseInt(json.state.temperature);
    	Temperatur = Temperatur/100;
      	setState("javascript.0.hueSensors.Temperaturen.Schlafzimmer", Temperatur); // Anpassen auf deinen erstellten Datenpunkt
      	});
    }); 
    

    Falls du den Batteriestand noch mit auslesen möchtest dann füge noch folgenden setState hinzu (Pfad zum Datenpunkt wieder anpassen):

    setState("javascript.0.hueSensors.Batterie.Schlafzimmer", json.config.battery);
    

    Die Batterie hält aber scheinbar ewig. Nach über 2 Jahren Betrieb werden bei meinen 4 Sensoren immernoch 100% angezeigt.

    Schau dir auch mal den Forenpost hier an, da hatte jemand ein Script gepostet welches die Daten der Dimmer Switches ausliest.

    http://forum.iobroker.net/viewtopic.php?f=20&t=8730

    I 1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      chrizzel
      schrieb am zuletzt editiert von Negalein
      #3

      Danke für die schnelle Rückmeldung.

      Ich glaube das script grob verstanden zu haben. Mit der Anwesenheitserkennung klemmt es aber noch.

      Ich erhalte den Fehler

      _20:25:00.400 [warn] javascript.0 at Request.callback (script.js.eigene.Sensor_EG_TRH_Abfrage:34:10)

      im skript log,

      oder hue.0 2018-02-13 20:27:00.449 error Error: obj "" in callback getObject is null or undefined

      im allgemeinen log.

      Ich versteh nicht was gemeint ist.

      ! //Flur EG Motion Sensor
      ! schedule("*/1 * * * *", function () { // Abfrage alle 1 Min
      ! // 1. Datenpunkt des Sensors: Temp.
      ! var url = "http://192.168.2.103/api/xxx/sensors/11";
      ! var request = require("request");
      ! request(url, function (error, response, body) {
      ! var json = JSON.parse(body);
      ! var Temperatur = parseInt(json.state.temperature);
      ! Temperatur = Temperatur/100;
      ! //setState("javascript.0.hueSensors.Temperaturen.Schlafzimmer", Temperatur); // Anpassen auf deinen erstellten Datenpunkt - ORIGINALZEILE Vorschlag Forum
      ! setState("hue.0.Temp", Temperatur); // Anpassen auf deinen erstellten Datenpunkt
      ! });
      ! // 2. Datenpunkt des Sensors: Helligkeit
      ! var url2 = "http://192.168.2.103/api/xxx/sensors/13";
      ! var request2 = require("request");
      ! request(url2, function (error, response, body) {
      ! var json = JSON.parse(body);
      ! var lightlevel = parseInt(json.state.lightlevel);
      ! lightlevel = 10^((lightlevel -1)/ 10000); //Umrechnung in lux 10^(lightlevel -1/ 10000)
      ! setState("hue.0.helligkeit_TRH", lightlevel); // Anpassen auf den erstellten Datenpunkt
      ! });
      ! // 3. Datenpunkt des Sensors: Anwesenheit
      ! var url3 = "http://192.168.2.103/api/xxx/sensors/12";
      ! var request3 = require("request");
      ! request(url3, function (error, response, body) {
      ! var json = JSON.parse(body);
      ! var anwesenheit = parseInt(json.state.presence);
      ! // presence = …; //Umrechnung nicht nötig
      ! setState("hue.0.Anwesenheit_TRH", anwesenheit); // DAS IST ZEILE 34 ! Anpassen auf den erstellten Datenpunkt
      ! });
      ! }); // Schlusszeile aus Hauptteil
      ! // Hilfszeile für copyPaste etc..

      Die defekte Zeile ist nr 34 mit dem Inhalt: setState("hue.0.Anwesenheit_TRH", anwesenheit);

      Hast du nochmal eine Tip für mich?

      Meine Objekte anbei als screenshot. Ebenso der Code.
      4724_screen1.jpg
      4724_screen2.jpg

      Beste Grüße

      Chris

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

        vorab: ich hab auch noch nicht den vollen durchblick in javascript aber ich hätte eine theorie:

        Möglichkeit 1:

        evtl liegt der fehler sogar eine zeile über deiner vermuteten fehlerhaften zeile:

        var anwesenheit = parseInt(json.state.presence);

        du setzt die variable anwesenheit auf den inhalt von state.presence aus dem json, also auf "true" oder "false", jedoch ist das kein boolean (true/false zustand) sondern ein string (text: "true" oder "false")

        mit parseInt() soll das in einen Integer Wert, also eine zahl, umgewandelt werden. Und eben das soll nicht möglich sein wenn ich das gerade richtig ergoogelt habe.

        Möglichkeit 2:

        prüfe auch nochmal die einstellungen deines erstellten datenpunkts, also was ist es für ein typ, etc.

        vielleicht ist der datentyp als boolean eingestellt aber du versuchst einen string reinzuschreiben.

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          chrizzel
          schrieb am zuletzt editiert von
          #5

          Das klingt zumindest logisch. Dann wäre in dem Fall parseInt aber der falsche Befehl für meine Anwendung.

          Bei meinem Objekt habe ich verschiedenes versucht. An der Stelle der Objekte hätte ich die Idee auch schon.

          Ich Google heute mal nach einem anderen Befehl für ‚parseInt‘ um das true/False auszulesen.

          Nachtrag: Leider finde ich nichts. Das Wertefeld habe ich nun auf ZEICHENKETTE oder auch mal GEMISCHT gestellt. Es steht immer NULL drin.

          Hat jemand eine Idee?

          Beste Grüße

          Chris

          1 Antwort Letzte Antwort
          0
          • E Offline
            E Offline
            eXTreMe
            schrieb am zuletzt editiert von
            #6

            @chrizzel:

            Das klingt zumindest logisch. Dann wäre in dem Fall parseInt aber der falsche Befehl für meine Anwendung.

            Bei meinem Objekt habe ich verschiedenes versucht. An der Stelle der Objekte hätte ich die Idee auch schon.

            Ich Google heute mal nach einem anderen Befehl für ‚parseInt‘ um das true/Fälle aus u lesen `

            Machs doch so indem du die variable in der "true" als string drin steht mit einer if abfrage überprüfst und dann erst den datenpunkt auf true oder false (boolean) setzt.

            ! // 3. Datenpunkt des Sensors: Anwesenheit
            ! var url3 = "http://192.168.2.103/api/xxx/sensors/12";
            ! var request3 = require("request");
            ! request(url3, function (error, response, body) {
            ! var json = JSON.parse(body);
            ! var anwesenheit = json.state.presence;
            ! if anwesenheit == "true"
            ! {
            ! setState("hue.0.Anwesenheit_TRH", true);
            ! }
            ! else
            ! {
            ! setState("hue.0.Anwesenheit_TRH", false);
            ! }

            ! });

            Edit: das ist totaler quatsch gewesen. Es reicht einfach folgendes:

            setState("hue.0.Anwesenheit_TRH", json.state.presence)
            
            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              chrizzel
              schrieb am zuletzt editiert von Negalein
              #7

              ich erhalte:

              javascript.0 2018-02-14 22:44:35.980 error at Object.createScript (vm.js:56:10)
              
              javascript.0 2018-02-14 22:44:35.980 error SyntaxError: Unexpected identifier
              
              javascript.0 2018-02-14 22:44:35.979 error ^^^^^^^^^^^
              
              javascript.0 2018-02-14 22:44:35.978 error if anwesenheit == "true"
              
              javascript.0 2018-02-14 22:44:35.978 error at script.js.eigene.Sensor_EG_TRH_Abfrage:34
              
              javascript.0 2018-02-14 22:44:35.978 error script.js.eigene.Sensor_EG_TRH_Abfrage compile failed:
              

              im log.

              Ich versteh's nicht.. :-/

              Beste Grüße

              Chris

              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                eXTreMe
                schrieb am zuletzt editiert von
                #8

                manchmal sieht man den Wald vor lauter Bäumen nicht.

                Es reicht einfach folgendes:````
                setState("hue.0.Anwesenheit_TRH", json.state.presence)

                
                Was mir aber gerade noch einfällt:
                
                Der Presence Status ist nur wenige Sekunden auf true wenn Bewegung erkannt wird und springt dann relativ schnell wieder zurück auf false.
                
                Wenn dein Script nur alle x Minuten ausgeführt hast dann bekommt das das Script garnicht mit. Es müsste also alle x Sekunden den Status checken. Zuviele Anfragen an die Bridge (z.B. jede Sekunde) sind sicher nicht förderlich, habs aber noch nicht getestet.
                
                Da ist es sinnvoller den Status einer der mit dem Melder gekoppelten Lampen zu überwachen. Ich Steuere mein Licht im Flur und im Bad beispielsweise nur durch die Hue Bewegungsmelder und nicht über Schalter usw. Ist eine Lampe im Bad oder Flur an dann nur durch erkannte Bewegung. Dadurch ließen sich dann weitere Aktionen ausführen. Die Reaktionszeit hängt dabei von der im Hue Adapter eingestellten Polling Zeit ab. Außer du hast bestimmte Zeiten eingestellt in denen der Melder das Licht nicht anschalten soll, da wäre dann die Script Lösung wieder besser.
                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  chrizzel
                  schrieb am zuletzt editiert von
                  #9

                  Hi eXTreMe,

                  Ich Danke dir für die Unterstützung. Mein Ziel wurde erreicht. Ich kann inzwischen Temp, Helligkeit in Lux (Umgerechnet und gleich wie Homekit es auswertet) sowie die Anwesenheit auslesen.

                  Gelöst habe ich es zum Schluss einheitlich über Node-Red. Eher zufällig fand ich eine Erweiterung namens Hue-Magic die gute Voraussetzungen schafft.

                  Ich wolle erst am hart erarbeiteten script von Dir festhalten, habe dann aber einen sich ständig wiederholenden Fehler im LOG bemerkt. Script aus - Fehler weg. Keine Ahnung. Es lag aber nicht am letzten Eintrag sondern scheint was generelles zu sein.

                  Einer vielleicht interessierten Nachwelt lade ich mal zwei Anhänge aus NODE Red mit hoch. Das sind die kniffeligsten Stellen (für mich) gewesen. Vorallem die korrekte Umrechnung des RAW Helligkeitwertes. Das Node gibt nämlich nur einen Messwert aus.

                  Der Rest erklärt sich fast von selbst.
                  4724_hue_motion_sensor_node_payload_auslesen_bei_lux.jpg
                  4724_hue_motion_sensor_node_umrechnen_wert_in_lux.jpg

                  Beste Grüße

                  Chris

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    DC1988
                    schrieb am zuletzt editiert von
                    #10

                    hi chrizzel,

                    vielen DAnk für den hinweise mit node red. hatte mit dem javascript die gleichen probleme wie du.

                    könntest du mal zeigen was du in der function für temperatur und anwesenheit eingegeben hast. hab es bei temperatur mit msg.payload.temperature und bei anwesenheit mit msg.payload.presence probiert aber die werte in iobroker ändern sich nicht.

                    Mit der helligkeit passt es bei mir mit deiner anleitung. bei mir werden aber immer noch folgende fehlermeldungen angezeigt: hue.0 2018-02-21 22:24:54.156 error Error: obj "" in callback getObject is null or undefined. ist das bei dir auch so?

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      chrizzel
                      schrieb am zuletzt editiert von
                      #11

                      Hi DC,

                      sorry für die späte Rückmeldung..

                      Guck mal in die angehangenen Bilder. Bei dem einen ist es "celsius" statt "Temperatur". Du erkennst das, wenn Du einen DEBUG Node direkt an den Sensor hängst und quasi das RAW Signal abgreifst. Siehe erstes Bild. Dann im Debug Reiter das OBJEKT aufklicken und Du siehst die möglichen Werte zum Abfragen.

                      Mein Setup siehst Du in den beiden Bildern.

                      Und Du musst natürlich immer den richtigen Sensor auswählen. Je Funktion ein Anderer, obwohl es ein Stück Hardware ist.
                      4724_screen_0_forum.jpg
                      4724_screen_1_forum.jpg
                      4724_screen_2_forum.jpg

                      Beste Grüße

                      Chris

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        DC1988
                        schrieb am zuletzt editiert von
                        #12

                        Hey chrizzel,

                        vielen lieben Dank jetzt sieht die sache schon besser aus!!! vielen lieben Dank für deine Hilfe und ausführliche dokumentation. mit celsius klappt es prima. die fehlemeldungen vom hueadapter kommen scheinbar beim anlegen wenn keine werte reinkommen. aber jetzt klappt es super.

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          Bohr
                          schrieb am zuletzt editiert von
                          #13

                          Hallo,

                          ich habe das hier Geschriebene mal umgesetzt. Funktioniert auch bis zu dem Punkt, dass in meinen Objekten einfach keine Werte auftauchen. Woran kann es liegen? Vielleicht kann mir jemand weiterhelfen. 8-)

                          4197_1111.jpg
                          4197_2222.jpg
                          4197_3333.jpg

                          1 Antwort Letzte Antwort
                          0
                          • haselchenH Offline
                            haselchenH Offline
                            haselchen
                            Most Active
                            schrieb am zuletzt editiert von
                            #14

                            Das ist mein Node-red (funktioniert)

                            3723_celsius.png 3723_temperatur.png

                            3723_states.png

                            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

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

                              Frage: hat es einen Vorteil, wenn ich node Red nutze um die Bewegungsmelder abzufragen? Habe aktuell ein Skript laufen, welches das auch macht. Holz node sich auch intervallbasiert die states ab?? Ich meine, dass die Bridge nicht selbst pushed bei den Teilen.

                              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
                              • arteckA Offline
                                arteckA Offline
                                arteck
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #16

                                die Bridge bzw die API gibt das nicht her.. Node pollt halt nur alle 1 sec.. wie lange das gut geht .. keine plan

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

                                1 Antwort Letzte Antwort
                                0
                                • sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #17

                                  @Kueppert:

                                  Habe aktuell ein Skript laufen, welches das auch macht. `

                                  Hallo,

                                  kamst du mir das Skript reinstellen?

                                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Immer Daten sichern!

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    Bohr
                                    schrieb am zuletzt editiert von
                                    #18

                                    @Kueppert:

                                    Frage: hat es einen Vorteil, wenn ich node Red nutze um die Bewegungsmelder abzufragen? Habe aktuell ein Skript laufen, welches das auch macht. Holz node sich auch intervallbasiert die states ab?? Ich meine, dass die Bridge nicht selbst pushed bei den Teilen.

                                    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk `

                                    Mein letzter Stand und warum ich den Motion Sensor wieder abgeschafft haben: Helligkeitsänderungen sendet der Sensor nur im 5 Minuten-Takt. Das lässt sich meines Wissens nach auch nicht ändern ;-)

                                    1 Antwort Letzte Antwort
                                    0
                                    • sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #19

                                      @haselchen:

                                      Das ist mein Node-red (funktioniert)

                                      Celsius.PNGTemperatur.PNG

                                      States.PNG `

                                      Hallo,

                                      diese Nodes habe ich gar nicht:

                                      2858_inkedtemperatur_li.jpg

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      1 Antwort Letzte Antwort
                                      0
                                      • haselchenH Offline
                                        haselchenH Offline
                                        haselchen
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #20

                                        Du musst beim Node Red Adapter rechts oben auf die 3 Querstriche drücken.

                                        Dann auf Manage palette.

                                        Dann suchst du nach Huemagic und installierst es.

                                        Danach erscheint ganz unten auf der linken Seite die Leiste mit allen Hue Geräten.

                                        3723_unbenannt8.png

                                        3723_unbenannt9.png

                                        Dieser Nodes ist beim Output -> IOBroker

                                        3723_node.png

                                        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                        BAG-STG -KFTB 1 Antwort Letzte Antwort
                                        0
                                        • sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #21

                                          Hallo,

                                          das habe ich schon aber nur OBJEKT OBJEKT?

                                          2858_screenshot__746_.png

                                          2858_screenshot__753_.png

                                          2858_screenshot__752_.png

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          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

                                          842

                                          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