====== Ablaufpläne ======
[[ha:arcen:start|← Übersicht]]
Die Diagramme benötigen das DokuWiki-Plugin **mermaid**. Stand: **30.09.2026**.
===== Abfahrt und Ankunft =====
Seit 30.09.2026 keine eigene Abfahrts-/Ankunftsmeldung mehr: Der Grund wird in ''input_text.alarm_schaltgrund'' hinterlegt und erscheint in der Statusmeldung (siehe nächster Plan).
%%raw
flowchart TB
A["Person verlässt Zone Arcen (2 min)"] --> Q1{"Noch jemand da?"}
Q1 -->|ja| E1["Ende (keine Meldung)"]
Q1 -->|nein| Q2{"Notfall- oder Vorheizen aktiv?"}
Q2 -->|ja| R["Rückkehrstatus = Scharf merken
(Hüllenschutz bleibt, Kameras an)"]
Q2 -->|nein| G1["Grund: 🚗 Niemand mehr in Arcen"]
G1 --> SCH["Alarm Scharf"]
B["Person kommt an"] --> Q3{"Heizen aktiv?"}
Q3 -->|ja| G2["Grund: 🏠 Name angekommen – Heizen aus"]
G2 --> H["Rückkehrstatus Scharf → Unscharf
Notfall- und Vorheizen aus"]
Q3 -->|nein| Q4{"Alarm scharf?"}
Q4 -->|ja| G3["Grund: 🏠 Name angekommen – unscharf"]
G3 --> UN["Alarm Unscharf"]
Q4 -->|nein| L["unverändert (keine Meldung)"]
H --> BL["Bewegungslicht Aussen auslösen"]
UN --> BL
L --> BL
===== Statusmeldung mit Schaltgrund =====
%%raw
flowchart TB
S["input_select.alarmstatus wechselt
(nicht 'Schalten', nicht Startphase)"] --> T["Text: 🔒 Alarmanlage Arcen – Status …"]
T --> Q1{"Heizen aktiv?"}
Q1 -->|ja| H["+ 🔥 bzw. ♨️ Hinweis"]
Q1 -->|nein| Q2
H --> Q2{"alarm_schaltgrund gesetzt
und max. 5 min alt?"}
Q2 -->|ja| G["+ Zeile mit Grund"]
Q2 -->|nein| SEND
G --> SEND["eine Meldung senden
(Telegram bzw. Push)"]
SEND --> L["alarm_schaltgrund leeren"]
===== Kamera einschalten (Reolink) =====
%%raw
flowchart TB
D["Kamera-Dose an
(Scharf, Heizen nach Scharf oder Testmodus)"] --> W["60 s warten"]
W --> Q{"Kamera verfügbar
oder Dose aus?"}
Q -->|ja| E["Ende"]
Q -->|nein| R["Reolink-Eintrag neu laden, 30 s warten"]
R --> N{"8 Versuche?"}
N -->|nein| Q
N -->|ja| E
X["Wächter: Dose ≥ 10 min an
und Kamera ≥ 10 min weg
(alle 15 min geprüft)"] --> R2["Reolink-Eintrag neu laden + Logbuch"]
===== Alarm ausgelöst =====
%%raw
flowchart TB
T["Homematic: triggered"] --> P["Kritischer Push + Telegram"]
T --> V0["alarm_video_bestatigt = aus"]
V0 --> V1["Video 20 s aufnehmen (Kamera Chalet)"]
V1 --> V2["Video senden mit Button 'Alarm bestätigen'"]
V2 --> Q{"Bestätigt, nicht mehr ausgelöst
oder 10 min erreicht?"}
Q -->|nein| V1
Q -->|ja| E["Abschlussmeldung"]
===== Notfallheizen =====
%%raw
flowchart TB
T["Wohnzimmer < 5 °C und niemand da"] --> N["Notfallheizen an"]
N --> S1["Alarmstatus merken, Hüllenschutz"]
S1 --> K["Klima heat, 21 °C"]
K --> M["Meldung 🔥 EIN"]
K --> W{"Wohnzimmer ≥ 10 °C
oder Ankunft?"}
W -->|ja| A["Notfallheizen aus"]
A --> S2["gemerkten Alarmstatus wiederherstellen"]
S2 --> K2["Klima off"]
K2 --> M2["Meldung ✅ AUS"]
===== Stromausfall =====
%%raw
sequenceDiagram
participant HA as Home Assistant
participant H as Helfer
participant T as Telegram/Push
Note over HA: Strom weg – HA aus
HA->>H: Neustart, erstes Lebenszeichen (Lücke > 15 min)
H->>H: Ausfall Beginn/Ende speichern, stoerung_ha_offline an
HA->>T: nach 1 min: Protokolleintrag + Meldung
T-->>HA: "Kenntnis genommen"
HA->>H: Eintrag abhaken mit Name und Zeit