Ich nutze die Heizkörperthermostate von Homematic IP und steuere alles über Home Assistant. Bisher habe ich jedoch die Steuerung für den Eco-Mode und Urlaubs-Modus nicht integriert gehabt. Daher habe ich mich mit dem Thema befasst und entsprechende Steuerung in Home Assistant integriert. Ich zeige euch hier meine verwendeten Komponenten und Automatisierungen.
Meine Heizungssteuerung
Unten seht ihr mein Panel für meine Heizungssteuerung. Ich habe für jeden Raum einen Stack angelegt und kann dort die Heizung steuern und mir aktuelle Werte anzeigen lassen. Unten rechts habe ich die Steuerung für Eco- und Urlaubs-Modus integriert. Darüber liegt der Hauptschalter für die Heizung.
Mittlerweile habe ich folgende Komponenten im Einsatz:
Helfer
Ich habe zwei zusätzliche Helfer angelegt um die Modi zu steuern. Diese Erstellt ihr unter Einstellungen > Geräte & Dienste > Helfer > + Helfer Erstellen und wählt als Typ Schalter aus. In meinem Beispiel heißen die Schalter
- Heizung_Eco
- Heizung_Urlaub
Die Namen könnt ihr frei anpassen, müsst sie aber in den Automatisierungen und Karten entsprechend übernehmen.
Neben den Schaltern, brauche wir noch eine Helfer für die Dauer es Eco-Modes und einen für das Enddatum des Urlaubs-Modus. Der erste Helfer ist vom Typ Nummer und der zweite vom Typ Datum und/oder Uhrzeit.
Cards
Für die Darstellung nutze ich zusätzlich numberbox-card, welches ihr zusätzlich installieren müsst.
type: vertical-stack
cards:
- type: entities
entities:
- entity: input_boolean.heizung_eco
name: Eco
- entity: input_number.ecomode
type: custom:numberbox-card
- type: entities
entities:
- entity: input_boolean.heizung_urlaub
- entity: input_datetime.vacationmode
Automatisierungen für Eco- und Urlaubs-Modus
Den größten Teil übernehmen Automatisierungen. Insgesamt sind acht Automatisierungen nötig um alles korrekt zu steuern.
Die erste Automatisierung erlaubt es den Eco-Mode über Home Assistant einzuschalten, die nachfolgende ist für das Abschalten zuständig.
alias: Homematic_Eco_On
description: "Turn On Eco-Mode by Switch"
trigger:
- platform: state
entity_id:
- input_boolean.heizung_eco
to: "on"
condition: []
action:
- service: homematicip_cloud.activate_eco_mode_with_duration
data:
duration: "{{ states('input_number.ecomode') | int(0) }}"
mode: single
alias: Homematic_Eco_Off
description: "Turn Off Eco Mode by Switch"
trigger:
- platform: state
entity_id:
- input_boolean.heizung_eco
to: "off"
condition: []
action:
- service: homematicip_cloud.deactivate_eco_mode
data: {}
mode: single
Die nächsten beiden Automatisierungen kümmern sich um den Status des Eco-Modes in Home Assistant, wenn dieser über die Cloud, also die Homematic App, gesetzt wird. Die letzte Automatisierung übernimmt auch das Umschalten eures Helfers in den Off Zustand. Ihr müsste eure Klima-Entity anpassen, ich nutze ihr mein Badezimmer (climate.badezimmer). Da ihr normalerweise alle eure Räume zusammen über die App steuert, ist es egal welchen Raum ihr zur Überwachung verwendet.
alias: Homematic_Eco_On_Cloud
description: "Turn Homematic Eco On by Cloud"
trigger:
- platform: state
entity_id:
- climate.badezimmer
attribute: preset_mode
to: eco
condition: []
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.heizung_eco
mode: single
alias: Homematic_Eco_Off_Cloud
description: "Turn Homematic Eco Off by Cloud"
trigger:
- platform: state
entity_id:
- climate.badezimmer
attribute: preset_mode
from: eco
condition: []
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.heizung_eco
mode: single
Nun kommen quasi die gleuchen Automatisierungen für den Urlaubs/Away-Modus. Zuerst wieder die Steuerung aus Home Assistant heraus.
alias: Heizung_Urlaub_On
description: "Turn on away mode by switch"
trigger:
- platform: state
entity_id:
- input_boolean.heizung_urlaub
to: "on"
condition: []
action:
- service: homematicip_cloud.activate_vacation
data:
endtime: "{{ states('input_datetime.vacationmode') }}"
temperature: 17
mode: single
alias: Heizung_Urlaub_Off
description: "Turn off away mode by switch"
trigger:
- platform: state
entity_id:
- input_boolean.heizung_urlaub
to: "off"
condition: []
action:
- service: homematicip_cloud.deactivate_vacation
data: {}
mode: single
Hier nun wieder für die Steuerung über die native App. Datum und Uhrzeit werden ebenfalls übernommen und in Home Assistant angezeigt.
alias: Vacation_Mode_On_Cloud
description: "Turn on away mode by cloud"
trigger:
- platform: state
entity_id:
- climate.badezimmer
attribute: preset_mode
to: away
condition: []
action:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.heizung_urlaub
- service: input_datetime.set_datetime
data:
datetime: "{{ states.climate.badezimmer.attributes.preset_end_time}}"
target:
entity_id: input_datetime.vacationmode
mode: single
alias: Vacation_Mode_Off_Cloud
description: "Turn off away mode by cloud"
trigger:
- platform: state
entity_id:
- climate.badezimmer
attribute: preset_mode
from: away
condition: []
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.heizung_urlaub
mode: single
Damit habt ihr alles nötige zusammen um beide Modi steuern zu können. Die verwendeten Buttons, Cards und Namen bleiben natürlich euch überlassen.
Dashbaord
Damit ihr einen Anhaltspunkt für ein Design habt, habe ich euch mal hier eine Karte reingepackt. Ich nutze zusätzlich noch Simple Thermostat, Card-Mod und Button-Card.
type: vertical-stack
cards:
- type: custom:simple-thermostat
entity: climate.schlafzimmer
layout:
mode:
icons: true
headings: false
names: true
step: row
header:
name: Schlafzimmer
icon: mdi:bed-king
hide:
state: true
control:
hvac:
heat:
name: Manuell
icon: mdi:radiator-off
auto:
name: Automatik
icon: mdi:calendar-clock
preset:
boost:
name: Boost
Zeitsteuerung:
name: Zeit
Always on:
name: Ein
Always off:
name: Aus
card_mod:
style: |
.mode-item.active.heat {
--heat-color: red;
}
- square: false
type: grid
cards:
- type: custom:button-card
entity: sensor.innen_schlafzimmer_temperatur
tap_action:
action: more-info
hold_action:
action: none
size: 50px
show_name: false
show_state: true
- type: custom:button-card
entity: sensor.innen_schlafzimmer_luftfeuchtigkeit
tap_action:
action: more-info
hold_action:
action: none
size: 50px
show_name: false
show_state: true
styles:
icon:
- color: |
[[[
if (entity.state < 60) return 'green';
if (entity.state >= 60 && entity.state < 70) return 'orange';
else return 'red';
]]]
- type: custom:button-card
entity: binary_sensor.fenster_und_turkontakt
tap_action:
action: none
hold_action:
action: none
size: 50px
show_name: false
show_state: true
state:
- value: "on"
icon: mdi:window-open-variant
color: orange
state_display: Offen
- value: "off"
icon: mdi:window-closed-variant
color: white
state_display: Zu
- type: custom:button-card
entity: sensor.heizkorperthermostat_sz_heating
tap_action:
action: more-info
hold_action:
action: none
size: 50px
show_name: false
show_state: true
- type: custom:button-card
entity: sensor.innen_schlafzimmer_kohlendioxid
size: 50px
show_name: false
show_state: true
styles:
icon:
- color: |
[[[
if (entity.state < 1000) return 'green';
if (entity.state >= 1000 && entity.state < 2000) return 'orange';
else return 'red';
]]]
columns: 5
Hiho, wollte nur DANKE sagen für die Mühe, Deine Erfahrungen und HowTo’s zu teilen – hat mir ein paar Ideen gebracht.
Ebenfalls danke!! Extrem schickes Panel und voll gut durchdacht. Ich bau das dann mal nach… 🙂
Viel dabei gelernt.
Danke
Karl
Sehr cool.
Was ich leider nicht verstehe:
Woher kommt diese notwendige Zeile / Befehl überhaupt?
– service: homematicip_cloud.activate_eco_mode_with_duration
Ist das ein Befehl aus dem Code der Homematic IP- Integration oder woher stammt das?
Bin absoluter Beginner, vielleicht kannst du mich aufklären?
Hi,
ja genau, der Befehl ist Bestandteil der Integration und somit HomematicIP Cloud spezifisch. Hier findest du weitere.
Grüße,
Björn
Hi Björn,
Bin auch SmartHome und Home Assistang Anfänger, das ist genau was ich suche.
Wie geht der Befehl wenn man das Homatic System nicht über Cloud, sondern über CCU3/Rasberrymatic steuert, also local.
Rasberrymatic und Homeassistant laufen auf 2 VMs über Proxmox auf einem NUC. Homeatic ist über HACS eingebunden.
Danke Reiner
Hallo Reiner,
die zugehörigen Befehle findest du auf GitHub.
Folgende sollte für dich interessant sein:
homematicip_local.disable_away_mode
homematicip_local.enable_away_mode_by_calendar
homematicip_local.enable_away_mode_by_duration
Du musst leider selber probieren, da ich die Cloud Variante nutze.
Grüße,
Björn
Danke, damit habe ich einen Startpunkt.
Hallo Björn,
ich würde meine Heizungssteuerung auch gern nach deinem Layout anlegen,
bin noch neu in Home Assistant, könntest du mal posten wie du das Layout für jeden Raum angelegt hast?
Grüße Chris
Hi Chris,
ich habe mal was ans Ende des Beitrags gepackt.
Grüße,
Björn