blueprint.yaml aktualisiert

This commit is contained in:
nocci 2026-01-15 15:47:23 +01:00
parent ff1a4b8073
commit 29e995f436

View file

@ -17,11 +17,10 @@ blueprint:
domain: schedule domain: schedule
presence_entity: presence_entity:
name: Anwesenheit (optional) name: Anwesenheit (optional)
description: Optional - leer lassen für immer present. z.B. binary_sensor.presence description: Leer lassen für immer present
selector: selector:
entity: entity:
domain: binary_sensor domain: binary_sensor
multiple: false
default: {} default: {}
vacation_helper: vacation_helper:
name: Urlaubsmodus Helper name: Urlaubsmodus Helper
@ -37,16 +36,14 @@ blueprint:
domain: weather domain: weather
summer_temp_threshold: summer_temp_threshold:
name: Sommer-Schwellwert name: Sommer-Schwellwert
description: Wenn Vorhersage > X °C, Sommer-Modus (off)
default: 25 default: 25
selector: selector:
number: number:
min: 20 min: 18
max: 35 max: 50
step: 1 step: 1
winter_temp_threshold: winter_temp_threshold:
name: Winter-Schwellwert name: Winter-Schwellwert
description: Wenn Vorhersage < X °C, Winter-Modus (heat)
default: 10 default: 10
selector: selector:
number: number:
@ -54,7 +51,7 @@ blueprint:
max: 20 max: 20
step: 1 step: 1
eco_temp: eco_temp:
name: Eco Temp (Abwesenheit/Urlaub) name: Eco Temp
default: 15 default: 15
selector: selector:
number: number:
@ -62,7 +59,7 @@ blueprint:
max: 18 max: 18
step: 0.5 step: 0.5
comfort_temp: comfort_temp:
name: Komfort Temp (Schedule) name: Komfort Temp
default: 21 default: 21
selector: selector:
number: number:
@ -79,82 +76,27 @@ trigger:
entity_id: !input vacation_helper entity_id: !input vacation_helper
- platform: state - platform: state
entity_id: !input presence_entity entity_id: !input presence_entity
- platform: numeric_state - platform: state
entity_id: !input weather_entity entity_id: !input weather_entity
attribute: temperature
above: !input summer_temp_threshold
- platform: numeric_state
entity_id: !input weather_entity
attribute: temperature
below: !input winter_temp_threshold
condition: [] condition: []
action: action:
- variables: - variables:
weather_temp: "{{ state_attr(!input weather_entity, 'forecast')[0].temperature }}" we: "{{ states(''' + '''!input weather_entity) }}"
is_summer: "{{ weather_temp > !input summer_temp_threshold }}" wt: "{{ state_attr(we, 'forecast')[0].temperature if state_attr(we, 'forecast') and state_attr(we, 'forecast')|length > 0 else 0 }}"
is_winter: "{{ weather_temp < !input winter_temp_threshold }}" is_summer: "{{ wt | float(0) > [blueprint_input.summer_temp_threshold] | float(25) }}"
is_vacation: "{{ is_state(!input vacation_helper, 'on') }}" is_winter: "{{ wt | float(0) < [blueprint_input.winter_temp_threshold] | float(10) }}"
is_present: >- is_vacation: "{{ states(''' + '''!input vacation_helper) == 'on' }}"
{%- if !input presence_entity or !input presence_entity == '' -%} p: "{{ states(''' + '''!input presence_entity) }}"
true is_present: "{{ p == '' or p == 'unavailable' or p == 'on' }}"
{%- else -%} schedule_active: "{{ states(''' + '''!input schedule_entity) == 'on' }}"
{{ is_state(!input presence_entity, 'on') }}
{%- endif -%}
schedule_active: "{{ is_state(!input schedule_entity, 'on') }}"
- choose: - choose:
# Sommer-Modus
- conditions: - conditions:
- condition: template - "{{ is_summer }}"
value_template: "{{ is_summer }}"
sequence: sequence:
- service: climate.set_hvac_mode - service: climate.set_hvac_mode
target: target:
entity_id: !input better_thermostat_entity entity_id: !input better_thermostat_entity
data: data:
hvac_mode: "off" hvac_mode
# Urlaub
- conditions:
- condition: template
value_template: "{{ is_vacation }}"
sequence:
- service: better_thermostat.set_temp_target_temperature
target:
entity_id: !input better_thermostat_entity
data:
temp: !input eco_temp
# Abwesenheit Eco
- conditions:
- condition: template
value_template: "{{ not is_present and not is_vacation }}"
sequence:
- service: better_thermostat.set_temp_target_temperature
target:
entity_id: !input better_thermostat_entity
data:
temp: !input eco_temp
# Winter + Schedule Komfort
- conditions:
- condition: template
value_template: "{{ is_winter and schedule_active }}"
sequence:
- service: better_thermostat.set_temp_target_temperature
target:
entity_id: !input better_thermostat_entity
data:
temp: !input comfort_temp
# Default Winter heat
- conditions:
- condition: template
value_template: "{{ is_winter }}"
sequence:
- service: climate.set_hvac_mode
target:
entity_id: !input better_thermostat_entity
data:
hvac_mode: "heat"
default: []
mode: queued
max: 10