YAML dla opornych

Na wstępie dziękuję dobrej-duszy-moderatorowi, który poprawił mój wpis dodając “…” przed treścią YAML i na jej zakończenie, co pozwoliło, się jej dobrze zformatować. :wink:

W podanym przykładzie jest dla mnie mniej więcej wszystko jasne. Kłopoty się zaczynają gdy próbuje dodać np. teraz jakiś przycisk monostabilny. Potrzebuję go do dwu celów:

  • sterowanie bramą garażową
  • wysyłanie magic_packet, aby obudziś poprzez LAN inną maszynę w sieci lokalnej.

Konfiguracja, którą zacytowałem działa, ale nie mam pojęcia np po co pusta wartość (klucz bez podanej wartości): wake_on_lan.

Wracając do momentary switch, to na dziś wyczaiłem, że są 3 rozwiązania (żadnego mi się nie udało wdrożyć).

  1. GitHub - twrecked/hass-momentary: Momentary Switch Component for Home Assistant
  2. Rozwiazania skryptowe
  3. Input Button - Home Assistant
  4. Button Card - Home Assistant (szopen wskazał w jednym z wątków o momentary-switch" Przycisk monostabilny - #2 przez szopen)

Opisy dla pkt.1 i 3 są dla mnie czarną magią. Próbuje odszukać jakiegoś tutoriala, jak to rozumieć, ale chyba czegoś takiego nie ma. Weźmy na tapetę pkt.3 jest tam przykład zastosowania:


trigger:
  - platform: state
    entity_id: input_button.my_button
action:
  - service: notify.frenck
    data:
      message: "My button has been pressed!"

Pytanie 1.
Czym jest “trigger” ?
Wg. pliku YAML, to jakiś klucz z listą (na razie na liście jest jedna pozycja). Klucz jest czytany przez HomeAssisnanta i sobie to jakoś interpretuje. Ale nie pasuje mi format tego klucza. Lista zawiera jedną pozycję o nazwie “platform”, która ma jak rozumuję nie tylko cechy wymienione poniżej (jedną cechę) “entity_id”, ale także swoją wartość “state”? Konstrukcja dziwna, bo ani to wartość skalarna/string, ani zmienna typu rekord, tylko taki miks tych dwu rodzajów zmiennych ? Czy tak to należy rozumieć?

Analogicznie klucz “action” ma na swojej liście jedną pozycję, klucz “service”, który ma zarówno wartość “notif.frenck”, jak i cechę “data”, która ma swoją cechę “message”.

Próbuję to zrozumieć, aby rozkminić, jak osiągnąć cel w postaci pola na moim “lovelance”, które jak nacisnę myszką (na komputerze), lub palcem (na telefonie), to mi się otworzy brama, lub wyśle “magic_packet” i uruchomi komputer.

Obecnie przycisk do otwierania bramy wykonałem dodąc (wyklikując) przycisk typu switch na Lovelance i dopisując do niego encję z odpowiedniego urządzenia Shelly-Uni.

Pytanie 2.

  • Czym jest w powyższym przykładzie klucz “trigger” (gdzie znajdę jakiś opis, jakiego rodzaju klucze mogę dodawać do tego YAML’a i co poszczególe klucze oznaczają? Istnieje taki spis?)
  • Czym “platform”
  • Czym “state” (jakie może przyjmować wartośc?)
  • itd…

Przykład jest ogólny, aby zadziałał u mnie muszę go dostosować. Nie ogarnę tego, jeśli nie zrozumie co jest czym. :wink:

Podsumowanie

Ten tekst zostanie ukryty