bluepring.yaml hinzugefügt
This commit is contained in:
commit
810f87a195
1 changed files with 158 additions and 0 deletions
158
bluepring.yaml
Normal file
158
bluepring.yaml
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
blueprint:
|
||||
name: Custom Better Thermostat Multi-Mode Controller
|
||||
description: Steuert Better Thermostat mit Sommer/Winter (Wetterbasiert), tägliche Schedule, Anwesenheit (optional) und Urlaubs-Button. Für Homematic IP + SHT31.
|
||||
domain: automation
|
||||
input:
|
||||
better_thermostat_entity:
|
||||
name: Better Thermostat Entity
|
||||
description: z.B. climate.wohnzimmer_bt
|
||||
selector:
|
||||
entity:
|
||||
domain: climate
|
||||
schedule_entity:
|
||||
name: Heizzeitplan Schedule
|
||||
description: z.B. schedule.heizzeitplan_wohnzimmer
|
||||
selector:
|
||||
entity:
|
||||
domain: schedule
|
||||
presence_entity:
|
||||
name: Anwesenheit
|
||||
description: Optional, z.B. binary_sensor.presence
|
||||
selector:
|
||||
entity:
|
||||
domain: binary_sensor
|
||||
vacation_helper:
|
||||
name: Urlaubsmodus Helper
|
||||
description: input_boolean.urlaub
|
||||
selector:
|
||||
entity:
|
||||
domain: input_boolean
|
||||
weather_entity:
|
||||
name: Wettervorhersage
|
||||
description: z.B. weather.openweathermap
|
||||
selector:
|
||||
entity:
|
||||
domain: weather
|
||||
summer_temp_threshold:
|
||||
name: Sommer-Schwellwert
|
||||
description: Wenn Vorhersage > X °C, Sommer-Modus (off)
|
||||
default: 25
|
||||
selector:
|
||||
number:
|
||||
min: 20
|
||||
max: 35
|
||||
step: 1
|
||||
winter_temp_threshold:
|
||||
name: Winter-Schwellwert
|
||||
description: Wenn Vorhersage < X °C, Winter-Modus (heat)
|
||||
default: 10
|
||||
selector:
|
||||
number:
|
||||
min: 0
|
||||
max: 20
|
||||
step: 1
|
||||
eco_temp:
|
||||
name: Eco Temp (Abwesenheit/Urlaub)
|
||||
default: 15
|
||||
selector:
|
||||
number:
|
||||
min: 10
|
||||
max: 18
|
||||
step: 0.5
|
||||
comfort_temp:
|
||||
name: Komfort Temp (Schedule)
|
||||
default: 21
|
||||
selector:
|
||||
number:
|
||||
min: 18
|
||||
max: 24
|
||||
step: 0.5
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: !input better_thermostat_entity
|
||||
- platform: state
|
||||
entity_id: !input schedule_entity
|
||||
- platform: state
|
||||
entity_id: !input vacation_helper
|
||||
- platform: state
|
||||
entity_id: !input presence_entity
|
||||
- platform: numeric_state
|
||||
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: []
|
||||
|
||||
action:
|
||||
- variables:
|
||||
weather_temp: "{{ state_attr(!input weather_entity, 'forecast')[0].temperature }}"
|
||||
is_summer: "{{ weather_temp > !input summer_temp_threshold }}"
|
||||
is_winter: "{{ weather_temp < !input winter_temp_threshold }}"
|
||||
is_vacation: "{{ is_state(!input vacation_helper, 'on') }}"
|
||||
is_present: >-
|
||||
{%- if !input presence_entity -%}
|
||||
true
|
||||
{%- else -%}
|
||||
{{ is_state(!input presence_entity, 'on') }}
|
||||
{%- endif -%}
|
||||
schedule_active: "{{ is_state(!input schedule_entity, 'on') }}"
|
||||
- choose:
|
||||
# Sommer-Modus
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ is_summer }}"
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
target:
|
||||
entity_id: !input better_thermostat_entity
|
||||
data:
|
||||
hvac_mode: "off"
|
||||
# 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