Der Bedarf
Gladys hat einen Panikmodus, und heute ist das das, was dem am nächsten kommt, wenn der Alarm auslöst. Aber das ist nicht dasselbe: Panik ist, wenn jemand absichtlich auf einen Knopf drückt. Ein Einbruch ist, wenn ein Sensor etwas erkennt. Beide verdienen unterschiedliche Reaktionen, und wir müssen sie in einer Szene unterscheiden können.
Zweiter Mangel: Wenn eine Szene auf den Alarm reagiert, weiß sie fast nichts. Nicht, welcher Sensor ausgelöst hat, nicht in welchem Raum, nicht in welchem Modus der Alarm war, nicht wer ihn deaktiviert hat. Es ist unmöglich, eine Benachrichtigung zu senden, die « Einbruch — Garagentür » sagt, anstatt eine anonyme « Alarm ausgelöst ».
Schließlich hängen zwei kleinere Mängel, die bereits anderswo im Forum erwähnt wurden, natürlich hier an: Mehrere Modi auf einmal in einer Bedingung testen und Szene bei Eingabe eines Codes auslösen.
Was erwartet wird
Szene-Auslöser, die das gesamte Leben des Alarms abdecken:
- Alarmierung angefordert, Alarm aktiviert, Alarm deaktiviert
- Eintrittsverzögerung gestartet
- Alarm ausgelöst — Unterscheidung zwischen Einbruch und Panik
- Code eingegeben, Code abgelehnt, Sensor ignoriert
Und für jeden davon ein nutzbarer Kontext in den Aktionen: der Modus, der Sensor, der Raum, der Benutzer, die Uhrzeit.
Wie das aussehen würde
WENN
Alarm ▸ ausgelöst durch einen Einbruch
FALLS
Alarm ▸ der Modus ist [ Nacht ] [ Abwesenheit ]
DANN
Wohnzimmer-Sirene ▸ auslösen
Beleuchtung ▸ alles einschalten
Benachrichtigung ▸ « Einbruch: {{alarm.sensor}}
({{alarm.raum}}) um {{alarm.zeit}} »
Offene Fragen
- Was ist die genaue Liste der Auslöser, die angeboten werden sollen? Zu wenige und man fällt zurück auf Basteln; zu viele und der Szenen-Editor wird unleserlich.
- Welche Kontextinformationen: Sensor, Raum, Modus, Benutzer, Uhrzeit — andere?
- Braucht man ein Ereignis für das Ende des Alarms? « Der Alarm klingt nicht mehr » ist nützlich, um eine Sirene auszuschalten oder das Licht zu löschen.
- Sollte der Alarm-Engine Standardaktionen vorschlagen (z. B. eine bestimmte Sirene auslösen), oder alles den Szenen überlassen? Der « nichts ist vorgeschrieben » Ansatz ist konsistent mit Gladys, erfordert aber von jedem, mindestens eine Szene zu schreiben, damit der Alarm Geräusche macht.
- Braucht man einen Alarm-Ereignisverlauf, der unabhängig von den Szenen in der Oberfläche einsehbar ist? Mit welcher Tiefe?
Komplexität und Abhängigkeiten
Mittel. Ein Teil davon kann ohne Warten umgesetzt werden: die Multi-Modus-Bedingungen, der Auslöser bei Code-Eingabe, die Unterscheidung Panik/Einbruch. Der Kontext « welcher Sensor hat ausgelöst » setzt jedoch voraus, dass Gladys die Alarm-Sensoren kennt — siehe Alarm: Überwachte Sensoren deklarieren und auswählen, welche in jedem Modus aktiv sind.
Dieser Vorschlag ist Teil einer Reihe aus der Diskussion Gladys Alarm-System (Bedarfe F01 und F06).