SDM630 + ESPHome WiFi

A
dokładniej ??? nie rozumię co dalej ???

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:
^

zz
co teraz

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.

przykładowy “pusty” plik

esphome:
  name: aaa

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "1KEb9Bttt63YgJ18Emz1MunwHcZTwjLRHZvbaLS8Gd8="

ota:
  password: "2c1371932f0a4526e05301e2b65b5305"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Aaa Fallback Hotspot"
    password: "3G4b4V1eNfek"

captive_portal:


udało mi się to ogarnąć ale teraz co dalej ???
mam nowy system zainstalowany tzn tylko ESP zainstalowałem


gdzie teraz szukać ???
offilne czemu to jest ???

No to teraz ja nie rozumiem co masz na myśli?
Zainstalowałeś od nowa HA? tylko po to aby skompilować wsad do ESP?

popracuj nad wklejaniem tekstu na forum, obrazki są OK ale jako ilustracja
same screenshoty bez towarzyszącego im tekstu to dla nas wrzód na dupie…

“no matching network found”
oznacza, że źle skonfigurowałeś sobie YAMLa w ESPHome
podając niewłaściwe dane sieci

metody są 2

  1. w tym fragmencie
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

a wtedy


i
ESPHome_secrets_WiFi_credentials_2022-12-10_16-31

albo (metoda druga, jeśli masz mało urządzeń ESPHome to wystarczy)

wifi:
  ssid: "moje_SSID"
  password: "moje haslo do WiFi"

PS Jedyna sieć WiFi jaką widzi moduł ESP w tej chwili u Ciebie to sieć o SSID “Ewelina”.

@darek nadal używasz ESPHome do integracji z SDM630? Jakiej wersji ESPHome używasz? Wgrałem najnowszą wersję 2012.12.3 i niestety w logach pojawiają sie błędy, jest do tego issue - SDM meter modbus CRC errors · Issue #3912 · esphome/issues · GitHub.

U mnie jest stara wersja : ESPHome version 2022.5.1 ESP 8266

Użyj frameworka w tej wersji i będzie chodzić:

esp32:
  board: nodemcu-32s
  framework:
    type: arduino
    version: 2.0.6

Takie obejście opisane jest w issues.

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

Planuje kupić coś takiego:

Do wyboru są dwie wersje. Ktoś wie czym rożnic się wersja Tariff ?

Tariff: zliczanie , taryfa za energię dzień/noc, lub
od/do, co znaczy że licznik posiada taką funkcję.

Przy próbie przypisania drugiego podlicznika mam taki błąd"

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).

Złe wcięcia - za mało spacji w dodanym bloku.

Tak wiem dzięki zauważyłem. Mam już encje tylko kurde czemu pokazuje w taki sposób:
image
To nie jest smd120 tylko ten licznik 59.98zł 29% OFF|100A jednofazowy miernik 230V Din szyny licznik energii elektrycznej Kwh wielofunkcyjny licznik energii RS485 miernik Modbus RTU TAC1100| | - AliExpress

może dlatego takie jaja

To powinieneś go zintegrować na podstawie jego dokumentacji (listy rejestrów), a nie opierając się na integracji sprzętu innego producenta.

Podobno to klon SDM 120 dlatego próbuje w ten sposób.

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ć:

1 polubienie

No niestety ale tylko takie wartości czyta:
image
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ć?

  - platform: sdm_meter
    total_power:
      name: "SDM120d Total Power"
    frequency:
      name: "SDM120D Frequency"
    address: 2
    phase_a:
      active_power:
        name: "SDM120d Active Power"
      voltage:
        name: "SDM120d voltage"
      current:
        name: "Sdm120 Current"
    import_active_energy:
      name: "SDM120D Import Active Energy"
    export_active_energy:
      name: "SDM120D Export Active Energy"
    import_reactive_energy:
      name: "SDM120D Import Reactive Energy"
    export_reactive_energy:
      name: "SDM120D Export Reactive Energy"