refactoring: use sections and use choose instead of if
This commit is contained in:
@@ -6,59 +6,77 @@ blueprint:
|
|||||||
domain: automation
|
domain: automation
|
||||||
author: Me
|
author: Me
|
||||||
input:
|
input:
|
||||||
radiator_entity:
|
radiator_section:
|
||||||
name: Thermostat
|
name: Radiator Konfiguration
|
||||||
description: Thermostat muss ein Bosch BTH-RA sein
|
description: Konfiguration für den Bosch BTH-RA Radiator
|
||||||
selector:
|
collapsed: false
|
||||||
entity:
|
input:
|
||||||
multiple: false
|
radiator_entity:
|
||||||
filter:
|
name: Thermostat
|
||||||
- domain: climate
|
description: Thermostat muss ein Bosch BTH-RA sein
|
||||||
window_sensor:
|
selector:
|
||||||
name: Fenster-/Türsensor (oder Gruppe)
|
device:
|
||||||
selector:
|
multiple: false
|
||||||
entity:
|
filter:
|
||||||
multiple: false
|
- domain: climate
|
||||||
filter:
|
- integration: MQTT
|
||||||
- domain: binary_sensor
|
- manufacturer: Bosch
|
||||||
window_delay_open:
|
- model_id: BTH-RA
|
||||||
name: Fenster-/Türsensor Verzögerung
|
window_section:
|
||||||
description: Zeit die das Fenster offen bleiben muss, um die den Radiator in den "Fenster offen"-Modus zu versetzen (Default = 30s)
|
name: Fenster-/Türsensor Konfiguration
|
||||||
default: 30
|
description: Konfiguration für den Fenster-/Türsensor.
|
||||||
selector:
|
collapsed: true
|
||||||
number:
|
input:
|
||||||
mode: box
|
window_sensor:
|
||||||
min: 0.0
|
name: Fenster-/Türsensor (oder Gruppe)
|
||||||
max: 3600.0
|
selector:
|
||||||
unit_of_measurement: seconds
|
entity:
|
||||||
step: 1.0
|
multiple: false
|
||||||
window_delay_close:
|
filter:
|
||||||
name: Fenster-/Türsensor Verzögerung
|
- domain: binary_sensor
|
||||||
description: Zeit die das Fenster geschlossen bleiben muss, um die den Radiator in den "Fenster geschlossen"-Modus zu versetzen (Default = 5s)
|
window_delay_open:
|
||||||
default: 5
|
name: Fenster-/Türsensor Verzögerung
|
||||||
selector:
|
description: Zeit die das Fenster offen bleiben muss, um die den Radiator in den "Fenster offen"-Modus zu versetzen (Default = 30s)
|
||||||
number:
|
default: 30
|
||||||
mode: box
|
selector:
|
||||||
min: 0.0
|
number:
|
||||||
max: 3600.0
|
mode: box
|
||||||
unit_of_measurement: seconds
|
min: 0.0
|
||||||
step: 1.0
|
max: 3600.0
|
||||||
temperature_sensor:
|
unit_of_measurement: seconds
|
||||||
name: Temperatursensor
|
step: 1.0
|
||||||
selector:
|
window_delay_close:
|
||||||
entity:
|
name: Fenster-/Türsensor Verzögerung
|
||||||
multiple: false
|
description: Zeit die das Fenster geschlossen bleiben muss, um die den Radiator in den "Fenster geschlossen"-Modus zu versetzen (Default = 5s)
|
||||||
filter:
|
default: 5
|
||||||
- domain: sensor
|
selector:
|
||||||
device_class: temperature
|
number:
|
||||||
radiator_schedules:
|
mode: box
|
||||||
name: Heizpläne
|
min: 0.0
|
||||||
description: Alle Heizpläne die für den Radiator berücksichtigt werden sollen
|
max: 3600.0
|
||||||
selector:
|
unit_of_measurement: seconds
|
||||||
entity:
|
step: 1.0
|
||||||
multiple: true
|
remaining_section:
|
||||||
filter:
|
name: Weitere Konfiguration
|
||||||
- domain: switch
|
description: Sonstige Konfigurationen für die Automation
|
||||||
|
collapesed: true
|
||||||
|
input:
|
||||||
|
temperature_sensor:
|
||||||
|
name: Temperatursensor
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
multiple: false
|
||||||
|
filter:
|
||||||
|
- domain: sensor
|
||||||
|
device_class: temperature
|
||||||
|
radiator_schedules:
|
||||||
|
name: Heizpläne
|
||||||
|
description: Alle Heizpläne die für den Radiator berücksichtigt werden sollen
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
multiple: true
|
||||||
|
filter:
|
||||||
|
- domain: switch
|
||||||
|
|
||||||
triggers:
|
triggers:
|
||||||
- trigger: state
|
- trigger: state
|
||||||
@@ -104,9 +122,8 @@ variables:
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{{ window_detection_entity_id.id }}
|
{{ window_detection_entity_id.id }}
|
||||||
current_temperature: !input temperature_sensor
|
current_temperature_entity_id: !input temperature_sensor
|
||||||
scheduled_temperature: >
|
scheduled_temperature: >
|
||||||
{% set schedules = ['switch.schedule_bed7e4', 'switch.schedule_28375d', 'switch.schedule_0cc5de'] %}
|
|
||||||
{% set ns = namespace(current_temperature = none) %}
|
{% set ns = namespace(current_temperature = none) %}
|
||||||
{% for schedule in schedules %}
|
{% for schedule in schedules %}
|
||||||
{% if states(schedule) == 'on' and state_attr(schedule, 'current_slot') is not none %}
|
{% if states(schedule) == 'on' and state_attr(schedule, 'current_slot') is not none %}
|
||||||
@@ -124,37 +141,38 @@ variables:
|
|||||||
{{ ns.current_temperature }}
|
{{ ns.current_temperature }}
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
- if:
|
- choose:
|
||||||
- condition: trigger
|
- conditions:
|
||||||
id:
|
- condition: trigger
|
||||||
- FENSTER_OPEN
|
id:
|
||||||
then:
|
- FENSTER_OPEN
|
||||||
- service: switch.turn_on
|
sequence:
|
||||||
target:
|
- service: switch.turn_on
|
||||||
entity_id: "{{ window_detection_entity }}"
|
target:
|
||||||
alias: Setze Fenster auf offen
|
entity_id: "{{ window_detection_entity }}"
|
||||||
- if:
|
alias: Setze Fenster auf offen
|
||||||
- condition: trigger
|
- conditions:
|
||||||
id:
|
- condition: trigger
|
||||||
- FENSTER_CLOSED
|
id:
|
||||||
then:
|
- FENSTER_CLOSED
|
||||||
- service: switch.turn_off
|
sequence:
|
||||||
target:
|
- service: switch.turn_off
|
||||||
entity_id: "{{ window_detection_entity }}"
|
target:
|
||||||
alias: Setze Fenster auf geschlossen
|
entity_id: "{{ window_detection_entity }}"
|
||||||
|
alias: Setze Fenster auf geschlossen
|
||||||
# temperature sensor sync
|
# temperature sensor sync
|
||||||
- if:
|
- choose:
|
||||||
- condition: trigger
|
- conditions:
|
||||||
id:
|
- condition: trigger
|
||||||
- FENSTER_OPEN
|
id:
|
||||||
- FENSTER_CLOSED
|
- FENSTER_OPEN
|
||||||
- SYNC_TEMPERATURE
|
- FENSTER_CLOSED
|
||||||
- TEMP_CHANGED
|
- SYNC_TEMPERATURE
|
||||||
then:
|
- TEMP_CHANGED
|
||||||
- service: number.set_value
|
sequence:
|
||||||
data:
|
- service: number.set_value
|
||||||
value: "{{ states(current_temperature) | float }}"
|
data:
|
||||||
target:
|
value: "{{ states(current_temperature_entity_id) | float }}"
|
||||||
entity_id: "{{ remote_temperature_entity }}"
|
target:
|
||||||
alias: Sync remote temperature sensor
|
entity_id: "{{ remote_temperature_entity }}"
|
||||||
alias: Synce Temperatur zum TRV
|
alias: Synce Temperatur zum TRV
|
||||||
Reference in New Issue
Block a user