Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
39aae37
docs: design for the annual prediction tool
springfall2008 Jul 25, 2026
afb4189
docs: ground the annual tool's P10 in measured forecast error
springfall2008 Jul 25, 2026
ec2345a
docs: add the annual prediction tool implementation plan
springfall2008 Jul 25, 2026
4f30e85
docs: prove the solar model extraction with the existing open_meteo s…
springfall2008 Jul 25, 2026
20abc1c
refactor(solar): extract the shared GTI to kW conversion model
springfall2008 Jul 25, 2026
d6f6497
feat(annual): add domestic load profile data tables
springfall2008 Jul 25, 2026
208acae
fix(annual): correct indentation and add cspell dictionary entry
springfall2008 Jul 25, 2026
f136070
feat(annual): add synthetic load profile source
springfall2008 Jul 25, 2026
b82f404
docs: correct the pre-commit path in the annual prediction plan
springfall2008 Jul 25, 2026
6ff828b
fix(spell): add solar_model.py's technical terms to the cspell dictio…
springfall2008 Jul 25, 2026
50cbdc7
docs: warn that pre-commit skips untracked files
springfall2008 Jul 25, 2026
c2e09f7
feat(annual): add Octopus consumption load profile source
springfall2008 Jul 25, 2026
ac92333
docs: stop the annual plan caching truncated downloads
springfall2008 Jul 25, 2026
457cf77
fix(annual): stop caching truncated Octopus downloads and undercounte…
springfall2008 Jul 25, 2026
0003ee3
feat(annual): add Open-Meteo actuals and forecast archive weather module
springfall2008 Jul 25, 2026
fecdbd3
fix(annual): validate weather payloads before caching and require eve…
springfall2008 Jul 25, 2026
b7a6610
feat(annual): add historical tariff resolution module
springfall2008 Jul 25, 2026
b1ba8aa
fix(annual): close tariff download/pricing gaps found in review
springfall2008 Jul 25, 2026
d83744e
feat(annual): add annual prediction config validation
springfall2008 Jul 25, 2026
2e87278
fix(annual): guard numeric conversions and tighten range checks in co…
springfall2008 Jul 25, 2026
5b80f15
feat(annual): add headless PredBat bootstrap and per-sample state reset
springfall2008 Jul 25, 2026
ac4cb24
fix(annual): correct state-reset ownership, soc_kw determinism and en…
springfall2008 Jul 25, 2026
26da4b8
feat(annual): add irradiance-stratified sample day selection
springfall2008 Jul 25, 2026
676f27d
fix(annual): pin sample-selection edge cases from review
springfall2008 Jul 25, 2026
93e3d15
feat(annual): add three-scenario day runner
springfall2008 Jul 25, 2026
a1ddb66
fix(annual): correct planner-off, car-billing and metric leakage bugs…
springfall2008 Jul 26, 2026
b0876cf
feat(annual): add AnnualPredictor orchestration and results document
springfall2008 Jul 26, 2026
45eeb1b
fix(annual): correct results zeroing, add results tests, and 6 review…
springfall2008 Jul 26, 2026
136bd06
fix(annual): reweight degraded-month samples, document export estimat…
springfall2008 Jul 26, 2026
8e523b1
feat(annual): add annual prediction command line interface
springfall2008 Jul 26, 2026
0d0fc1e
fix(annual): don't lose --out failures, label the currency, and cover…
springfall2008 Jul 26, 2026
efa85d3
docs: add annual prediction tool documentation
springfall2008 Jul 26, 2026
2d7a892
fix(annual): stop silently discarding car_rate_kw during config valid…
springfall2008 Jul 26, 2026
c018f54
docs: model car charging as episodic sessions, not a daily trickle
springfall2008 Jul 26, 2026
e5a0422
feat(annual): model car charging as weekly sessions, not a daily trickle
springfall2008 Jul 26, 2026
c8f8d39
fix(annual): reset scenario-3 car overrides, fix doc heading order, a…
springfall2008 Jul 26, 2026
7bae6b4
test(annual): compute the expected blend independently of _blend_results
springfall2008 Jul 26, 2026
12e7a57
fix(annual): clamp baseline car window to its billed day, tighten yea…
springfall2008 Jul 26, 2026
9b183fc
fix(annual): surface the baseline-comparator caveat in the results JSON
springfall2008 Jul 26, 2026
576891c
docs: design for the Annual prediction web UI
springfall2008 Jul 26, 2026
6d7bba1
docs: keep five annual runs in storage, prefill from the args dict
springfall2008 Jul 26, 2026
a1d63b5
docs: route annual results through storage, never a bare file write
springfall2008 Jul 26, 2026
93a3c64
docs: the simulation returns results, the wrapper persists them
springfall2008 Jul 26, 2026
ca26116
docs: add the Annual web UI implementation plan
springfall2008 Jul 26, 2026
244136a
feat(annual): add the tariff catalogue for the Annual tab dropdown
springfall2008 Jul 26, 2026
46449c5
docs: correct two tariff catalogue errors in the web UI plan
springfall2008 Jul 26, 2026
1689dab
fix(annual): correct iflux export URL and restore missing go_agile ta…
springfall2008 Jul 26, 2026
8fcdeb3
feat(annual): add machine mode so a parent process can drive the CLI
springfall2008 Jul 26, 2026
6bb50e3
fix(annual): keep --machine's stdout pure JSON when the engine logs o…
springfall2008 Jul 26, 2026
0cf8bda
feat(annual): add subprocess job control for the Annual tab
springfall2008 Jul 26, 2026
4b16614
fix(annual): close a stale-supervisor race and other job control gaps
springfall2008 Jul 26, 2026
6c2c7eb
feat(annual): add the five-run store for the Annual tab
springfall2008 Jul 26, 2026
de1f680
docs: fix build_label raising on a truthy non-dict config
springfall2008 Jul 26, 2026
504694b
fix(annual): stop build_label raising on a non-dict config
springfall2008 Jul 26, 2026
9e8728a
feat(annual): add Annual tab prefill and config persistence
springfall2008 Jul 26, 2026
cfcc514
docs: use float defaults with get_arg in the prefill plan
springfall2008 Jul 26, 2026
a1bac4a
docs: pass indirect=False when prefilling tariff URLs
springfall2008 Jul 26, 2026
66b555c
fix(annual): read multi-inverter soc_max and Octopus tariff URLs corr…
springfall2008 Jul 26, 2026
37f9117
feat(annual): render the Annual tab configuration form
springfall2008 Jul 27, 2026
96c38a6
fix(annual): HTML-escape user-controlled form values and preserve tar…
springfall2008 Jul 27, 2026
031d247
feat(annual): wire the Annual tab routes and navigation
springfall2008 Jul 27, 2026
bcb36eb
fix(annual): stop the Annual tab's redirect loop, edit loss, save rac…
springfall2008 Jul 27, 2026
656e6d6
feat(annual): add the Annual tab results view and monthly chart
springfall2008 Jul 27, 2026
e59762d
docs: document the Annual prediction web tab
springfall2008 Jul 27, 2026
fd1d435
fix(annual): coerce declination/azimuth/lat/long strings from the web…
springfall2008 Jul 27, 2026
421515b
fix(annual): close the form-to-store seam found by the final review
springfall2008 Jul 27, 2026
a461a7c
feat(annual): drop the self-consumption figure rather than report a b…
springfall2008 Jul 27, 2026
2c5806c
docs(annual): plan for debug plan capture and viewing
springfall2008 Jul 27, 2026
261e585
feat(annual): retain each sampled day's plan JSON under a debug flag
springfall2008 Jul 27, 2026
93b15b0
docs(annual): document the debug plan capture and viewer
springfall2008 Jul 27, 2026
bc05d90
fix(annual): capture plans from the same run that bills the scenario
springfall2008 Jul 27, 2026
b3fd02e
feat(annual): view a debug run's captured plans with the existing pla…
springfall2008 Jul 27, 2026
5138d4c
fix(annual): stop the capture re-run from double-billing the standing…
springfall2008 Jul 27, 2026
ac1513a
fix(annual): fall back to current rates when a tariff has no history
springfall2008 Jul 27, 2026
aed7336
feat(annual): offer Prime Outgoing export alongside Fixed in the tari…
springfall2008 Jul 27, 2026
b9e7d1d
fix(annual): correct the current-rates tariff fallback after adversar…
springfall2008 Jul 27, 2026
8e39756
fix(annual): refuse a current-rates pattern that does not cover a ful…
springfall2008 Jul 27, 2026
d0eb42c
fix(annual): namespace tariff rate caches by URL, plus review follow-ups
springfall2008 Jul 27, 2026
6a4b67c
feat(annual): keep the last 20 runs rather than 5
springfall2008 Jul 27, 2026
ea1bb6e
feat(annual): name the buttons for what they do and show results auto…
springfall2008 Jul 27, 2026
29640b6
feat(annual): widen the long text fields and prefill Octopus credentials
springfall2008 Jul 27, 2026
3cc1cdc
docs(annual): design for install costs, payback and the PV-only scenario
springfall2008 Jul 27, 2026
e129fa8
docs(annual): model Predbat's cost as a recurring fee, not capital
springfall2008 Jul 27, 2026
8ecda5f
docs(annual): pin the validated fourth chart colour with its evidence
springfall2008 Jul 27, 2026
b3c33fa
docs(annual): implementation plan for install costs and payback
springfall2008 Jul 27, 2026
8daabfe
feat(annual): add the install cost and payback model
springfall2008 Jul 27, 2026
ad10a38
fix(annual): refuse payback when a required scenario is missing
springfall2008 Jul 27, 2026
b70b8cf
feat(annual): accept a panel count as an alternative to kWp
springfall2008 Jul 27, 2026
53eab99
feat(annual): add a PV-only scenario so PV alone can be costed
springfall2008 Jul 27, 2026
388aa8a
feat(annual): report install costs and payback in the results document
springfall2008 Jul 27, 2026
5715796
test(annual): guard the costs ValueError->AnnualConfigError translati…
springfall2008 Jul 27, 2026
fe425d1
feat(annual): offer panel counts and editable install costs in the form
springfall2008 Jul 27, 2026
00894ca
feat(annual): show the PV-only scenario and a cost/payback table
springfall2008 Jul 27, 2026
0e2a8bf
fix(annual): scope the results assertions to the region each is about
springfall2008 Jul 27, 2026
651bfeb
fix(annual): stop the payback table pricing hardware that is not there
springfall2008 Jul 28, 2026
a804562
fix(annual): show the live Octopus credentials when a saved config ha…
springfall2008 Jul 28, 2026
46894dd
feat(annual): state what each run used, and separate it from the form
springfall2008 Jul 28, 2026
abfdb5b
docs(annual): design for three pages, run comparison and split plan s…
springfall2008 Jul 28, 2026
994af36
docs(annual): plan for three pages, compare and split plan storage
springfall2008 Jul 28, 2026
3380133
feat(annual): cache each run's headline figures on the index
springfall2008 Jul 28, 2026
aa484b8
fix(annual): guard build_summary against non-numeric cost_p, harden b…
springfall2008 Jul 28, 2026
225edc8
feat(annual): store captured plans per leg instead of inside the results
springfall2008 Jul 28, 2026
c963563
fix(annual): rebuild the plan viewer from an index-level plan_index, …
springfall2008 Jul 28, 2026
980d37c
feat(annual): split the tab into configure, results and compare pages
springfall2008 Jul 28, 2026
6b4684e
feat(annual): add a page comparing stored runs and their paybacks
springfall2008 Jul 28, 2026
1a832dd
test(annual): make the compare-table tests catch row/summary swaps an…
springfall2008 Jul 28, 2026
824c24e
docs(annual): describe the three pages and run comparison
springfall2008 Jul 28, 2026
23d5aea
fix(annual): fix wave 1 from final review — selector, compare gaps, c…
springfall2008 Jul 28, 2026
ed51e97
fix(annual): make the tariff dropdown authoritative, and warn about O…
springfall2008 Jul 28, 2026
79d59a1
fix(annual): let the tab's prose wrap instead of running off the page
springfall2008 Jul 29, 2026
3a92de2
fix(annual): align the Advanced block and buttons with the fieldsets
springfall2008 Jul 29, 2026
de0c3a7
feat(annual): add a reset button, and give the form real space at the…
springfall2008 Jul 29, 2026
cb9bded
fix(annual): read the inverter limits and hybrid flag from the user's…
springfall2008 Jul 29, 2026
4cae4e5
feat(annual): show the system price, and let a real quote replace the…
springfall2008 Jul 30, 2026
14e45bb
feat(annual): rename the tab to WhatIf and title the pages
springfall2008 Jul 30, 2026
621c896
feat(annual): take quotes as solar-only and solar-and-battery
springfall2008 Jul 30, 2026
33fbc8d
feat(annual): move the buttons and progress bar to the top of the page
springfall2008 Jul 30, 2026
339172b
feat(annual): let solar arrays be added and removed
springfall2008 Jul 30, 2026
36dd7be
fix(annual): give each solar array its own space
springfall2008 Jul 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .cspell/custom-dictionary-workspace.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ aiomqtt
aios
Alertfeed
allclose
annualform
Anson
apexcharts
apikey
Expand Down Expand Up @@ -61,13 +62,16 @@ Chrg
citem
cloudfront
Codespaces
COEFF
collapsable
compareform
configform
connack
Consolas
cooldown
coro
corruptleg
corruptplans
cprofile
creds
crosscharge
Expand All @@ -85,6 +89,7 @@ datalog
datap
datapoints
datas
dataviz
dateutil
dayname
daynumber
Expand All @@ -93,6 +98,7 @@ dedup
dedupe
dend
denorm
derate
derating
devcontainer
devcontainers
Expand Down Expand Up @@ -157,6 +163,8 @@ FLOMASTA
fontsize
fontweight
Forestfire
formaction
formmethod
foxess
foxesscloud
freephase
Expand Down Expand Up @@ -274,6 +282,7 @@ minmax
minsoc
minsocongrid
minuteb
misclick
Mixergy
mkdocs
mlugg
Expand Down Expand Up @@ -301,6 +310,7 @@ nodischarge
nord
nordpool
nosc
nosuchrun
nrgheat
numpy
OCPP
Expand All @@ -309,6 +319,7 @@ octoplus
octopoints
Ohme
ohmepy
Okabe
onblur
onchange
oncharge
Expand Down Expand Up @@ -372,9 +383,12 @@ regname
relogin
remainings
remotecontrol
renderable
resetmidnight
resultid
resultmid
reweight
reweighted
rname
Roboto
rowspan
Expand Down Expand Up @@ -463,6 +477,7 @@ timezone
tmrw
tojson
tottime
trapezoidally
trapz
Trefor
treforsiphone
Expand All @@ -472,6 +487,7 @@ twinx
tzfile
tzpath
unconfigured
unnormalised
unparseable
unsmoothed
unstaged
Expand Down
Loading
Loading