Kategorier
Home Assistant

YAML, skal vi lege sammen?

Home Assistants konfigurationsfiler bygger på YAML filer, som mange systemer efterhånden bruger til at skabe konfigurationer.

Du kan læse meget mere om YAML på Wikipedia.

Jeg vil i dette indlæg beskrive lidt om mine erfaringer med YAML, og forhåbentlig give dig lidt gode råd til at lege med det.

YAML i sig selv giver meget læsbare filer, der er let forståelig. Desværre kan det også betyde, at hvis man ikke arbejder korrekt med dem, at man får nogle ekstremt lange filer – og den vej i stedet mister overblikket pga. alt for mange linjer. Mere om det i et andet indlæg – altså hvordan du splitter dine konfigurationsfiler i Home Assistant op i flere filer og får skabt en god struktur.

I Home Assistant skal YAML filer altid have filendelsen .yaml, f.eks. guestbathroom.yaml.

1. Indtrykning
Det absolutte vigtigste i YAML filer er indrykning. Den skal sidde lige i skabet, og hvis den ikke gør, så er konfiguration ugyldig.

Indrykninger skal per definition være to mellemrum. Nogle editorer hjælper dig på vej med TAB-knappen, mens andre ved linjeskift gør det for dig, eller i hvert fald laver mellemrum til det niveau i koden du er på.

Nedenfor kan du se hvordan en korrekt indrykning er på en stump YAML kode, som jeg har i min konfiguration.

- alias: 'Gæstebadeværelse: Bevægelse registreres'
  trigger:
    platform: state
    entity_id: binary_sensor.guestbathroom_motion
    to: 'on'
  action:
    - service: light.turn_on
      entity_id: light.guestbathroom_light

2. Kommentarer i sine filer
En god ting, som jeg altid gør, når jeg koder, er altid at lave kommentarer der kort forklarer hvad den givne funktion, trigger o.lign. har til formål at gøre.

I min ovenstående kode så er det reelt håndteret via min alias, der fortæller, at der udføres noget når der sker bevægelse på vores gæstebadeværelse.

Men jeg har også andre kommentarer i mine filer, der indikere hvad filens formål er og hvilke typer konfigurationer, den indeholder – i det tilfælde lidt alla overskrifter. Det gør det nemt at søge i filen til specifikke områder og andet.

Kommentarer udføres med et # efterfulgt af kommentaren.

Et eksempel kunne være:

###################################
## GUEST BATHROOM AUTOMATIONS
###################################


###################################
## Motion Automations
###################################
- alias: 'Gæstebadeværelse: Bevægelse registreres'
  trigger:
    platform: state
    entity_id: binary_sensor.guestbathroom_motion
    to: 'on'
  action:
    - service: light.turn_on
      entity_id: light.guestbathroom_light

Generelt har jeg fundet ud af, at YAML i sig selv er meget simpelt og super nemt at bygge i.

Jeg håber, at indlægget har givet et lille indblik, så du ikke er så skræmt af at lege med det.

3 kommentarer til “YAML, skal vi lege sammen?”

Ved du hvordan kan det være at denne i min config fil kun skal have en (1) indrylning? når alle andre jeg laver har 2?

tuya:
username: !secret tuya_username
password: !secret tuya_password
country_code: 45
platform: tuya

nå , din kommetar boks sletter mellemrummet
men alt efter tuya: har kun et mellemrum

username: !secret tuya_username
password: !secret tuya_password
country_code: 45
platform: tuya

Hej René,

Nej, det har jeg ikke bud på. Det lyder meget underligt. Har du prøvet at slette linjerne og danne dem på ny ved at skrive dem?

Jeg tænker – kan der være et “skjult” tegn et sted, som måske driller?

/kef

Svar

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.