Ein leistungsstarkes und flexibles Blueprint zur automatischen Steuerung deiner Heizung basierend auf Anwesenheitsstatus, Zeitplänen und intelligenter Priorisierung.
- Anwesenheitsbasierte Steuerung: Automatische Anpassung der Heiztemperatur basierend auf dem Wohnungsstatus
- Intelligente Priorisierung: Klare Hierarchie verhindert Konflikte zwischen verschiedenen Modi
- Smart Temperature Setting: Thermostaten akzeptieren Temperaturänderungen auch im "Off"-Modus durch temporäres Einschalten
- Optionaler Winter-Modus: Globaler An/Aus-Schalter für die gesamte Heizungslogik
- Zeitplansteuerung: Flexibler Scheduler für Komfort-Temperatur zu definierten Zeiten
- Office-Override: Deaktiviert den Scheduler an Arbeitstagen im Büro
- Scheduler-Toggle: Laufzeit-Steuerung des Schedulers per Input Boolean
- Nächtliche Eco-Umschaltung: Automatische Absenkung im Guest Mode
- Template-Trigger-Technologie: Zuverlässiges Triggern auch bei optionalen Entities
- Validierung: Automatische Prüfung der Konfiguration mit Fehlerbenachrichtigungen
Erstelle folgende Helper unter Einstellungen → Geräte & Dienste → Helfer:
Verwaltet den Status deiner Wohnung.
Erforderliche Optionen:
Home- Zu HauseAway- AbwesendSleep- SchlafmodusLeaving- Beim VerlassenComing Home- Beim HeimkommenGuest Mode- Gäste-ModusVacation- Urlaubsmodus
Beispiel-Konfiguration (configuration.yaml):
input_select:
flat_occupation_state:
name: Wohnungsstatus
options:
- "Home"
- "Away"
- "Sleep"
- "Leaving"
- "Coming Home"
- "Guest Mode"
- "Vacation"
icon: mdi:home-accountHeizung An/Aus (input_boolean) - Optional
- Winter-Modus für die gesamte Heizungslogik
- Wenn nicht gesetzt: Heizung ist immer aktiv
Zeitplan (schedule) - Optional, aber erforderlich wenn Scheduler aktiviert
- Schedule Helper für Komfort-Temperatur-Zeiten
- Erstelle über: Einstellungen → Geräte & Dienste → Helfer → Zeitplan
Scheduler Toggle (input_boolean) - Optional
- Laufzeit-Steuerung des Schedulers
- Hat Vorrang vor der statischen "Scheduler aktivieren" Einstellung
Office-Override (binary_sensor) - Optional
- Deaktiviert Scheduler an Arbeitstagen im Büro
- Beispiel: Template-Sensor für Arbeitstage
| Eingabe | Typ | Beschreibung |
|---|---|---|
| Heizkörper | Climate Entity | Der zu steuernde Thermostat |
| Anwesenheitsstatus | Input Select | Status der Wohnung (siehe Voraussetzungen) |
| Eingabe | Standard | Beschreibung |
|---|---|---|
| Eco-Temperatur | 17°C | Temperatur für Away, Sleep, nächtlicher Reset |
| Komfort-Temperatur | 21°C | Temperatur wenn Scheduler aktiv |
| Eingabe | Typ | Standard | Beschreibung |
|---|---|---|---|
| Scheduler aktivieren | Boolean | false |
Aktiviert die Zeitplan-Funktion |
| Zeitplan | Schedule | - | Schedule Helper für Komfort-Zeiten |
| Scheduler Toggle | Input Boolean | - | Runtime-Steuerung (hat Vorrang) |
| Office-Override | Binary Sensor | - | Deaktiviert Scheduler bei Arbeitstagen |
true, muss eine Zeitplan-Entity konfiguriert werden!
| Eingabe | Typ | Standard | Beschreibung |
|---|---|---|---|
| Heizung An/Aus | Input Boolean | - | Globaler Winter-Modus Schalter |
| Nächtliche Eco-Zeit | Time | 01:00 | Zeit für Eco-Umschaltung im Guest Mode |
Die Automation folgt einer klaren Prioritätshierarchie:
Bedingungen:
- Winter-Modus ist deaktiviert (
heating_on_off = off) - ODER Anwesenheitsstatus =
Vacation
Aktion: Thermostat wird ausgeschaltet
Bedingungen:
- Status wechselt von
HomeoderLeavingzuAway
Aktion: Thermostat auf HVAC-Modus off setzen
Bedingungen:
- Status wechselt zu
Sleep
Aktion:
- Eco-Temperatur setzen
- Smart Temperature Setting: Temporär einschalten falls nötig
Bedingungen:
- Zeitpunkt = Konfigurierte "Nächtliche Eco-Zeit"
Aktion:
- Eco-Temperatur setzen
- Bei Status
Home: HVAC-Modusheat - Bei anderen Status: HVAC-Modus
off
Bedingungen:
- Status wechselt von
AwayzuComing HomeoderHome
Aktion: HVAC-Modus auf heat setzen
Komfort-Temperatur aktivieren wenn:
- Scheduler ist enabled (
scheduler_enabled = trueoderscheduler_toggle = on) - Schedule ist aktiv (
schedule_entity = on) - Office-Override ist nicht aktiv oder nicht konfiguriert
- Trigger war:
schedule_change,scheduler_toggle_changeoderheating_toggle
Eco-Temperatur aktivieren wenn:
- Scheduler ist enabled
- Schedule ist nicht aktiv (
schedule_entity = off) - Selbe Trigger-Bedingungen wie oben
Ein besonderes Feature für Thermostaten, die im "Off"-Modus keine Temperaturen akzeptieren:
1. Aktuellen HVAC-Modus speichern
2. Falls "off": Temporär auf "heat" schalten
3. 2 Sekunden warten
4. Temperatur setzen
5. Falls vorher "off": Wieder auf "off" schaltenDies garantiert, dass Temperaturänderungen immer funktionieren!
- Kopiere den Inhalt von
heating_control.yaml - Gehe zu Einstellungen → Automationen & Szenen
- Klicke auf Blueprints → Blueprint importieren
- Füge die URL ein:
https://github.com/fabsss/heating_control/blob/main/heating_control.yaml
- Helper erstellen (siehe Voraussetzungen)
- Automation anlegen:
- Gehe zu Einstellungen → Automationen & Szenen
- Automation erstellen → Blueprint verwenden
- Wähle Heizungssteuerung (V4.21)
- Konfigurieren:
- Heizkörper auswählen
- Anwesenheitsstatus-Helper zuweisen
- Optional: Winter-Modus, Scheduler, etc. konfigurieren
- Speichern & Testen! 🎉
Heizkörper: climate.wohnzimmer_thermostat
Anwesenheitsstatus: input_select.flat_occupation_state
Eco-Temperatur: 17°C
Komfort-Temperatur: 21°CHeizkörper: climate.wohnzimmer_thermostat
Anwesenheitsstatus: input_select.flat_occupation_state
Scheduler aktivieren: ✓
Zeitplan: schedule.heating_schedule
Eco-Temperatur: 17°C
Komfort-Temperatur: 22°CHeizkörper: climate.buero_thermostat
Anwesenheitsstatus: input_select.flat_occupation_state
Heizung An/Aus: input_boolean.winter_mode
Scheduler aktivieren: ✓
Zeitplan: schedule.heating_schedule_office
Scheduler Toggle: input_boolean.scheduler_override
Office-Override: binary_sensor.office_day_template
Eco-Temperatur: 17°C
Komfort-Temperatur: 21°C
Nächtliche Eco-Zeit: 01:00:00Problem: Schedule-Entity wechselt, aber nichts passiert
Lösung:
- Prüfe, ob
scheduler_enabled = trueist - Stelle sicher, dass eine
schedule_entitykonfiguriert ist - Prüfe, ob
office_day_eco_overridedie Scheduler-Logik blockiert
Problem: Message malformed: ...
Lösung:
- Wenn "Scheduler aktivieren" =
true, muss eine Schedule-Entity gewählt werden - Die Automation zeigt eine persistente Benachrichtigung bei Fehlkonfiguration
Problem: TypeError: unhashable type: 'list'
Lösung: Dieses Blueprint verwendet trigger_variables und Template-Trigger zur sicheren Behandlung optionaler Entities. Stelle sicher, dass du die neueste Version (V4.21+) verwendest.
- ✅ Template-Trigger mit
trigger_variablesfür zuverlässiges Triggern - ✅ Smart Temperature Setting für Thermostaten
- ✅ Vollständige Unterstützung optionaler Entities mit
default: [] - ✅ Office-Override Feature
- ✅ Konfigurationsvalidierung mit Fehlerbenachrichtigungen
Dieses Repository enthält einen zweiten Blueprint zur Protokollierung von Thermostat-Änderungen: log_trv_actor_with_context.yaml
Erfasst manuelle Änderungen an Thermostaten und erstellt detaillierte Event-Logs:
- 📊 Setpoint-Änderungen: Protokolliert Temperaturänderungen
- 🎚️ HVAC-Mode-Änderungen: Erfasst Modusänderungen (heat, off, etc.)
- 👤 Actor-Tracking: Identifiziert welcher Benutzer die Änderung vorgenommen hat
- 🔗 Context-ID-Verknüpfung: Nutzt
context.idfür exakte Zuordnung
- Debugging: Verstehe warum und von wem dein Thermostat geändert wurde
- Analyse: Tracke manuelle Überschreibungen deiner Automationen
- Audit: Protokolliere alle Änderungen für spätere Auswertung
- Integration: Reagiere auf User-Änderungen mit eigenen Automationen
✅ Multi-Thermostat-Unterstützung: Überwache mehrere Thermostaten gleichzeitig
✅ Selektive Protokollierung: Wähle ob Setpoint, HVAC-Mode oder beides geloggt wird
✅ Filterbare HVAC-Modi: Definiere welche Modi relevant sind (z.B. nur "heat, off")
✅ Event-basiert: Erstellt thermostat_actor_logged Events für einfache Weiterverarbeitung
✅ Context-ID-Tracking: Präzise Zuordnung über state_context_id
| Eingabe | Beschreibung | Standard |
|---|---|---|
| Thermostat entities | Ein oder mehrere Climate-Entities | - |
| Setpoint-Änderungen protokollieren | Logge Temperaturänderungen | true |
| HVAC-Mode-Änderungen protokollieren | Logge Modusänderungen | true |
| Relevante HVAC-Modi | CSV-Liste der zu trackenden Modi | "heat, off" |
Das erstellte thermostat_actor_logged Event enthält:
entity_id: climate.wohnzimmer_thermostat
state_context_id: "abc123..." # Context-ID des State-Changes
state_last_changed: "2025-10-21T14:30:00"
old_setpoint: "20.0"
new_setpoint: "22.0"
old_hvac_mode: "heat"
new_hvac_mode: "heat"
setpoint_changed: true
hvac_mode_changed: false
change_types: ["setpoint"] # Liste: setpoint, hvac_mode
actor_type: "user"
actor_id: "abc123user" # User-ID aus context
actor_name: "Fabian" # Resolved von person entity
detection_method: "context_user"Du kannst auf diese Events reagieren:
trigger:
- platform: event
event_type: thermostat_actor_logged
event_data:
entity_id: climate.wohnzimmer_thermostat
setpoint_changed: true
action:
- service: notify.mobile_app
data:
message: >
{{ trigger.event.data.actor_name }} hat die Temperatur
von {{ trigger.event.data.old_setpoint }}°
auf {{ trigger.event.data.new_setpoint }}° geändert!Oder manuell über die URL:
https://github.com/fabsss/heating_control/blob/main/log_trv_actor_with_context.yaml
Fehler gefunden? Feature-Wunsch?
Dieses Blueprint ist unter der MIT-Lizenz veröffentlicht.
Gib dem Repository einen Stern auf GitHub! ⭐