102 lines
3.4 KiB
YAML
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
|