Erweiterte Alarmanlage mit Remote

Funktionsweise:

Die Alarmanlage schaltet das Relais bei einer Bewegung, welche über den Bewegungsmelder aufgenommen wird. Es soll nach einer gewissen Zeit, hier 2 Minuten, wieder ausgehen. An das Relais kann zum Beispiel eine Sirene oder ein anderer Alarm angeschlossen werden. Hier kommt jedoch hinzu dass man die Alarmanlage mit einer Fernbedienung scharf schalten kann, zugleich kommt ein Count-down zum Einsatz damit man Zeit hat den Raum zu verlassen. Wenn man den Raum wieder betritt wird ein Count-down aktiviert, so dass man auch hier die Zeit hat, die Fernbedienung zum Beispiel aus einer Schublade zu nehmen, bevor die Sirene losgeht.

Der Vorteil an dieser Alarmanlage ist, dass man sich den Alarm per MQTT z.B. auf das Handy schicken lassen kann, hier kann etwa Node Red, Pushover, Telegram, iobroker u.ä. verwendet werden.

BAUTEILE:

  • 433mhz PIR
  • ESP8266
  • Relais
  • 433mhz Empfänger
  • 433 MHZ Fernbedienung
  • Sirene

In diesem Projekt nutze ich einen D1 Mini Wemos mit Relais Shield als Herzstück, es kann jedoch auch ein NODEMCU o.ä. verbaut werden.
Auf dem ESP8266 wird Tasmota geflasht, wie das geht findet man bei Youtube zuhauf, darum gehe ich hier nicht mehr darauf ein. Achtet bitte darauf dass ihr „Tasmota-sensors.bin“ flasht, da diese Version den 433Mhz RF Empfänger ansprechen kann.

Nachdem man nun im Browser die Tasmota-Oberfläche aufruft werden die Einstellungen wie in der Abbildung, unter Configuration -> Configure Module, vorgenommen.

ESP8266 Anschlüsse:

D1 / GPIO5 = Relais für Sirene
RX / GPIO3 = DATA Pin von RF Receiver

Empfangene Daten:
Als erstes müssen wir die Daten des Bewegungsmelders und der Fernbedienung auslesen. Dies geschieht in dem wir auf die Konsole wechseln und den Bewegungsmelder auslösen und anschließend an der Fernbedienung die Scharf und die unscharf Tasten auslesen. Schreibt euch die Hex Werte auf. Die Zeile in der Console sieht dann in etwa so aus:
Data“:“0xD1155E„,“Bits“:24,“Protocol“:1,“Pulse“:402

In folgendem Beispiel nutze ich den HEX Wert 0xD1155E von meinem Bewegungsmelder (PIR), 0x658494 für unscharf und 658492 für scharf an der Remote.


Vorbereitung:
Grundsätzlich sind einige Einträge vorzunehmen bevor die Alarmanlage an den Start gehen kann, die folgenden Befehle müssen in die Konsole, mit anschliessender Eingabetaste, getippt werden:


PowerOnState 0
rule1 on RfReceived#Data=0x658494 do backlog rule2 0; delay 300; rule2 1 endon on RfReceived#Data=0x658492 do backlog power1 0; rule2 0; ruletimer1 0 endon
rule2 on RfReceived#Data=0xD1155E do backlog RuleTimer1 60 endon on Rules#Timer=1 do backlog power1 1; delay 1200; power1 0 endon

rule1 1
rule2 1

Erklärung:

PowerOnState 0 – Geht sicher dass das Relais nach dem bootvorgang aus ist, damit die angeschlossene Sirene nicht los jault.

Rule1:
In Rule1 Wird mittels einer Fernbedienung einfach nur Rule2 ein oder aus geschaltet (rule2 0). Am Ende wird durch „power1 0“ das Relais, also die Sirene sofort auf 0 gesetzt wenn die Alarmanlage mit der Fernbedienung aus geschaltet wird.

Rule2:
Falls der RF-Empfänger das Signal des PIR empfängt, wird das Relais eingeschaltet, danach wird ein interner Timer auf 60 Sekunden gesetzt und wenn dieser abgelaufen ist wird das Relais wieder ausgeschaltet, heisst, die Sirene schellt 60 Sekunden wenn sie nicht mit der Fernbedienung aus geschaltet wird. Man beachte dass hier in rule2 alles nur ausgeführt wird wenn in rule1 durch die Remote diese hier aktiviert wurde, das war der Befehl rule2 1 wie gesagt.

Zu guter letzt müssen rule1 und rule2 noch aktiviert werden, das machen wir mit einer 1, das deaktivieren hingegen würde mit einer 0 geschehen.

Rules sind dazu da um auch nach einem Neustart des Moduls die Befehle bei zu behalten. Backlog erlaubt das hintereinander setzen von Befehlen, getrennt mit „;“ – welche mit endon enden

Eine Rule ist also eine Kette von Befehlen welche man einmal in die Konsole einträgt und auch nur einmalig aktivieren muss. Danach geht alles automatisch, auch nach einem Neustart.

Eine gute Übersicht aller Befehle findet ihr auf https://github.com/arendst/Tasmota/wiki/commands#using-backlog

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.