github Philra94/homeassistant-hoymiles-cloud v1.1.0
v1.1.0 — S-Miles Home login and per-channel PV data

latest releases: v1.4.0rc4, v1.4.0rc3, v1.4.0rc2...
one month ago

First tagged release of the integration. Everything before this was installed straight from the default branch, so if you are on HACS you will now be offered versioned updates instead.

Two things landed since 1.0.0: S-Miles Home accounts can log in, and per-channel PV data works on hardware that previously reported nothing.

S-Miles Home (MS-A2 and other consumer accounts)

Consumer "S-Miles Home" accounts were hitting a hard "this account can only be used for logging in to the S-Miles Home app" gate that no password or profile change could get past.

The gate turns out to be triggered solely by the User-Agent. The integration now sends the genuine consumer-app agent and targets the correct auth host directly, because the default host 307-redirects auth and invalidates the login nonce along the way. Auto-detection falls through to the home profile instead of giving up.

Verified end-to-end against a real S-Miles Home account. If you previously could not log in at all, this is the release to try.

Related: #27, #30, #41 · PRs #35, #36

Per-channel PV voltage, current and power

On some hardware — observed on the HF-800-1WB — the indicators endpoint returns the per-channel PV keys but fills them with the placeholder "-". The sensors existed but stayed unknown forever, and PV String Power stayed stuck at zero.

The integration now falls back to the module-data chart endpoint that backs the per-port view in the S-Miles Cloud web UI, decodes its protobuf response, and merges real values into those channels.

Two limitations, stated plainly:

  • The fallback only runs on stations with a single microinverter.
  • It triggers on the placeholder "-". A station returning a genuine numeric 0 is not affected by it.
  • It cannot create channels the API never reports at all. If your PV2 sensor does not exist, see #39 — that needs port enumeration and is not fixed here.

The endpoint is documented in docs/hoymiles-module-data-api.md.

Related: #20 · PR #48

Fixes

  • The options dialog opens again. It was failing with a 500 Internal Server Error because the config flow assigned to a Home Assistant property that is read-only in current versions. (#24)
  • PV values no longer go stale overnight. The day chart stops growing when the inverter sleeps rather than padding with zeros, so the last daylight reading would otherwise have been repeated all night and fed phantom energy into any Riemann sum built on the PV sensors. Samples older than 15 minutes now report 0.
  • Fewer repeated warnings. The module-data path warns once per outage instead of once per channel per poll.
  • Correct day boundary. The requested date and the freshness check follow the timezone configured in Home Assistant rather than the host clock.
  • Module-data responses are cached for 240s to match the cloud's own ~5 minute refresh rate, keeping the extra requests off the coordinator's shared 30 second update budget.

Known limitations

  • The Hoymiles cloud itself only refreshes plant telemetry every ~5 minutes. Setting a shorter update interval will not produce fresher data. (#40)
  • Battery-only systems still log an API returned success but microinverters list is empty warning. (#47)
  • Per-port PV data for stations whose API never advertises the channel is not supported yet. (#39)

Upgrading

No configuration changes are needed and no entities are removed. If you were previously unable to log in with an S-Miles Home account, remove and re-add the integration so the auth profile is re-detected.

Thanks

@limpep for the per-channel PV work in #48 — the reverse engineering of the module-data endpoint, the dependency-free protobuf decoder, and the accompanying documentation. Thanks also to everyone who filed diagnostics on the auth and PV issues; the S-Miles Home fix would not have been findable without them.

Don't miss a new homeassistant-hoymiles-cloud release

NewReleases is sending notifications on new releases.