Alarmanlage inkl. Alexa und pushover Ausgabe

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 09:19

Hallo zusammen,
nachdem ich mich mehrere Monate mit dem Thema Alarmanlage und Homematic auseinandergesetzt habe, hatte ich nun endlich die Zeit das Projekt auch mal anzugehen :)

Zunächst was sollte die Anlage können:
  • Codetafel zum Ein/Ausschalten
  • Optische/akustische Anzeige ob Anlage aktiv
  • Optische/akustische Anzeige über Einschaltbereitschaft
  • Akustische Meldung über Amazon Echo´s
  • Benachrichtigung auf Smartphone
Schnell habe ich gemerkt, dass das grundsätzlich alles möglich ist, aber in der Regel immer nur Teilaspekte meines Vorhabens irgendwo beschrieben wurden. Daher habe ich mich entschlossen, meine Gesamtlösung hier zu beschreiben.

Was braucht man für die "reine" Alarmanlage:
  • HmIP-BSL zur optischen Statusanzeige
  • HmIP-WRC6 welcher als Codeschloss umfunktioniert wird
  • Alarmsensoren, bei mir HmIP-SWDO-I
  • Außensirene, bei mir eine ABUS SG1650
  • HMIP-PS, zum einfachen schalten der Außensirene und gleichzeitig dient sie auch noch als Router um die Reichweite vom Keller bis unters Dach zu erhöhen
  • CCU3
Für die akustische Warnmeldungen benötigt ihr:
  • Echos :)
  • RedMatic Zusatzsoftware
Für Smartphone Benachrichtigungen benötigt ihr:
  • pushover
  • CUx Zusatzsoftware
Und schon gehts los mit der Umsetzung in der CCU3. Vorweg: Da ich mich vorher nie mit Zusatzsoftware beschäftigt hatte, habe ich erstmal alles mittels Systemvariablen und Programmen auf der CCU3 in der WebUI gelöst. Da mir mittlerweile Node-RED aber sehr zusagt, versuche ich mich aktuell daran die einzelnen Programme nach und nach in Node-RED nachzubauen. Was sich im Moment für mich persönlich noch als sehr herausfordernd darstellt, da ich die Logik anscheinend noch nicht zu 100% verinnerlicht habe und immer wieder mit try & error vorankommen muss :lol:

Einrichtung der Alarmanlage

Grundsätzlich soll die Alarmanlage möglichst intuitiv sein und einen hohen WAF haben :D Noch dazu muss Sie in ein paar Jahren auch von Kids bedient werden können. Also welche Logik in "prosa" steckt dahinter:

Die Alarmanlage wird mittels eines 4-stelligen (Länge frei wählbar) Codes am 6-Fach Taster getriggert und nach 30 Sekunden (Zeit frei definierbar im Programm) dann aktiv geschaltet. Sobald der korrekte Code eingegeben ist, beginnt das obere Licht des HmIP-BSL rot zu blinken und das untere Licht wird rot (wegen eines Bugs in der aktuellen Firmware kann ich das untere Licht nicht blinken lassen). Während dieser Verzögerung kann die Haustür offen sein/geöffnet werden und man kann das Haus verlassen. Ist die Alarmanlage dann aktiv geschaltet hört das Blinken auf und beide Lichter sind rot = Alarmanlage aktiv.

Kommt man nach Hause und die Alarmanlage ist scharf kann man die Haustür aufmachen und hat 30 Sekunden (frei definierbar) Zeit den korrekten 6-stelligen (Länge frei wählbar) Code am 6-fach Taster einzugeben. Sobald die Haustür geöffnet wird, beginnt das obere Licht des HmIP-BSL erneut zu blinken. Bei korrekter Eingabe wird die Alarmanlage deaktiviert und die Lichter des BSL werden auf grün = Alarmanlage deaktiviert geschaltet.

Aktivieren lässt sich die Anlage nur, wenn alle Tür-/Fensterkontakte (Ausnahme Haustür) geschlossen sind. Sollte dies nicht der Fall sein, signalisiert der BSL dies darüber, dass beide Lichter violett leuchten. Ist dies der Fall führt auch eine korrekte Codeeingabe nicht zum Aktivieren der Alarmanlage.

Die Alarmanlage löst im aktivierten Zustand aus, wenn
  • irgendein Tür-/Fensterkontakt geöffnet wird (sofort)
  • die Haustür geöffnet wird und innerhalb von 30 Sekunden nicht der korrekte Code eingegeben wird (verzögert)
Beim Auslösen schaltet die Anlage die HmIP-PS für 180 Sekunden (maximale Einschaltzeit für eine Außensirene) ein.

So nun zur eigentlichen Programmierung:

Systemvariablen
2020-12-17 08_28_43-HomeMatic WebUI.png
Alarmbereitschaft
2020-12-17 08_28_43-HomeMatic WebUI.png (3.9 KiB) 3729 mal betrachtet
Definiert, ob die Alarmanlage eingeschaltet werden kann = Alle Fenster/Türen verschlossen sind.

2020-12-17 08_30_07-HomeMatic WebUI.png
Alarmmodus
2020-12-17 08_30_07-HomeMatic WebUI.png (3.55 KiB) 3729 mal betrachtet
Definiert, ob die Alarmanlage ein- oder ausgeschaltet ist.

2020-12-17 08_32_51-HomeMatic WebUI.png
Einbruchstatus Haustür
2020-12-17 08_32_51-HomeMatic WebUI.png (4.15 KiB) 3729 mal betrachtet
Definiert, ob ein Einbruch an der Haustür stattgefunden hat. Wird als separate Variable benötigt, da ich beim Einschalten die Haustür ja noch offen habe und auch beim Nachhause kommen die Haustür öffne, bevor ich den Code eingebe.

2020-12-17 08_34_13-HomeMatic WebUI.png
Einbruchstatus Rest
2020-12-17 08_34_13-HomeMatic WebUI.png (3.75 KiB) 3729 mal betrachtet
Definiert, ob an einem anderen Sensor ein Einbruch stattgefunden hat.

2020-12-17 08_36_39-HomeMatic WebUI.png
Codewert
2020-12-17 08_36_39-HomeMatic WebUI.png (4.79 KiB) 3729 mal betrachtet
Speichert den Zahlencode.


Programme
Vorweg: Ich gehe im folgenden nicht auf die Unterschiede von "bei Änderung"/"bei Aktualisierung"/"nur prüfen" ein :D

Alarmbereitschaft prüfen
Das Programm prüft, ob ein Tür-/Fensterkontakt geöffnet ist und setzt die Variable Alarmbereitschaft und schalt die Lichter des BSL. Im Sonst Teil schalte ich die Variable und die Lichter um, für den Fall, dass die Alarmanlage ausgelöst hat (=ein Kontakt war offen = Alarmbereitschaft wird auf falsch gesetzt) und ich Sie wieder deaktiviere und damit das System "resette".
2020-12-17 08_54_36-HomeMatic WebUI.png
Alarmbereitschaft prüfen
Codeschloss programmieren
Die Programmierung um den 6-fach Taster als Codeschloss zu nutzen habe ich im Netz gefunden und lediglich nachgebaut. Das Original findet ihr hier https://de.elv.com/universal-codeschlos ... ter-203891
Ich zeige beispielhaft das Programm für eine Taste.
2020-12-17 08_59_35-HomeMatic WebUI.png
Codeschloss Taste
2020-12-17 09_04_18-HomeMatic WebUI.png
Skript Codeschloss
2020-12-17 09_04_18-HomeMatic WebUI.png (5.39 KiB) 3729 mal betrachtet
Codeschloss resetten
Nach X Sekunden werden die Eingaben des Codeschloss auf 0 gesetzt.
2020-12-17 09_05_02-HomeMatic WebUI.png
Codeschloss reset
Alarmanlage ein-/ausschalten
Das Programm schaltet bei Alarmbereitschaft und korrektem Code nach 30 Sekunden die Alarmanlage ein, schaltet die Lichter des BSL und setzt eine Variable für eine Alexasprachausgabe.
Im Sonst Zweig wird die Anlage bei Codeeingabe deaktiviert, die Variablen für die Einbrucherkennung werden zurückgesetzt und auch die Alexavariablen werden zurückgesetzt. Somit ist die Anlage auch nach einem Einbruch und der korrekte Deaktivierung wieder im "Urzustand".
2020-12-17 09_11_08-HomeMatic WebUI.png
Alarmanlage ein/ausschalten

Im nächsten Beitrag geht es weiter...

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 09:28

Einbruch Haustür erkennen
In diesem Programm wird bei geöffneter Haustür die Einbruchsvariable für die Haustür nach 30 Sekunden auf true geschaltet und die Lichter des BSL werden geändert. Hier kann man also festlegen wie lange man Zeit hat für den Code einzugeben.
2020-12-17 09_20_00-HomeMatic WebUI.png
Einbruch Haustür

Einbruch Rest erkennen
In diesem Programm wird der Einbruch für alle anderen Kontakte detektiert, die Variable gesetzt und auch die Lichter des BSL werden geändert.
2020-12-17 09_21_59-HomeMatic WebUI.png
Einbruch rest
Sirene auslösen
In diesem Programm wird die Sirene auf Basis der diversen Variablen ausgelöst oder deaktiviert.
2020-12-17 09_25_26-HomeMatic WebUI.png
Sirene auslösen

So damit ist die Alarmanlage entsprechend der oben beschriebenen "Prosa" umgesetzt und kann aus meiner Sicht sehr komfortabel ein und ausgeschaltet werden. Im folgenden kommt der Part mit den pushover Smartphone Benachrichtigungen.

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 09:37

Pushover Benachrichtigungen
Damit ich auch unterwegs über einen Einbruch informiert werde, möchte ich mich per Pushbenachrichtigung informieren lassen.
Dazu nutze ich den Dienst Pushover und habe ihn nach der folgenden Anleitung https://technikkram.net/blog/2017/07/30 ... -schicken/ installiert.
In der Anleitung ist auch ein Link dabei wie ihr CUx installiert und konfiguriert.

Mit folgendem Programm lasse ich mich über den Ein-/Ausschaltzustand der Alarmanlage informieren:
2020-12-17 09_32_54-HomeMatic WebUI.png
Alarmstatus pushen
Das folgende Programm sendet eine Benachrichtigung sobald ein Einbruch (entweder Haustür oder Rest) festgestellt wurde.
2020-12-17 09_34_15-HomeMatic WebUI.png
Einbruch pushen
Pushover ist im Skript welches im Programm hinterlegt wird sehr leicht zu konfigurieren, da das Skript sehr gut kommentiert ist.
Ich habe zb. die Einbruchsmeldungen so konfiguriert, dass ich diese explizit quittieren muss, bevor Sie verschwinden. Damit ist die Wahrscheinlichkeit geringer, dass ich die Benachrichtigung unterwegs "verpasse". Ebenso könnt ihr konfigurieren an welche Handys (jedes Handy dass sich mit eurem Pushover Account anmeldet ist nutzbar) die jeweiligen Nachrichten gehen sollen (Frau, Sohn, Tochter, Nachbar,...).

So das war es dann zu den Pushbenachrichtigungen. Jetzt kommt noch der Part der Alexa Anbindung.

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 10:04

Alexa Sprachausgabe nutzen
Damit ich meine diversen Echos im Haus zur Sprachausgabe der Alarmanlage nutzen kann muss man zunächst eine weitere Zusatzsoftware RedMatic auf der CCU3 installieren.
Dazu habe ich den ersten Schritt der folgenden Anleitung durchgeführt: https://technikkram.net/blog/2020/04/11 ... betreiben/
2020-12-17 09_42_56-Wie erweitere ich sinnvoll Homematicmit KNX › technikkram.net.png
RedMatic inst

Wenn ihr Note-RED startet müsst ihr euch mit den Benutzerdaten eures CCU Admin anmelden oder ihr deaktiviert auf der Startseite von RedMatic die Authentifizierung.

Im nächsten Schritt muss man in Node-RED die Verbindung zu Amazon herstellen. Hier bin ich der folgenden Anleitung gefolgt:
https://technikkram.net/blog/2020/08/28 ... -ausgeben/


Solltet ihr die Firewall der CCU so eingerichtet haben, dass die Ports blockiert werden (was richtig ist), dann müsst ihr in der Portfreigabe den Port 3456 eintragen, sonst kommt keine Verbindung zu Amazon zu Stande.

Damit habt ihr alles soweit vorbereitet, um eure ersten Flows in Node-RED zu erstellen und Alexa als Sprachausgabe zu verwenden.
Vorweg: Ich werde nicht auf die Logiken/Besonderheiten von Node-RED eingehen, da das den Rahmen sprengen würde und zum anderen ich es selbst noch nicht so gut beherrsche :D Google ist da deutlich kompetenter. Ich werde euch hier erstmal nur Screenshots meiner Flows bereitstellen und bei Bedarf kann ich später gerne die Codes dafür liefern.

Konto initialisieren und Meldung über Ein-/Ausschalten der Alarmanlage ausgeben
2020-12-17 09_46_54-Node-RED _ 192.168.1.225.png
Init. Ein/Ausschaltmeldung
2020-12-17 09_46_54-Node-RED _ 192.168.1.225.png (20.45 KiB) 3699 mal betrachtet

Code: Alles auswählen

[{"id":"37281d95.4e5512","type":"comment","z":"bf0afdf1.d6589","name":"Alarmanlagenmodus (scharf/unscharf) ausgeben","info":"","x":260,"y":200,"wires":[]},{"id":"72c33115.a7909","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Alarmmodus","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":150,"y":260,"wires":[["b79a9f3a.e48a7"]]},{"id":"b79a9f3a.e48a7","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":true,"outputs":2,"x":330,"y":260,"wires":[["5817a9d6.a948b8"],["5034f81.b003008"]]},{"id":"eba5a189.14ee7","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":570,"y":220,"wires":[]},{"id":"5817a9d6.a948b8","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmanlage scharf","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Die Alarmanlage ist eingeschaltet"},"volume":{"type":"num","value":"45"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":550,"y":260,"wires":[[]]},{"id":"75c93b82.cb0e84","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":590,"y":300,"wires":[]},{"id":"5034f81.b003008","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmanlage unscharf","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Die Alarmanlage wurde ausgeschaltet."},"volume":{"type":"num","value":"45"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":560,"y":340,"wires":[[]]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"dea3b3d4.92919","type":"alexa-remote-account","name":"Alexa Dominic","authMethod":"proxy","proxyOwnIp":"192.168.1.225","proxyPort":"3456","cookieFile":"/usr/local/addons/redmatic/var/alexaproxi.txt","refreshInterval":"3","alexaServiceHost":"layla.amazon.de","amazonPage":"amazon.de","acceptLanguage":"de-DE","userAgent":"","useWsMqtt":"on","autoInit":"on"}]

Beim Einschalten Warnmeldung ausgeben, dass in 30 Sekunden die Anlage scharf geschaltet wird
2020-12-17 09_48_14-Node-RED _ 192.168.1.225.png
Warnmeldung 30 Sekunden
2020-12-17 09_48_14-Node-RED _ 192.168.1.225.png (10.01 KiB) 3699 mal betrachtet

Code: Alles auswählen

