INFO Reading configuration /config/esphome/22sdm630.yaml…
ERROR Error while reading config: Invalid YAML syntax:
while parsing a block mapping
in “/config/esphome/22sdm630.yaml”, line 1, column 1:
esphome:
^
expected , but found ‘’
in “/config/esphome/22sdm630.yaml”, line 23, column 3:
ap:
^
Jedziesz zgodnie z dokumentacją każdego komponentu
No jak na razie genialnie, ale musisz opanować wklejanie nierozwalonego tekstu na forum (podpowiedź powyżej + tam gdzie poprawiłem czytelność twojego kodu możesz podejrzeć czego dodatkowo wymaga publikowanie w postach - linijek z trzema apostrofami odwrotnymi tj. tymi spod klawisza tyldy przed i po wklejce).
Jeszcze jedno - komunikaty lintera (walidatora) czasem wprowadzają w błąd, to jest tylko bezmyślna kontrola składni, jeśli błędów jest dużo to czasem błędnie wskazywane są miejsca gdzie jest OK.
PS chyba zrozumiałem jak sobie zniszczyłeś kod - podejrzewam, że nawstawiałeś spacji by zlikwidować czerwony wężyk w edtorze (on też ma uproszczoną kontrolę składni), ale nie tędy droga.
Zbędne spacje masz np. przed sensor: czy przed uart:, ale problemów z wcięciami jest tam chyba za dużo by je wyłapać “na oko”, jeśli przygotujesz na jutro poprawiony plik na tyle na ile dasz radę (o ile nie uda się poprawić go w całości, ja jednak wierzę, że się uda) to spróbuję go ogarnąć.
Każdy blok funkcjonalny zaczyna się od słowa bez spacji (nie wiem czy to ująłem zrozumiale), najlepiej wygenerować sobie w IDE ESPHome “pusty” plik dedykowany dla konkretnej płytki i dopiero w nim dopisywać własny kod.
W ten sposób chyba najłatwiej poznasz zasady wcięć w YAMLu.
Przy okazji: licznik w trakcie testów, podłączony do jednej fazy, trochę mnie zastanawia dlaczego przy malym obciążeniu, licznik pokazuje zerowy przepływ prądu a tym samym zerowy pobor mocy.
Hej, a może ktoś podrzucić przykład lub odesłać do innego tematu jak podłączyć kilka liczników (tak jak rysunek na początku posta)? Pozdrawiam! I z góry dzięki!
No właśnie tak, jak na tym obrazku, A do A, B do B od jednego do drugiego a na końcu linii terminator (chyba, że masz wszystko bardzo blisko razem to nie jest potrzebny).
przykładowa dokumentacja
przykładowy YAML dla wielu liczników
# Example configuration entry
uart:
rx_pin: D1
tx_pin: D2
baud_rate: 9600 #if your energy meter is SDM230M or SDM120M than change the baud_rate: 2400
stop_bits: 1
sensor:
- platform: sdm_meter
total_power:
name: "SDM230M Total Power licznik 1"
update_interval: 60s
address: 1
- platform: sdm_meter
total_power:
name: "SDM230M Total Power licznik 2"
update_interval: 60s
address: 2
- platform: sdm_meter
total_power:
name: "SDM230M Total Power licznik N"
update_interval: 60s
address: n
Nie ma szans na jakąkolwiek diagnostykę jeśli nie publikujesz YAMLa w całości, najlepiej by było gdybyś wkleił wersję działającą i tą po zmianach.
To najwyraźniej błąd składniowy, gdzieś w pliku, linter niepoprawnie go rozpoznał w 1 linii, ale błąd jest w innym miejscu, prawdopodobnie pochodzi od czegoś co dodałeś dalej - ta setna linia jest prawdopodobną okolicą realnego błędu (ale mówię: okolicą - błędy mogą być wcześniej lub później).
Nie chce mi się szukać dokumentacji, ale w takim razie sprawdź jakie rejestry ma SDM-120 a jakie ten licznik, który się tak ładnie zintegrował (SDM-72D?) - ściągnij sobie dokumentacje do obu i porównaj,
w razie Niemca tam masz opis jak się ogarniać:
No niestety ale tylko takie wartości czyta:
Tam gdzie wartość jest 0 to nie działa. I teraz jest 2 możliwości albo licznik zrypany. Albo nie da się w ten sposób odczytać?