Model expected battery cycle count under dispatch behavior #11
Labels
No labels
bug
decision
docs
enhancement
integration
ops
security
tech-debt
testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/BatteryStorageCalculator#11
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
docs/implementation-audit.mdunderBattery Cycle Information: Current batteries include cycle life and the UI displays approximate years at one cycle/day. There is no modeled expected cycle count under dispatch behavior yet.One cycle/day is a placeholder. The hourly simulation already knows exactly how much the battery is charged and discharged, so actual annual cycle count can be derived from the selected dispatch rather than assumed.
This matters because dispatch aggressiveness (Smart mid-peak, Ultimate 6am-10pm) directly trades battery lifespan for arbitrage savings, and the app currently shows the savings side of that trade without the wear side.
Supports the roadmap Guiding Decision: Long-term modeling should include battery cycle expectations and solar panel lifetime/degradation. The solar half is done; the battery half is not.
Code:
src/lib/simulation.js,src/lib/batteries.jsPartially addressed by
b31aa8c(Add battery degradation and rate-escalation-adjusted payback), which landed independently.That commit models degradation over time — a flat
degradationPct(2%/yr default) compounded per year incalculateAdjustedPaybackYearsand in projections. It does not model cycle count under dispatch, which is what this issue asks for.The distinction still matters, and arguably matters more now: the flat 2%/yr rate is independent of how hard the battery is actually worked. Selecting Ultimate Savers 6am-10pm dispatch cycles the battery far harder than peak-only dispatch, but both currently degrade at the same 2%/yr. The hourly simulation already knows the real charge/discharge throughput, so actual cycle count is derivable — and could drive the degradation rate rather than assuming it.
Keeping open. Scope is now narrower and better defined: feed simulated cycle count into the existing degradation model rather than build degradation from scratch.