Mein Alarmanlagenworkflow ist von einem Anfänger! Helft mir!

Hallo Zusammen,

meine Alarmanlage funktioniert derzeit mit hue-Bewegungsmeldern.
Zusätzlich werden noch Kameras hinzukommen und ausgewertet.

Generell ist mein Workflow aber Mist, da er immer wieder von vorne beginnt, wenn der Bewegungsmelder mehrfach getriggert wird und der Workflow dann von neuem beginnt.

Ich dachte mir daher, dass man mit einem Trigger-Level arbeitet und den über ein Zeitdauer wieder runtersetzt.
Beispiel Hintergrund: Ein Blatt fällt runter, der Alarm wird getriggert - aber sollte nicht ausgelöst werden, wenn nicht ein zweiter Bewegungsalarm ausgelöst werden.

Bevor ich jetzt mit dem Advanced Workflow loslege, habe ihr vielleicht gute Konzepte in petto?

Hier mein bisheriger Workflow:

Was wird bisher überwacht (durch Kamera oder Bewegungsmelder):

Ich habe das richtig verstanden ?
Du hast mehrere Bewegungsmelder im Aussenbereich. Du willst aber nur den Flow auslösen, wenn alle Bewegungsmelder gleichzeitig oder hintereinander anschlagen ?

Du kannst eine Zahlenvariable z.B. “Bewegungsmelder” erstellen. Wir nehmen mal an, dass du zwei Bewegungsmelder hast:

Der erste Bewegungsmelder löst aus und berechnet diese Variable auf einen Wert mit folgender Formel
{{Tag-Variable-“Bewegungsmelder”+1}}
Der zweite Bewegungsmelder löst aus und berechnet diese Variable auf einen Wert mit folgender Formel
{{Tag-Variable-“Bewegungsmelder”+1}}
Was passiert jetzt ?
Der erste Melder löst aus und setzt die Variable von 0 auf 1
Der zweite Melder löst aus und setzt die Variable von 1 auf 2

Jetzt folgender Flow:
Wenn:
(Logic) Eine Variable hat sich geändert
Und:
(Logic) eine Variable ( Tag “Bewegungsmelder”) ist exakt 2
Dann:
löse Alarm aus

Der Alarm erfolgt jetzt nur, wenn beide Bewegungsmelder eine Bewegung registriert haben.
Zum Schluss brauchst du noch Flows, die die Variable “Bewegungsmelder” auf 0 zurück setzen, um das Ganze wieder scharf zu schalten.
Wenn:
(Logic) Eine Variable hat sich geändert
Und:
(Logic) eine Variable ( Tag “Bewegungsmelder”) ist größer als 0
Dann:
Starte Timer Bewegungsmelder(Chronograph) mit der Dauer von (5) Minuten

Wenn:
Timer Bewegungsmelder ist abgelaufen
Und:
Bewegungsmelder 1 ist aus
Bewegungsmelder 2 ist aus
Dann:
(Logic)
Eine numerische Variable setzen " Bewegungsmelder 0
Sonst:
Starte Timer Bewegungsmelder(Chronograph) mit der Dauer von (5) Minuten

Die Variable wird also nur zurück gesetzt, sofern beide Bewegungsmelder nach (5) Minuten keine Bewegung mehr anzeigen.

1 Like

Wäre das so richtig, den Alarm bei drei Auslösern zu triggern?

PS: Ich habe innen und aussen Kameras & Bewegungsmelder. Ich habe es mal im Ausgangsposting illustriert.

Die Idee ist, dass es nicht nur bei einem Bewegungsmelder angeht.
Idealerweise vergebe ich Punkte. Geht einer außen an und einer Innen, dann kommt der Rambazamba.

Das ist genau das, was ich oben dargestellt habe. Es spielt nicht wirklich eine Rolle, wo der Bewegungsmelder ist.

Das Prinzip ist, dass die Zahlenvariable hochgezählt wird und beim erreichen der Zahl x auslöst.
Jeder Bewegungsmelder setzt mit der Auslösung die Zahl um +1 höher
Durch den Timer wird die Variable mindestens 5 Minuten erhalten, bevor sie sich selbst auf 0 zurück setzt.
quote=“Matthias76, post:3, topic:76528”]
Wäre das so richtig, den Alarm bei drei Auslösern zu triggern?
[/quote]

Nicht ganz, der ober Teil stimmt nicht. Die Und-Bedingung bitte entfernen.
Wenn:
Im 1. Abschnitt müssen alle 3 Bewegungsmelder einzeln stehen.
Dann:
Berechne Variable +1
Jetzt zieh je eine Linie von allen 3 Bewegungsmeldern zur Dann-Berechnung.

Teil 2 löst aus.
Jetzt aber nicht vergessen, die Variable wieder per Flow z.B. nach 5 Minuten wieder auf 0 zu setzen, sonst löst der Flow aus, wenn ein einzelner Bewegungsmelder 3x eine Bewegung erfasst hat.
Ich komm gerade nicht an mein Laptop ran, sonst hätte ich dir ein Beispiel geschrieben.

