Varme: vinduer trigger recalculate på åben+luk, script slukker aktivt ved åbent vindue
This commit is contained in:
@@ -2,14 +2,14 @@
|
|||||||
# Vindue-automationer (Aqara vinduesensorer)
|
# Vindue-automationer (Aqara vinduesensorer)
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
### Varme: Sluk varme når vindue åbnes, tænd igen når det lukkes
|
### Varme: Genberegn ved vindue-ændring (åbner og lukker)
|
||||||
### Rum-mapping: andreas, daniel, sovevaerelse, lille_bad
|
### Script slukker klimaenhed hvis vindue er åbent, tænder igen ved lukning
|
||||||
|
|
||||||
- alias: "Varme - sluk ved åbent vindue"
|
- alias: "Varme - vindue åbner eller lukker"
|
||||||
id: varme_sluk_ved_aabent_vindue
|
id: varme_vindue_trigger
|
||||||
description: "Slukker varme i rummet når vinduet åbnes og genstarter når det lukkes"
|
description: "Kalder varme_recalculate når et vindue eller terrassedøren skifter tilstand"
|
||||||
mode: parallel
|
mode: queued
|
||||||
max: 4
|
max: 3
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
@@ -17,25 +17,9 @@
|
|||||||
- binary_sensor.daniel_vindue
|
- binary_sensor.daniel_vindue
|
||||||
- binary_sensor.sovevaerelse_vindue
|
- binary_sensor.sovevaerelse_vindue
|
||||||
- binary_sensor.lille_bad_vindue
|
- binary_sensor.lille_bad_vindue
|
||||||
to: "on"
|
- binary_sensor.badevaerelse_vindue
|
||||||
|
- binary_sensor.terrassedor
|
||||||
action:
|
action:
|
||||||
- variables:
|
|
||||||
room_map:
|
|
||||||
binary_sensor.andreas_vindue: climate.andreas
|
|
||||||
binary_sensor.daniel_vindue: climate.daniel
|
|
||||||
binary_sensor.sovevaerelse_vindue: climate.sovev_prelse
|
|
||||||
binary_sensor.lille_bad_vindue: climate.lille_bad
|
|
||||||
climate_entity: "{{ room_map[trigger.entity_id] }}"
|
|
||||||
window_entity: "{{ trigger.entity_id }}"
|
|
||||||
- service: climate.set_hvac_mode
|
|
||||||
target:
|
|
||||||
entity_id: "{{ climate_entity }}"
|
|
||||||
data:
|
|
||||||
hvac_mode: "off"
|
|
||||||
- wait_template: "{{ is_state(window_entity, 'off') }}"
|
|
||||||
timeout: "04:00:00"
|
|
||||||
continue_on_timeout: true
|
|
||||||
# Genberegn korrekt temperatur (nat/væk/komfort) efter vindue lukkes
|
|
||||||
- service: script.varme_recalculate
|
- service: script.varme_recalculate
|
||||||
|
|
||||||
### Notifikation: Vindue åbner og ingen er hjemme
|
### Notifikation: Vindue åbner og ingen er hjemme
|
||||||
|
|||||||
@@ -59,6 +59,12 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.andreas
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|
||||||
# ---- Daniel (vindue: binary_sensor.daniel_vindue) ----
|
# ---- Daniel (vindue: binary_sensor.daniel_vindue) ----
|
||||||
- if:
|
- if:
|
||||||
@@ -76,6 +82,12 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.daniel
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|
||||||
# ---- Soveværelse (vindue: binary_sensor.sovevaerelse_vindue) ----
|
# ---- Soveværelse (vindue: binary_sensor.sovevaerelse_vindue) ----
|
||||||
- if:
|
- if:
|
||||||
@@ -93,6 +105,12 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.sovev_prelse
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|
||||||
# ---- Kontor (ingen vinduesensor) ----
|
# ---- Kontor (ingen vinduesensor) ----
|
||||||
- service: climate.set_temperature
|
- service: climate.set_temperature
|
||||||
@@ -149,6 +167,12 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.lille_bad
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|
||||||
# ---- Badeværelse – Danfoss Ally (vindue: binary_sensor.badevaerelse_vindue) ----
|
# ---- Badeværelse – Danfoss Ally (vindue: binary_sensor.badevaerelse_vindue) ----
|
||||||
- if:
|
- if:
|
||||||
@@ -167,6 +191,12 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.badevarelse
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|
||||||
# ---- Stue – Danfoss Ally (vindue: binary_sensor.terrassedor) ----
|
# ---- Stue – Danfoss Ally (vindue: binary_sensor.terrassedor) ----
|
||||||
- if:
|
- if:
|
||||||
@@ -185,3 +215,9 @@ varme_recalculate:
|
|||||||
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
{% elif not home %} {{ [k - vaek_sænk, 15] | max }}
|
||||||
{% else %} {{ k }}
|
{% else %} {{ k }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
else:
|
||||||
|
- service: climate.set_hvac_mode
|
||||||
|
target:
|
||||||
|
entity_id: climate.stue
|
||||||
|
data:
|
||||||
|
hvac_mode: "off"
|
||||||
|
|||||||
Reference in New Issue
Block a user