Nachdem die Basisinstallation abgeschlossen ist geht es daran die Programmierung des Flows zu machen. Nochmal kurz reflektieren was eigentlich Aufgabe ist. 2 Bewegungsmelder, ein Alarm Aktivierungsschalter und ein Ausgang für eine Hupe/ Signalleuchte müssen entsprechend interagieren.

Der 1. Entwurf des Node-Red Flows

Szenario 1 – Einschalten

Wird die Anlage eingeschaltet, so erfolgt die Scharfschaltung nach einer Zeit x. Dafür ist die Einschaltverzögerung zuständig. Die Einschaltverzögerung setzt nach abgelaufener Zeit den 2. Eingang vom AND Gatter auf true. Kommen aus dem Bewegungsmelder Zweig nun true Impulse am 1. Eingang an ist die Bedingung erfüllt und Alarme werden an den Alarm Teil weitergeleitet.

Szenario 2 – Ausschalten

Wird der Schalter für Ausschalten der Anlage betätigt, wird unmittelbar am AND Gatter der Port 2 auf false gesetzt. Damit werden keine Signale mehr an den Alarm Teil weitergeleitet. Die Anlage ist deaktiviert, im Standby.

Szenario 3 – Alarm

Ist die Anlage aktiviert (Szenario 1) und an einem der Bewegungsmelder wird eine Bewegung erkannt, wird der TRUE Impuls and das AND Gatter Eingang 1 weiter geleitet. Da Eingang 2 bereits auf true steht ist die Bedingung erfüllt und der Alarm wird an die Alarm UNIT weiter geleitet. Nach der Voreingestellten Dauer ist der Alarm beendet, wenn kein weiterer Impuls vom Bewegungsmelder kommt. Kommen während der Alarm ausgelöst ist weitere Impulse vom Bewegungsmelder, so verlängert sich der Alarm.

Simulation

Um die Schaltung zu testen ohne diese mit der Hardware zu verbauen reicht es aus den ZERO auf dem Schreibtisch anzuschließen und mit Injektoren die Bewegungsmelder und Schalter zu simulieren.

Raspberry Zero in der Simulation auf dem Schreibtisch

Simulation in Aktion

Nachfolgendes Video zeigt wie in der Node-Red Entwicklungsumgebung die einzelnen Szenarien getestet werden können. An den jeweiligen Nodes sind entsprechende Statusinformationen verfügbar.

Bei diesem Flow handelt es sich um die minimale Grundfunktion. In Planung ist noch die Anbindung an den bereits installierten MQTT Broker.