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