Sofar Solar inwerter - odczyt danych bezpośrednio przez fabryczny DataLogger

Ponieważ w temacie

użytkownicy zgłaszają problemy ze statystykami w panelu Energa załączę krótki przykład działającej konfiguracji.

  1. Używamy wersji
  1. Tworzymy sensory
####################sofar-solar###############
  - platform: mqtt
    state_topic: "Sofar/DayEnergy"
    name: "Pordukcja dzienna"
    unit_of_measurement: 'kWh'
    device_class: energy
    icon: mdi:counter

  - platform: mqtt
    state_topic: "Sofar/TotalEnergy"
    name: "Pordukcja total"
    unit_of_measurement: 'kWh'
    device_class: energy
    icon: mdi:counter

  - platform: mqtt
    state_topic: "Sofar/Power_P"
    name: "Moc inw."
    unit_of_measurement: 'Watt'
    device_class: power
#    icon: mdi:counter


  - platform: mqtt
    state_topic: "Sofar/V1"
    name: "Napięcie PV1"
    unit_of_measurement: 'V'
    device_class: voltage
#    icon: mdi:counter

  - platform: mqtt
    state_topic: "Sofar/V2"
    name: "Napięcie PV2"
    unit_of_measurement: 'V'
    device_class: voltage
#    icon: mdi:counter

  - platform: mqtt
    state_topic: "Sofar/A2"
    name: "Prąd PV2"
    unit_of_measurement: 'A'
    device_class: current
#    icon: mdi:counter

  - platform: mqtt
    state_topic: "Sofar/A1"
    name: "Prąd PV1"
    unit_of_measurement: 'A'
    device_class: current
#    icon: mdi:counter

  - platform: mqtt
    name: "Temperatura inwertera"
    state_topic: "Sofar/TempInner"
    unit_of_measurement: '°C'
#    value_template: "{{ value_json }}"
    device_class: temperature
    
  - platform: mqtt
    name: "Stan inwertera"
    state_topic: "Sofar/status"
    icon: mdi:information-outline
  

Dla tych sensorów otrzymujemy

Ważne aby ustawić prawidłowo nod “Sun”, aby produkcja dzienna nie była aktualizowana w nocy.
Reset nastąpi w momencie wznowienia produkcji.
Nie jest to nigdzie napisane i wynika z moich obserwacji zachowania utility_meter. Kolejność zerowania jest ważna - w innej kolejności mamy głupoty w panelu energia.
ss4

  1. Dla falownika tworzymy utility_meter
utility_meter:
    pv_hourly_energy:
        name: Produkcja Godz
        source: sensor.pordukcja_dzienna
        cycle: hourly
    pv_daily_energy:
        name: Produkcja Dzień
        source: sensor.pordukcja_dzienna
        cycle: daily
    pv_weekly_energy:
        name: Produkcja Tydz
        source: sensor.pordukcja_dzienna
        cycle: weekly
    pv_monthly_energy:
        name: Produkcja Mies
        source: sensor.pordukcja_dzienna
        cycle: monthly
    pv_yearly_energy:
        name: Produkcja Rok
        source: sensor.pordukcja_dzienna
        cycle: yearly

w efekcie otrzymujemy


gdzie produkcja dzienna wygląda tak
ss2

Proszę zwrócić uwagę na moment (różnicę) zerowania liczników utworzonych na podstawie danych z falownika i utilii.

  1. Konfigurujemy panel energia

w efekcie działania otrzymujemy

Być może, że nie jest to jedyne właściwe ustawienie, jednak to działa bezproblemowo od miesięcy i nie drążyłem więcej tematu.

Wczoraj po dodaniu tego Flow do NR wszystko pięknie działało. A dzisiaj od rana jest status No Connect. Wiecie co może być przyczyną? Ustawiłem wszystko zgodnie z powyższym wpisem, falownik działa i mogę na niego się zalogować po ip.

Jaki masz status pod nodem “sun” - day czy night?

mam day

hmm… nie wiem o co chodzi ale zmieniłem delikatnie w nodzie sun współrzędne i zaczął działać. ale znów zmieniłem po staremu i nadal działa.

co masz w sun start i end?

Jest dobrze… obserwuj.
Podłącz debug do wyjścia Sun (trzeci przewód) i sprawdź czy co minutę dostajesz msg?

@RobinI30 Mam takie pytanie czy jesteś w stanie wyszarpać dane z falownika dotyczące rezystancji i temperatur, czasu pracy dziennego oraz time total :slight_smile:
NOD działa rewelacja, utility_meter wykonane z Twojej Ciężkiej Pracy stabilne brak pików
TO PO PROSTU DZIAŁA :slight_smile: Jeszcze raz Dziękuję

Sam se wyszarp :stuck_out_tongue:

Jeśli w nodzie KTL zmienisz “To Register” 29 na 46 to na jego wyjściu otrzymasz buffer z zawartością całego 1-go banku rejestrów zgodnie za specyfikacją Modbus dla tego falownika.
Jeśli się odgałęzisz w tym punkcie to możesz dowolnie parsować dane. Specjalnie zostawiłem taką furkę na specjalne życzenia.
Żeby zmieniać sam nod SofarToMqtt to jest zbyt duża rewolucja, ponieważ poszedłem po lini najmniejszego oporu. Ten nod ma szczególne wymagania i wymaga ciągłej przestrzeni rejestrowej.
Tak jak pisałem - tworzony był pod moje wymagania.

Dzięki za szczerość a wyszarpał bym gdybym umiał :joy:
ale popróbuje

Spróbuj… po zmianie bufor będzie maił rozmiar ok 97 bajtów, każdy rejestr znajduje się w dwóch kolejnych bajtach bufora
rej0 - b1b0
rej1 - b3b2
ref2 - b5b4
itd…
Gdy otworzysz SofatToMqtt to dowiesz się jak wydobywać dane z bufora. Nie musisz analizować ciągiem całego, tylko możesz wyłuskać konkretny rejestr zgodnie z dokumentacją.
Coś zacznij to dalej się pociągnie i pomoże.
Na początek podłącz debug za KTL zobacz jak to wygląda.
Podłącz się do tego miejsca swoją gałązką i na razie poćwicz na tym co jest teraz.
Gdy już połapiesz o co chodzi i na własną rękę odczytasz takie same wartości wtedy rozszerzysz zakres odczytywanych rejestrów.
Naprawdę nie mam czasu.

edit… @Dariusz_Barczyński polecam
node-red-contrib-buffer-parser (node) - Node-RED
Biblioteka jest z przykładami, załatwi wszystko co potrzebujesz… polecam dla nieumiejących :+1:

Witam Państwa :slight_smile:

Wczoraj uruchomiłem sofara 11kglx-g3 z donglem LSW-3 w wersji oprogramowania LSW3_15_270A_1.32 Web Ver:1.0.24.

Wieczorem już nie miałem jak sprawdzić bo ze względu na brak słońca przestał działać falownik :slight_smile:
Dziś rano się włączył i zacząłem testować.
Jak mogę sprawdzić czy ND pobiera dane z loggera? Czy coś jeszcze jest potrzebne aby to uruchomić? Mam instalacje HA z NR, uruchomione flow SofarLanMqtt_v1.2.json.
Wpisałem IP, sn loggera i nic więcej nie robiłem.
Falownik działa, ND pokazuje jakieś debugi
image
Jednak w HA nie mam nic konkretnego. produkcja 0
inne encje
image
I ogólnie nie ma temperatury czy czegoś innego.

Jak sprawdzić czy dane się pobierają, lub po jakim czasie powinny się pojawić w ha ?

Przepnij debug na koniec procesu i pokaż co leci do ostatniego węzlą. Dobrze ustawiteś w nim parametry Mqtt do wlasnej konfiguracjji?
Nie pisałem o tym wcześniej uznając to jako oczywistość.

edit… @paku2020 inwerter odpowiedział Error i się pojawiło w HA, więc konfiguracja mqtt jest dobrze.
Sprawdź SN oraz w bezpośrednio w aplikacji solarman przyczynę błędu.
Rozwiń jeszcze payload,buffer i pokaż zawartość

No właśnie w HA jest error, a na falowniku jest normalny. Wszystko niby działa prawidłowo. Mam problem z loggerem chyba, bo co jakiś czas się rozł. z wifi i traci się komunikacja na jakiś czas. Nie wiem dlaczeego.
SN jest prawidłowy a w aplikacji nie ma żadnych błędów chyba.

Tak wygląda rozwinięcie buffera

Najpierw to ogarnij.
Miałem ten problem - logger się łączył tylko na czas wysyłania danych. Nie można było się do niego dostać nawet przez stronę statusową ( zrób ten test czy działa stabilnie).
Router był za ścianą i wyglądało, że to jakiś problem z softem.
Skończyło się, że zgłosiłem reklamację i dali mi wersję eth po kablu.
Mi to wygląda, że to jakaś wersja która łączy się tylko na czas wysyłania do SolarMan.

Który test?
U mnie to wygląda tak, że wszystko działa, ping jest, nagle ping przestaje odpowiadać, świeci tylko dioda com. po jakimś czasie działa wszystko na chwilę.
Czasem też mam tak, że na falowniku załączy się na chwilę wentylator, wyskoczy inicjacja na kilka sek i potem wszystko normlanie

Czy to stało się po integracji?
Zdemontuj w ogóle na jakiś czas logger i zaobserwuj czy sam falownik pracuje stabilnie.
Z transmisji wygląda, że falownik sam w sobie łapie jakieś błędu.
Tak wyglądają pierwsze bajty diagnostyczne w prawidłowo działającym falowniku, zobacz co jest u Ciebie.
Falownik odpowiada poprawną ramką bo CRC (suma kontrolna) jest OK. inaczej byłoby No Connect (tak napisany jest proces).
Zobacz przez portal - tam jest zarejestrowana historia błędów, może coś wyjaśni.
buff

Jeśli pytasz o moduł - to ten po miedzi. Wifi leży w szufladzie, dla mnie to rozwiązywało problem i nie drążyłem tematu.
Może trzeba zmienić soft w LSW?
Wydaje mi się, że podpada to pod zgłoszenie serwisowe

Tak się dzieje od początku. Integracja nie ma z tym nic wspólnego :slight_smile:
Po odłączeniu loggera tak samo działa. Nie zaobserwowałem tylko tej inicjacji podczas pracy. Nie wiem od czego to zależy.

Czyli jeśli na falowniki nie ma błędów i jest normlany tryb pracy to może łapać jakieś błędy?
Na stronie solarman nie ma żadnych błędów pokazanych, w falowniku są, ale pojawiły się dopiero jak odłączyłem prąd z sieci od falownika.
U ciebie jest tak
buff
A u mnie
image
O to chodziło ?

Zrobiłem zgłoszenie serwisowe do dystrybutora gdzie kupiłem falownik jak i do sofarsolarpoland. Nie da mi to spokoju teraz :slight_smile:

Teraz od 15min logger jest cały czas online, a nie pobiera z niego danych HA

To go podłącz ale wyłącz integrację - takich “resetów” nie powinno być.
Krok po kroku znajdziemy winowajcę, dobrze byłoby wiedzieć przed zgłoszeniem.
Nie wykluczam, że coś może być nie tak z integracją.
W większości pobranych przypadków nikt nie zamieszcza zwrotnie info czy to współpracuje z ich falownikiem więc żadnej bazy kompatybilności nie mam. Jesteś pierwszy, któremu to nie działa.
Trafiłem kiedyś na opis rejestrów Sofara zupełnie nie pasujący do zaimplementowanego, może to właśnie ten?

W międzyczasie spróbuję odszyfrować te błędy.

Wyłączyłem flow w ND.
Ale wczoraj gdy nie dodałem integracji było to samo więc raczej to nie wina tego :slight_smile:
Logger ewidentnie przestaje się komunikować, a po chwili się rozłącza z wifi. Zmieniłem kanał na mikrotiku, zobacze.
Znalazłem w necie opis migających diód. Ale to nic nie wnosi niestety. Niby brak komunikacji z serwerem. No ale jest brak bo rozłącza się z wifi :slight_smile:

Może :slight_smile: Jeśli potrzebujesz czegoś to chętnie udostępnię :slight_smile:
U mnie może nie działać co ten logger może coś nie tak z nim.
Cała farma została uruchomiona wczoraj a on pokazuje że dziś wyprodukował prawie 2k kWh. Nie jest to możliwe bo nie ma na tyle pogody :slight_smile:
image
Nie wiem jak to u innych wygląda