Alarmstufen und Quittierung - BeGiBue/home-assistant-water-leak-guard GitHub Wiki
Alarmstufen und Quittierung
Grundsatz
Der Wasserwächter trennt physische Erkennung und menschliche Reaktion.
Eine Quittierung bedeutet ausschließlich:
Jemand hat den Alarm gesehen und die weitere Benachrichtigung für diesen Ereigniskontext beeinflusst.
Sie bedeutet nicht:
Die Leckage ist beendet.
Deshalb kann eine Leckage nach einer Quittierung weiterhin aktiv angezeigt werden.
1. Fachliche Alarmstufen
Die Leckageklassen besitzen folgende fachliche Dringlichkeit:
| Detektor | fachliche Stufe | Charakter |
|---|---|---|
| Slow Leak | Hinweis / Notice | klein, aber dauerhaft |
| Low Flow | Hinweis / Notice | moderat, ungewöhnlich lange |
| High Flow | Warnung / Warning | hoher, möglicherweise legitimer Verbrauch |
| Burst Leak | Kritisch / Critical | akute schwere Leckage |
Companion-Transportpriorität
Aktuell erhält insbesondere Burst Leak bei entsprechend aktiviertem Empfänger einen Critical-Payload:
- iOS: Critical Interruption
- Android: hohe Priorität / Alarm-Stream
- TTL 0
- Priority high
Die fachlichen Stufen sind wichtiger als ein einzelnes plattformspezifisches Notification-Feld.
2. Ereignisbezogene Quittierung
Jedes bestätigte Leck erhält eine eigene Event-ID.
Quittierungen gehören immer genau zu dieser Event-ID.
Folge:
- Ereignis A wird quittiert.
- Die physische Situation endet.
- Später beginnt ein neues Ereignis B.
- B ist nicht automatisch quittiert.
Damit kann eine frühere Quittierung niemals zukünftige Leckagen dauerhaft stummschalten.
3. Persönliche Stummschaltung
Jeder konfigurierte Benachrichtigungsempfänger kann den aktuellen Alarm für sein eigenes Gerät stummschalten.
Wirkung:
- dieses Gerät erhält für die aktuelle Event-ID keine normalen Folgebenachrichtigungen
- andere Geräte bleiben unbeeinflusst
Nicht beeinflusst werden:
- Detektorzustand
- Leckalarm-Entität
- Water-Shut-Off-Request
- andere Empfänger
- zukünftige Event-IDs
Warum gerätebezogen?
Eine Person kann mehrere Geräte besitzen.
Außerdem kann ein gemeinsames Tablet von mehreren Personen verwendet werden.
Deshalb ist die Reaktion an den konfigurierten Companion-Empfänger gebunden und nicht pauschal an eine person.*-Entität.
4. Globale Quittierung
Eine globale Quittierung unterdrückt weitere normale Alarmbenachrichtigungen für die aktuelle Event-ID über alle Empfänger.
Sie beendet trotzdem nicht:
- den Detektor
- das Leckereignis
- den Water-Shut-Off-Request
Autorisierungsregel
Globale Quittierung ist nur zulässig, wenn:
- der Empfänger dafür konfiguriert wurde und
- sein zugeordneter
device_tracker.*aktuell exakthomemeldet – oder der Empfänger ein Wanddisplay ist: Es hat keinen Tracker und gilt immer als zuhause (siehe Dashboard-Karte, Anleitung: Wanddisplay mit TouchKio). Ein Wanddisplay bekommt keine Benachrichtigungen und kann deshalb auch nicht über eine Benachrichtigung quittieren.
Zwei Sicherheitsstufen
Die Home-Bedingung wird zweimal berücksichtigt:
Darstellung
Der Button „Für alle quittieren“ wird nur angeboten, wenn das Gerät aktuell zuhause ist.
Backend
Beim Empfang der Aktion prüft das Backend den Tracker erneut.
Die Sichtbarkeit des Buttons gilt nicht als Autorisierung.
5. Gerät ist nicht zuhause
Ein Gerät außerhalb der Home-Zone darf:
- für sich selbst stummschalten
Es darf nicht:
- global quittieren
Ein trotzdem eintreffender globaler Quittierungsversuch wird abgelehnt und als eigenes Rejected-Event protokolliert.
Begründung
Eine globale Quittierung soll sinngemäß ausdrücken:
Vor Ort ist jemand in einer Position, die Lage zu prüfen bzw. Verantwortung für den aktiven Alarm zu übernehmen.
Ein entferntes Mobilgerät darf diesen Sicherheitsstatus nicht allein setzen.
6. Stationäres vertrauenswürdiges Home-Gerät
Beispiel:
Ein iPad bleibt dauerhaft im Haus und kann von mehreren Haushaltsmitgliedern verwendet werden.
Es kann als trusted stationary home device konfiguriert werden.
Voraussetzungen für globale Quittierung bleiben:
- Empfänger darf global quittieren
- zugehöriger Tracker ist
home
Der Status dokumentiert, dass dieses Gerät bewusst als gemeinsames Home-Terminal betrachtet wird.
Die Integration versucht nicht zu erraten, welche Person das Tablet gerade hält.
7. Rückkehr nach Hause
Ein wichtiges Sonderverhalten ist:
not_home -> home
Wenn ein konfiguriertes Gerät nach Hause zurückkehrt und:
- das Leckereignis noch aktiv ist
- das Ereignis nicht global quittiert wurde
dann wird das Gerät erneut benachrichtigt.
Dabei wird ein persönlicher Mute dieses Geräts für die aktuelle Event-ID entfernt.
Warum?
Eine Heimkehr verändert den Sicherheitskontext.
Ein Benutzer kann unterwegs bewusst stummgeschaltet haben. Sobald er zuhause ist, ist die aktive Leckage wieder unmittelbar relevant.
Darum gilt:
Heimkehr ist ein neuer Aufmerksamkeitspunkt.
8. Warum bleibt der Alarm trotz Quittierung sichtbar?
Weil „Alarm sichtbar“ aus dem Detektorzustand abgeleitet wird.
Quittierung verändert nur den Benachrichtigungszustand.
Beispiel Slow Leak:
- 7 L/h liegen 60 Minuten an.
- Slow Leak wird aktiv.
- Benutzer quittiert global.
- Pushmeldungen verstummen.
- 7 L/h liegen weiterhin an.
- Slow Leak bleibt aktiv.
- Erst 10 Minuten unter 3 L/h beenden ihn.
Das gleiche Prinzip gilt für alle vier Klassen mit jeweils eigener Resetbedingung.
9. Ereignisende
Wenn der Detektor seine physische Resetbedingung erfüllt:
- wechselt er auf
idle - das Event-Ende wird ausgelöst
- der gespeicherte Quittierungszustand für diese Event-ID wird entfernt
Beim nächsten Ereignis startet die Quittierungslogik frisch.
10. Zusammenfassung
| Aktion | Detektor | Push dieses Geräts | Push andere Geräte | Globaler Push | Shut Off |
|---|---|---|---|---|---|
| Persönlich stummschalten | bleibt aktiv | aus | bleibt | bleibt | unverändert |
| Global quittieren | bleibt aktiv | aus | aus | aus | unverändert |
| Physische Resetbedingung erfüllt | endet | Ereignis endet | Ereignis endet | Ereignis endet | wird neu berechnet |
F04 V3: externe Alarme und separater Reset
Mehrere externe binary_sensor-Quellen erhalten jeweils eine eigene Event-ID und eigene Quittierungen. Normales ACK und persönliches Mute beenden weder hydraulische noch externe ACTIVE-Alarme und geben keinen Shutoff-Beitrag frei. Der gesonderte External Reset verlangt die unabhängige Berechtigung allow_external_reset (false als Standard), einen aktuellen Home-Tracker und sämtliche aktuellen Event-, Quellen-, Empfänger- und Nonce-Bindungen. trusted_stationary allein reicht nicht. Erst erfolgreiches HA-Store-Schreiben setzt genau diese Quelle auf WAITING; sie bleibt bis echtem OFF dort, auch nach Neustart. Andere Alarme bleiben erhalten. Details und frische Actions nach Restart: F04 V3.
Quittierung und hydraulische Überwachung
Persönlicher Mute und globales ACK ändern weder die Quellenfreigabe noch
hydraulic_monitoring_status. Aktiv/Warten/Gesperrt ist unabhängig davon, ob
Benachrichtigungen quittiert sind. Persönlicher Mute unterwegs ist kein globales
ACK; letzteres verlangt weiterhin aktuelle Recipient-Berechtigung und Home-Zone,
serverseitig geprüft. Ein UI-Button ist keine Autorisierung.
Hydraulische Alarme haben keinen Lösch- oder Reset-Befehl. Sie enden nach ihren physischen
Resetregeln; Slow/Low zusätzlich, wenn der Detektor abgeschaltet wird, High Flow, wenn der Bypass
startet. Burst endet nur physisch. Der gesonderte berechtigte External Reset betrifft ausschließlich
seine externe Quelle. Sensor und Kartenbefehle.
Quittierung in der Dashboard-Karte
Seit 2.0.0-beta.1 bietet die Dashboard-Karte einem gekoppelten Gerät genau die
Aktionen an, die das Backend gerade erlaubt: persönliches Stummschalten für dieses Gerät (auch
unterwegs), globale Quittierung (Berechtigung und Device Tracker home) und externen Reset
(Berechtigung und home, mit Rückfrage). Die Rechte hängen am Gerät: Ein iPad zuhause kann global
quittieren, das Telefon desselben Benutzers unterwegs nur sich selbst stummschalten. Nicht gekoppelte
Geräte sehen nur die Anzeige. Ein gekoppeltes Wanddisplay gilt immer als zuhause: Es darf, was seine
Häkchen erlauben, hat aber kein Stummschalten. Jede Sitzung, die als das Display erkannt wird (bei
einer Kiosk-Benutzer-Kopplung jede Anmeldung dieses Benutzers), hat diese Rechte
(Wanddisplay mit TouchKio). Auch in der
Karte gilt: Quittierung beendet weder Erkennung noch Alarm noch Absperranforderung.