Release candidate for 1.3.1
Based on v1.3.0. This is a prerelease for testing, not a stable release.
Fixes and improvements
- EV charger power uses the signed portal burst endpoint (
get_sd_uri→burst/get,es.sp) rather than the legacypile_powervalue that can mirror PV production. Missing, invalid, or stale data is unavailable; verified live zero remains zero. - Integrates Claude's PV port-count discovery (PR #67, commit
79dd4fe) and charger capability work (cbf1628), with the latter's legacy power fallback superseded by burst telemetry. - Serializes battery writes per station, blocks commands after denied reads, and requires readable verification before declaring a write applied. Schedule drafts survive failed readback.
- Bounds request concurrency, isolates station failures, caches slower settings, and invalidates control caches after writes.
- Adds late entity discovery across all seven platforms, same-account reauthentication, per-account draft storage migration, and stronger diagnostics redaction.
- Moves Argon2 hashing off the event loop.
Validation
- 127 standalone tests passed locally and in CI.
- Actual Home Assistant 2026.9.2 lifecycle smoke passed locally and on Linux CI with a fake cloud transport: setup, seven platform constructors, late discovery/deduplication, station failure, reauthentication with one reload, schedule-draft retention, and unload.
- HACS and hassfest passed.
- JSON/YAML, compilation, version ordering, archive integrity, and diff checks passed.
- Validation run.
- Three Sol subagents implemented and cross-reviewed the changes. The separate existing Claude GitHub review action failed before producing a review (
is_error:true); it is not counted as a passed review.
Install and rollback
Download the ZIP asset below, extract custom_components/hoymiles_cloud into your Home Assistant configuration, and restart. Preserve a configuration backup. Existing entity unique IDs remain unchanged. To roll back, restore v1.3.0 and restart; new per-entry draft edits are not copied back to legacy shared storage.
Limits before stable promotion
No live hardware commands or authenticated station-to-HA numerical comparison were performed. Test a real charger connected/disconnected, a battery write/readback, token expiry, and a multi-account restart before promoting to stable. Burst URL validation currently supports the observed EU host only; aggregate sensors retain their established sources. Per-microinverter temperatures, unknown multi-device port mappings, AI mode 9 controls, and cloud history backfill remain deferred.
Draft review PR #68 · Full candidate notes
Source commit: 714a56f1cacd18db0d27ba5aefff9672c3cec226
ZIP SHA-256: 49fe1a27a3110cff7e2545f86c10cbfb96fa4206121ea8965e234c32c796015d