Initial Yaml Code
This commit is contained in:
parent
8b923fe64e
commit
7ef3c1d9e2
147
heizung.yaml
Normal file
147
heizung.yaml
Normal file
@ -0,0 +1,147 @@
|
||||
blueprint:
|
||||
name: GW18 Raumtemperatursteuerung mit Zeitplan, Fenstern, Türen & Partymodus
|
||||
description: >
|
||||
Steuert ein Thermostat basierend auf Zeitplan (Tag/Nacht),
|
||||
Partymodus, offenen Fenstern oder geöffneten Innentüren.
|
||||
Wenn Partymodus aktiv ist, haben Fenster und Türen keine Relevanz.
|
||||
domain: automation
|
||||
input:
|
||||
thermostat:
|
||||
name: Thermostat
|
||||
description: Das zu steuernde Thermostat
|
||||
selector:
|
||||
entity:
|
||||
domain: climate
|
||||
|
||||
temp_day:
|
||||
name: Zieltemperatur Tag
|
||||
selector:
|
||||
entity:
|
||||
domain: input_number
|
||||
|
||||
temp_night:
|
||||
name: Zieltemperatur Nacht
|
||||
selector:
|
||||
entity:
|
||||
domain: input_number
|
||||
|
||||
temp_party:
|
||||
name: Zieltemperatur Party
|
||||
selector:
|
||||
entity:
|
||||
domain: input_number
|
||||
|
||||
temp_window:
|
||||
name: Zieltemperatur Fenster auf
|
||||
selector:
|
||||
entity:
|
||||
domain: input_number
|
||||
|
||||
temp_doors:
|
||||
name: Zieltemperatur Innentüren auf
|
||||
selector:
|
||||
entity:
|
||||
domain: input_number
|
||||
|
||||
party_mode:
|
||||
name: Partymodus (input_boolean)
|
||||
selector:
|
||||
entity:
|
||||
domain: input_boolean
|
||||
|
||||
schedule_daynight:
|
||||
name: Zeitplanhelfer (Schedule)
|
||||
description: Liefert true für Tag, false für Nacht
|
||||
selector:
|
||||
entity:
|
||||
domain: schedule
|
||||
|
||||
window_sensor:
|
||||
name: Fensterstatus (binary_sensor)
|
||||
description: ON = Fenster offen
|
||||
selector:
|
||||
entity:
|
||||
domain: binary_sensor
|
||||
|
||||
door_sensor:
|
||||
name: Türstatus (binary_sensor)
|
||||
description: ON = Tür offen
|
||||
selector:
|
||||
entity:
|
||||
domain: binary_sensor
|
||||
|
||||
mode: single
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: !input window_sensor
|
||||
- platform: state
|
||||
entity_id: !input door_sensor
|
||||
- platform: state
|
||||
entity_id: !input party_mode
|
||||
- platform: state
|
||||
entity_id: !input schedule_daynight
|
||||
- platform: state
|
||||
entity_id:
|
||||
- !input temp_day
|
||||
- !input temp_night
|
||||
- !input temp_party
|
||||
- !input temp_window
|
||||
- !input temp_doors
|
||||
|
||||
action:
|
||||
- variables:
|
||||
is_window_open: "{{ is_state(input.window_sensor, 'on') }}"
|
||||
is_door_open: "{{ is_state(input.door_sensor, 'on') }}"
|
||||
is_day: "{{ is_state(input.schedule_daynight, 'on') }}"
|
||||
is_party: "{{ is_state(input.party_mode, 'on') }}"
|
||||
|
||||
t_day: "{{ states(input.temp_day) | float }}"
|
||||
t_night: "{{ states(input.temp_night) | float }}"
|
||||
t_party: "{{ states(input.temp_party) | float }}"
|
||||
t_window: "{{ states(input.temp_window) | float }}"
|
||||
t_doors: "{{ states(input.temp_doors) | float }}"
|
||||
|
||||
- choose:
|
||||
# 1️⃣ Party-Modus → höchste Priorität
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ is_party }}"
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
target:
|
||||
entity_id: !input thermostat
|
||||
data:
|
||||
temperature: "{{ t_party }}"
|
||||
|
||||
# 2️⃣ Fenster offen
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ is_window_open }}"
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
target:
|
||||
entity_id: !input thermostat
|
||||
data:
|
||||
temperature: "{{ t_window }}"
|
||||
|
||||
# 3️⃣ Innentüren offen
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ is_door_open }}"
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
target:
|
||||
entity_id: !input thermostat
|
||||
data:
|
||||
temperature: "{{ t_doors }}"
|
||||
|
||||
# 4️⃣ Standard Tag/Nacht Steuerung
|
||||
- conditions: []
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
target:
|
||||
entity_id: !input thermostat
|
||||
data:
|
||||
temperature: "{{ t_day if is_day else t_night }}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user