Din første automation

Din første automation

Nu begynder det sjove. Automationer er grunden til at vi gider alt det her. At lyset tænder når du kommer hjem. At varmen skruer ned når du går. At kaffemaskinen starter inden alarmen ringer.

Den første automation er altid lidt klodset. Det var min i hvert fald. Men når den virker, så forstår du pludselig pointen med det hele.

Sådan virker automationer

Alle automationer har tre dele:

  1. Trigger - Hvad starter automationen?
  2. Betingelser - Skal der tjekkes noget først? (valgfrit)
  3. Handling - Hvad skal der ske?

Tænk på det som: “Når X sker, og hvis Y er sandt, så gør Z.”

Eksempel: Lys ved solnedgang

Vi starter simpelt. Tænd lyset i stuen når solen går ned.

Via brugerfladen

  1. Gå til IndstillingerAutomatiseringer og scener
  2. Klik Opret automatisering
  3. Vælg Opret ny automatisering

Trigger:

  • Klik “Tilføj trigger”
  • Vælg “Sol”
  • Vælg “Solnedgang”
  • Offset: 0 minutter (eller -30 hvis du vil have det lidt før)

Handling:

  • Klik “Tilføj handling”
  • Vælg “Enhed”
  • Find din lampe
  • Vælg “Tænd”

Gem automationen og giv den et navn som “Tænd stuelys ved solnedgang”.

Via YAML

Foretrækker du at skrive det selv? Klik på de tre prikker øverst til højre og vælg “Rediger i YAML”:

alias: Tænd stuelys ved solnedgang
description: Tænder automatisk lyset når solen går ned
trigger:
  - platform: sun
    event: sunset
    offset: "00:00:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.stue_loft
mode: single

Udskift light.stue_loft med din egen lampes entity_id. Find den under Indstillinger → Enheder → din enhed.

Eksempel: Lys når bevægelse

Bevægelsessensorer er guld værd. Her er en automation der tænder lyset i gangen når der er bevægelse, men kun om natten.

alias: Lys i gang ved bevægelse (nat)
description: Tænder ganglys ved bevægelse efter kl. 22
trigger:
  - platform: state
    entity_id: binary_sensor.gang_bevaegelse
    to: "on"
condition:
  - condition: time
    after: "22:00:00"
    before: "07:00:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.gang
    data:
      brightness_pct: 20
  - delay:
      minutes: 2
  - service: light.turn_off
    target:
      entity_id: light.gang
mode: restart

Læg mærke til et par ting:

brightness_pct: 20 - Lyset tænder dæmpet. Perfekt til nattetid så du ikke bliver blændet.

delay + turn_off - Lyset slukker automatisk efter 2 minutter.

mode: restart - Hvis du bevæger dig igen inden de 2 minutter, starter timeren forfra. Ellers ville lyset slukke mens du stadig er i gangen.

Eksempel: Besked når vaskemaskinen er færdig

Den her har sparet mig for mange glemte vasketure. Kræver at du har en smart stikkontakt med strømmåling på vaskemaskinen.

alias: Vaskemaskine færdig
description: Send besked når vaskemaskinen er færdig
trigger:
  - platform: numeric_state
    entity_id: sensor.vaskemaskine_stromforbrug
    below: 5
    for:
      minutes: 3
condition:
  - condition: numeric_state
    entity_id: sensor.vaskemaskine_stromforbrug
    above: 0.5
action:
  - service: notify.mobile_app_min_telefon
    data:
      title: "Vaskemaskine"
      message: "Vasketøjet er færdigt!"
mode: single

Logikken: Når strømforbruget falder under 5W i 3 minutter, men stadig er over 0.5W (så vi ved den er tændt), så er den færdig med programmet.

Tips til gode automationer

Start simpelt

Min første automation var at tænde lyset. Ikke noget fancy. Først da det virkede, begyndte jeg at tilføje betingelser og flere handlinger.

Test grundigt

Brug “Kør” knappen til at teste handlingerne inden du venter på triggeren. Der er intet værre end at vente til solnedgang for at opdage at entity_id’et var forkert.

Brug beskrivende navne

“Automation 1” siger ingenting. “Tænd udendørslys ved solnedgang” fortæller præcis hvad den gør.

Overvej edge cases

Hvad hvis strømmen går? Hvad hvis nogen allerede har tændt lyset? Hvad hvis sensoren fejler? Gode automationer håndterer undtagelser.

Debugging

Noget virker ikke? Her er hvad jeg tjekker:

  1. Entity ID - Stavefejl er den hyppigste årsag
  2. Logs - Indstillinger → System → Logs
  3. Spor - Under automationen kan du se de seneste kørsler
  4. State - Tjek at enheden har den tilstand du forventer

Under Udviklerværktøjer → Tilstande kan du se alle dine entiteters aktuelle tilstand. Super nyttigt til debugging.

Næste skridt

Nu har du grundlaget. Herfra kan du:

Automationer er vanedannende. Du er advaret.