[APP][Pro] Connect Solar Goodwe Inverter to Homey

hanks for the review, and for flagging the overlap with Michal Stráník’s GoodWe app — I reached out to him directly about it. His app does local Modbus/LAN access, which is genuinely a stronger approach when it’s available; mine is cloud-based via GoodWe’s SEMS+ API, which is the fallback that still works for inverters/dongles where local access isn’t supported (a real, non-trivial subset — GoodWe’s own local protocol depends on inverter firmware version, confirmed against multiple real installs). I see the two as complementary rather than duplicate: cloud vs. local is a genuine technical difference, not just a rebrand.

I’ve also addressed the other feedback: [description/images/icon — regenerated icons at all required sizes, description text updated]. Version 2.3.0 is ready with these changes plus a cloud-API migration (GoodWe is retiring the old SEMS Portal) and a fix for a bug where a bad API response would freeze the Energy tab silently instead of showing an error.

Happy to adjust anything specific you’d still like changed.

Yes, ik heb hem getest door de omvormer opnieuw toe te voegen en hij toont weer recente data. Bedankt voor de snelle fix.

@DeOuweDibbes thnx for confirming my update solved the issue!

I’ve solved the issue with this app homey.app/en-nl/app/nl.koelman.goodwesems/GoodWe-SEMS/test/

Deze doet het wel Peter, homey.app/en-nl/app/nl.koelman.goodwesems/GoodWe-SEMS/test/

Dank je voor je vlugge reactie :grinning_face_with_smiling_eyes:

Werkt het voor je?

Ik heb hetzelfde probleem als eerder door anderen gemeld. Plots geen verbinding meer via Homey naar de Goodwe, via de Sems+ app en website werkt het wel. API update vanuit GoodWe waardoor de Homey verbinding niet meer werkt?

Modbus-koppeling in Homey lijkt niet te werken (ik ben er niet goed bekend mee of dit een hardware ding is van mijn GoodWe, of dat ik de port of iets anders fout kies).

De reguliere koppeling via de server, ik heb opnieuw het apparaat toegevoegd. Behoorlijk complex om in de nieuwe sems+ omgeving je systemID te achterhalen, maar het is gelukt. Uiteindelijk resulteerde het in hetzelfde, namelijk geen verbinding.

De Koelman app hierboven geprobeerd, maar kom daar niet door het checken van het SEMS+ account heen.

Iemand ideeën?

The app of @TheWiZZz is hanging here also on “je station zoeken…” for 15 minutes now.

Might be a silly IT helpdesk question, but is your inverter actually powered on right now?

No sun…. :sun:

Maybe you’re right

(Just going to call myself a few names)

@Xa4 @Olivier_Sauer

I just shipped a fix (should reach Test/Live shortly) so pairing can no longer get stuck on “finding your station” indefinitely — there’s now a visible “enter station ID manually” link from the start, and the auto-detect step times out after 20s instead of hanging. That should at least get you past this specific screen.

That said, I don’t yet know the root cause of why it hung in the first place, and I’d like to find out properly rather than just paper over it. Could you both do one thing:

Send a Diagnostics Report from the GoodWe SEMS app settings on your Homey (Settings → Apps → GoodWe SEMS → “Send Diagnostics Report”), ideally while the problem is still happening rather than after retrying — that sends me the actual recent app logs, which is the only way I can see what’s really going on at your end.

@Olivier_Sauer, a few extra questions for your case specifically (login failing, not just the station search):

  • Do you get any error message when it fails, or does it just hang silently like Xa4’s case?
  • Roughly how long did you wait before giving up?
  • Which Homey are you on — Pro 2023, Pro Mini, or Cloud/Bridge?

@TheWiZZz

Hopefully following this thread to get the goodwe data back. I tried too but was also stuck on this getting station id page.

If needed to put in manually, where can I find this needed url or so? I have been searching arojnd on the Sems+ portal website but cannot find anything. Not in the url nor in any settings.

Thanks

@Wes_Holsteyn Here’s how to find it manually:

  1. Log in at semsplus.goodwe.com
  2. Click into your station (Station List → your station → Station Details)
  3. Look at your browser’s address bar. The URL looks like:
    https://semsplus.goodwe.com/#/station_monitor/station_detail?eyJzdGF0aW9uaWQiOiI...
  4. Copy everything after station_detail?
  5. Go to any free base64-decode tool (e.g. base64decode.org), paste that string, and decode it
  6. You’ll get something like {"stationid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","appType":"WEB"} — the stationid value (the UUID) is what the app’s manual station-ID field wants

I’m also working on a fix so the app finds this automatically for more accounts instead of requiring this at all — will update here.

Hi, thanks for the quick response.

Diagnostic for the GoodWe app:

432b85c4-3b39-4a7b-82ec-335d0ad362cd

Diagnostic for the Koelman app:

928353b5-bd92-4e2e-a6e5-07336ff82426

I let it run for maybe 3-5 minutes or more. Until it timed out on the screen and had to rerun it again.

Edit: tried later longer time but same result.

It hangs silently on Homey Pro 2023.

This didnt work anymore for me. In the sems+ app and website it is no longer shown in the url. Found it only through the developers tools in the browser.

Hi everyone,

I’m aware that the GoodWe Cloud integration has recently stopped working due to changes on the SEMS portal side (likely related to API updates, WAF/Cloudflare restrictions, and session handling).

I am currently investigating the issue and actively working on a fix to adapt the driver to these changes. I’ll share an update and push a test version as soon as I have a working solution ready.

Thank you for your patience!

Hi everyone,

Good news! The GoodWe Cloud driver issue caused by recent backend and SEMS+ changes has been resolved.

A test update is now available for testing:

:backhand_index_pointing_right: GoodWe Inverter Test Version

What was fixed:

  • SEMS+ API compatibility: Updated API endpoints and client headers to support accounts migrated to the new SEMS+ backend.

  • Token caching & session management: The driver now reuses authentication tokens across polling cycles, preventing account lockouts, Cloudflare WAF bans, and rate-limiting.

  • Dynamic region routing: Requests are now automatically routed to the correct regional cluster server returned during authentication.

Please give it a try and let me know if your live production and battery metrics are reporting correctly again.

Thanks for your patience and feedback!

Hi Michal, the problem has been resolved and the app is working again. Thanks for the quick response.

@Michal_Stranik

Working perfectly :ok_hand::folded_hands::folded_hands::folded_hands::partying_face: