Go to file
duffyduck b131f78b8b stop geräte benachrichtung card hinzugefügt 2025-12-26 13:46:33 +01:00
esphome tts for ios removed, browser mod removes, only critical for ios and only tts for android 2025-12-24 03:23:23 +01:00
node-red stop geräte benachrichtung card hinzugefügt 2025-12-26 13:46:33 +01:00
LICENSE Initial commit 2025-12-18 15:37:04 +00:00
README.md stop geräte benachrichtung card hinzugefügt 2025-12-26 13:46:33 +01:00

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

  1. Öffne Node-RED
  2. Menü (☰) → Import
  3. Kopiere Inhalt von node-red/flows/smoke_detector.json
  4. ImportierenDeploy

3. Long-Lived Token erstellen

  1. Home Assistant → Profil (unten links) → Sicherheit
  2. Runterscrollen zu "Langlebige Zugriffstokens"
  3. Token erstellen → Name: Rauchmelder Settings
  4. Token kopieren (sieht so aus: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3Mi...)

4. Home Assistant Server verbinden

Einmalig Token einrichten:

  1. Doppelklick auf einen blauen Node
  2. Stift-Symbol neben Server
  3. Base URL: http://homeassistant.local:8123
  4. Access Token: Den eben erstellten Token einfügen
  5. UpdateDone

Alle blauen Nodes konfigurieren:

Danach musst du jeden blauen Node einzeln durchgehen und den Server auswählen:

  1. Doppelklick auf den blauen Node
  2. Bei Server: Wähle den zweiten Eintrag in der Liste (der mit deiner URL)
  3. Done
  4. 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:

  1. EinstellungenDashboardsDashboard hinzufügen
  2. Name: Rauchmelder, Icon: mdi:fire
  3. In Seitenleiste anzeigen aktivieren
  4. Dashboard öffnen → Dashboard bearbeiten → Karte hinzufügen → Webpage
  5. URL: /local/settings.html?token=DEIN_TOKEN

6. Konfigurieren & Testen

  1. 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)
  2. Klicke "Speichern"

  3. Die Config wird automatisch an Node-RED gesendet

  4. 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

  1. Home Assistant Companion App öffnen
  2. EinstellungenCompanion AppBenachrichtigungen
  3. Critical Alerts erlauben aktivieren

iOS Einstellungen prüfen

  1. iOS EinstellungenMitteilungenHome Assistant
  2. 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

  1. Trigger: Rauchmelder geht auf on
  2. Gruppen-Filter: In welcher Gruppe ist dieser Rauchmelder?
  3. Sirene: Die zugehörige Sirene des Rauchmelders wird aktiviert (nur in dieser Gruppe)
  4. Benachrichtigungen: Nur Geräte dieser Gruppe bekommen:
    • Text-Notification mit STOPP-Button
    • TTS-Loop / Critical Alert (alle X Sekunden)
  5. STOPP: User drückt Button → TTS stoppt für dieses Gerät in dieser Gruppe
  6. 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