power-compare/app/api
dlawler489 9e66a9a97d
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 24s
Add battery telemetry for plants with a hybrid inverter/ESS
Confirmed against Sungrow's own docs and live-tested against a real
battery plant: SOC and charge/discharge power live at the *device*
level (getDeviceRealTimeData against the hybrid inverter's ps_key,
device_type 14), not in the plant-aggregate points used elsewhere in
this client -- querying them via the plant-level endpoint just returns
null. Battery status is fetched once per live "today" poll (not
backfilled historically) and stored in three new nullable columns,
self-migrated on startup since there's no Alembic here.

Also fixes the dashboard's self-consumption line to derive from
load - import rather than generation - export, which overstated
"solar -> house" for battery systems (a chunk of that gap was going
into charging, not the house). The live flow diagram now shows a
Battery node (SOC + charge/discharge) that stays hidden entirely for
solar-only plants like Kallangur.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 12:25:09 +10:00
..
__init__.py Initial commit: solar usage vs AER plan comparison app 2026-09-09 11:07:01 +10:00
isolarcloud.py Initial commit: solar usage vs AER plan comparison app 2026-09-09 11:07:01 +10:00
plans.py Initial commit: solar usage vs AER plan comparison app 2026-09-09 11:07:01 +10:00
settings.py Initial commit: solar usage vs AER plan comparison app 2026-09-09 11:07:01 +10:00
usage.py Add battery telemetry for plants with a hybrid inverter/ESS 2026-09-09 12:25:09 +10:00