Files
N22/include/automations/varme_styring.yaml
T

102 lines
3.4 KiB
YAML

##################################################
# Varme: Triggers der kalder script.varme_recalculate
# Scenarierne der kræver genberegning:
# - Morgen (input_datetime.varme_morgen_tid) - nat slut → komforttemp
# - Aften (input_datetime.varme_aften_tid) - nat start → natsænkning
# - Tilstedeværelse - hjemme/væk skifter
# - Ferietilstand - ferie til/fra
# - HA genstart - genopret korrekt temp
##################################################
- alias: "Varme - Genberegn: Morgen"
id: varme_recalc_morgen
description: "Slutter natsænkning - tidspunkt styret af input_datetime.varme_morgen_tid"
trigger:
- platform: time
at: input_datetime.varme_morgen_tid
action:
- service: script.varme_recalculate
- alias: "Varme - Genberegn: Nat"
id: varme_recalc_nat
description: "Starter natsænkning - tidspunkt styret af input_datetime.varme_aften_tid"
trigger:
- platform: time
at: input_datetime.varme_aften_tid
action:
- service: script.varme_recalculate
- alias: "Varme - Genberegn: Tilstedeværelse"
id: varme_recalc_presence
description: "Justerer temperaturer når family_presence ændres (hjemme/væk)"
trigger:
- platform: state
entity_id: binary_sensor.family_presence
action:
# Kort forsinkelse så person-sensorer er stabile
- delay: "00:01:00"
- service: script.varme_recalculate
- alias: "Varme - Genberegn: Ferie"
id: varme_recalc_vacation
description: "Skifter til ferie-/frosttemperatur når vacation_mode ændres"
trigger:
- platform: state
entity_id: input_boolean.vacation_mode
action:
- service: script.varme_recalculate
- alias: "Varme - Genberegn: HA genstart"
id: varme_recalc_ha_start
description: "Genopret korrekte temperaturer efter HA genstart"
trigger:
- platform: homeassistant
event: start
action:
# Vent til integrationer er loaded
- delay: "00:01:00"
- service: script.varme_recalculate
- alias: "Varme - Genberegn: Komforttemperatur ændret"
id: varme_recalc_komfort_changed
description: "Opdater varmeanlægget straks når en komforttemperatur justeres"
trigger:
- platform: state
entity_id:
- input_number.varme_komfort_andreas
- input_number.varme_komfort_daniel
- input_number.varme_komfort_sovevaerelse
- input_number.varme_komfort_kontor
- input_number.varme_komfort_gang
- input_number.varme_komfort_forgang
- input_number.varme_komfort_lille_bad
- input_number.varme_komfort_badevarelse
- input_number.varme_komfort_stue
action:
- service: script.varme_recalculate
- alias: "Varme - Ferieopvarmning: Start 2 dage før hjemkomst"
id: varme_ferie_forvarm
description: >
Slår vacation_mode fra 2 dage inden vacation_end så huset er
varmt ved hjemkomst. Kører dagligt ved morgen-tidspunktet.
trigger:
- platform: time
at: input_datetime.varme_morgen_tid
condition:
- condition: state
entity_id: input_boolean.vacation_mode
state: "on"
- condition: template
value_template: >
{% set end = states('input_datetime.vacation_end') %}
{% if end not in ['unknown', 'unavailable', ''] %}
{{ 0 < (as_timestamp(end) - as_timestamp(now())) < (2 * 86400) }}
{% else %}
false
{% endif %}
action:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.vacation_mode