NEWS
Hue Bewegungsmelder mit Temperatursensor
-
Wenn dann noch Fragen auftauchen, einfach melden. `
Einfach Adapter node-red installieren und anschließend per SSH "npm install node-red-contrib-huemagic" ausführen? Mehr nicht? Wie entstehen Datenpunkte/Objekte etc.? `
-
node-red installieren
-
dann in node-red direkt oben rechts unter:
\Eigenschaften 3 Striche/ Mange Palette/Install/bei search "node-red-contrib-huemagic" suchen und anschließend einfach installieren
-
-
So sieht das derzeit bei mir aus:
In Node-RED
Bei den Objekten im Admin
-
Würdest Du den exportierten Flow bitte mal zur Verfügung stellen?
Danke!
-
Würdest Du den exportierten Flow bitte mal zur Verfügung stellen? `
Jo, kann ich machen…
[ { "id": "6eef4a5e.3513a4", "type": "tab", "label": "Flow 1", "disabled": false, "info": "" }, { "id": "d60a45a5.f0c038", "type": "hue-temperature", "z": "6eef4a5e.3513a4", "name": "Hue temperature sensor 1", "bridge": "d6e7498e.527ab", "sensorid": "12", "x": 150, "y": 60, "wires": [ [ "ba4c2115.b0f2f8", "f39dc9a5.922d6" ] ] }, { "id": "ba4c2115.b0f2f8", "type": "function", "z": "6eef4a5e.3513a4", "name": "Celsius", "func": "var newMsg = { payload: msg.payload.celsius };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 40, "wires": [ [ "86c0b005.216b8" ] ] }, { "id": "86c0b005.216b8", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "temperatursensor bad", "topic": "hue-temperatur-bad", "ack": "true", "autoCreate": "true", "x": 760, "y": 40, "wires": [], "icon": "node-red-contrib-huemagic/hue-temperature.png" }, { "id": "aae3a53a.dd0bb8", "type": "hue-temperature", "z": "6eef4a5e.3513a4", "name": "Hue temperature sensor 2", "bridge": "d6e7498e.527ab", "sensorid": "16", "x": 150, "y": 180, "wires": [ [ "6f04bc3a.026f0c", "de546550.8b61c8" ] ] }, { "id": "6f04bc3a.026f0c", "type": "function", "z": "6eef4a5e.3513a4", "name": "Celsius", "func": "var newMsg = { payload: msg.payload.celsius };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 160, "wires": [ [ "3bf3fdb8.436f1a" ] ] }, { "id": "aa810b2a.723ed", "type": "hue-brightness", "z": "6eef4a5e.3513a4", "name": "Hue ambient light sensor 1", "bridge": "d6e7498e.527ab", "sensorid": "14", "x": 150, "y": 300, "wires": [ [ "31d92cca.c50d6c" ] ] }, { "id": "42050c13.9c016c", "type": "hue-brightness", "z": "6eef4a5e.3513a4", "name": "Hue ambient light sensor 2", "bridge": "d6e7498e.527ab", "sensorid": "18", "x": 150, "y": 420, "wires": [ [ "375e5e42.f5d2ea", "e9127b95.38407", "a3406e7f.7c4b38" ] ] }, { "id": "31d92cca.c50d6c", "type": "function", "z": "6eef4a5e.3513a4", "name": "Lightlevel", "func": "var newMsg = { payload: msg.payload.lightLevel };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 300, "wires": [ [ "9bcb2577.6d42b", "ed69f8d3.97802" ] ] }, { "id": "375e5e42.f5d2ea", "type": "function", "z": "6eef4a5e.3513a4", "name": "Lightlevel", "func": "var newMsg = { payload: msg.payload.lightLevel };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 420, "wires": [ [ "cd3572a9.337e08", "956b6f55.31c0d8" ] ] }, { "id": "c6f43ef1.f4fc2", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "lichtsensor gang lux", "topic": "hue-lightlevel-gang-lux", "ack": "true", "autoCreate": "true", "x": 760, "y": 400, "wires": [], "icon": "node-red-contrib-huemagic/hue-brightness.png" }, { "id": "8b73d132.3206f8", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "lichtsensor bad lux", "topic": "hue-lightlevel-bad-lux", "ack": "true", "autoCreate": "true", "x": 750, "y": 280, "wires": [], "icon": "node-red-contrib-huemagic/hue-brightness.png" }, { "id": "3bf3fdb8.436f1a", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "temperatursensor gang", "topic": "hue-temperatur-gang", "ack": "true", "autoCreate": "true", "x": 770, "y": 160, "wires": [], "icon": "node-red-contrib-huemagic/hue-temperature.png" }, { "id": "f39dc9a5.922d6", "type": "function", "z": "6eef4a5e.3513a4", "name": "Battery", "func": "var newMsg = { payload: msg.info.battery };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 100, "wires": [ [ "cdb4f675.7a2d2" ] ] }, { "id": "cdb4f675.7a2d2", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "battery bad", "topic": "hue-battery-bad", "ack": "true", "autoCreate": "true", "x": 730, "y": 100, "wires": [] }, { "id": "de546550.8b61c8", "type": "function", "z": "6eef4a5e.3513a4", "name": "Battery", "func": "var newMsg = { payload: msg.info.battery };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 380, "y": 220, "wires": [ [ "1b553526.61842b" ] ] }, { "id": "1b553526.61842b", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "battery gang", "topic": "hue-battery-gang", "ack": "true", "autoCreate": "true", "x": 730, "y": 220, "wires": [] }, { "id": "cd3572a9.337e08", "type": "function", "z": "6eef4a5e.3513a4", "name": "Umrechnung in Lux", "func": "zw = msg.payload-1;\nzw1 = zw/10000;\nzw2 = Math.pow(10,zw1);\nmsg.payload = Math.round(zw2);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 550, "y": 400, "wires": [ [ "c6f43ef1.f4fc2" ] ] }, { "id": "9bcb2577.6d42b", "type": "function", "z": "6eef4a5e.3513a4", "name": "Umrechnung in Lux", "func": "zw = msg.payload-1;\nzw1 = zw/10000;\nzw2 = Math.pow(10,zw1);\nmsg.payload = Math.round(zw2);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 550, "y": 280, "wires": [ [ "8b73d132.3206f8" ] ] }, { "id": "e9127b95.38407", "type": "debug", "z": "6eef4a5e.3513a4", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "info", "x": 440, "y": 460, "wires": [] }, { "id": "aa416db1.e61a58", "type": "hue-motion", "z": "6eef4a5e.3513a4", "name": "Bad Sensor", "bridge": "d6e7498e.527ab", "sensorid": "13", "x": 110, "y": 520, "wires": [ [ "7b05257b.7bdf7c" ] ] }, { "id": "f0bae6df.760df", "type": "debug", "z": "6eef4a5e.3513a4", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 530, "y": 560, "wires": [] }, { "id": "7b05257b.7bdf7c", "type": "function", "z": "6eef4a5e.3513a4", "name": "Motion", "func": "var newMsg = { payload: msg.payload.motion };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 370, "y": 520, "wires": [ [ "f0bae6df.760df", "b79f03a.37a01" ] ] }, { "id": "b79f03a.37a01", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "motion bad", "topic": "hue-motion-bad", "ack": "true", "autoCreate": "true", "x": 730, "y": 520, "wires": [] }, { "id": "827a3e17.c0c85", "type": "hue-motion", "z": "6eef4a5e.3513a4", "name": "Gang Sensor", "bridge": "d6e7498e.527ab", "sensorid": "17", "x": 120, "y": 600, "wires": [ [ "6f9b2f18.61569" ] ] }, { "id": "6f9b2f18.61569", "type": "function", "z": "6eef4a5e.3513a4", "name": "Motion", "func": "var newMsg = { payload: msg.payload.motion };\nreturn newMsg;\n", "outputs": 1, "noerr": 0, "x": 370, "y": 600, "wires": [ [ "fed96ddb.7d2cf8" ] ] }, { "id": "fed96ddb.7d2cf8", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "motion gang", "topic": "hue-motion-gang", "ack": "true", "autoCreate": "true", "x": 730, "y": 600, "wires": [] }, { "id": "a3406e7f.7c4b38", "type": "debug", "z": "6eef4a5e.3513a4", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 270, "y": 480, "wires": [] }, { "id": "956b6f55.31c0d8", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "lichtsensor gang raw", "topic": "hue-lightlevel-gang-raw", "ack": "true", "autoCreate": "true", "x": 762, "y": 450, "wires": [], "icon": "node-red-contrib-huemagic/hue-brightness.png" }, { "id": "ed69f8d3.97802", "type": "ioBroker out", "z": "6eef4a5e.3513a4", "name": "lichtsensor bad raw", "topic": "hue-lightlevel-bad-raw", "ack": "true", "autoCreate": "true", "x": 750, "y": 340, "wires": [], "icon": "node-red-contrib-huemagic/hue-brightness.png" }, { "id": "d6e7498e.527ab", "type": "hue-bridge", "z": "", "name": "Philips hue", "bridge": "192.168.x.x", "key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "interval": "3000" } ]
-
Danke dafür, funktioniert top !!!
-
Danke für den Flow.
Bin jetzt erst dazu gekommen, ihn zu testen.
Funktioniert top!
Gruß
Hans-Ulrich
-
Jo, kann ich machen… `
Moin!
Dein Code, den ich auch bis die Tage genutzt habe funktioniert bei mir irgendiwe nicht mehr. Meckert immer, dass es "function" nicht mehr gibt.
Gabs da ein Update oder so, was das kaputt gemacht hat?
Grüße!
-
Hi,
wollte den Thread hier mal wieder ein wenig zum Leben erwecken. Habe seit neustem auch zwei Hue Bewegungsmelder. Die funktionieren erstmal soweit über die Hue Bridge. Allerdings bin ich mit den Limitierungen über die Hue Software nicht ganz zufrieden und wollte mal Fragen, ob es mitlwerweile möglich ist, den Bewegungssensor ohne Node Red im iobroker abzugreifen?
Gibt es da mittlerweile eine Lösung?
Gruß
Danyo
-
Nach meinen Kenntnisstand leider nein. Ich würde es selber gerne nutzen. Je nachdem was man genau will könnte man mit Script etwas lösen.
Ich würde ab und zu nur verhindern wollen das der Bewegungsmelder ein Licht wieder ausschaltet. Derzeit habe ich das über die Labs in der Hue-App gelöst. Ist aber nicht optimal.
-
Hi,
dito, bei mir so ähnlich. Ich habe zwei Sensoren an eine Lampe gekoppelt und ebenso über Hue Labs die Funktion für zwei Sensoren aktiviert. Nun Ja, es funktioniert.
Probiere grad mit Node Red herum. Scheint so erstmal ganz gut zu funktionieren. Habe zumindest mit dem Hue Sensor mal testweise eine Ikea Tradfri Lampe geschaltet Wenn jetzt noch die Latenzzeiten passen, dann könnte ich mir noch mehr dieser Sensoren vorstellen
Hab da mal ne Frage:
Habe über Node Red die Payload des Sensors auf verschiedene Ausgänge der Funktion an unterschiedliche (virtuelle) Geräte innerhalb iobroker geschrieben.
motion –> Knoten mit Logikwert
active --> Knoten mit Logikwert
updated --> Knoten mit Textwert
Allerdings schreibt Node Red nur den Knoten für motion korrekt weg. Bei den anderen beiden kommt nichts an. Jemand eine Idee woran das liegen kann?
Gruß
Danyo
-
Hallo, also die HUE Bridge liefert Daten, die als JSON abgefragt werden können. Folgenden Link müsst Ihr verwenden:
http://[IP der BRIDGE]/api/[user ID]/sensors/[sensor ID]
Die User ID findet ihr unter der Adapterkonfiguration von hue und steht unter "Bridge-Anwender"
Die Sensor ID ist meißt eine Zahl zwischen 0 und XXX (je nachdem wie viele Geräte ihr so habt!) Ich habe insgesamt 5 Sensoren und die haben ID 15-18,19-23,24-27 usw.
Insgesamt hat ein Bewegungssensor 4 verschiedene ID's die hintereinander zu finden sind und unterschiedliche Daten liefert. Bewegung, Temperatur, Lichtlevel, Batteriezustand, Status und verschiedene Zeitstempel für all diese Daten!
Hier ein Beispiel meines Sensors mit Start ID 24.
24. Hue temperature sensor - liefert folgendes:
{"state":{"temperature":2141,"lastupdated":"2019-02-03T19:09:51"},"swupdate":{"state":"noupdates","lastinstall":"2019-02-02T10:59:46"},"config":{"on":true,"battery":100,"reachable":true,"alert":"none","ledindication":false,"usertest":false,"pending":[]},"name":"Hue temperature sensor 3","type":"ZLLTemperature","modelid":"SML001","manufacturername":"Philips","productname":"Hue temperature sensor","swversion":"6.1.0.18912","uniqueid":"00:17:xx:xx:xx:xx:xx:xx-02-0402","capabilities":{"certified":true}}
25. Hue motion sensor - liefert folgendes:
{"state":{"presence":false,"lastupdated":"2019-02-03T19:17:49"},"swupdate":{"state":"noupdates","lastinstall":"2019-02-02T10:59:46"},"config":{"on":true,"battery":100,"reachable":true,"alert":"none","ledindication":false,"usertest":false,"sensitivity":2,"sensitivitymax":2,"pending":[]},"name":"Wohnzimmer Sensor","type":"ZLLPresence","modelid":"SML001","manufacturername":"Philips","productname":"Hue motion sensor","swversion":"6.1.0.18912","uniqueid":"00:17::xx:xx:xx:xx:xx:xx–0406","capabilities":{"certified":true}}
26. Hue ambient light sensor - liefert folgendes:
{"state":{"lightlevel":11030,"dark":false,"daylight":false,"lastupdated":"2019-02-03T19:23:05"},"swupdate":{"state":"noupdates","lastinstall":"2019-02-02T10:59:46"},"config":{"on":true,"battery":100,"reachable":true,"alert":"none","tholddark":8423,"tholdoffset":7000,"ledindication":false,"usertest":false,"pending":[]},"name":"Hue ambient light sensor 3","type":"ZLLLightLevel","modelid":"SML001","manufacturername":"Philips","productname":"Hue ambient light sensor","swversion":"6.1.0.18912","uniqueid":"00:17::xx:xx:xx:xx:xx:xx--02-0400","capabilities":{"certified":true}}
27. MotionSensor XX.Companion - liefert folgendes:
{"state":{"status":1,"lastupdated":"2019-02-03T09:04:19"},"config":{"on":true,"reachable":true},"name":"MotionSensor 24.Companion","type":"CLIPGenericStatus","modelid":"PHA_STATE","manufacturername":"Philips","swversion":"1.0","uniqueid":"MotionSensor 24.Companion","recycle":true}
Viel Spaß beim Auslesen der Daten!
-
Hi,
ich bin ganz neu hier und generell bei ioBroker und der Thread hier ist schon relativ alt ich versuch es trotzdem mal.
Ich habe einen Hue indoor Bewegungsmelder an einer Hue Bridge und diese im ioBroker über die "Philips Hue Bridge" eingebunden. Klappt auch soweit.
Werte schicke ich in eine InfluxDB und bereite die Daten grafisch über Grafana auf, alles soweit so gut.
Die Werte, die ich auswähle kommen auch zuverlässig in meiner InfluxDB an.
Ich kann aber nix mit dem Wert anfangen, den ich eigentlich haben möchte.
Ich versuche die Helligkeit zu protokollieren, möchte also Lux oder sowas in der Art herausbekommen.
Ich bekomme beispielsweise an einem sehr düsteren Apriltag Werte wie z.B. 16000 irgendwas. Wenn ich parallel dazu in der iOS App "Controller" den Wert anschaue dann zeigt er mir ca. 41 lx an, was recht plausibel ist.Weiß jemand was das für ein Wert is, den ich im ioBroker angezeigt bekomme und wie ich ihn in etwas lesbares konvertieren kann?
-
Hat wirklich keiner eine Idee?
-
@firebowl
lightlevel ist die vom Sensor gemessene Lichtstärke in 10000 log10 (Lux) +1Die Hue-Api verwendet eine logarithmische Skala, da sich das menschliche Auge an die Lichtverhältnisse anpasst und kleine Änderungen bei niedrigen Luxwerten stärker auffallen als bei hohen Luxwerten. So steht es zumindest in der Dokumentation der Api.
Umrechnen kannst du so:
lux = Math.pow(10, (lightlevel - 1) / 10000)
oder mit
Math.round(Math.pow(10, (lightlevel - 1) / 10000));
wenn du es lieber gerundet haben möchtest
-
@fenian Danke dir schon mal. Glaub ich bin zu doof oder zu neu dabei.
Wo baue ich denn jetzt die Umrechnung ein? Ich hab bis jetzt nichts im Grafana gefunden, bei dem was vernünftiges herauskommt wenn ich versuche die Umrechnung durchzuführen.
Mein Query ist aktuell:SELECT mean("value") FROM "hue.0.Hue_ambient_light_sensor_1.lightlevel" WHERE $timeFilter GROUP BY time($__interval) fill(previous)
Hast vielleicht nen Tipp für mich?
-
@firebowl
Mit Grafana habe ich mich bisher nur sehr oberflächlich beschäftigt.
Mit Influxdb sollte aber diese Abfrage den umgerechneten Mittelwert liefernSELECT POW(10, (MEAN("value")-1)/10000) FROM "hue.0.Hue_ambient_light_sensor_1.lightlevel"
Ist aber ungetestet.
Ich habe mir dafür einen Alias angelegt, der gleich den umgerechneten Wert in die Datenbank schreibt. Das ist auf Dauer einfacher -
@fenian Vielen Dank, das war's!
Jetzt sieht das auch viel vernünftiger aus.