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

Nie używam ESPHome do Modbusa.

A co lepiej używać?

Można wemos D1 użyć jako pośrednik modbus a Mqtt?

Sorry ale nie zrozumiałem pytania.

To czego używasz skoro nie espHome?

Nie używam ESPHome do Modbusa bo mam połączenie po kablu dlatego nie jest wstanie pomóc w kwestii konfiguracji ESPHome pod Modbus Controller — ESPHome.

zrobiłem i działa.

jakby ktoś potrzebował to wrzucam kod z esphome.

za pare dni opowiem jak wyglądają wskazania w porównaniu z Iskra od Tauronu

logger:
    level: DEBUG
    baud_rate: 0

uart:
  id: mod_bus
  tx_pin: D6
  rx_pin: D7
  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: 0x1
    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: 0x200
    unit_of_measurement: "V"
    value_type: S_WORD
    accuracy_decimals: 2
#    skip_updates: 60
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    id: faza_l2_napiecie
    name: "Faza L2 napięcie"
    state_class: measurement
    register_type: read
    address: 0x201
    unit_of_measurement: "V"
    value_type: S_WORD
    accuracy_decimals: 2
#    skip_updates: 60
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    id: faza_l3_napiecie
    name: "Faza L3 napięcie"
    address: 0x202
    state_class: measurement
    unit_of_measurement: "V"
    register_type: read
    value_type: S_WORD
    accuracy_decimals: 2
#    skip_updates: 60
    filters:
      - multiply: 0.1
  - platform: modbus_controller
    id: czestotliwosc
    name: "Częstotliwość"
    register_type: read
    state_class: measurement
    address: 0x219
    unit_of_measurement: "Hz"
    value_type: S_WORD
    accuracy_decimals: 2
#    skip_updates: 60
    filters:
      - multiply: 0.01
  - platform: modbus_controller
    id: faza_l1_prad
    name: "Faza L1 prąd"
    register_type: read
    state_class: measurement
    address: 0x206
    unit_of_measurement: "A"
    value_type: S_WORD
    accuracy_decimals: 3
#    skip_updates: 60
    filters:
      - multiply: 0.001
  - platform: modbus_controller
    id: faza_l2_prad
    name: "Faza L2 prąd"
    register_type: read
    state_class: measurement
    address: 0x207
    unit_of_measurement: "A"
    value_type: S_WORD
    accuracy_decimals: 3
#    skip_updates: 60
    filters:
      - multiply: 0.001
  - platform: modbus_controller
    id: faza_l3_prad
    name: "Faza L3 prąd"
    register_type: read
    state_class: measurement
    address: 0x208
    unit_of_measurement: "A"
    value_type: S_WORD
    accuracy_decimals: 3
#    skip_updates: 60
    filters:
      - multiply: 0.001
  - platform: modbus_controller
    id: faza_l1_moc_czynna
    name: "Faza L1 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x209
    unit_of_measurement: "W"
    value_type: S_WORD
#    accuracy_decimals: 2
#    skip_updates: 60
    #filters:
    #  - multiply: 10
  - platform: modbus_controller
    id: faza_l2_moc_czynna
    name: "Faza L2 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x20A
    unit_of_measurement: "W"
    value_type: S_WORD
#    accuracy_decimals: 2
#    skip_updates: 60
    #filters:
    #  - multiply: 10   
  - platform: modbus_controller
    id: faza_l3_moc_czynna
    name: "Faza L3 moc czynna"
    register_type: read
    state_class: measurement
    address: 0x20B
    unit_of_measurement: "W"
    value_type: S_WORD
#    accuracy_decimals: 2
#    skip_updates: 60
    #filters:
    # - multiply: 10 
  - platform: modbus_controller
    id: calkowita_moc_czynna
    name: "Całkowita moc czynna"
    register_type: read
    state_class: measurement
    address: 0x20C
    unit_of_measurement: "kW"
    value_type: S_WORD
    accuracy_decimals: 3
