|
|
||
|---|---|---|
| esphome | ||
| node-red | ||
| LICENSE | ||
| README.md | ||
README.md
Rauchmelder-Benachrichtigungen für Home Assistant
Node-RED Lösung mit integrierter Settings-Seite
Features
- Eine 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 & Android - Unterschiedliche TTS-Methoden
- STOPP pro Gerät - Individuelles Stoppen
- 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.html nach /config/www/settings.html
Die Datei ist dann erreichbar unter:
http://homeassistant.local:8123/local/settings.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.html?token=DEIN_TOKEN
Option B: Als Dashboard-Karte (iframe) - Empfohlen!
Dashboard bearbeiten → Karte hinzufügen → Webpage:
type: iframe
url: /local/settings.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:
| Bereich | Optionen |
|---|---|
| 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) |
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 - Filter: Ist es ein konfigurierter Rauchmelder?
- Sirene: Die zugehörige Sirene des Rauchmelders wird aktiviert
- Benachrichtigungen: Jedes Gerät bekommt:
- Text-Notification mit STOPP-Button
- TTS-Loop (alle X Sekunden)
- STOPP: User drückt Button → TTS stoppt für dieses Gerät
- Rauch weg: Alle Sirenen 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.html # Einstellungsseite (→ nach /config/www/ kopieren)
Lizenz
MIT