NODE-RED: INTEGRATION BROADLINK S1C-ALARMSYSTEM
In diesem Beitrag werde ich über die Einbindung des BroadLink S1C in Node-Red eingehen. Vorher bitte ggf. diesen Beitrag hier anschauen.
MEINE INTENTION/MOTIVATION
Über die Jahre habe ich mir diverse Geräte gekauft, die leider nicht miteinander kommunizieren können. Ich habe Geräte (wie z.B. von BroadLink), die über WLAN arbeiten, andere über ZigBee oder mit Funk (433 MHz). Mit Node-Red auf einem Raspberry Pi als Zentrale und paar Zusatzgeräten, die als Schnittstellen (RM Pro, RF Bridge und ZigBee2mqtt-Gateway-Stick) dienen, kann man diese Geräte miteinander kommunizieren lassen.
EINLEITUNG
Ich nutze einen Raspberry Pi als zentrale mit Node-Red und dort möchte ich alle meine Smart Home Elemente (z.B. ZigBee-Geräte oder 433 MHz Elemente) implementieren, um eine größere Flexibilität zu haben. Weiter ist es aktuell auch so, dass die hauseigene App von BroadLink mit Alexa-Sprachbefehlen keine 433 MHz-Funksteckdosen unterstützt. Auch meine Anfrage beim Support (inkl. Einreichung eines Fehler-Videos) hat nichts gebracht. Das Anlernen von z.B. 433 MHz Geräten funktioniert mit den BroadLink Nodes hervorragend und wird auch problemlos von Alexa per Sprachbefehl bedient. Inwieweit man sein Alarm-System später per Sprachbefehl einstellen möchte, muss jeder selber entscheiden. Technisch aber steht dem nichts im Weg.
INSTALLATION DER BROADLINK-NODES
Es gibt zwei Möglichkeiten, die Geräte-Codes von RM Pro in Node-Red zu implementieren: Bei einem bestehenden System kann man die „fertigen“ Codes übernehmen oder man lernt die Codes über die entsprechenden Nodes an. Wie das funktioniert, habe ich in diesem Beitrag unter „5.] BROADLINK RM PRO EINBINDEN“ genauer erläutert.
AUFBAU/LOGIK
Ich lasse hier [1] einen Inject-Node in einem Intervall von 10 Sekunden nach Statusänderungen der Sensoren und Alarmsystem-Status (Teil-Alarm/Part-Arm) überprüfen. Treffen die entsprechenden Bedingungen zu, wird eine Funksteckdose („Lampe HINTEN (RF) EIN“) eingeschaltet und nach 3 Minuten wieder ausgeschaltet. Hier könnte theoretisch auch eine Sirene eingebunden werden.
EINSTELLUNGEN
Treffen die beiden Bedingungen „Part-Alarm“ [3] & „Person Detected“ [5] zu, dann wird die entsprechende Aktion ausgeführt. In diesem Beispiel wird einfach nur eine Funksteckdose „LAMPE HINTEN RF EIN“ eingeschaltet und nach 3 Min. über einen Delay-Node („Verzögerung bis zum…“) ausgeschaltet.
Sensorstatus aus dem Array auslesen
Inhalt der Funktion:
var status = msg.payload[3].status.state; if (status == "Person Detected") { //Insert learning code here var data = [178,2,132,3,7,11,7,43,6,43......... msg.payload={ //"mac":"MAC address of your broadlink rm", //"host":"IP address of your broadlink rm", "action":"send", "data":data, "repeat":3 }; return msg; }
Wie man Funk- oder IR-Signale mit dem RM Pro abängt, hatte ich in diesen Beitrag bereits beschrieben.