Wenn Nachtmodus dann Bewegungserkennung und PIR-Kopplung aus

Hallo,

ich suche nach einer Möglichkeit mit Node-RED einen Flow zu erstellen, welcher in Abhängigkeit vom Nachtmodus bzw. des aktuellen Helligkeitswertes

  1. Die Alarmbereiche deaktivert und
  2. Die PIR Bereichskopplung deaktiviert

Im Tagmodus sind diese beiden Optionen aktiviert.

Bisher habe ich diesen Flow integriert, welcher die IR-LEDs nur bei Alarm aktiviert und dann wieder deaktiviert:

Allerdings funktioniert das nicht richtig, wenn die Bereiche mit der Bewegungserkennung gekoppelt sind. Deshalb möchte ich nachts ausschließlich den PIR verwenden.

Vielleicht gibt es ja schon einen Node-RED Flow, welcher in Abhängigkeit vom Helligkeitswert eine Aktion durchführt?

Ich verwende den in der Kamera IN-8009FHD-PoE integrierten MQTT-Broker.

Vielen Dank!

Klaus

Hallo,

ich habe hier in Anfängermanier etwas zusammengebaut und vielleicht könnte sich das jemand mir mehr Ahnung ansehen.
Der Flow funktioniert dann, wenn ich einen Deploy manuell starte, nachdem ich z.B. eine kleine Änderung gemacht habe(z.B. Node etwas verschoben)
Es wird dann currentbrightness, upperirthreshold und lowerirthreshold korrekt ausgelesen und die Switche des entsprechenden Modus(Tagmodus oder Nachtmodus) ausgeführt.

Das Problem:
Wenn ich jetzt manuell über die Instar WebUI upperirthreshold und lowerirthreshold ändere, dann sehe ich die Änderungen auch im Debug Code von Node-RED, aber der Switch zu Tag- bzw. Nachtmodus wird nicht mehr ausgeführt. Meine Vermutung ist, daß es im Flow dann keine Rückmeldung zu currentbrightness gibt und somit die Funktion Tagmodus oder Nachtmodus nicht mehr ausgeführt wird.

Brauche ich sowas in der Art wie permanentes Polling der Zustände, oder wie mache ich das?

Über Hinweise wäre ich dankbar!

Danke und viele Grüße
Klaus

