Solarprod

Connecting a GoodWe inverter

solarprod can pull live solar production, battery state, grid import / export and household load directly from your GoodWe inverter through GoodWe’s SEMS Portal cloud API. Once connected, your forecast is anchored against what’s actually happening at your meter instead of the typed-in defaults — the predicted curves on the chart pick up smoothly from your real, measured numbers.

What you’ll need

  • A GoodWe inverter that’s already paired with a SEMS Portal account. If your installer set it up, you’ll have received an email with login details.
  • The email address and password you use to sign in to the SEMS Portal web dashboard (semsportal.com) or the SEMS Portalmobile app.
  • Your inverter online and reporting to SEMS — check this by signing in to the SEMS app and confirming your station shows as “Online” with a recent sample time. If it’s offline, solarprod can still connect but the live snapshot will return nothing until the inverter comes back online.

How to connect

  1. Go to your Account page in solarprod.
  2. Find the Cloud inverter card and pick GoodWe SEMS Portal from the provider dropdown.
  3. Enter the email and password for your SEMS Portal account. Click Connect.
  4. solarprod will sign in once on your behalf, fetch the list of stations on the account, and show them to you. Pick the station you want to use for your forecasts.
  5. That’s it. From this point on, every time you run a forecast, solarprod pulls the latest snapshot (battery charge, current solar power, current load) from your inverter and uses it to anchor the simulation.

What we read from your inverter

solarprod only ever reads data from your inverter — it cannot change settings, dispatch the battery, or do anything that affects how your system runs. Specifically, we ask the SEMS Portal API for:

  • Current solar power — what your panels are generating right now.
  • Battery charge — how full your battery is, as a percentage and converted to kWh against the capacity in your solarprod layout.
  • Battery power flow — whether the battery is currently charging or discharging, and at what rate.
  • Grid power flow — whether you’re currently importing from the grid or exporting to it, and at what rate.
  • Household load — how much power your house is consuming right now.

We don’t pull historical data unless you explicitly ask for the day-chart overlay that compares yesterday’s forecast to what actually happened. We never read personal information, account settings, billing details, or anything else.

Privacy and credentials

Your SEMS Portal password is held only as long as it takes to encrypt it — we use Fernet symmetric encryption with a key derived from solarprod’s deployment session secret. The ciphertext sits on your account row in the database; it’s only ever decrypted in-process, for the duration of a single outbound call to SEMS, and is never logged, never printed in error traces, and never sent to anyone other than GoodWe themselves.

We have to hold the password (rather than just a token) because the SEMS Portal API has no refresh-token endpoint — when the session expires we have to sign in again from scratch, which requires the original credentials. This is a limitation of SEMS, not a design choice on our end. If GoodWe ever adds long-lived API keys, we’ll switch to those and stop storing the password.

You can disconnect at any time from the same card on the Account page. Disconnecting removes the encrypted credentials, the station selection, and any cached snapshots from solarprod immediately. It does not affect your SEMS Portal account itself — that stays exactly as it was.

Troubleshooting

  • “Login rejected” — double-check you’re using your SEMS Portal credentials, not the installer-side account or a different GoodWe service. Sign in once at semsportal.com first to confirm.
  • “No stations found” — usually means the installer used a different account to register the inverter. Ask them to invite your email as a co-owner on the SEMS Portal station, then retry.
  • “Reconnect needed” — SEMS sessions expire silently. Click Disconnect and then Connect again; the password you saved is used transparently and you should be back in within seconds.
  • Snapshot looks stale — SEMS samples on a 5-minute cadence and the dashboard caches for up to a minute. Wait a couple of minutes after a big change at your meter before the live snapshot catches up.

Closes this tab and returns to the calculator.