Nauka .YAML z czym to się je?

Witajcie.

Nie wiedziałem do jakiego działu wrzucic to pytanie więc dałem tutaj. :upside_down_face:
A chodzi zwyczajnie o miejsce gdzie można się uczyć “języka” Yaml.
Wiele czerpię wprost ze strony projektu esphome.io
Jest może jakieś inne miejsce / miejsca skąd można czerpać wiedzę na temat złożonych zadań i procesów?
Pozdrawiam

Tez bym sie chetnie dowiedzial o jakis fajnych tutorialach. Dodam moje 3 grosze:

  1. To nie jezyk programowania a format plików konfiguracyjnych dla skompilowanych programow. Takie xxx.ini z windows lub cos w ten desen.

  2. Są wytyczne ale szczegoly okresla tworca danej czesci kodu, wiec trzeba czytac dokumentacje danej czesci kodu.

I tyle wiem. Wiekszosc kodu pisza tworcy Esphome, wiec strona ktora wskazales jest sluszna do nauki, co dla mnie i tak niewiele wnosi, bo mnie to stracznie meczy pewno jak wielu ze nauka to taka dla mnie droga przez mękę.

Zauważyłem, w trakcie kompilacji, że wszystko zapisuje do plików o rozszerzeniu .cpp.o
/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Czyli tak jakby język C++.
No ja znam taką stronę i jak coś potrzebuję to na tej stronie szukam.
Może jednak istnieją jakieś inne źródła wiedzy o yaml

Zresztą na samym początku kompilacji w ESP Home kompilator mówi co robi. :slight_smile:

INFO ESPHome 2024.7.3
INFO Reading configuration /config/sterownik.yaml…
INFO Generating C++ source…
INFO Compiling app…

To nie tyle format plików konfiguracyjnych choć tu (np. w HA i ESPHome) do tego jest właśnie stosowany, tylko typowy język formalny i można go używać do zapisu dość dowolnych danych czy metadanych, niekoniecznie konfiguracji.

Nie tak jakby, tylko właśnie tak (w ESPHome) - interpreter tej konfiguracji w YAMLu generuje właśnie kod źródłowy w C++
A dopiero z niego są kompilowane obiekty *.o które są standardowo linkowane do exe’ka (czyli w tym wypadku raczej elf’a), a ten ostatecznie jest konwertowany w plik binarny gotowy do flashowania (dla MCU ESP i wielu innych jest to po prostu obraz partycji flasha wraz z zawartością).

Najważniejsze założenia YAMLa są choćby w tym bryku

a co do ESPHome to zawsze najlepiej zaczynać od oficjalnej dokumentacji, a gdy pomysły się kończą to… jest jeszcze parę innych miejsc (idę o zakład, że są podlinkowane na stronie z dokumentacją)

a tam dział na problemy (gdzie najpierw szukamy i czytamy, a dopiero potem ewentualnie piszemy)
przypominam, że warto zajrzeć w zamknięte, więc usuwamy is:open ze standardowego filtra i mamy to

a dla szukających inspiracji polecam

oraz
https://esphome.io/cookbook/
do tego jeszcze dochodzi oficjalne forum HA, Discord ESPHome i inne fora oraz wyszukiwarki w internecie

Online YAML Validator:

https://codebeautify.org/yaml-validator/cb4ffc8b

1 Like