#    skip_updates: 300
    filters:
     - multiply: 0.001  
  - platform: modbus_controller
    id: moc_czynna_pobrana
    name: "Moc czynna pobrana"
    register_type: read
    icon: mdi:circle-slice-3
    device_class: energy
    state_class: total_increasing
    address: 0x034
    unit_of_measurement: "kWh"
    value_type: FP32
    accuracy_decimals: 1
    skip_updates: 60
    # filters:
    #   - multiply: 0.01    
  - platform: modbus_controller
    id: moc_czynna_oddana
    name: "Moc czynna oddana"
    register_type: read
    icon: mdi:circle-slice-3
    device_class: energy
    state_class: total_increasing
    address: 0x036
    unit_of_measurement: "kWh"
    value_type: FP32
    accuracy_decimals: 1
    skip_updates: 60
    # filters:
    #   - multiply: 0.01 
  - platform: modbus_controller
    id: faza_l1_cos
    name: "Faza L1 cosφ"
    register_type: read
    state_class: measurement
    address: 0x215
    unit_of_measurement: ""
    value_type: S_WORD
    accuracy_decimals: 2
    skip_updates: 5
    filters:
      - multiply: 0.001 
  - platform: modbus_controller
    id: faza_l2_cos
    name: "Faza L2 cosφ"
    register_type: read
    state_class: measurement
    address: 0x216
    unit_of_measurement: ""
    value_type: S_WORD
    accuracy_decimals: 2
    skip_updates: 5
    filters:
      - multiply: 0.001  
  - platform: modbus_controller
    id: faza_l3_cos
    name: "Faza L3 cosφ"
    register_type: read
    state_class: measurement
    address: 0x217
    unit_of_measurement: ""
    value_type: S_WORD
    accuracy_decimals: 2
    skip_updates: 5
    filters:
      - multiply: 0.001  
  
  

@Marcin.KnD i jak wygląda porównanie pomiarów z licznikiem Tauronu ?

Takie same wskazania, sprawdzałem kilka dni z rzędu

dzięki, bo mam 2 do zamontowania, jeden na cały dom, drugi tylko na pompę ciepła. :slight_smile:

Na PC to uważam że jest przerost formy. Lepiej dać zwykły i czytać impulsy. Zaoszczędzisz 100 zl

Możesz polecić jakiś licznik, impulsy lub zużytą energie mogę czytać po skrętce (modbus ) ?

Ja do pompy ciepła mam Zamel LEM30, z wyjściem impulsowym (chociaż ja czytam mrugnięcia diody) do tego ESPhome i przelicza impulsy na zużycie. Jak go montowałem to nie myślałem jeszcze o Home Assistant

Ale jak musi być na modbus to faktycznie jak na szybko przejrzałem to nie znajdziesz taniej niż VCX1964 lub SDM72D-M (około 230 - 260 zł)

Taniej możesz tylko na trzech modułach PZEM004t z cewkami, z tego co pamiętam one latają na modbus, ale w Polsce ciężko będzie ci je znaleźć w dobrej cenie. Ja pamiętam że ściągałem z Chin i wyszło mnie ok 100 - 120 zł chyba na shopee była najlepsza cena.

1 polubienie

Dzięki pomocy autora wsadu udało mi się uruchomić komunikacje . Zmyliło mnie podłączenie TX do RX jak przy programowaniu a powinno być TX do TX. Aby ruszyła komunikacja należy najpierw uruchomić vemos d1 a następnie konwerter .Niestety przy zaniku zasilania esp trzeba by było znowu powtórzyć operacie, żeby tego uniknąć zastosowałem układ dd04cvsa na 5v i baterie lijon i przetwornice 230v/5v.

Oczywiście fizycznie musi być TX do RX (bo tylko wtedy działa komunikacja szeregowa - łączysz zawsze nadajnik Tx z odbiornikiem Rx oczywiście o ile opis wyprowadzeń jest poprawny), tylko po prostu po jednej stronie wyprowadzenia są opisane niezgodnie z powszechnym zwyczajem (to wbrew pozorom zdarza się dość często, więc zamiana Tx z Rx jest jednym z podstawowych kroków diagnostyki przy uruchamianiu połączenia portem szeregowym).

Też tak myślałem i niestety cały czas dostawałem błędy w logach ,konwerter mam taki sam jak na rysunku na stronie projektu Esphome i opisy rozszerzeń. Dlatego wstawiłem tu tą informacje gdyby ktoś też miał z tym problem .

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.