RS485: Energia + Growatt + Eastron SDM630 Modbus V2

Dzięki, znowu wiem coś nowego :slightly_smiling_face:

Witam serdecznie.

Mam pytanie odnośnie jak wyłączyć odpytywanie modbus dla falownika growatt po zachodzie słońca ja się wyłączy i aby zaczął pytać po wschodzie. Bo w logach pojawiają się błędy dla modbus.
Dodam że mam dwa kolejne urządzenia które działają po modbus 24h/7dni.

Czy tylko opcja scan_interval: 0 i utworzenie automatyzacji zależnej od wschodu i zachodu słońca, która uruchomi odpytywanie?

Przepraszam za odgrzebanie tematu, ale mam pytanie.

Mam od paru lat połączony MOD5ktl3x z HA przez RS485 wszystko działa dobrze. Pojawia się problem z sumą energii po przekroczeniu 6553,6kWh (odczyt rejestru z literą “L”) bo spada do 0 i liczy od nowa. Poradziłem sobie robiąc sensor template w configuration który dodawał taką wartość do odczytu z falownika. Ale było to problematyczne bo co jakiś czas trzeba modyfikować tą liczbę o kolejne 6553.6. Analizując rejestru H i L doszedłem do wniosku że po przekroczeniu tej wartości rejestr H pokazywał 0,1 kolejne przekroczenie było 0,2 itd. Więc zmodyfikowałem wpisy template aby sensor był sumą: rejestr L + rejestr H * 65536. I działa to dobrze do momentu wyłączenia falownika gdyż wykresy kołowe zwracają błąd (wizualnie mi się to nie podoba) więc wyłączam ich widoczność. Jak ręcznie dodawałem wartość bez mnożenia to zawsze było 0.

Teraz pytanie czy w konfiguracji modbus dla falownika da się to ogarnąć aby wykonywał sumę dwóch rejestrów H i L.

Konfiguracje modbus dla falownika mam jak w powyższych postach.

Tu przykład template:

template:
  - sensor:
    - name: “PV wartość”
      unit_of_measurement: “kWh”
      state: “{{ states(‘sensor.G5KTL3X_PV_Energy_total_L’)|float + 65536*(states(‘sensor.G5KTL3X_PV_Energy_total_H’)|float) }}”
      device_class: energy
      state_class: total

PS. To się ma do wszystkich rejestrów po przekroczeniu wartości 6553.6 ktoś wcześniej sygnalizował że ma wykresy poszarpane powyżej 6000W

Da się .. tylko trzeba zobaczyć jak masz teraz data_type.

- name: G5KTL3X Input power L
  unit_of_measurement: W
  slave: 1
  address: 2
  input_type: input
  #count: 1
  data_type: uint16
  precision: 1
  scale: 0.1
  scan_interval: 5
  device_class: power

I tak samo dla rejestru H tylko inny adres

..jaki adres? dla jednego z nich powinien być data_type: uint32 i ewentualnie swap: word

W ogóle to coś mieszasz!! - moc i energię, więc przemyśl o co ci chodzi.

Przepraszam że namieszałem kopiując linijkę z HA. Tak to jest jak używa się do tego telefonu a nie komputera. Dla generowanej energii total adresy są odpowiednio dla H - 55 a dla L - 56. Oczywiście device_class: energy. Jak będę miał przykład to sobie dopasuje do pozostałych sensorów. W opisie problemu użyłem przykładu z energią ale mam również problem z mocą dla innego urządzenia

Dziękuję za pomoc @Robinl30 ogarnąłem przy okazji ilość odczytywanych rejestrów.

Dla osób na przyszłość rejestr z opisem High z dtr growatt z ustawieniem data_type: uint32 zwraca całkowitą energię/moc.

1 polubienie

To nie kwestia kopiowania z użyciem telefonu, tylko przedstawienia problemu w dość niezrozumiały sposób, podziwiam @RobinI30, że to ogarnął i w dodatku już przedstawił rozwiązanie.