[{"id":"6653375a.1bfd98","type":"comment","z":"bf0afdf1.d6589","name":"Einschaltwarnung ausgeben","info":"","x":200,"y":420,"wires":[]},{"id":"fc91511d.6f0ca","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Alexawarnmeldung","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":170,"y":480,"wires":[["8988f16d.49ac4"]]},{"id":"8988f16d.49ac4","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":480,"wires":[["dd80a751.54fa68"]]},{"id":"dd80a751.54fa68","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Einschaltwarnung ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Die Alarmanlage wird in 30 Sekunden eingeschaltet."},"volume":{"type":"num","value":"55"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":620,"y":480,"wires":[[]]},{"id":"706957a6.517d38","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":670,"y":440,"wires":[]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"dea3b3d4.92919","type":"alexa-remote-account","name":"Alexa Dominic","authMethod":"proxy","proxyOwnIp":"192.168.1.225","proxyPort":"3456","cookieFile":"/usr/local/addons/redmatic/var/alexaproxi.txt","refreshInterval":"3","alexaServiceHost":"layla.amazon.de","amazonPage":"amazon.de","acceptLanguage":"de-DE","userAgent":"","useWsMqtt":"on","autoInit":"on"}]

Warnung ausgeben, wenn Haustür geöffnet wird und Anlage scharf ist, dass die Sirene aktiviert wird
2020-12-17 09_49_09-Node-RED _ 192.168.1.225.png
Öffnungswarnung
2020-12-17 09_49_09-Node-RED _ 192.168.1.225.png (10.39 KiB) 3699 mal betrachtet

Code: Alles auswählen

[{"id":"6653375a.1bfd98","type":"comment","z":"bf0afdf1.d6589","name":"Einschaltwarnung ausgeben","info":"","x":200,"y":420,"wires":[]},{"id":"fc91511d.6f0ca","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Alexawarnmeldung","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":170,"y":480,"wires":[["8988f16d.49ac4"]]},{"id":"8988f16d.49ac4","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":480,"wires":[["dd80a751.54fa68"]]},{"id":"dd80a751.54fa68","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Einschaltwarnung ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Die Alarmanlage wird in 30 Sekunden eingeschaltet."},"volume":{"type":"num","value":"55"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":620,"y":480,"wires":[[]]},{"id":"706957a6.517d38","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":670,"y":440,"wires":[]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"dea3b3d4.92919","type":"alexa-remote-account","name":"Alexa Dominic","authMethod":"proxy","proxyOwnIp":"192.168.1.225","proxyPort":"3456","cookieFile":"/usr/local/addons/redmatic/var/alexaproxi.txt","refreshInterval":"3","alexaServiceHost":"layla.amazon.de","amazonPage":"amazon.de","acceptLanguage":"de-DE","userAgent":"","useWsMqtt":"on","autoInit":"on"}]
Sprachausgabe, dass ein Einbruch stattgefunden hat
Hier zwei unterschiedliche Flows, damit ich "höre" ob der Einbruch an der Haustür oder sonst wo stattgefunden hat.
2020-12-17 09_50_14-Node-RED _ 192.168.1.225.png
Alarmmeldung

Code: Alles auswählen

[{"id":"22ae36d3.7cefaa","type":"comment","z":"bf0afdf1.d6589","name":"Alarmmeldung bei Einbruch über die Haustür","info":"","x":250,"y":740,"wires":[]},{"id":"239c4d0e.c8cd02","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Einbruchsstatus Haustür","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":190,"y":800,"wires":[["e61e583d.474f68"]]},{"id":"2dd5c115.ae209e","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Alarmmodus","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":false,"cache":true,"x":150,"y":860,"wires":[["e61e583d.474f68"]]},{"id":"e61e583d.474f68","type":"and-gate","z":"bf0afdf1.d6589","name":"","rules":[{"t":"true","propertyType":"msg","property":"payload","topic":"ReGaHSS/Einbruchsstatus Haustür"},{"t":"true","propertyType":"msg","property":"payload","topic":"ReGaHSS/Alarmmodus"}],"outputTopic":"","gateType":"and","emitOnlyIfTrue":true,"x":440,"y":820,"wires":[["41a631ff.5af88"]]},{"id":"41a631ff.5af88","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"true"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":820,"wires":[["b237eb7.c064218"],["250cf1b5.0f21de"]]},{"id":"10d77e15.8aff52","type":"comment","z":"bf0afdf1.d6589","name":"Echo Schlafzimmer","info":"","x":910,"y":780,"wires":[]},{"id":"b237eb7.c064218","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmmeldung ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Achtung Einbruch an der Haustür festgestellt. Achtung Einbruch an der Haustür festgestellt."},"volume":{"type":"num","value":"50"},"mode":"set","devices":["G090L91072350X0X"]}},"x":890,"y":820,"wires":[[]]},{"id":"221e096d.96bc46","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":1030,"y":860,"wires":[]},{"id":"250cf1b5.0f21de","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmmeldung für Einbrecher ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Achtung die Besitzer wurden per SMS über einen Einbruch benachrichtigt. Achtung die Besitzer wurden per SMS über einen Einbruch benachrichtigt."},"volume":{"type":"num","value":"100"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":940,"y":900,"wires":[[]]},{"id":"323bb34f.ead07c","type":"comment","z":"bf0afdf1.d6589","name":"Alarmmeldung bei Einbruch über Fenster","info":"","x":240,"y":960,"wires":[]},{"id":"bdf697d6.01d6b8","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Einbruchsstatus Rest","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":180,"y":1020,"wires":[["dc8124e2.544938"]]},{"id":"d587441f.7f4138","type":"ccu-sysvar","z":"bf0afdf1.d6589","name":"Alarmmodus","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":false,"cache":true,"x":150,"y":1080,"wires":[["dc8124e2.544938"]]},{"id":"dc8124e2.544938","type":"and-gate","z":"bf0afdf1.d6589","name":"","rules":[{"t":"true","propertyType":"msg","property":"payload","topic":"ReGaHSS/Einbruchsstatus Rest"},{"t":"true","propertyType":"msg","property":"payload","topic":"ReGaHSS/Alarmmodus"}],"outputTopic":"","gateType":"and","emitOnlyIfTrue":true,"x":440,"y":1040,"wires":[["ae3f1a9f.d97488"]]},{"id":"ae3f1a9f.d97488","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"true"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":1040,"wires":[["5c0a244a.8b737c"],["b7cfdd0c.71da1"]]},{"id":"fb40c121.cef67","type":"comment","z":"bf0afdf1.d6589","name":"Echo Schlafzimmer","info":"","x":910,"y":1000,"wires":[]},{"id":"5c0a244a.8b737c","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmmeldung ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Achtung sonstiger Einbruch festgestellt. Achtung sonstiger Einbruch festgestellt."},"volume":{"type":"num","value":"50"},"mode":"set","devices":["G090L91072350X0X"]}},"x":890,"y":1040,"wires":[[]]},{"id":"ad4ffb45.434428","type":"comment","z":"bf0afdf1.d6589","name":"Echo Küche","info":"","x":1030,"y":1080,"wires":[]},{"id":"b7cfdd0c.71da1","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"Alarmmeldung für Einbrecher ausgeben","account":"dea3b3d4.92919","routineNode":{"type":"speakAtVolume","payload":{"type":"regular","text":{"type":"str","value":"Achtung die Besitzer wurden per SMS über einen Einbruch benachrichtigt. Achtung die Besitzer wurden per SMS über einen Einbruch benachrichtigt."},"volume":{"type":"num","value":"100"},"mode":"set","devices":["G000RA0784550TW7"]}},"x":940,"y":1120,"wires":[[]]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"dea3b3d4.92919","type":"alexa-remote-account","name":"Alexa Dominic","authMethod":"proxy","proxyOwnIp":"192.168.1.225","proxyPort":"3456","cookieFile":"/usr/local/addons/redmatic/var/alexaproxi.txt","refreshInterval":"3","alexaServiceHost":"layla.amazon.de","amazonPage":"amazon.de","acceptLanguage":"de-DE","userAgent":"","useWsMqtt":"on","autoInit":"on"}]
Mit einem Druck auf einen Taster des BSL ausgeben welche Fenster noch offen sind
2020-12-17 09_51_16-Node-RED _ 192.168.1.225.png
Fenster melden
2020-12-17 09_51_16-Node-RED _ 192.168.1.225.png (21.79 KiB) 3699 mal betrachtet

Code: Alles auswählen

[{"id":"1cb62cd6.3192c3","type":"comment","z":"bf0afdf1.d6589","name":"Offene Fenster bei Tastendruck melden","info":"","x":230,"y":1220,"wires":[]},{"id":"2db6905b.19fe8","type":"ccu-value","z":"bf0afdf1.d6589","name":"","iface":"HmIP-RF","channel":"001A5A499B42B7:4 Alarmleuchte:4","datapoint":"STATE","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":160,"y":1317,"wires":[["5ba7a3f7.0d666c"]]},{"id":"5ba7a3f7.0d666c","type":"ccu-get-value","z":"bf0afdf1.d6589","name":"","ccuConfig":"38263145.35ea0e","iface":"ReGaHSS","channel":"","sysvar":"Fensterstatus","sysvarProperty":"value","datapoint":"","datapointProperty":"value","setProp":"payload","setPropType":"cmsg","x":380,"y":1317,"wires":[["94eeb7e3.c2d918"]]},{"id":"1d174eae.293e21","type":"comment","z":"bf0afdf1.d6589","name":"Fensterstatus","info":"","x":390,"y":1280,"wires":[]},{"id":"94eeb7e3.c2d918","type":"switch","z":"bf0afdf1.d6589","name":"","property":"payload","propertyType":"msg","rules":[{"t":"nempty"},{"t":"empty"}],"checkall":"true","repair":false,"outputs":2,"x":570,"y":1317,"wires":[["5b32e97f.a006a8"],["5ca4028.44d5cfc"]]},{"id":"5b32e97f.a006a8","type":"function","z":"bf0afdf1.d6589","name":"function","func":"msg.payload = { \"type\": \"speakAtVolume\", \n                \"payload\": { \"type\": \"regular\", \n                             \"text\": \"Die Fenster\" + msg.payload + \" sind offen\",\n                              \"volume\": 50, \n                              \"devices\": \"Echo Show Küche\"\n                            }\n                }\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":820,"y":1297,"wires":[["fba19dd9.4ad"]]},{"id":"5ca4028.44d5cfc","type":"function","z":"bf0afdf1.d6589","name":"function","func":"msg.payload = { \"type\": \"speakAtVolume\", \n                \"payload\": { \"type\": \"regular\", \n                             \"text\": \"Alle Fenster sind geschlossen\",\n                              \"volume\": 50, \n                              \"devices\": \"Echo Show Küche\"\n                            }\n                }\n\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":820,"y":1357,"wires":[["e0ea407f.d1bfc"]]},{"id":"fba19dd9.4ad","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"","account":"dea3b3d4.92919","routineNode":{"type":"custom","payload":{"type":"msg","value":"payload"}},"x":1040,"y":1297,"wires":[[]]},{"id":"e0ea407f.d1bfc","type":"alexa-remote-routine","z":"bf0afdf1.d6589","name":"","account":"dea3b3d4.92919","routineNode":{"type":"custom","payload":{"type":"msg","value":"payload"}},"x":1040,"y":1357,"wires":[[]]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"dea3b3d4.92919","type":"alexa-remote-account","name":"Alexa Dominic","authMethod":"proxy","proxyOwnIp":"192.168.1.225","proxyPort":"3456","cookieFile":"/usr/local/addons/redmatic/var/alexaproxi.txt","refreshInterval":"3","alexaServiceHost":"layla.amazon.de","amazonPage":"amazon.de","acceptLanguage":"de-DE","userAgent":"","useWsMqtt":"on","autoInit":"on"}]
Dazu braucht es noch den folgenden Flow, um die offenen Fenster in eine Variable zu schreiben:
2020-12-17 09_54_21-Node-RED _ 192.168.1.225.png
2020-12-17 09_54_21-Node-RED _ 192.168.1.225.png (17.24 KiB) 3699 mal betrachtet

Code: Alles auswählen

[{"id":"487a25ae.2140ec","type":"comment","z":"cdb7abff.3cf718","name":"Offene Fenster ermitteln und in Systemvariable schreiben","info":"","x":250,"y":620,"wires":[]},{"id":"3524577d.443438","type":"ccu-rpc-event","z":"cdb7abff.3cf718","name":"Alarmsensoren","iface":"HmIP-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"","channelRx":"re","channelName":"Alarmsensor","channelNameRx":"re","channelType":"","channelTypeRx":"str","channelIndex":"","channelIndexRx":"str","datapoint":"STATE","datapointRx":"str","change":true,"working":false,"cache":true,"topic":"${channelName}","x":140,"y":720,"wires":[["fa3720f.9dd9be"]]},{"id":"fa3720f.9dd9be","type":"combine-statistic","z":"cdb7abff.3cf718","name":"","topic":"","operator":"len","falsy":"exclude","defer":250,"timeout":0,"distinction":"topic","x":320,"y":720,"wires":[["3fd2880b.6b8de8"]]},{"id":"3fd2880b.6b8de8","type":"function","z":"cdb7abff.3cf718","name":"Liste formatieren","func":"msg.list = msg.topics\n    .join(', ')\n     .replace(/Alarmsensor /g, '');\n     \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":510,"y":720,"wires":[["3d7ae36c.7f855c"]]},{"id":"3d7ae36c.7f855c","type":"change","z":"cdb7abff.3cf718","name":"","rules":[{"t":"change","p":"list","pt":"msg","from":":","fromt":"str","to":"","tot":"str"},{"t":"change","p":"list","pt":"msg","from":"1","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":720,"wires":[["991eb153.45881"]]},{"id":"991eb153.45881","type":"ui_template","z":"cdb7abff.3cf718","group":"46fbe67a.90cd18","name":"Fenster offen","order":2,"width":"6","height":"10","format":"<div style=\"font-weight: bold\">\n  <span ng-bind-html=\"msg.payload\"></span> offen\n</div>\n<div ng-bind-html=\"msg.list\"></div>","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":true,"templateScope":"local","x":910,"y":720,"wires":[["8d2b2e10.135b6"]]},{"id":"8d2b2e10.135b6","type":"change","z":"cdb7abff.3cf718","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"payload","fromt":"msg","to":"list","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1120,"y":720,"wires":[["13e5996b.400147"]]},{"id":"13e5996b.400147","type":"ccu-sysvar","z":"cdb7abff.3cf718","name":"Fensterstatus","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":1340,"y":720,"wires":[[]]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"1","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5","queuePause":"5","contextStore":"default"},{"id":"46fbe67a.90cd18","type":"ui_group","name":"Variablen","tab":"36fb2145.947dee","order":1,"disp":true,"width":"6","collapse":false},{"id":"36fb2145.947dee","type":"ui_tab","name":"Variablen","icon":"dashboard","order":2}]

Damit das so funktioniert habe ich mir noch folgende Variablen auf der CCU3 angelegt die ich abfragen kann.
2020-12-17 09_52_25-HomeMatic WebUI.png
2020-12-17 09_52_25-HomeMatic WebUI.png (3.86 KiB) 3699 mal betrachtet
2020-12-17 09_53_55-HomeMatic WebUI.png
2020-12-17 09_53_55-HomeMatic WebUI.png (2.63 KiB) 3699 mal betrachtet
2020-12-17 09_55_34-HomeMatic WebUI.png
2020-12-17 09_55_34-HomeMatic WebUI.png (3.37 KiB) 3699 mal betrachtet

Damit werde ich dann über die Echos über folgende Dinge informiert:
  • Beim Aktivieren: Alarmanlage wird in 30 Sekunden eingeschaltet
  • Beim Ein/Ausschalten über den Zustand
  • Beim Öffnen der Hausür: Alarm aktiv in kürze startet die Sirene
  • Bei Einbruch wird eine Warnung für den Einbrecher ausgegeben, dass eine Benachrichtigung versendet wurde und der Schlafzimmer Echo "weckt" die Bewohner
  • Bei Tastendruck: Welche Fenster verhindern ein Aktivieren der Anlage
Insgesamt ein herausforderndes Projekt für mich, da viele Dinge für mich komplett neu waren und ich mich damit noch nie beschäftigt hatte.
Nach einigen Tagen intensiven Tests funktioniert bisher aber alles so wie ich es möchte und ich habe noch keine "unerwünschten" Seiteneffekte feststellen können.
Sicherlich habe ich einige Dinge nicht "elegant" gelöst, aber erstmal funktioniert es und jetzt geht es ans optimieren. Insbesondere versuche ich jetzt Stück für Stück Programme nach Node-RED zu überführen, da mir dort das Arbeiten besser gefällt. Es ist aber auch "komplexer" dadurch, dass man deutlich flexibler ist als in der WebUI. Was mich in Node-RED noch am meisten "stört" ist das wenig intuitive Ansprechen der Aktoren. Das geht aus meiner Sicht in der WebUI deutlich leichter, da die Klartextmodi auswählbar sind und man in Node-RED alles über Parameter steuern "muss".
Aber es muss ja noch Herausforderungen geben.

So die Bühne ist eröffnet für Anregungen, Kritik, etc. :D

Viele Grüße
Xaromi
Zuletzt geändert von Xaromi am 29.12.2020, 11:18, insgesamt 2-mal geändert.

iceman68
Beiträge: 17
Registriert: 22.02.2017, 09:48
Hat sich bedankt: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von iceman68 » 17.12.2020, 16:56

Vielen Dank für das Veröffentlichen Deiner Arbeit.
Ich habe es mit Interesse gelesen, da ich eine ähnliche Umsetzung plane.

Tripplex
Beiträge: 519
Registriert: 11.01.2015, 19:16
System: CCU
Hat sich bedankt: 11 Mal
Danksagung erhalten: 4 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Tripplex » 17.12.2020, 18:19

Anscheinend eine Super sache.
Nur Klappt das so Laut Anleitung NICHT. Wenn man Node Red Öffnen will kommt eine Anmeldungs Seite mit Benutzer und Passwort
CCU3 mit Cul stick,dazu Intertechno Steckosen.
HM Steuert. Das Haus/Heizung inkl Pool und Robomow RC.

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 18:39

Tripplex hat geschrieben:
17.12.2020, 18:19
Anscheinend eine Super sache.
Nur Klappt das so Laut Anleitung NICHT. Wenn man Node Red Öffnen will kommt eine Anmeldungs Seite mit Benutzer und Passwort
Ich melde mich am der Stelle mit meinem CCU3 Admin User an.
Alternativ kannst du testweise auch auf der Startseite von Node-RED die Authentifizierung auch erstmal ausstellen.

Tripplex
Beiträge: 519
Registriert: 11.01.2015, 19:16
System: CCU
Hat sich bedankt: 11 Mal
Danksagung erhalten: 4 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Tripplex » 17.12.2020, 19:05

Habe es inzwischen Geschaft Danke.
Leider kann ich die IP nach dem Starten nicht Öffnen.
Seite Nicht gefunden. Chrome Browser
Screenshot 2020-12-17 19.08.14.png
CCU3 mit Cul stick,dazu Intertechno Steckosen.
HM Steuert. Das Haus/Heizung inkl Pool und Robomow RC.

Xaromi
Beiträge: 25
Registriert: 18.06.2018, 15:49
Danksagung erhalten: 2 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Xaromi » 17.12.2020, 19:38

Ich vermute mal du hast in der Firewall der CCU3 die Ports blockiert (was auch richtig ist).
Dann musst du in der Portfreigabe den Port eintragen.
Ich ergänze die Punkte gleich oben noch in der Anleitung.

Tripplex
Beiträge: 519
Registriert: 11.01.2015, 19:16
System: CCU
Hat sich bedankt: 11 Mal
Danksagung erhalten: 4 Mal

Re: Alarmanlage inkl. Alexa und pushover Ausgabe

Beitrag von Tripplex » 17.12.2020, 19:52

Nein die Port Einstellung der CCU steht bei mir auf OFFEN
CCU3 mit Cul stick,dazu Intertechno Steckosen.
HM Steuert. Das Haus/Heizung inkl Pool und Robomow RC.

Antworten

Zurück zu „Projektvorstellungen“