Die Und-Bedingung prüft, ob die Alarmanlage an ist.

Das mit dem Timer muss ich mal durchdenken… sonst geht mir die Alarmanlage an, wenn vor der Tür jemand 5 Minuten rumhüpft…

Fast richtig

  • AlarmR18 ist gleich mit ja, genügt ein mal
  • R18_Alarmschwelle +1 berechnen, alleine genügt, +2 bitte entfernen.
    Egal, welcher Bewegungsmelder jetzt auslöst, er wird den ursprünglichen Wert der Variable um + 1 erhöhen. Ist die Zahl 3 erreicht, wird ausgelöst.

Bei deinem ursprünglichen Flow, Löst der HS18 aus und setzt die Variable auf +1. Küche und Büro, setzten die Variable gleich auf + 2. Vielleicht ist es auch so von dir gewollt, dass der Alarm sofort ausgelöst wird, wenn sich auf der Straße und wahlweise in Küche oder im Büro, ausgelöst wird.
Wenn ja, passt das so.

Um die Variable wieder auf null zu setzen, gibt es verschiedene Möglichkeiten. Es muss für dich praktikabel sein. Natürlich kannst du die Zeit auch kürzer oder länger machen.

Die Idee ist, dass Außen nur +1 hochzählt und und Innen +2 … stimmt das mit +1 berechnen so?

Aber ich sehe schon, man muss das etwas intelligenter lösen.
Kann man irgendwie Statistiken der Bewegungsmelder ansehen oder speichern?

Ansehen ja, speichern nein.
Bitte geh in Insights
Mehr-Einblicke-und den Bewegungsmelder suchen

Bei Insights werden die nicht aufgeführt, zumindest nicht die Bewegungsdaten:

Wenn ich mir recht erinnere, werden ja/nein (boolean) Capabilities nicht in Insights dargestellt.
Stattdessen findet man diese in der Geräte-Timeline.

Hier ein Beispiel mit einer bool-Capability mit spaziellen true/false-Texten:

1 Like

Ronny hat natürlich recht.

Du musst dir eine praktikable Lösung überlegen, wie du deine Variable auf 0 zurück setzen willst.
Der Alarm soll ja erst auslösen, wenn im Aussenbereich und Innenbereich, eine Bewegung registriert wird, die sich im Zeitraum x ereignet.
Folgende Idee, die das Ganze etwas einfacher machen würde:
Was hoch zählt, kann auch runter zählen.
Angenommen, dein Bewegungsmelder aussen schlägt an und zählt die Variable +1.
Gleichzeitig startet jetzt ein Timer von xx Minuten.
In einem 2. Flow, wenn der Timer abgelaufen ist, wird geprüft, ob immer noch eine Bewegung registriert wird. Wenn nein, wird die Variable mit -1, wieder herunter gesetzt.
Innen und aussen angewendet, würde sich so die Variable automatisch ändern.
Letztlich bräuchtest du nur einen Schalter oder eine Fernbedienung, die das Ganze scharf oder unscharf stellt.

Daraus kann ich aber keine Statistik erstellen, wenn ich das recht sehe. Also müsste ich diese z.B. durch das Google-Sheet Plugin exportieren.

Ja, und ich muss Außen und Innen separat betrachten und dann gemeinsam auswerten.

Was mir beim Auswerten fehlt ist ein größer als - ich kann ja nur auf gleich testen, oder übersehe ich da was?

Korrekt.
Ich exportiere relevante Statistikdaten mit dem MySQL-Client in eine Datenbank (bie mir Energieverbrauchsdaten). Das wäre ggf. eine Alternative.

Du kannst die kleiner/größer-Karten verwenden und in der Tag-Liste nach deinen Variablen suchen.
grafik

1 Like

Ach, man muss Logik auswählen, um die Variable zu finden - Danke!

Wenn ich die Zeit zählen möchte, solange der Wert z.B. größer als 2 ist, dann stelle ich einfach einen Timer und setze den wieder auf 0, wenn die Zeit runtergeht, oder?

Ja, das wäre der einfachste Ansatz.
Beim Auslösen Timer starten, bei “Entwarnung” Timer löschen. Bei Timer-Ablauf Alarm - oder so ähnlich. Ich habe die letzten Beiträge nicht im Detail verfolgt.

PS: Die Variablen sollte überall wo Tags auswählbar sind, auch verfügbar sein. “Logik” ist die Gruppe, weil es dafür kein Gerät für die Gruppierung gibt.

Vorschlag meinerseits. Einen Flow für den externen Bewegungsmelder erstellen, der einen Timer mit einer vorgegebenen Zeit startet. Jedes Mal wenn der externe BM getriggert wird, wird der Timer neu gestartet. Wenn dann einer der inneren BM anschlägt und der Timer läuft noch, dann Alarmflow starten: