Licznik energii dwukierunkowy VCX DTS-1946 + ESPHome + Home Asistant

powodem tego, że nie chcą się razem uruchomić może być użycie pinu D8, trzeba by spróbować z innym.

Na innych z tego co pamiętam nie chciało działać. Ale sprawdzę jak będę miał czas

Największa wada rozwiązania opartego na zliczaniu impulsów to konieczność kalibracji wartości początkowej przy każdych problemach z rozwiązaniem, np. zawieszenie, wyłączenie, itd.
W przypadku Modbusa poprostu odczytujesz wartości z licznika.

Tak zgadzam się. Ale jak wrzucasz to do energy panel to nie robi różnicy czy pokrywa się z odczytem

VCX sobie bardzo dobrze działa, wreszcie kompletna zakładka energia w HA :slight_smile:
Zastanawiam się czy nie założyć drugiego zaraz za Sofarem, bo integracja zczytujaca dane z Sofara czasem pobiera przekłamane dane. Ale to wina loggera w Sofarze i chińczyków a nie integracji.

Chciałbym zbudować taki pomiar. Czy masz może schemat połączeń i model tego konwertera UART? D1 mini mam. Będę wdzięczny za pomoc.

moduł MODUŁ KONWERTER UART TTL DO RS485 CIA00485T - Sklep, Opinie, Cena w Allegro.pl

podłaczenie zgodne z opisem
Modbus Controller — ESPHome

UWAGA

If you are using an ESP8266, serial logging may cause problems reading from UART. For best results, hardware serial is recommended. Software serial may not be able to read all received data if other components spend a lot of time in the loop().

For hardware serial only a limited set of pins can be used. Either tx_pin: GPIO1 and rx_pin: GPIO3 or tx_pin: GPIO15 and rx_pin: GPIO13.

Przeczytaj dokumentację techniczną ESP8266 - niezależnie od tego które piny użyjesz, to wciąż jest ten sam UART0, więc musisz wyłączyć logger i to załatwi sprawę.

Poprawiłem wsad ESP Home bo znalazłem drobne błędy jednostkach i zmieniłem pin z D8 na D6 teraz nie powinno być problemu ze wstaniem po zaniku zasilania

Witaj
Dziękuję za informację.
Pozdrawiam, Krzysztof.

W poście 11, bo on jest zaznaczony jako rozwiązanie.

Witam wszystkich

Zakupiłem taki sam licznik i niestety nie mogę go za chiny skomunikować. Wgrałem konfugurację do ESPhome działającym na ESP-WROOM-32. Nóżki do komunikacji wybrałem na pinach 23 i 19. Posiadam dwa konwertery dla modbusa. Jeden taki jak w tym temacie podpięty do ESP32 i jeden konwerter na USB. Próbowałem z tym na usb podpiąć pod oryginalny program testowy i nawet na nim nie udało mi się otrzymać danych. Sam licznik skonfigurowałem zgodnie z instrukcją na adres nr 2 protokół “DATA E.8.1". Mam w domu sterownik PLC wago i on też działa na komunikacji Modbus ale TCP. tam wszystko mi śmiga a z tym licznikiem nie mogę dać rady. Bardzo bym prosił o pomoc. Poniżej załączam program z z jednym skonfigurowanym adresem:

esphome:
  name: modbusbridge
  platform: ESP32
  board: esp32dev

# Enable logging
logger:
    level: DEBUG

# Enable Home Assistant API
api:

ota:
  password: "xxx"

wifi:
  ssid: "xxx"
  password: "xxx"

  # Enable fallback hotspot (captive portal) in case wifi connection fails

captive_portal:

uart:
  id: mod_bus
  tx_pin: 19
  rx_pin: 23
  baud_rate: 9600
  stop_bits: 1

modbus:
  #flow_control_pin: 23
  send_wait_time: 200ms
  id: mod_bus_vcx

modbus_controller:
  - id: vcx
    ## the Modbus device addr
    address: 0x0
    modbus_id: mod_bus_vcx
    command_throttle: 100ms
    setup_priority: -10
    update_interval: 1s



sensor:
  - platform: modbus_controller
    id: faza_l1_napiecie
    name: "Faza L1 napięcie"
    state_class: measurement
    register_type: read
    address: 0x0001
    unit_of_measurement: "V"
    value_type: S_WORD
    accuracy_decimals: 2
#    skip_updates: 60
    filters:
      - multiply: 0.1
 

Przykładowe błędy z logu ESPHOME:
[17:16:53][W][modbus:096]: Modbus CRC Check failed! 73!=01
[17:16:53][W][modbus_controller:105]: Duplicate modbus command found

Podajesz adres urządzenia “0x0” a piszesz, że “sam licznik skonfigurowałem zgodnie z instrukcją na adres nr 2” czyli jak ma działać :wink:

Podaj, co jest w tych liniach kodu, linia 96 i linia 105.

Przepraszam za przeoczenie. Wkleiłem ostatnią wersję pliku. Testowałem różne adresy by wykluczyć konflikt z drugim urządzeniem podłączonym po tcp. Testowałem adres 0, 1, 2. Bez róznicy.

[18:16:53][W][modbus:096]: Modbus CRC Check failed! E882!=01
[18:16:53][W][modbus:096]: Modbus CRC Check failed! 83!=01
[18:16:53][W][modbus_controller:105]: Duplicate modbus command found

Co do samego kodu to nie ma on nawet 60 linijek

modbus_controller:
  - id: vcx
    ## the Modbus device addr
    address: 0x2
    modbus_id: mod_bus_vcx
    command_throttle: 100ms
    setup_priority: -10
    update_interval: 1s

@Szenszi a napewno masz dobrze podłączone TX i RX? Przypadkiem nie jest na odwrót?

Tutaj większej filozofii przy podłączeniu nie ma, musi działać - odczytujesz parametry transmisji z licznika i takie ustawiasz w programie testowym. Jak tego nie ogarniesz to nie ma sensu próbować z ESPHome.

Co do Tx i RX w celach testowych już je zamieniałem. Nie byłem pewien co do zasilenia konwertera. Początkowo zasiliłem go z pinu 3.3 V potem na 5V ale i tak nic z tego.
Co do programu testowego z konwerterem na USB. Ustawiłem parametry transmisji szeregowej oraz wirtualny port com dla konwertera. Na dole parametry które się ustawia w liczniku. No i nic nie wyświetlało download upload dawał błędy. Czy ten licznik by działał musi być podpięty do lini z rezystorem na końcu? Esp jak i konwerter są podpięte bezpośrednio A do A; B do B. Może do celów podpięcia pod esp trzeba coś zmienić w ustawieniach samego licznika inaczej niż w instrukcji?

Nie, nie musi. Tak jak pisałem wyżej, wg mnie analiza problemów z ESPHome (gdzie po drodze jest jeszcze konwerter) nie ma sensu jeżeli nie działa komunikacja licznika z konwerterem USB na Modbus, no chyba że konwerter USB jest uszkodzony.
Wszystko co mam na Modbusie najpierw podłączałem i testowałem właśnie przez taki konwerter USB (w celu wykluczenia problemow z tym konwerterem, mam drugi podobny) i nigdy nie napotkałem problemów w komunikacji.

P.S. Takie “głupie” pytanie: licznik oczywiście jest prawidłowo podłączony do sieci elektrycznej przy próbie komunikacji Modbus i wyświetla prawidłowe parametry sieci na wyświetlaczu?

A jaki program można użyć do testów? Ja używam ten co jest na stronie producenta. Jeszcze jedno. Dla pewności zasilanie dla konwertera powinno być ustawione na 3.3 czy 5V?
Co prawda nie mam drugiego konwertera modbus na USB ale podpiąłem ten z modbus na uart i potem to do Uart na usb. Niestety to samo. Co mnie dziwi to to że po podpięciu konwertera modbus na uart nie miga żadna dioda a chyba transmisja z licznika powinna być ciągła?
Dodam że licznik jest ustawiony na RTU i nie było w nim ustawienia stosunku CT.

Na wyświetlaczu mam wyświetlone wszystkie napięcia dla każdej z faz. Fizycznie urządzenie (Pompa ciepła) podpięta jest pod pierwszą. Docelowo na pozostałych fazach będę miał inne urządzenia.

Trochę zgłupiałem bo pisząc “konwerter USB na Modbus” mam na myśli takie urządzenie Konwerter USB - RS485 - z jednej strony USB do komputera, może być HA, z drugiej RS485 do urządzenia, po RS485 leci Modbus.

Mam dokładnie taki sam. Próbowałem najpierw go podpiać bezpośrednio do HA ale nie działało. Dlatego postanowiłem spróbować sposobu z tego wątku ale też się nie udało. Co do rozwiązania powyzej to już tłumaczę. Do sieci podbus (licznika) podpiełem konwerter modbus na uart Potem podpiełem wszsytkie wyjścia Uart do takiego konwertera na usb