… tussen zonsondergang en zonsopkomst en stop de timer voor het uitzetten van het licht en reset de PIR. Als de PIR uitgaat, start dan een timer van 5 minuten om het licht alsnog uit te zetten. Mocht er binnen die 5 minuten wederom beweging zijn stop dan weer de timer, reset de PIR, etc.

De flow in Node-RED ziet er alsolgt uit:

Op zich vrij recht-toe-recht-aan. Het venijn zit ‘m in het herschrijven van de payload dat na het aanzetten van het licht, door de Change-node gewijzigd wordt in STOP:

De 5 minuten timer zal resetten (stoppen) op het moment dat een STOP binnen komt en daardoor blijft het licht aan zolang er binnen 5 minuten wederom beweging is gedetecteerd en na een ‘delay’ van 5 seconden wordt de ‘payload‘ wederom herschreven, ditmaal naar de OFF-code van de PIR en die wordt dan door de MQTT-Broker verwerkt.

Komt er geen STOP binnen in de 5-minuten-timer dan zal het licht uitgezet worden.

Om ervoor te zorgen dat de PIR in ieder geval op ‘off’ wordt gezet met het starten van de flow, wordt een ‘Inject-node‘ gebruikt die ingesteld is om éénmalig uitgevoerd te worden bij het starten van de flow. Dit kan onderaan in de ‘Inject-node’ ingesteld worden: