Nie wiedziałem do jakiego działu wrzucic to pytanie więc dałem tutaj.
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:
To nie jezyk programowania a format plików konfiguracyjnych dla skompilowanych programow. Takie xxx.ini z windows lub cos w ten desen.
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.
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