Heizung An- / Aus
Wenn der Status eines Switches wechselt wird das Thermostat an- oder ausgeschaltet.
Beim Wechsel nach Aus innerhalb des Komfort Zeitplanes wird die aktuelle Temperatur in die Komfort Temperatur Entität geschrieben.
Alle nötigen Stati und Entitäten werden im Variablen Block gesetzt, damit bleibt die Sequence schön kurz.
Code:
alias: Heizung An / Aus
description: ""
trigger:
- platform: state
entity_id:
- input_boolean.heizung_buero_on_off
- input_boolean.heizung_wc_on_off
- ...
id: HeizungAN
to: "on"
- platform: state
entity_id:
- input_boolean.heizung_buero_on_off
- input_boolean.heizung_wc_on_off
- ...
id: HeizungAUS
to: "off"
condition:
- condition: state
entity_id: input_boolean.urlaub
state: "off"
action:
- variables:
room: "{{ trigger.entity_id.split('_')[2] }}"
device: "{{ 'climate.thermostat_' + room }}"
comfort: "{{ 'input_number.thermostat_' + room + '_comfort' }}"
eco: "{{ 'input_number.thermostat_' + room + '_eco' }}"
device_temp: "{{ state_attr( device, 'temperature') }}"
eco_temp: "{{ states(eco) }}"
comfort_temp: "{{ states(comfort) }}"
scheduler: "{{ 'schedule.heizung_' + room + '_eco' }}"
scheduler_state: "{{ states(scheduler) | bool }}"
scheduler_switch: "{{ states('input_boolean.heizung_' + room + '_zeitplan') | bool }}"
- choose:
- conditions:
- condition: trigger
id: HeizungAUS
sequence:
- if:
- "{{ scheduler_state }}"
then:
- service: climate.set_temperature
data:
temperature: "5"
target:
entity_id: "{{ device }}"
else:
- service: input_number.set_value
data_template:
value: "{{ device_temp }}"
target:
entity_id: "{{ comfort }}"
- service: climate.set_temperature
data:
temperature: "5"
target:
entity_id: "{{ device }}"
- conditions:
- condition: trigger
id: HeizungAN
sequence:
- if:
- "{{ scheduler_state }}"
then:
- service: climate.set_temperature
data:
temperature: "{{ eco_temp }}"
target:
entity_id: "{{ device }}"
else:
- service: climate.set_temperature
data:
temperature: "{{ comfort_temp }}"
target:
entity_id: "{{ device }}"
mode: parallel
max: 20