[{"id":"bea250fa.891a18","type":"tab","label":"Tagmodus-Nachtmodus-Bereiche","disabled":false,"info":""},{"id":"372d52b3.0dcca6","type":"mqtt in","z":"bea250fa.891a18","name":"currentbrightness","topic":"instar/10D1DC222161/status/features/nightvision/currentbrightness","qos":"2","datatype":"auto","broker":"485c4f66.ce892","x":100,"y":320,"wires":[["79defb31.62b81c"]]},{"id":"f04b7e49.4b85a","type":"function","z":"bea250fa.891a18","name":"Tagmodus","func":"var currentbrightness = flow.get(\"currentbrightness\");\nvar upperirthreshold = flow.get(\"upperirthreshold\");\ncurrentbrightness = Number(currentbrightness);\nupperirthreshold = Number(upperirthreshold);\n\nif (currentbrightness < upperirthreshold)\n{\n    msg.payload = 'Tagmodus';\n    return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":280,"wires":[["6aed39ea.441a3","8bf3ee61.f385c8","874d4399.193808"]]},{"id":"7ab4ffb3.98966","type":"function","z":"bea250fa.891a18","name":"Nachtmodus","func":"var currentbrightness = flow.get(\"currentbrightness\");\nvar lowerirthreshold = flow.get(\"lowerirthreshold\");\ncurrentbrightness = Number(currentbrightness);\nlowerirthreshold = Number(lowerirthreshold);\n\nif ( currentbrightness > lowerirthreshold )\n{\n    msg.payload = 'Nachtmodus';\n    return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":430,"y":360,"wires":[["97e17ad2.e2045","cb97600c.8bf03","874d4399.193808"]]},{"id":"dcb1d945.3c8098","type":"mqtt in","z":"bea250fa.891a18","name":"upperirthreshold","topic":"instar/10D1DC222161/status/features/nightvision/upperirthreshold","qos":"2","datatype":"auto","broker":"485c4f66.ce892","x":100,"y":120,"wires":[["fa1ac640.74df6"]]},{"id":"b42a6678.299f9","type":"mqtt in","z":"bea250fa.891a18","name":"lowerirthreshold","topic":"instar/10D1DC222161/status/features/nightvision/lowerirthreshold","qos":"2","datatype":"auto","broker":"485c4f66.ce892","x":100,"y":180,"wires":[["79d176a3.42b2b"]]},{"id":"79d176a3.42b2b","type":"function","z":"bea250fa.891a18","name":"formatlower","func":"msg.topic = \"lowerirthreshold\";\n\nvar lowerirthreshold = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(lowerirthreshold);\nflow.set('lowerirthreshold', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":270,"y":180,"wires":[["874d4399.193808"]]},{"id":"fa1ac640.74df6","type":"function","z":"bea250fa.891a18","name":"formatupper","func":"msg.topic = \"upperirthreshold\";\nvar upperirthreshold = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(upperirthreshold);\nflow.set('upperirthreshold', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":270,"y":120,"wires":[["874d4399.193808"]]},{"id":"cb97600c.8bf03","type":"change","z":"bea250fa.891a18","name":"off","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"off\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":380,"wires":[["323f969b.72924a"]]},{"id":"323f969b.72924a","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/actions/linkareas","topic":"instar/10D1DC222161/alarm/actions/linkareas","qos":"1","retain":"false","broker":"485c4f66.ce892","x":860,"y":440,"wires":[]},{"id":"6aed39ea.441a3","type":"change","z":"bea250fa.891a18","name":"on","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"on\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":300,"wires":[["323f969b.72924a"]]},{"id":"413b39f.4fa71c8","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area1/enable","topic":"instar/10D1DC222161/alarm/area1/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":850,"y":200,"wires":[]},{"id":"8bf3ee61.f385c8","type":"change","z":"bea250fa.891a18","name":"1","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"1\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":260,"wires":[["413b39f.4fa71c8","5c5f8ef9.ff2da8","4c450efe.378b38","6b90a3e8.8b5194"]]},{"id":"97e17ad2.e2045","type":"change","z":"bea250fa.891a18","name":"0","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"0\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":340,"wires":[["6b90a3e8.8b5194","4c450efe.378b38","5c5f8ef9.ff2da8","413b39f.4fa71c8"]]},{"id":"5c5f8ef9.ff2da8","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area2/enable","topic":"instar/10D1DC222161/alarm/area2/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":850,"y":260,"wires":[]},{"id":"4c450efe.378b38","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area3/enable","topic":"instar/10D1DC222161/alarm/area3/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":850,"y":320,"wires":[]},{"id":"6b90a3e8.8b5194","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area4/enable","topic":"instar/10D1DC222161/alarm/area4/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":850,"y":380,"wires":[]},{"id":"874d4399.193808","type":"debug","z":"bea250fa.891a18","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":520,"y":140,"wires":[]},{"id":"79defb31.62b81c","type":"function","z":"bea250fa.891a18","name":"formatcurrent","func":"msg.topic = \"currentbrightness\";\n\nvar currentbrightness = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(currentbrightness);\nflow.set('currentbrightness', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":270,"y":320,"wires":[["f04b7e49.4b85a","7ab4ffb3.98966","874d4399.193808"]]},{"id":"485c4f66.ce892","type":"mqtt-broker","z":"","name":"IN-8009-FHD-PoE","broker":"192.168.179.39","port":"1883","tls":"","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Wie ich hier im Forum erfahren habe, gibt es für currentbrightness kein MQTT Topic.

Meine Lösung also hier:

[{"id":"bea250fa.891a18","type":"tab","label":"Tagmodus-Nachtmodus-Bereiche","disabled":false,"info":""},{"id":"f04b7e49.4b85a","type":"function","z":"bea250fa.891a18","name":"Tagmodus","func":"var currentbrightness = flow.get(\"currentbrightness\");\nvar upperirthreshold = flow.get(\"upperirthreshold\");\ncurrentbrightness = Number(currentbrightness);\nupperirthreshold = Number(upperirthreshold);\n\nif (currentbrightness < upperirthreshold)\n{\n    msg.payload = 'Tagmodus';\n    return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":720,"y":260,"wires":[["6aed39ea.441a3","8bf3ee61.f385c8"]]},{"id":"7ab4ffb3.98966","type":"function","z":"bea250fa.891a18","name":"Nachtmodus","func":"var currentbrightness = flow.get(\"currentbrightness\");\nvar lowerirthreshold = flow.get(\"lowerirthreshold\");\ncurrentbrightness = Number(currentbrightness);\nlowerirthreshold = Number(lowerirthreshold);\n\nif ( currentbrightness > lowerirthreshold )\n{\n    msg.payload = 'Nachtmodus';\n    return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":710,"y":340,"wires":[["97e17ad2.e2045","cb97600c.8bf03"]]},{"id":"dcb1d945.3c8098","type":"mqtt in","z":"bea250fa.891a18","name":"upperirthreshold","topic":"instar/10D1DC222161/status/features/nightvision/upperirthreshold","qos":"2","datatype":"auto","broker":"485c4f66.ce892","x":380,"y":100,"wires":[["fa1ac640.74df6"]]},{"id":"b42a6678.299f9","type":"mqtt in","z":"bea250fa.891a18","name":"lowerirthreshold","topic":"instar/10D1DC222161/status/features/nightvision/lowerirthreshold","qos":"2","datatype":"auto","broker":"485c4f66.ce892","x":380,"y":160,"wires":[["79d176a3.42b2b"]]},{"id":"79d176a3.42b2b","type":"function","z":"bea250fa.891a18","name":"formatlower","func":"msg.topic = \"lowerirthreshold\";\n\nvar lowerirthreshold = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(lowerirthreshold);\nflow.set('lowerirthreshold', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":160,"wires":[[]]},{"id":"fa1ac640.74df6","type":"function","z":"bea250fa.891a18","name":"formatupper","func":"msg.topic = \"upperirthreshold\";\nvar upperirthreshold = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(upperirthreshold);\nflow.set('upperirthreshold', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":100,"wires":[[]]},{"id":"cb97600c.8bf03","type":"change","z":"bea250fa.891a18","name":"off","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"off\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":360,"wires":[["323f969b.72924a"]]},{"id":"323f969b.72924a","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/actions/linkareas","topic":"instar/10D1DC222161/alarm/actions/linkareas","qos":"1","retain":"false","broker":"485c4f66.ce892","x":1120,"y":420,"wires":[]},{"id":"6aed39ea.441a3","type":"change","z":"bea250fa.891a18","name":"on","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"on\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":280,"wires":[["323f969b.72924a"]]},{"id":"413b39f.4fa71c8","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area1/enable","topic":"instar/10D1DC222161/alarm/area1/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":1110,"y":180,"wires":[]},{"id":"8bf3ee61.f385c8","type":"change","z":"bea250fa.891a18","name":"1","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"1\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":240,"wires":[["413b39f.4fa71c8","5c5f8ef9.ff2da8","4c450efe.378b38","6b90a3e8.8b5194"]]},{"id":"97e17ad2.e2045","type":"change","z":"bea250fa.891a18","name":"0","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"0\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":320,"wires":[["6b90a3e8.8b5194","4c450efe.378b38","5c5f8ef9.ff2da8","413b39f.4fa71c8"]]},{"id":"5c5f8ef9.ff2da8","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area2/enable","topic":"instar/10D1DC222161/alarm/area2/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":1110,"y":240,"wires":[]},{"id":"4c450efe.378b38","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area3/enable","topic":"instar/10D1DC222161/alarm/area3/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":1110,"y":300,"wires":[]},{"id":"6b90a3e8.8b5194","type":"mqtt out","z":"bea250fa.891a18","name":"alarm/area4/enable","topic":"instar/10D1DC222161/alarm/area4/enable","qos":"1","retain":"false","broker":"485c4f66.ce892","x":1110,"y":360,"wires":[]},{"id":"79defb31.62b81c","type":"function","z":"bea250fa.891a18","name":"formatcurrent","func":"msg.topic = \"currentbrightness\";\n\nvar currentbrightness = msg.payload.replace(/^\\D+|\\D+$/g, \"\")\n\nmsg.payload = Number(currentbrightness);\nflow.set('currentbrightness', msg.payload);\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":550,"y":300,"wires":[["f04b7e49.4b85a","7ab4ffb3.98966"]]},{"id":"54353051.a5f6f8","type":"inject","z":"bea250fa.891a18","name":"1 min Trigger","props":[{"p":"payload"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":180,"y":300,"wires":[["eb47ab14.04e4b"]]},{"id":"eb47ab14.04e4b","type":"http request","z":"bea250fa.891a18","name":"currentbrightness","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://admin:admin@192.168.179.39/param.cgi?cmd=getsaradcstate","tls":"","persist":false,"proxy":"","authType":"","x":370,"y":300,"wires":[["79defb31.62b81c"]]},{"id":"485c4f66.ce892","type":"mqtt-broker","z":"","name":"IN-8009-FHD-PoE","broker":"192.168.179.39","port":"1883","tls":"","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Hallo,

irgendwie bekomme ich trotz der Anpassungsmöglichkeit der Einstellungen mit Node-RED keine vernünftige Alarmierung im Nachtmodus hin.

Bewegungserkennung (Bereiche) und PIR Kopplung sind aus. IR-LEDs sind Nachts aus und werden nur bei Bewegungserkennung des PIR aktiviert, 60 Sek. aufgenommen und wieder deaktiviert. Soweit ok.

Allerdings bekomme ich da nachts Fehlalarme. Kein Regen, keine Bewegung, kein Wind. Trotzdem 4-10 Aufnahmen, bei denen nichts zu sehen ist, was den PIR Alarm auslösen könnte.

Außerdem ist es dann so, daß wenn z.B. ein Mensch den PIR auslöst zwar der Alarm ausgelöst wird. Wenn sich dieser dann aber im Bereich aufhält, wird nach 60 Sek. die Aufnahme gestoppt und kein weiterer Alarm ausgelöst, wenn sich der Mensch wieder zu bewegen beginnt.

Wenn ich den PIR mit den Bereichen und der Bewegungserkennung kopple, dann bekomme ich ohne IR-LEDs nie einen Alarm. Eigentlich klar, weil es, wenn es richtig dunkel ist, keine Bewegung gibt.

Wie kann ich hier eine zufriedenstellende Lösung finden? Wie macht ihr das mit dem Nachtmodus?

Danke und viele Grüße
Klaus

Hallo,
vielleicht hängt das mit dem 1min Trigger zusammen. Der soll ja eigentlich „nur“ die Bereiche und Aktionen für Tag-/Nachtmodus umstellen. Das Alarmvideo läuft eine Minute lang, danach ist die Kamera scharf geschaltet für den nächsten Alarm. Wenn jetzt aber die minütliche Konfiguration durch Node-Red erfolgt kann es evtl. zu einer Kollision mit der Alarmerkennung kommen. Ich würde mal den Trigger auf einen längeren Zeitraum einstellen und dann testen.
Grüße

Hallo,

danke daß Du Dir den Flow angeschaut hast!
Ok, ich probier Deinen Vorschlag aus. Du meinst also auch Bereichserkennung nachts ausschalten und nur den PIR verwenden?

Viele Grüße
Klaus

Solange nachts die IR-LED nicht leuchten bringt die Bewegungserkennung aus dem Bild heraus noch nichts. Es sei denn, jemand schaltet im Raum das Licht ein. Dann hätte man automatisch den Tagmodus. Der PIR ist nachts bei ausgeschalteter IR das Alarm auslösende Moment. Aber das hattest Du ja so beabsichtigt?

Bitte. Den Flow hatte ich mal zwischen der eigentlichen Arbeit eingeschoben. :slight_smile:

Ok, das habe ich jetzt ausprobiert und das gibt keine Änderung.
Jetzt mal eine grundsätzliche Frage dazu.

Wo wirkt der PIR? Nur im Sichtbereich der Kamera, also dort wo ich auch das Bild sehe, oder rundum? Also z.B. direkt unterhalb der Kamera, wo der Kater seinen Platz hat? Zwar nicht eingesehen von der Kamera, aber für den PIR vielleicht?

Ich gehe davon aus, dass der Wirkungsgrad des PIR über das Bild hinaus geht. Das müsste INSTAR besser wissen. Aber es wäre schon Zufall, wenn Bildausschnitt und PIR-Wirkungsgrad identisch aufeinander liegen. Der Kater könnte durchaus den PIR triggern.

Der Blickwinkel des Panasonic PaPIR Sensors ist bewusst größer gewählt als der Blickwinkel des Standard Objektives (der IN-9008 / 90 Grad). Damit kann er etwas früher auslösen und man bekommt idealerweise mit, wie die Person den Bereich betritt.

Das bedeutet aber auch, dass eventuell ein Auslöser außerhalb des Blickwinkels der Kamera Fehlalarme erzeugen kann.

Hallo Mike,

danke für die Infos und das Datenblatt des Sensors!
Ich versuche mal den unteren Bereich mit Tape abzukleben.

Gibt es sonst noch irgendwelche Konfigurationen oder Ideen um mein Vorhaben einer zuverlässigen Arlamierung bei Nacht mit wenig Fehlalarmen ohne dauerhaft aktivieren IR umzusetzen?

Viele Grüße
Klaus