Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Huawei SUN2000 modbus TCP

cegreg 18 Sep 2022 08:37 12036 50
  • #31
    migod
    Level 21  
    Czesc,

    gdyby ktoś inny borykał się z tym problemem:
    1. nowe firmware mają domyslnie wylaczony modbus po wifi, wiec po kazdym update problem bedzie wracal
    2. osoba z uprawnieniami administratora musi na miejscu podlaczyc sie do sieci wifi falownika (SUN***) i w menu falownika wlaczyc Modbus TCP, nie ma takiej mozliwosci przez strone www. Do konfiguracji uzywa sie aplikacji FusionSolar

    Pelna sciezka:
    JA > Przekaz do instalacji > Konfiguracja komunikacji > Ustawienia parametrow klucza sprzetowego > Modbus TCP
    

    3. domyslne haslo na konto instalatora to 00000a (5 zer + a), ale u mnie bylo zmienione przez firme i zagubione
    4. Od jakiegos czasu wydluzono min. dlugosc hasel do 8 znakow

    Pozdr, migod
  • #32
    chkerim
    Level 3  
    Czy do podniesienia wersji firmware trzeba mieć/zalogować się na konto instalatora?
    Rozumiem że wszystko wykonuje się z telefonu ? Czy pliki firmware trzeba pobrać wcześniej?
  • #33
    yunnanpl
    Level 2  
    Witam,
    postaram sie dorzucic na szybko moje 3 grosze, jako ze odczytywalem i odczytuje dane z falownika na rozne sposoby.
    Mam SUN2000 4.6KTL L1, najprawdopodobniej ze smart donglem do Wifi (a moze wifi wbudowane ?).
    Falownik wysylal od samego poczatku wszystkie dane do portalu Fusionsolar, laczac sie przez moja siec Wifi
    Jednak sciaganie danych z portalu jest to dla mnie zbyt powolne (aktualizacja co 2-3 minuty czy cos), pozatym nie lubie za duzo chmur, wiec chcialem brac te dane bezposrednio (za pomoca pymodbus i wrzucac do homeassistanta).

    Najpierw, laczylem sie normalnie po adresie IP (ktory falownik dostal z mojej sieci), na porcie 502.
    To rozwiazanie ogolnie dzialalo i staralem sie utrzymywac ciagle polaczenie modbus, ale falownik czasami sie rozlaczal i pare minut mial przerwy.

    Po zainstalowaniu baterii LUNA i smartmetera podlaczonego kablem modbus, to zupelnie przestalo dzialac. Tzn falownik dalej laczy sie z moja siecia wifi i wysyla dane do portalu Fusionsolar, ale port 502 jest zamkniety, i nie ma mozliwosci pobierania danych. Gdzies wyczytalem, ze to przez to, ze smartmeter "zuzywa" ten port modbusa, ktory wczesniej byl dostepny po IP (nie jestem pewnien czy to ma sens, ale polaczenia nie ma, a nic sie nie zmienilo). Rownie prawdopodobne jest ze instalator zaktualizowal firmware i port modbus zostal zamkniety.

    Wyczytalem jednak, ze przez polaczenie z wifi falownika (SUN2000-HVxxxxxx i haslo Changeme) wciaz mozna wyciagnac te dane.
    Tak tez zrobilem, ale na poczatku nie chcialo to dzialac... dopoki nie okazalo sie ze oprocz tego ze jest oczywiscie inne IP (to ktore falownik daje sobie sam, bo teraz dziala jako access point) (IP falownika teraz to 192.168.200.1), ale rowniez port dostepu jest inny, bo teraz jest to 6607.

    Tak wiec laczac sie z WIFI falownika oddzielnym polaczeniem wifi, i laczenie pymodbus na adres 192.168.200.1 na port 6607 dziala !!!
    Problem nr 52: Teraz, tak jak wczesniej, staralem sie utrzymywac polaczenie wifi i polaczenie modbus caly czas... niestety utrzymujac polaczenie modbus, blokuje to falownik przed wysylaniem danych do fusionsolar (przez co sa tam nieaktualne i pojawiaja sie warningi).
    Podobnie w momencie jak pymodbus jest polaczony, to aplikacja na telefonie tez sie nie polaczy.
    Rozwiazanie: Wifi jest stale polaczone, ale polaczenie modbus jest nawiazywane tylko jak jest potrzebne, co 30 sekund i potem od razu zrywane (zczytywanie danych to nie cale 5 sekund). W ten sposob w portalu fusion solar wszystko sie rowniez pieknie pojawia, a ja mam swiezutkie dane co 30-40 sekund.

    
    ip_inverter="192.168.200.1"
    portnr=6607
    client = ModbusClient(ip_inverter, port=portnr, unit_id=0)
    client.connect()
    time.sleep(1)
    


    Wazne u mnie jest unit_id=0, oraz jedna sekunda sleep po polaczeniu, bo jak tego nie ma, to sa bardzo czesto problemy z odczytem registrow.

    Jak wszystko jakos ogarne, i ktos jest zainteresowany, to wrzuce moj skrypt na github, bo mam w nim od razu autodiscovery do homeassistanta i wysylanie mqtt.

    EDIT 1: Nie mam w ogole dostepu do konta instalatora... Tak wiec nie moge za duzo grzebac.

    EDIT 2: Alternatywa to Modbus-ESP32 adapter na kablu, przez co wszystkie przygody z firmwareami, wifi itp odpadaja.
    Moze nawet dodatkowo mozna przez kablowy modbus zapisywac jakies rejestry w falowniku (czego przez wifi raczej sie nie da).
  • #34
    lizak1983
    Level 15  
    Czy nie prościej użyć gotowego dodatku do Home assistant - https://github.com/wlcrs/huawei_solar
    Używam po modbus tcp czyli do wbudowanego ap falownika i nigdy nie miałem problemów z wysyłaniem do fusionsolar.
  • #35
    chkerim
    Level 3  
    192.168.200.1 na port 6607
    To adres z innej podsieci ( prawdopodobnie ap- falownika) niż LAN w którym widoczny jest Smart-dongle.
    To oznacza że klient odczytujący (Modbus master) musi być też w tej podsieci. Jak to chcemy robić np z laptopa to trzeba się podłączyć do AP falownika, sprawa się komplikuje jak potrzebujemy jednoczenie dostęp do zasobów z LAN.
  • #36
    yunnanpl
    Level 2  
    @lizak1983 : No tak... faktycznie ten komponent niezle wymiata. Moj skladak dzialal od 2 lat raczej dobrze, wiec nawet nie szukalem nic nowego. Co nie zmienia faktu, ze wlasnie sie przesiadlem na https://github.com/wlcrs/huawei_solar, wiec wielkie dzieki (musialem zaktualizowac HASS, co zwykle wiaze sie u mnie z przygodami).
    Powiedzmy ze ok 2 lata temu bylo tylko to https://github.com/Emilv2/huawei_solar, bo https://github.com/wlcrs/huawei_solar jeszcze nie powstalo, tak wiec bylem zmuszony sklecic cos swojego.

    Mam jednak nadzieje ze komus sie moj opis przyda, jako ze troche walczylem z pymodbusem. Co do wysylania danych do Fusion Solar, to od kiedy rozlaczam polaczenie modbus (zeby dac mozliwosc inwerterowi wyslac dane), to tez juz nie ma problemu.

    @chkerim : Faktycznie, czasami moze to byc problem. To IP to wlasnie z AP falownika (chyba tak pisalem tez wczesniej). Ja dorzucilem drugi wifi USB dongle po sprawie.
    Polaczenie jest o wiele stabilniejsze, niz jak to inwerter laczy sie z moja siecia. Domowa zwykla siec jest po kablu (albo na innej karcie sieciowej), tak wiec nie ma zadnych problemow (czyli, serwerek w domu jest jednoczesnie w dwoch sieciach, domowej oraz sieci inwertera).
    Minus taki, ze inwerter i komputer ktorym chcemy to odczytywac musza byc w rozsadnej odleglosci, zeby wifi starczalo.
    Plus taki, ze nie mam smartdongla wifi, tylko korzystam z tego polaczenia co jest (tak przynajmniej mowi moj fusionsolar).

    PS. @lizak1983 : Zasadniczo, twoja rada rozwiazala prawdopodobnie moj inny problem. Chcialem zeby inwerter ladowal baterie pradem sieci w nocy, jak prad jest tani (patrz tibber.de), ale nie wiedzialem jak do tego podejsc. Wyglada na to ze ten komponent potrafi nie tylko odczytywac dane, ale rowniez sterowac inwerterem !!!
    Teraz musze wydusic tylko login i haslo do konta instalatora i voila :)
  • #37
    tradilus
    Level 5  
    [
    Quote:
    quote="yunnanpl"]Witam,
    postaram sie dorzucic na szybko moje 3 grosze, jako ze odczytywalem i odczytuje dane z falownika na rozne sposoby.

    Tak wiec laczac sie z WIFI falownika oddzielnym polaczeniem wifi, i laczenie pymodbus na adres 192.168.200.1 na port 6607 dziala !!!
    Problem nr 52: Teraz, tak jak wczesniej, staralem sie utrzymywac polaczenie wifi i polaczenie modbus caly czas... niestety utrzymujac polaczenie modbus, blokuje to falownik przed wysylaniem danych do fusionsolar (przez co sa tam nieaktualne i pojawiaja sie warningi).
    Podobnie w momencie jak pymodbus jest polaczony, to aplikacja na telefonie tez sie nie polaczy.
    Rozwiazanie: Wifi jest stale polaczone, ale polaczenie modbus jest nawiazywane tylko jak jest potrzebne, co 30 sekund i potem od razu zrywane (zczytywanie danych to nie cale 5 sekund). W ten sposob w portalu fusion solar wszystko sie rowniez pieknie pojawia, a ja mam swiezutkie dane co 30-40 sekund.


    Ciekawy watek, a problem pojawia sie w wielu miejscach. Ja rowniez mam problem z polaczeniem przez Modbus.
    Moj system to:
    + falownik SUN2000-8KTL-M1 (firmware V100R001C00SPC148) + SDongle (firmware V100R001C00SPC130)
    + falownik SUN2000-3KTL-M1(firmware V100R001C00SPC148) - podlaczony do powyzszego kaskadowo
    + SmartMeter
    + Battery Luna 2000 (firmware V100R002C00SPC116)

    Zadalem pytanie w serwisie Huawei jak sie podlaczyc przed wi-fi i otrzymalem taka odpowiedz:

    "You cannot use modbus via wifi and still be able to have the inverter connected to fusionsolar so using a ethernet cable is recommended.
    You have to disable DHCP and put a static ip for the inverter and due to this you will not be able to connet the inverter to fusionsolar anymore."


    poprosilem o konkrety i przyszla krotka propozycja i 2 zalaczniki
    "You must take the dongle out, connect ethernet cable to dongle from the router and plug the dongle back in then follow the attached procedures"

    Bede to wkrotce sprawdzal (w zalacznikach jest opisane jak sprawdzic czy otwarty jest wlasciwy port przy uzyciu aplikacji ModbusPoll 64 app, ale dopiero gdy przyjdzie nowy modem do podlaczenia bezposredniego jako mesh system (bo system stoi poza domem) ale nadal wolalbym miec mozliwosc podlaczenia przez wifi (co wydaje sie blokowac FusionSolar App). Na razie zadalem pytanie jak mimo wszystko sprobowac podlaczyc przez wi-fi i czekam cierpliwie...

    Bede bardzo wdzieczny za uwagi i pomysly w tym watku!

    //tradilus
  • #38
    lizak1983
    Level 15  
    Jak wspomniałem wcześniej używam https://github.com/wlcrs/huawei_solar do pobierania danych do Home assistant. Moja wersja firmware w smart dongle ma końcówkę 123. Właśnie się podpiąłem pod tego dongle (wystarczyło jedynie wpisać IP falownika w sieci i port oraz slave 1 w moim przypadku), aby sprawdzić czy rzeczywiście fusionsolar jest zablokowany i u mnie dane pobierane są do Home Assistant oraz aktualizują się dane w chmurze. Posiadam SUN2000-8KTL-M0 + SmartMeter.
    W przypadku połączenia do smart dongle slave id zazwyczaj jest równe 1, a przy połączeniu kaskadowym inverterów dodatkowo dopisujesz slave id pozostałych.
    Nie wiem jak jest w przypadku nowszych firmware w smart dongle, ale na pewno dodatkowo trzeba odblokowac komunikację przez modbus tcp w ustawieniach falownika.
  • #39
    tradilus
    Level 5  
    A jak sie podpiales? Kablem czy wi-fi?
    Caly problem u mnie jest od poczatku wlasnie z HA i Huawei Solar, bo probujac sie polaczyc przez Wi-Fi wpisuje IP dongla i probuje kanal 502 i 6607 zmieniajac slave na 0, 1, 2 i nawet3 i nic sie nie dzieje. Zwykle przy kanale 502 jest "Connection to inverter failed", a przy kanale 6607 w ogole jakis blad.

    Quote:
    Nie wiem jak jest w przypadku nowszych firmware w smart dongle, ale na pewno dodatkowo trzeba odblokowac komunikację przez modbus tcp w ustawieniach falownika.


    To zrobilem (mam haslo instalatora do obu inwerterow) i odblokowalem jako "Unrestricted".
  • #40
    lizak1983
    Level 15  
    Połączyłem się po WiFi do smart dongle, u mnie jest to 502 bo mam starsze firmware u ciebie raczej będzie to 6607. Sprawdzałeś w ustawieniach jakie masz slave ID w falownikach? Bywało że może być to wartość wyższa niż 3.
  • #41
    tradilus
    Level 5  
    lizak1983 wrote:
    Połączyłem się po WiFi do smart dongle, u mnie jest to 502 bo mam starsze firmware u ciebie raczej będzie to 6607. Sprawdzałeś w ustawieniach jakie masz slave ID w falownikach? Bywało że może być to wartość wyższa niż 3.


    Rozumiem, ze podlaczasz sie przez integracje Huawei Solar przez Home Assistant? Zgadza sie?
    Przyznam sie szczerze, ze nie wiem jak sprawdzic jaki mam slave ID w falownikach. Jak?
  • #43
    tradilus
    Level 5  
    No prosze! Kolejny puzzel do ukladanki - dzieki! Postaram sie wieczorem sprawdzic i w razie czego opisze co sie stalo.
  • #44
    tradilus
    Level 5  
    tradilus wrote:
    No prosze! Kolejny puzzel do ukladanki - dzieki! Postaram sie wieczorem sprawdzic i w razie czego opisze co sie stalo.


    Niestety nie udalo sie pomimo, ze podlaczony jestem kablem do routera, widze IP falownika, ping odpowiada bez problemu. Program ModbusPoll po wpisaniu danych wg propozycji supportu daje komunikat "Write error" i "Read error". Huawei-Solar na HomeAssistant nie daje sie uruchomic.

    Wiem juz jaki jest slave sterownika - to ten sam numer co numer COM w ustawieniach komunikacyjnych RS 485_1 (w menu gdzie jest wybor Modbus i Baud rate) - jest to opisane w plikach od supportu, ktore wyzej podeslalem.

    Napisalem wiec znow do Huaweia z pytaniem co dalej...
  • #45
    lizak1983
    Level 15  
    Najprościej to chyba zmienić firmware dongla na ten z końcówką 123 i tam nie ma żadnych restrykcji odnośnie połączenia przez modbus.
  • #46
    tradilus
    Level 5  
    lizak1983 wrote:
    Najprościej to chyba zmienić firmware dongla na ten z końcówką 123 i tam nie ma żadnych restrykcji odnośnie połączenia przez modbus.


    W sumie to moge i to wyprobowac. Czy ktos moze ma link do tej wersji firmware dongla?
  • #48
    tradilus
    Level 5  
    lizak1983 wrote:
    Proszę bardzo. Po włączeniu falownika przez kilka minut jest dodatkowa sieć z smart dongla, podpinamy się pod nią, a nie pod sieć z falownika i tam aktualizujemy.


    Dzieki za plik! Bede go mial w razie czego, na razie serwis odpowiedzial na moje marudzenie przeslaniem zestawu komend Modbus, a gdy stwierdzilem ze problem w tym ze nie da rady czytac przez Modbus Poll bo pojawia sie read/write error, to kazali mi teraz

    "Please provide log files from the inverter and dongle."

    Dostalem dwa pliki z instrukcjami jak zrzucic te logi i zrobie to jutro. Pliki wrzucam jako ciekawostke, bo nigdzie indziej ich nie widzialem.
  • #49
    yunnanpl
    Level 2  
    @tradilus Co do blokowania Fusion Solar, przy bezposrednim polaczeniu do wifi inwertera i zbieraniu danych z modbus (ip 192.168.200.1 port 6607), to Huawei ma tylko czesciowo racje (nie mowie tutaj ani o polaczeniu przez smart dongle przez wifi lub kabel, ani o polaczeniu ktore inwerter nawiazuje z moja siecia). Jedynym wymogiem zeby Fusion Solar byl aktualny, jest to ze nalezy sie regularnie rozlaczac z modbus (co nie jest zadnym problemem, jako ze zbieranie krocej niz 5 sekund, to spokojnie mozna miec dane co 20-30 sekund). Nie ma nawet potrzeby rozlaczania sie z siecia wifi inwertera (co tez nie byloby problemem).
    Uzywalem tego rozwiazania przez 2 lata bez problemow, i jako ze Fusion Solar jest aktualizowany co pare minut, to opoznienie 1 minuty bylo niezauwazalne.

    Teraz zapuscilem wlasnie wlcrs-huawei_solar dla home assistant, uzywajac polaczenia do wifi inwertera bez smart dongla. Problemy z Fusion solar pojawily sie znowu, czyli jednak ten modul utrzymuje polaczenie caly czas. To moze byc wymog tego modulu, poniewaz dostarczane dane sa bardzo aktualne.

    Numery ID modbus moga byc chyba rozne. Dodatkowym plusem wlcrs-huawei_solar jest to, ze faktycznie sciaga dane z inwertera, baterii i smart metera (ktore pewnie maja rozne adresy ID i rozne rejestry danych).
    Podejrzewam ze im wiecej urzadzen, tym wiecej numerow.

    PS. Teraz walcze z wlcrs-huawei_solar, i chwilowo nie jestem w stanie przeliczyc danych w taki sposob, zebym mial to samo co mam w Fusion Solar (wtedy zasadniczo moge zignorowac fusion solar). Np Total Yield odejmuje to co wpada do baterii... czyli wcale nie jest to calkowity uzysk z fotowoltaiki, tylko faktycznie to co przeszlo przez inwerter do domu (a nie to co zostalo w baterii). Bede walczyl ;) ale wyglada to niezle, szczegolnie z tym nowym panelem Energy w Home Assistant.
  • #50
    tradilus
    Level 5  
    yunnanpl wrote:
    @tradilus Co do blokowania Fusion Solar, przy bezposrednim polaczeniu do wifi inwertera i zbieraniu danych z modbus (ip 192.168.200.1 port 6607), to Huawei ma tylko czesciowo racje (nie mowie tutaj ani o polaczeniu przez smart dongle przez wifi lub kabel, ani o polaczeniu ktore inwerter nawiazuje z moja siecia).


    No wlasnie, ale zeby zrozumiec dlaczego pewne rzeczy sie dzieja potrzeba troche podstawowych informacji. Napisz prosze jak wyglada Twoj system, bo problem moze lezec nie w inwerterze, tylko moze w sposobie komunikacji przez LAN. W jaki sposob laczysz sie z wifi inwertera, a jednoczesnie korzystasz z HomeAssistant? Jak to wyglada w praktyce?

    W moim przypadku jest tak:
    LAN - 2 routery Asus tworzace Mesh, jeden z nich glowny w domu (ASUS1) a jeden domku goscinnym (ASUS2). Przy ASUS1 przypiety jest RaspPi z HomeAssistant, a przy drugim ASUS2 przypiety jest kablem przez dongle ten inwerter. Ja siedze sobie przy komputerze w pokoju i widze IP dongla, IP inwertera (edit: prawdopodobnie widze IP tego samego urzadzenia, tzn dongla, ale jedno IP dotyczy podlaczenia wifi, a drugie przez ethernet).

    KOMPUTER
    +wifi
    +wifi
    ASUS1---ethernet---RaspPi (HomeAssistant)
    +wifi
    +wifi
    ASUS2 ---ethernet--- DONGLE+INVERTER

    Dodano po 2 [minuty]:

    lizak1983 wrote:
    Proszę bardzo. Po włączeniu falownika przez kilka minut jest dodatkowa sieć z smart dongla, podpinamy się pod nią, a nie pod sieć z falownika i tam aktualizujemy.


    Troche aktualnosci

    Serwis Huawei podrzucil mi troche instrukcji, ale chaotyczne i nie pomagaja. Ale ostatnio nawet wyglada na to ze:

    - HuaweiSolar na HA czasami dziala (kiedys nie dzialal wcale)
    - co ciekawe mozliwosc zainstalowania HuaweiSolar w HA pojawila sie gdy zmodyfikowalem siec domowa by zobaczyc NAS (ktorego nie bylo widac po zmianie routera, dla ciekawych wg instrukcji z tej strony https://kb.synology.com/pl-pl/DSM/tutorial/Wh..._show_up_in_Network_in_Windows_File_Explorer),
    - nie ma znaczenia ktora wersja firmware do dongla jest zainstalowana (sprawdzilem 123, a teraz mam 130 i nie ma wielkich roznic)
    - podlaczenie HuaweiSolar na HA powoduje ze wezel ModbusRead z NodeRed nie laczy sie z portem 502, a gdy NodeRed jest podlaczony to na przyklad nie laczy sie program do kontroli Modbus (ModbusPoll albo ModbusQuodMaster), najprawdopodobniej tylko jedna rzecz moze byc podlaczona do portu 502 w tym samym czasie
    - port 6607 w ogole nie odpowiada, jakby byl bledny
    - proby odczytu z Modbus pokazuja "0" (wyslalem zrzuty ekranu do serwisu i odpowiedzieli ze analizuja)
  • #51
    tradilus
    Level 5  
    Wracam na chwile z uzupełnieniem.

    Otóż wszystko działa od kilku dni bez problemów. Udało mi się uruchomić integracje HuaweiSolar w HomeAssistant, a rozwiązaniem było wyłączenie w HA integracji "p1reader ESPHome" służącej do obsługi urządzenia do rejestracji danych z licznika elektrycznego (https://www.zuidwijk.com/product/slimmelezer-plus/). Fajna zabawka, ale kolidowała prawdopodobnie w HA z HuaweiSolar, bo odczytuje te same dane dotyczące importu, eksportu, natężeń, napiec poszczególnych faz itp itd

    Podsumowanie (w moim przypadku)
    - integracja HuaweiSolar wymaga do działania niezakłóconego dostępu do Modbus inwertera (nawet NodeRed w HA wykorzystujący Modbus port 502 może zakłócać dostęp)
    - port Modbus należy udostępnić poprzez zmianę parametrów w inwerterze podłączonym do dongla (wymagane są odpowiednie wersje firmware)
    - do zmiany tych parametrów w inwerterze należy posiadać dostęp instalatora lub poprosić instalatora
    - podlaczenie do LAN powinno być przy pomocy kabla Ethernet przez dongle
    - w moim przypadku integracja HuaweiSolar nie wymagala podania hasla instalatora, ale moze to jakies odstepstwo od normy

    To tyle z moich doswiadczen...