Repository navigation
fix(live): Home use as the plain balance; display and energy load as two series - #1768
Merged
Merged
Conversation
…ng load; HA energy-average sensor
frahlg
added a commit
that referenced
this pull request
Oct 21, 2026
/api/status always sent load_estimate, an energy-averaged Home use, and the energy flow treated its presence as "estimated". Every box therefore showed "≈" on Home use and never showed "% self-powered now", even with every device read. The page now reads Core's load_quality only. HomeUseEstimate came in on 18 October as the live Home use and was left behind when #1768 made Home use the plain balance. It fed only load_estimate and a second Home Assistant sensor that has not shipped. Remove it, its observation buffers in the telemetry store and the HA sensor, so Core has one Home use value. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restores live Home use (
load_w) when a device is offline. Regression since #1592 (12 Oct, v0.141.2-beta.1), widened by #1733:qualifyStatusHistoryoverwrote liveload_wwith the history balance check, so any one offline/stale/missing device blanked Home use. Reported by Anders (Growatt offline after sunset, Pixii meter + battery read, v0.154.1). Supersedes #1767.1. Live / display load — simple
load_w= site meter − every flow that is read, shown as is: negative values are shown (production Core cannot see), misconfiguration still shows a value. Null only when the site meter is missing, stale or offline.load_quality(measured|estimated|unknown) +load_reasonare hints only, never hide the value.estimated. Duplicated flows (same charger as EV and V2X) are left out, never subtracted twice.estimated; by daypv_wnull). Malformed PV is never replaced by darkness.2. Two series, both logged
ftw:site / load_display_wwritten each history tick, exactly the value clients show (cmd/ftw/display_load.go).history_quality), read by load-model training viaHouseholdIntervals(fix(forecast): train load models on closed history intervals #1754), which filters on quality. The tick's history Load column stays the placeholder the source writer replaces, so (a) never reaches training.3. Consumers
/api/status, app/Cloud snapshot (display value), support report (≈ x (estimated: reason), no forecast-miss claims on estimates), troubleshooting log.Load Power(display,load_w) and newLoad Power (energy average)(load_energy_w, energy-basedHomeUseEstimate,Noneuntil a full window).≈for estimates.Tests
Anders night/twilight/day; meter offline/missing/stale → null; negative balance shown; misconfiguration shows value; #1744; offline battery; duplicate charger; malformed PV at night; live vs history quality; display series logged and kept out of history Load/training intervals; HA two sensors + discovery; web negative/estimated. Older strict-policy tests updated.
go testgreen exceptinternal/driverslocally (bundled Lua not in worktree). Web 867/867.Codex (local)
R1: darkness hid
invalid_signPV → fixed. R2 clean. R3 (after this rework): duplicated flows double-subtracted in the live balance → fixed. R4 clean.