Hi,
Ik heb een Goodwe omvormer met vanaf de fabriek meegeleverde WiFi-module. Bij oplevering heb ik deze module verwijderd en had ik wat geknutseld op de Modbus (RS485), omdat de WiFi-module vol met kwetsbaarheden zat en zit (is geen update voor).
Wat ik wil is de WiFi-module vervangen door bijvoorbeeld een ESP, omdat via deze interface registers kunnen beschreven worden en via de Modbus niet.
In de WiFi-module zit een HF-GDW-0004 met 5 aansluitingen naar de omvormer.
Pin1 +5 volt (voeding HF-GDW-0004)
Pin2 O volt (voeding HF-GDW-0004)
Pin3 ? (0 volt tov de massa)
Pin4 data (3,3 volt tov de massa)
Pin5 EXT_RESETn (reset HF-GDW-0004)
Mijn bedoeling was om de data te reverse engineeren, maar door een of andere reden krijg ik het verkeer maar een kant op te zien. Op pin 4 ziet de data er zo uit met 9600 8N1.
[16:12:27.828][D][uart_b:105]: RX (10 bytes): 41.54.2B.57.53.4C.51.0D.0A.0D (10) | AT+WSLQ...
[16:12:27.828][D][uart_b:105]: RX (19 bytes): 2B.6F.6B.3D.4E.6F.72.6D.61.6C.2C.20.36.31.25.0D.0A.0D.0A (19) | +ok=Normal, 61%....
[16:12:55.528][D][uart_b:105]: RX (17 bytes): 41.54.2B.45.4E.54.4D.0D.0A.0D.2B.6F.6B.0D.0A.0D.0A (17) | AT+ENTM...+ok....
[16:12:55.528][D][uart_b:105]: RX (8 bytes): 7F.03.75.94.00.49.D5.C2 (8) | ..u..I..
[16:13:04.791][D][uart_b:105]: RX (8 bytes): 7F.03.75.94.00.49.D5.C2 (8) | ..u..I..
[16:13:14.794][D][uart_b:105]: RX (8 bytes): 7F.03.75.94.00.49.D5.C2 (8) | ..u..I..
Ik wilde eerst met een RX op de lijn prikken en dan het verkeer zien, maar zag dus maar een kant alleen op pin 4.
Wat doe ik verkeerd dat ik geen data zie op pin 3? Als de HF-GDW-0004 verbonden is met de omvormer meet ik op pin3 0 volt tov de massa en op pin4 3,3 volt tov de massa.
(Daarna geprobeerd met een ESP8266 en ESP32 met twee com-porten als een MITM, als draad 3 doorverbonden laat en tussen draad 4 ga 'zitten' zie ik het verkeer en werkt mijn MITM (50%). Maar data over pin 3 zie ik niet, laat ik deze ook via mijn com-port bridge gaan, stop de communicatie en zie ik nog steeds alleen de data van HF-GDW-0004 naar de omvormer. De MITM truuk werkt voordat deel wel.)
benleentje
Golden Member
Pin 2 en 3 kunnen open collector uitgangen zijn.
Wat gebeurt er op pin 3 als je pin 4 via een 10k weerstand aan massa legt?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Op vrijdag 13 maart 2026 19:33:59 schreef benleentje:
Pin 2 en 3 kunnen open collector uitgangen zijn.
Wat gebeurt er op pin 3 als je pin 4 via een 10k weerstand aan massa legt?
Bedankt, maar dit had geen positief, noch negatief effect.
Ik kon pin 3 en 4 niet direct (ohms) op uart plaatsen. Op de afbeelding zou dit inderdaad wel eens een transistor kunnen zijn.
fatbeard
Honourable Member
Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Op vrijdag 13 maart 2026 19:33:59 schreef benleentje:
Pin 2 en 3 kunnen open collector uitgangen zijn.
Wat gebeurt er op pin 3 als je pin 4 via een 10k weerstand aan massa legt?
Je moet die weerstand tussen 5V 3.3V en pin 3 zetten, mogelijk is 10k teveel en moet je naar 4k7 of nog wat lager.
Lijkt inderdaad een transistor uitgang. Ik zou een externe pull up weerstand op pin 3 proberen. 10k naar 3v3.
Edit: Interessant topic trouwens, wij hebben hier hetzelfde merk omvormer hangen met dezelfde wifi module. Het lijkt me wel leuk om hieraan mee te helpen.
Op zaterdag 14 maart 2026 09:55:44 schreef fatbeard:
[...]
Je moet die weerstand tussen5V3.3V en pin 3 zetten, mogelijk is 10k teveel en moet je naar 4k7 of nog wat lager.
Ik heb nu de HF-GDW-0004 los gekoppeld.
Geprobeerd, 1k2 en 10k pin 3 aan 3,3v (vanuit de ESP, want tussen de Omvormer en HF-GDW-0004 zit 5 volt. (massa ESP aan omvormer doorverbonden)
Op zaterdag 14 maart 2026 09:57:33 schreef leime:
Lijkt inderdaad een transistor uitgang. Ik zou een externe pull up weerstand op pin 3 proberen. 10k naar 3v3.Edit: Interessant topic trouwens, wij hebben hier hetzelfde merk omvormer hangen met dezelfde wifi module. Het lijkt me wel leuk om hieraan mee te helpen.
Middels een ESP kan ik via de RS485 Modbus-verbinding (bijna) alles uitlezen, en kun je zelf de poll frequentie instellen.
Op de 'bus' die tussen de omvormer en de HF-GDW-0004 kan ik een data pakketje sturen en wordt het Power Limit gezet (incl CRC). Maar ik kan via deze 'bus' geen data uitlezen.
Ik zou dan via Modbus alles uitlezen en via de TX het power limit aanpassen. Helaas kan ik dan niet zien wat er ingesteld is en daarbij kun je de bussen niet tegelijk gebruiken. Maar mogelijk kan ik met een ESP daar wat in schakelen. Maar dit is het uiterste.
Zou het kunnen dan op één pin RX en TX zitten, soort half duplex. Standaard luistert de omvormer en als hij een data pakketje krijg switch hij naar zenden over dezelfde pin?
Dan ben je dus al een mooi eind op pad! Als je een pakket kan sturen via pin 4 is dat dus de RX van de omvormer (TX van de wifi module). Ik denk toch dat pin 3 dan de TX op de omvormer is, data ontvangen voor de wifi module/esp dus. Pin 3 zit aan pin 1 van Q1 en dat is vaak de basis van een SOT23 transistor. Als dat inderdaad zo is dan zal die transistor het signaal inverteren. Kun je in de esp software configureren dat de RX pin geïnverteerd is? Gebruik je Esphome?
De pull up weerstand is dan ook niet nodig.
Wat ik trouwens zelf zou doen is twee draadjes op de TX en RX van de interne (zwarte) wifi module solderen en daar eens afluisteren wat er gebeurt. Al dan niet met een logic analyzer of anders een ESP met twee uarts geconfigureerd en alleen de twee RX lijnen gebruiken.
Ik blijk trouwens zelf een andere generatie wifi module te hebben (via een usb connector). Maar ik ben nog wel nieuwsgierig naar wat je op modbus al uitgevonden hebt.
Dan heb jij mogelijk deze module: https://github.com/jantenhove/GoodWeLogger/issues/28
Ja ESPHOME sinds een jaar, daarvoor dacht ik alles in Arduino (C++) te moeten schrijven.
Ik heb een ESP8266 en ESP32 geconfigureerd met twee UARTS (EPS8266 heeft maar een hardware UART) en dan de beide RX gebruikt, maar dan zag ik ook niks binnenkomen.
Kun je in de esp software configureren dat de RX pin geïnverteerd is?
Dit had ik toevallig vanmorgen probeert, maar volgens de logging kwam er niets op binnen. Ik ga dat nog eens proberen.
[edit]
Ik denk dat ik een stap verder ben, ik had alleen de power van de HF-GDW-0004 afgehaald. Deze dat nog op de data 
[/edit]
[Bericht gewijzigd door BAS_esp op (18%)]
Ik ben hier ook eens mee bezig geweest, als je een wat recentere Goodwe omvormer hebt met zo'n wifi-module met USB-connector, dan wordt de data in de omvormer al versleuteld. Ik ben op een gegeven moment gestopt met zoeken, omdat je de omvormer firmware door Goodwe kon laten bijwerken, waarna hij lokaal via Home Assistant is uit te lezen (is een integration voor in Home Assistant). Als je vervolgens in je router de omvormer toegang tot internet ontzegd dan kun je hem nog prima lokaal uitlezen.
Ik vond recentelijk een blogpost van iemand die het protocol van de stick heeft weten te ontcijferen:
https://web.archive.org/web/20251117224643/https://smlx.dev/posts/good…
Een oudere Goodwe (2017) had zo'n witte JST stekker en daar werkte die GoodweLogger prima destijds.
Korte update:
Tot nu toe kan ik 'alles' uitlezen en ook de Power Limit aanpassen. Deze waarde zelf kan ik niet uitlezen, maar blijkbaar kan de standaard app van Sems/SolarGo dat ook niet noch dat HA dit kan. Dus ben gestopt met het opvragen van register, om te kijken wat daarin staat.
Standaard begint de omvormer om de ca 3 minuten "+++" te sturen naar de WiFi-module, je kan dan nog geen data opvragen. Je moet dan eerst een "a" sturen.
Daarna wil de omvormer iedere minuut weten of de WiFi nog wel verbonden is...... en anders .... gaat hij iedere 10 seconden alle instellingen opvragen. Dus die houden we zoet 
To be continued 
Mooi dat je verder bent gekomen. Welk type omvormer gaat het eigenlijk om? Want het verbaast mij dat je de data zo kan meelezen.