ESPhome Modbus SDM72 i Huawei SUN2000L

Mam sobie w skrzynce elektrycznej SDM72DM i ESP8266 z Modbusem połączone kabelkiem. Ostatnio dociągnąłem sobie dla sportu kabelek modbusa od mojego falownika SUN2000L i podłaczyłem.
Obecnie dane z SDMa odczytuję integracją sdm_meter i dane wyświetlają się poprawnie.
Chciałem teraz odczytywać z SDMa dwie rzeczy których w integracji nie ma, czyli total import active power, ale za żadne skarby nie mogę go odpalić bo zawsze mam albo wartość nan albo 0 (dając adres total system power tak samo (gdzie z integracji sdma wyswietla się ok).

Tutaj mój kod z ESPhome:

Podpowiecie jak wyciągnąć tą wartość poza integracją sdm_meter ?

Mógłbyś to narysować, bo pewnie wydaje Ci się, że wszyscy zrozumieją.
Na dzień dobry śmierdzi mi to kolizją na modbusie.
Sprawdź czy działa każde z osobna, tylko jedna “integracja” przy wyłączonej drugiej.

Ale co tutaj mam rysować ? :slight_smile:
Modbus podłączony do ESP8266 (a raczej do Maxa385) trzema kabelkami. Dane przez integrację sdm wychodzą a nie potrafię ich wyciągnąć bez integracji.
Kolizja na modbusie by była gdyby ten kod nie dawał żadnych wyników a tak jak mówię dane wyciagam, nie wyciągam tylo tych dodatkowych bo pewnie nie do konca wiem co z rejestrami i adresami zrobić.
Falownik jest 1, SDM 2.

Ok… trochę to było niezrozumiałe:)
Z prawej strony masz adres w hex 0x500 co w dec 1280… spróbuj więc 1281 lub 1280 (bez tej 3 z przodu).

Ok, działa :slight_smile:

Ale teraz nie mam pojęcia jak dodać do integracji SUN2000L-M1.
Modbus podpięty do złącza fizycznego, A2 / B2
ale co bym w esphome nie wpisał daje zawsze wartość nan :frowning:
Poniżej TCP na HomeAssistant:
image

I to samo w ESPhome nie działa i nie zwraca żadnej wartości.
image

image

W metodzie przez HA brakuje definicji input_type i default jest holding.
Ten czerwony komunikat o tym podpowiada.

Ale w metodzie przez HA działa idealnie, a błedy wywala przez ESPhome tylko.

Co mówi dokumentacja falownika? …ja zaglądałem do podobnego Huawei’a
W tym przypadku powinieneś spróbować adresu 32080 (0x7d50)
Zmień na próbę register_type: holding

Pokaż co mówi Twoja na temat typu danych?

image
Teraz zadziałało, problemem chyba była moja nieznajomosc adresów :slight_smile:
Dzięki za pomoc, aktualnie nie wywala błędów żadnych - ale falownik śpi więc nic nie sprawdzę :frowning:

Huawei ma uniwersalne kody, ja brałem stąd i też działają:

Nie… nie ma konsekwencji w dokumentacji i trzeba uważnie czytać.

1 Like

Dam znać rano czy wszystko śmiga :slight_smile:

Musisz znaleźć właściwą adresację dla Twojego sterownika .
Przeglądałem Twojego linka i adresy różniły się od tej, którą ja widziałem :slight_smile:

Adresy są ok, pokazują się wartości których oczekuję ale…
W HomeAssistant i mdbus po WiFi (smart dongle) wartości są zawsze OK, a po kabelku mam co jakiś czas produkcję zamiast 200W przykładowo 3040439W, ten typ tak ma ?

image

Dalej tez sypie błędami czasami:

image

W dalszym ciągu nie łapię Twoich opisów więc będę macał :wink:
Jeszcze zmień register_type: read

juz jest read.
Problemy moga wynikac z faktu ze uzywam 2x modbus w falowniku ? Bo uzywam przez HA i modbus przez TCP przez smart dongle, i drugi raz przez fizyczne zlacze czytam przy pomocy ESPhome ?

Edit:

Postawiłem drugie ESP i teraz w sumie to nic już po modbusie nie wyświetla… zmieniłem prędkość portu oraz numer urządzenia (w urządzeniu też) i tylko tyle mam:

Kod ESPhome:

Hej,

moglbys gdzies wkleic konfiguracje esphome dla sdm72 bo z obrazka to ciezko kopiowac, a nie wiem czy na obrazku widac cala konfiguracje :slight_smile:

Wybacz ze tyle czasu ale wpadło w spam, wieczorem wyślę bo zablokowałem sobie dostęp zdalny :smiley:

1 Like

:slight_smile: zapomniales o nas :smiley:

Nie zaprzeczę :slight_smile:

uart:
  id: mod_bus
  rx_pin: 3
  tx_pin: 1
  baud_rate: 9600
  stop_bits: 1
  
modbus:
  uart_id: mod_bus
  flow_control_pin: 5
  id: modbus1
modbus_controller:
  - id: sdm
    address: 0x0002
    modbus_id: modbus1
    update_interval: 5s
sensor:
############# SDM #############
  - platform: modbus_controller
    modbus_controller_id: sdm
    name: "foto-${devicename}-W"
    id: "fotoEastronW"
    register_type: read
    address: 0x0034
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 1.0
  - platform: modbus_controller
    modbus_controller_id: sdm
    name: "foto-${devicename}-Import"
    register_type: read
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 1
    address: 0x0048
    value_type: FP32
    filters:
      - multiply: 1.0
  - platform: modbus_controller
    modbus_controller_id: sdm
    name: "foto-${devicename}-Export"
    register_type: read
    address: 0x004A
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 1
    value_type: FP32
    filters:
      - multiply: 1.0  
  - platform: modbus_controller
    modbus_controller_id: sdm
    name: "foto-${devicename}-in-W"
    id: "fotoEastronIn"
    register_type: read
    address: 0x0500
    internal: true
    value_type: FP32
    accuracy_decimals: 0
    filters:
      - multiply: 1.0
  - platform: modbus_controller
    modbus_controller_id: sdm
    name: "fotoEastronOut"
    id: "fotoEastronOut"
    register_type: read
    address: 0x0502
    value_type: FP32
    internal: true
    accuracy_decimals: 0
    filters:
      - multiply: 1.0