Skip to content

Add SPH device support via the regional mobile API#145

Open
morland96 wants to merge 1 commit intoindykoning:masterfrom
morland96:feature/regional-mobile-sph-support
Open

Add SPH device support via the regional mobile API#145
morland96 wants to merge 1 commit intoindykoning:masterfrom
morland96:feature/regional-mobile-sph-support

Conversation

@morland96
Copy link
Copy Markdown

@morland96 morland96 commented May 4, 2026

Summary

Newer SPH/SPM hybrid inverters (e.g. SPM-10000TL-HU) aren't reachable via the existing legacy mix_/tlx_/storage_* endpoints — those return null/zero values. They're also not reachable via the V1 sph_* methods because V1's device_list omits these devices entirely.

I proxied my phone and looks like ShinePhone mobile app to reverse engineer the same set of methods for SPH/SPM inverters:

  • sph_system_status(plant_id, sph_sn) — real-time SOC, vBat, PV (per-string), battery charge/discharge, grid in/out, local load, AC voltage/frequency
  • sph_energy_overview(plant_id, sph_sn) — daily and lifetime kWh totals
  • sph_energy_prod_and_cons(plant_id, sph_sn, date, chart_type) — chart series (day/month/year/total)
  • sph_settings(sph_sn) — full settings bean (149 adjustable parameters on this device)
  • update_sph_inverter_setting(serial, type, params) — write a setting via newTcpsetAPI.do?op=sphSet

An exampled is included: examples/sph_legacy_example.py

Checklist

  • I've made sure the PR does small incremental changes. (new code additions are dificult to review when e.g. the entire repository got improved codestyle in the same PR.)
  • I've added/updated the relevant docs for code changes i've made.

Newer SPH inverters aren't reachable via the V1 OpenAPI. Add methods
that target the regional mobile host (server-{region}-api.growatt.com)
which is what the ShinePhone app uses.

Methods on GrowattApi:
- sph_system_status() — real-time values (SOC, PV, battery, grid, load)
- sph_energy_overview() — daily and lifetime totals
- sph_energy_prod_and_cons() — chart series (day/month/year/total)
- sph_settings() — full settings bean
- update_sph_inverter_setting() — write a setting
@morland96 morland96 force-pushed the feature/regional-mobile-sph-support branch from 4bed1df to df3d417 Compare May 4, 2026 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant