blueprint.yaml aktualisiert

This commit is contained in:
nocci 2026-01-15 15:56:08 +01:00
parent 7bfab3d132
commit 166577979a

View file

@ -1,6 +1,6 @@
blueprint: blueprint:
name: Better Thermostat Multi-Mode Controller name: Better Thermostat Multi-Mode Controller
description: Steuert Better Thermostat mit Sommer/Winter (Wetterbasiert), tägliche Schedule, Anwesenheit (optional) und Urlaubs-Button description: Steuert Better Thermostat mit Sommer/Winter (Wetterbasiert), Schedule, Anwesenheit (optional) und Urlaubs-Button
domain: automation domain: automation
input: input:
better_thermostat_entity: better_thermostat_entity:
@ -15,13 +15,6 @@ blueprint:
selector: selector:
entity: entity:
domain: schedule domain: schedule
presence_entity:
name: Anwesenheit (optional)
description: Leer lassen für immer anwesend
default: ""
selector:
entity:
domain: binary_sensor
vacation_helper: vacation_helper:
name: Urlaubsmodus Helper name: Urlaubsmodus Helper
description: input_boolean für Urlaub description: input_boolean für Urlaub
@ -35,17 +28,16 @@ blueprint:
entity: entity:
domain: weather domain: weather
summer_temp_threshold: summer_temp_threshold:
name: Sommer-Schwellwert name: Sommer-Schwellwert (°C)
description: Wenn Vorhersage über dieser Temp, Heizung aus description: Wenn Vorhersage über dieser Temp, Heizung aus
default: 25 default: 25
selector: selector:
number: number:
min: 16 min: 17
max: 50 max: 50
step: 1 step: 1
unit_of_measurement: "°C"
winter_temp_threshold: winter_temp_threshold:
name: Winter-Schwellwert name: Winter-Schwellwert (°C)
description: Wenn Vorhersage unter dieser Temp, Winter-Modus description: Wenn Vorhersage unter dieser Temp, Winter-Modus
default: 10 default: 10
selector: selector:
@ -53,9 +45,8 @@ blueprint:
min: 0 min: 0
max: 20 max: 20
step: 1 step: 1
unit_of_measurement: "°C"
eco_temp: eco_temp:
name: Eco Temperatur name: Eco Temperatur (°C)
description: Temperatur bei Abwesenheit/Urlaub description: Temperatur bei Abwesenheit/Urlaub
default: 15 default: 15
selector: selector:
@ -63,25 +54,21 @@ blueprint:
min: 10 min: 10
max: 18 max: 18
step: 0.5 step: 0.5
unit_of_measurement: "°C"
comfort_temp: comfort_temp:
name: Komfort Temperatur name: Komfort Temperatur (°C)
description: Temperatur wenn Schedule aktiv description: Temperatur wenn Schedule aktiv
default: 21 default: 20
selector: selector:
number: number:
min: 18 min: 18
max: 24 max: 24
step: 0.5 step: 0.5
unit_of_measurement: "°C"
trigger: trigger:
- platform: state - platform: state
entity_id: !input schedule_entity entity_id: !input schedule_entity
- platform: state - platform: state
entity_id: !input vacation_helper entity_id: !input vacation_helper
- platform: state
entity_id: !input presence_entity
- platform: state - platform: state
entity_id: !input weather_entity entity_id: !input weather_entity
- platform: time_pattern - platform: time_pattern
@ -94,7 +81,6 @@ action:
weather_entity: !input weather_entity weather_entity: !input weather_entity
schedule_entity: !input schedule_entity schedule_entity: !input schedule_entity
vacation_entity: !input vacation_helper vacation_entity: !input vacation_helper
presence_entity: !input presence_entity
summer_threshold: !input summer_temp_threshold summer_threshold: !input summer_temp_threshold
winter_threshold: !input winter_temp_threshold winter_threshold: !input winter_temp_threshold
eco_temperature: !input eco_temp eco_temperature: !input eco_temp
@ -106,8 +92,7 @@ action:
is_summer: "{{ weather_temp | float(15) > summer_threshold | float(25) }}" is_summer: "{{ weather_temp | float(15) > summer_threshold | float(25) }}"
is_winter: "{{ weather_temp | float(15) < winter_threshold | float(10) }}" is_winter: "{{ weather_temp | float(15) < winter_threshold | float(10) }}"
is_vacation: "{{ states(vacation_entity) == 'on' }}" is_vacation: "{{ states(vacation_entity) == 'on' }}"
presence_state: "{{ states(presence_entity) if presence_entity != '' else 'on' }}" is_present: true
is_present: "{{ presence_state in ['on', 'home', 'unknown', 'unavailable'] }}"
schedule_active: "{{ states(schedule_entity) == 'on' }}" schedule_active: "{{ states(schedule_entity) == 'on' }}"
- choose: - choose:
@ -138,26 +123,10 @@ action:
data: data:
temperature: "{{ eco_temperature }}" temperature: "{{ eco_temperature }}"
# Priorität 3: Abwesenheit (Eco) # Priorität 3: Winter + Schedule aktiv (Komfort)
- conditions: - conditions:
- condition: template - condition: template
value_template: "{{ not is_present and not is_vacation }}" value_template: "{{ is_winter and schedule_active }}"
sequence:
- service: climate.set_hvac_mode
target:
entity_id: !input better_thermostat_entity
data:
hvac_mode: "heat"
- service: climate.set_temperature
target:
entity_id: !input better_thermostat_entity
data:
temperature: "{{ eco_temperature }}"
# Priorität 4: Winter + Schedule aktiv (Komfort)
- conditions:
- condition: template
value_template: "{{ is_winter and schedule_active and is_present }}"
sequence: sequence:
- service: climate.set_hvac_mode - service: climate.set_hvac_mode
target: target:
@ -170,10 +139,10 @@ action:
data: data:
temperature: "{{ comfort_temperature }}" temperature: "{{ comfort_temperature }}"
# Priorität 5: Winter ohne Schedule (reduzierte Temp) # Priorität 4: Winter ohne Schedule (reduzierte Temp)
- conditions: - conditions:
- condition: template - condition: template
value_template: "{{ is_winter and not schedule_active and is_present }}" value_template: "{{ is_winter and not schedule_active }}"
sequence: sequence:
- service: climate.set_hvac_mode - service: climate.set_hvac_mode
target: target: