blueprint.yaml aktualisiert
This commit is contained in:
parent
ff1a4b8073
commit
29e995f436
1 changed files with 16 additions and 74 deletions
|
|
@ -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
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue