Compare commits

...

7 Commits

View File

@@ -24,6 +24,14 @@ blueprint:
filter: filter:
- domain: sensor - domain: sensor
device_class: temperature device_class: temperature
heating_period_switch:
name: Heizperiode Switch
description: Optional - Input Boolean der angibt ob Heizperiode aktiv ist. Wenn nicht gesetzt, ist die Heizperiode immer aktiv.
selector:
entity:
multiple: false
filter:
- domain: input_boolean
window_section: window_section:
name: Fenster-/Türsensor Konfiguration name: Fenster-/Türsensor Konfiguration
description: Konfiguration für den Fenster-/Türsensor. description: Konfiguration für den Fenster-/Türsensor.
@@ -80,7 +88,6 @@ blueprint:
alarm_control_panel: alarm_control_panel:
name: Alarm Control Panel name: Alarm Control Panel
description: Optional - Alarm Control Panel um Heizung abzusenken, wenn Alarm im Abwesendmodus ist description: Optional - Alarm Control Panel um Heizung abzusenken, wenn Alarm im Abwesendmodus ist
default: null
selector: selector:
entity: entity:
multiple: false multiple: false
@@ -101,9 +108,16 @@ blueprint:
variables: variables:
trv: !input trv trv: !input trv
temperature_sensor: !input temperature_sensor temperature_sensor: !input temperature_sensor
heating_period_switch: !input heating_period_switch
radiator_schedules: !input radiator_schedules radiator_schedules: !input radiator_schedules
away_temperature: !input away_temperature away_temperature: !input away_temperature
alarm_control_panel: !input alarm_control_panel alarm_control_panel: !input alarm_control_panel
is_heating_period: >
{% if heating_period_switch is none or heating_period_switch == '' %}
true
{% else %}
{{ is_state(heating_period_switch, 'on') }}
{% endif %}
remote_temperature_entity: > remote_temperature_entity: >
{% set entities = device_entities(device_id(trv)) %} {% set entities = device_entities(device_id(trv)) %}
{% set remote_temperature_entity_id = namespace(id='') %} {% set remote_temperature_entity_id = namespace(id='') %}
@@ -163,8 +177,8 @@ triggers:
for: !input window_delay_close for: !input window_delay_close
id: FENSTER_CLOSED id: FENSTER_CLOSED
- platform: time_pattern - platform: time_pattern
# Synce Temperatur alle 20 Minuten (Teiler von 60) # Synce Temperatur alle 5 Minuten (Teiler von 60)
minutes: "/20" minutes: "/5"
id: SYNC_TEMPERATURE id: SYNC_TEMPERATURE
- platform: state - platform: state
entity_id: !input temperature_sensor entity_id: !input temperature_sensor
@@ -178,8 +192,75 @@ triggers:
from: "armed_away" from: "armed_away"
to: "disarmed" to: "disarmed"
id: ALARM_DISARMED_AWAY id: ALARM_DISARMED_AWAY
- platform: state
entity_id: !input heating_period_switch
to: "on"
id: HEATING_PERIOD_ON
- platform: state
entity_id: !input heating_period_switch
to: "off"
id: HEATING_PERIOD_OFF
actions: actions:
- choose:
# Heizperiode Switch Aktionen
- conditions:
- condition: trigger
id:
- HEATING_PERIOD_ON
- HEATING_PERIOD_OFF
sequence:
- choose:
- conditions:
- condition: trigger
id:
- HEATING_PERIOD_ON
sequence:
- service: climate.set_hvac_mode
target:
entity_id: !input trv
data:
hvac_mode: "heat"
- if:
- condition: state
entity_id: !input window_sensor
state: "on"
then:
- service: switch.turn_on
target:
entity_id: "{{ window_detection_entity }}"
- if:
- condition: template
value_template: >
{{ target_temperature is not none and target_temperature | is_number }}
then:
- service: climate.set_temperature
target:
entity_id: !input trv
data:
temperature: "{{ target_temperature | float }}"
alias: Heizperiode aktiviert - Setze Modus auf heat, synchronisiere Fensterstatus und Solltemperatur
- conditions:
- condition: trigger
id:
- HEATING_PERIOD_OFF
sequence:
- service: switch.turn_off
target:
entity_id: "{{ window_detection_entity }}"
- service: climate.set_hvac_mode
target:
entity_id: !input trv
data:
hvac_mode: "off"
alias: Heizperiode deaktiviert - Setze Fenster geschlossen und Modus auf off
alias: Heizperiode Switch Änderung
alias: Heizperiode Switch Aktionen
# Alle bestehenden Aktionen nur ausführen wenn Heizperiode aktiv ist
- conditions:
- condition: template
value_template: "{{ is_heating_period }}"
sequence:
# setze Fenster auf offen/geschlossen # setze Fenster auf offen/geschlossen
- choose: - choose:
- conditions: - conditions:
@@ -271,3 +352,5 @@ actions:
temperature: "{{ target_temperature | float }}" temperature: "{{ target_temperature | float }}"
alias: Setze Solltemperatur basierend auf Alarm-Status alias: Setze Solltemperatur basierend auf Alarm-Status
alias: Solltemperatur setzen alias: Solltemperatur setzen
alias: Aktionen während Heizperiode
alias: Hauptsteuerung