Flow "Alarmanlage"

Die Idee wäre, dass wenn die Systemvariable AlarmAusgelöst auf true gesetzt wird, alle echoDots im Haus sowas sagen wie: EINDRINGLINGSALARM!

Oder so. Dafür müsste ich ja via cloudmatic diesen Alexaskill einspielen. Weiter bin ich aber bisher nicht. Für mich sieht dieses Cloudmatic so aus, als ob es befehle annehmen kann, aber keine Befehle an einen Echo absetzt. Allerdings habe ich mich damit nur rudimentär beschäftigt. Bis meine Frau diesen Wunsch äußerte…

Hi @Janusch,

das wuerde nicht mit unserem „normalen“ Skill gehen, da das „nur“ ein „normaler“ SmartHome-Skill ist … dem kann man nicht „sag irgend etwas“ sagen :wink:

Aber es gibt Workarounds mit simplen Custom Skills (IIRC, ich hab die Dame nicht bei mir wohnen, aber ein paar Kollegen haben da mal was gebaut). Oder halt mit TTS & Sonos :grimacing:

– Micha

TTS wär okey. Aber wenn ich noch Sonos daheim anschleppe, wird mich meine Frau im Garten verbuddeln.

Ich habe jetzt den Ansatz über IFTTT was zu basteln. Das müsste eigentlich gehen.

Hallo Allerseits,

also: Ich kam mit IFTTT noch nicht weiter. Aber ich habe die Alarmanlage jetzt soweit getestet und auch eine Verzögerung beim Auslösen eingebaut. Soweit so gut. Tut alles und wird komplett über die Smartha abgebildet.

@leika241265 hast du schon getestet?

1 „Gefällt mir“

Hallo,
nee noch nicht ganz. Ich muste auf das heutige neue Update für mein Betasystem warten.(Lizenz error)
Werde ich aber gleich nachbauen wenn meine Betasystem wieder rennt.

Hallo

hab diese Coole Alarm funktion hier auch mal nachgebaut .

Hab die funktion zur Namensauflösung eingebaut. Leider funktioniert Sie so nicht sobald sie hinter einem oder Konten sitzt zeigt er mir Typerror an.
MfG

So. Ich habe noch ein wenig rumgebastelt.

  1. Ich habe eine Alarmverzögerung implementiert, die jetzt den alarm erst nach 20 Sekunden startet.
  2. Ich habe eine automatische deaktivierung des Einbruchalarms nach 300 Sekunden implementiert, was nun das Bimmeln eines Fehlalarmes nach 5 Minuten beenden wird. Und nach 5 Minuten Bimmeln sollte man auch wach genug sein.

flows (10).json (22,4 KB)

image
image
image
image

Da dieser Thread doch recht lang geworden ist und diese „Alarmanlage“ ohne meine Erklärungen wohl ein wenig komplex ist, werde ich meine einzelnen Werte jetzt nach und nach einmal erklären.

Folgende Variablen werden genutzt:

  • ALARMAusgelöst - bool
  • ALARMBeweungsmelder - bool
  • ALARMFensterKontakt - bool
  • ALARMStatus - bool
  • ALARMTür - bool
  • TürStatus - bool
  • FensterStatus - bool
  • BewegungsmelderStatus - bool

Eingesetzte Geräte:

  • Fensterkontakt: Homematic IP
  • Türschloss: Nuki
  • Bewegungsmelder: Homematic IP
  • Alarmsirene: Homematic IP Rauchmelder

Jetzt zum Flow:

image
Hier werden die unterschiedlichen Fensterkontakte abgefragt und in einen OR-Knoten gesetzt.
Falls also einer der Kontakte nicht 0 ist, wird ein true gesendet.
Diesen boolschen Wert schreibe ich in die Variable FensterStatus. Gleichzeitig habe ich einen Switchknoten mit ALARMStatus. Dieser sorgt dafür, dass der gesendete Wert nur weitergeleitet wird, wenn ALARMStatus selbst true ist. Der darauf folgende Switch-Knoten gibt nur ein true weiter:
image
Und zwar in die Variable ALARMFensterKontakt.
Der Grund dahinter ist einfach: Ich möchte nicht, dass wenn ein Alarm ausgelöst wird, diese Variable nochmals auf false gesetzt wird.

Beim Bewegungsmelder verhält es sich genau so:
image
Wird dieser Aktiv, wird BewegungsmelderStatus auf true gesetzt. Der ALARMStatus-knoten lässt nur was durch, wenn ALARMStatus selbst auf true ist und der Switch-knoten lässt nur das true durch, aber kein false, mit dem die Variable ALARMBewegungsmelder beschrieben wird.

Gleiches nun mit der Tür:
image
Der DOOR_STATE bei Nuki hat zwei wichtige Werte auf die ich hier schaue:
2 - Door Closed
3 - Door Opened
Die Variable TürSTATUS wird mit true oder false beschrieben, je nachdem wie der Zustand der Tür ist:
Door Closed - TürSTATUSfalse
Door Opened - TürSTATUStrue

Entsprechend analog zu den Fensterkontakten und dem Bewegungsmelder der Rest des Flows. (ALARMStatus-Knoten und der Switch-Knoten der nur ein true durchlässt)

Aktivieren der Anlage:

image

Hier existiert ein Virtueller Schalter ALARM aktivieren
Sobald dieser auf true (also ein) geschaltet wird, filtert der erste Switch knoten genau diesen Zustand und prüft die Variablen: *FensterStatus, BewegungsmelderStatus und TürSTATUS, ob eine dieser Variablen auf true gesetzt ist. Ich möchte ja nicht, dass die Anlage losbimmelt, weil jetzt schon ein Fenster offen ist, oder der Bewegungsmelder ausgelöst wurde oder weil die Tür noch offen ist.

Falls eine dieser Variablen true ist, wird der Schalter ALARM aktivieren wieder auf false gesetzt und eine Nachricht wird via Telegram gesendet, was noch geöffnet ist.

Falls diese Variablen alle auf false gesetzt sind, beginnt ein interval was jede Sekunde einen Tik ausgibt. Nach 20 Tiks wird ALARMstatus auf true gesetzt und ich erhalte ebenfalls ein paar Nachrichten, dass die Anlage nun aktiv ist.
Außerdem wird der Intervalknoten wieder auf false gesetzt.

image

Dieser Teil sorgt dafür, dass wenn die Anlage ausgeschaltet werden sollte, der Interval-Knoten ebenfalls auf false geschaltet wird.

Alarm deaktivieren
image
Der Switchknoten vor dem Alarm aktivieren Schalter lässt hier nur ein false durch und sendet ein true was negiert wird und die Variablen:

  • ALARMTür
  • ALARMstatus
  • ALARMFensterKontakt
  • ALARMBewegungsmelder
  • ALARMAusgelöst
    ebenfalls auf false setzt.
    Beim Rauchmelder muss man ein wenig mehr vorsehen, da wir ja nicht wissen, ob dieser ausgelöst wurde und auch wenn er ausgelöst wurde, diesen auch ausschalten wollen.
    Somit setzt der erste Switch-Knoten eine 1, wenn er ein true erhält und staretet einen interval-Knoten, der dann über einen weiteren Switch-Knoten und nach 5 Tiks eine 0 Sendet und sich selbst, über einen weiteren Switchknoten auf false setzt.

ALARM
image
Hier wird nun ein verzögerter Alarm ausgelöst:
der OR-Knoten gibt ein true aus, wenn

  • ALARMBewegungsmelder
    oder
  • ALARMFensterKontakt
    oder
  • ALARMTür
    auf true gesetzt werden. Dies startet erneut einen Intervalknoten, und der Switch-Knoten reagiert nach 20 Sekunden mit dem senden einer 2 da dies den Intruision Alarm triggert.
    Dieser Wert wird aber nur durchgelassen, wenn ALARMStatus auch true ist und der Rauchmelder bimmelt los. Außerdem wird die Variable ALARMAusgelöst auf true gesetzt.
    Wird der Schalter ALARM aktivieren aber auf false gesetzt, so wird auch dieses Interval auf false gesetzt.

ALARM…wie lange?
image
Der letzte Schritt ist die zeitliche Begrenzung des Alarms.
Wird nämlich die Variable ALARMAusgelöst auf true gesetzt, so triggert dies ein Interval. Der darauffolgende Switchknoten setzt dann den Schalter ALARM aktivieren nach 300 Sekunden auf false und alles verstummt wieder.

Ich hoffe die Erklärung ist ausführlich genug. :slight_smile: Die einzelnen Benachrichtigungen habe ich jetzt nicht mit aufgenommen, da sie recht individuell sind.

Bei Fragen: Gerne via PN an mich oder hier in den Thread. Gerne auch Verbesserungsvorschläge.

Gruß
Janusch

2 „Gefällt mir“

Hallo Janusch,
alles top. Ich habe es bei mir angepast und in der test umgebung am laufen. Ich bin noch alles am testen.
Ich bin noch am überlegen ob man ein „Reset_motion“ zu allen BW sendet, wenn man die AL abstellt. Sauber cleanup.
Danke

Das wäre hier in meinem Beispiel relativ einfach, da du über ALARMStatus den reset triggern kannst.
Auf der anderen Seite: Wenn die Alarmanlage eh aus ist, kann man das soweit auch ignorieren. :slight_smile:

Hey @abaune,

kannst du mir mal deinen Flow schicken? Dann schau ich gerne mal drueber :wink:

– Micha

flows.json (25,4 KB)