################################################## # Varme: Triggers der kalder script.varme_recalculate # Scenarierne der kræver genberegning: # - Morgen (06:30) - nat slut → komforttemp # - Aften (22:00) - 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 kl. 06:00 - sætter komforttemperaturer" trigger: - platform: time at: "06:00:00" action: - service: script.varme_recalculate - alias: "Varme - Genberegn: Nat" id: varme_recalc_nat description: "Starter natsænkning kl. 22:00" trigger: - platform: time at: "22:00:00" 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 - 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 kl. 06:00. trigger: - platform: time at: "06:00:00" 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