|
|
||
|---|---|---|
| esphome | ||
| node-red | ||
| LICENSE | ||
| README.md | ||
README.md
Rauchmelder-Benachrichtigungen für Home Assistant
Node-RED Lösung mit Multi-Gruppen-Support
Features
- Gruppen-System - Mehrere Häuser/Bereiche komplett isoliert (z.B. Haus 1, Haus 2)
- Alarm nur für betroffene Gruppe - Rauchmelder in Gruppe A benachrichtigt nur Geräte in Gruppe A
- STOPP pro Gruppe - Benachrichtigungen und Sirenen separat pro Gruppe stoppen
- Settings-Seite - Alles zentral konfigurieren (auch als Dashboard-Karte)
- KEIN Helper nötig - Kein YAML editieren, keine Entities erstellen
- Sirene pro Rauchmelder - Jeder Rauchmelder kann seine eigene Sirene haben
- Dropdown-Auswahl - Entities werden automatisch aus Home Assistant geladen
- iOS Critical Alerts - Laute Benachrichtigungen auch bei Stumm-Modus
- Android TTS - Sprachausgabe über Alarm-Stream
- Visuelles Debugging - Node-RED Debug-Panel
Voraussetzungen
- Home Assistant
- Node-RED Add-on
- Mobile App auf allen Geräten (iOS & Android)
Installation
1. Settings-Seite in Home Assistant ablegen
Kopiere node-red/settings-smoke-notify.html nach /config/www/settings-smoke-notify.html
Die Datei ist dann erreichbar unter:
http://homeassistant.local:8123/local/settings-smoke-notify.html
2. Node-RED Flow importieren
- Öffne Node-RED
- Menü (☰) → Import
- Kopiere Inhalt von
node-red/flows/smoke_detector.json - Importieren → Deploy
3. Long-Lived Token erstellen
- Home Assistant → Profil (unten links) → Sicherheit
- Runterscrollen zu "Langlebige Zugriffstokens"
- Token erstellen → Name:
Rauchmelder Settings - Token kopieren (sieht so aus:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3Mi...)
4. Home Assistant Server verbinden
Einmalig Token einrichten:
- Doppelklick auf einen blauen Node
- Stift-Symbol neben Server
- Base URL:
http://homeassistant.local:8123 - Access Token: Den eben erstellten Token einfügen
- Update → Done
Alle blauen Nodes konfigurieren:
Danach musst du jeden blauen Node einzeln durchgehen und den Server auswählen:
- Doppelklick auf den blauen Node
- Bei Server: Wähle den zweiten Eintrag in der Liste (der mit deiner URL)
- Done
- Wiederhole für alle blauen Nodes
Hinweis: Den Token musst du nur einmal eingeben. Aber jeder blaue Node muss manuell auf den Server verweisen.
Wenn alle Nodes konfiguriert sind: Deploy
5. Settings-Seite öffnen
Option A: Direkt im Browser
http://homeassistant.local:8123/local/settings-smoke-notify.html?token=DEIN_TOKEN
Option B: Als Dashboard-Karte (iframe) - Empfohlen!
Dashboard bearbeiten → Karte hinzufügen → Webpage:
type: iframe
url: /local/settings-smoke-notify.html?token=DEIN_TOKEN
aspect_ratio: 100%
Option C: Als Seitenleisten-Panel
Hinweis: Seit Home Assistant 2024.4.0 ist
panel_iframeüber YAML deprecated. Nutze stattdessen Option B (Dashboard-Karte) oder erstelle ein eigenes Dashboard:
- Einstellungen → Dashboards → Dashboard hinzufügen
- Name:
Rauchmelder, Icon:mdi:fire - In Seitenleiste anzeigen aktivieren
- Dashboard öffnen → Dashboard bearbeiten → Karte hinzufügen → Webpage
- URL:
/local/settings.html?token=DEIN_TOKEN
6. Konfigurieren & Testen
-
Konfiguriere alles in der Settings-Seite:
- Benachrichtigungstext
- TTS Intervall & Sprache
- Rauchmelder (aus Dropdown wählen)
- Sirene pro Rauchmelder (optional)
- Anzeigenamen (optional)
- Geräte (iOS/Android)
-
Klicke "Speichern"
-
Die Config wird automatisch an Node-RED gesendet
-
Nutze den Test-Button oder setze einen Rauchmelder auf
on
Settings-Seite
Die Settings-Seite bietet Gruppen - jede Gruppe enthält:
| Bereich | Optionen |
|---|---|
| Gruppen-Header | Name der Gruppe (z.B. "Haus 1", "Ferienhaus"), Umbenennen, Löschen |
| Benachrichtigungen | Text mit {detector} Platzhalter, TTS Intervall (5-60s), Sprache |
| Rauchmelder | Dropdown-Auswahl der Rauchmelder-Sensoren aus HA |
| Sirene | Pro Rauchmelder optional eine Sirene/Switch zuweisen |
| Namen | Optionaler Anzeigename für jeden Rauchmelder |
| Geräte | Android (Name + ID + TTS) oder iOS (Name + ID + Critical Alert) |
| Notfall-Buttons | Benachrichtigungen stoppen / Sirenen ausschalten - nur für diese Gruppe |
Gruppen-Konzept
- Gruppe "Haus 1": Rauchmelder Küche, Flur → benachrichtigt Stefan, Maria
- Gruppe "Ferienhaus": Rauchmelder Wohnzimmer → benachrichtigt nur Stefan
Wenn der Rauchmelder im Ferienhaus auslöst:
- Nur Stefan bekommt Benachrichtigungen (nicht Maria)
- Nur die Sirene im Ferienhaus geht an
- Der STOPP-Button stoppt nur die Ferienhaus-Benachrichtigungen
iOS Setup (Critical Alerts)
Für iOS-Geräte werden Critical Alerts verwendet. Diese sind laute Benachrichtigungen die auch bei stummgeschaltetem Gerät durchkommen.
Critical Alerts aktivieren
- Home Assistant Companion App öffnen
- Einstellungen → Companion App → Benachrichtigungen
- Critical Alerts erlauben aktivieren
iOS Einstellungen prüfen
- iOS Einstellungen → Mitteilungen → Home Assistant
- Prüfe ob Kritische Hinweise aktiviert ist
Wie es funktioniert
- Bei Rauchmelder-Alarm bekommt das iOS-Gerät einen Critical Alert
- Der Alert spielt einen lauten Sound ab (auch bei Stumm-Modus!)
- Die Nachricht zeigt an welcher Rauchmelder ausgelöst hat
- Der Alert wiederholt sich alle X Sekunden bis STOPP gedrückt wird
Wichtig
- Critical Alerts umgehen den Stumm-Modus und "Nicht Stören"
- Der Sound ist laut - perfekt für Notfälle
- Funktioniert auch im Hintergrund und bei gesperrtem Gerät
So funktioniert's
- Trigger: Rauchmelder geht auf
on - Gruppen-Filter: In welcher Gruppe ist dieser Rauchmelder?
- Sirene: Die zugehörige Sirene des Rauchmelders wird aktiviert (nur in dieser Gruppe)
- Benachrichtigungen: Nur Geräte dieser Gruppe bekommen:
- Text-Notification mit STOPP-Button
- TTS-Loop / Critical Alert (alle X Sekunden)
- STOPP: User drückt Button → TTS stoppt für dieses Gerät in dieser Gruppe
- Rauch weg: Nur Sirenen dieser Gruppe werden ausgeschaltet
Die Config wird als JSON-Datei gespeichert (/config/www/smoke_config.json) und bleibt auch nach Neustarts erhalten.
Troubleshooting
| Problem | Lösung |
|---|---|
| Config nicht geladen | Öffne Settings-Seite und klicke "Speichern" |
| Keine Rauchmelder im Dropdown | Klicke "Entities laden" - prüfe ob Sensoren device_class "smoke" haben |
| Benachrichtigung kommt nicht | Prüfe Gerätename (muss mit Mobile App übereinstimmen) |
| TTS stoppt nicht | Prüfe ob STOPP-Event ankommt (Debug-Panel) |
| Settings-Seite zeigt Fehler | Prüfe Token in der URL |
| Sirene geht nicht an | Prüfe ob die richtige Switch-Entity zugewiesen ist |
Dateien
node-red/
├── flows/
│ └── smoke_detector.json # Node-RED Flow
├── settings-smoke-notify.html # Einstellungsseite (→ nach /config/www/ kopieren)
└── stop-smoke-notify-card.html # STOPP-Karte für Dashboard (optional)
Lizenz
MIT