OPT-27 review: the kept forecast line says "kept for tonight"
checks / unit (pull_request) Successful in 17m20s
infra-pin / fresh (pull_request) Successful in 1s

With battery modes off the forecast is still read and shown (Settings,
Simple, and the Forecast tab), but no plan uses it, so "used for tonight's
plan" was not true there (UX-53). "Kept for tonight" is true in every
shape. NL "vanavond" read wrong after midnight; "vannacht" covers the
whole night. DECISIONS' "modes off: nothing reads the sensors" corrected.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC
This commit is contained in:
glenn schrooyen
2026-10-30 19:59:29 +01:00
co-authored by Claude Opus 5.5
parent 60aa7f310c
commit 307cb47caf
5 changed files with 13 additions and 13 deletions
+5 -6
View File
@@ -21,8 +21,8 @@ DECISIONS/OPT-27-last-fresh-forecast-for-the-night.md.
c. an evening restart keeps it (a new Controller on the saved store);
d. a one-hour outage at 18:47 does not drop it;
e. past midnight + 3 h the figure is not used, before it it is.
3. The screens: the forecast line says when it was read and that it is used
for tonight's plan (EN and NL), and Home agrees with control.
3. The screens: the forecast line says when it was read and that it is kept
for tonight (EN and NL), and Home agrees with control.
Mutations (MUTATION.md, purged copies, graded over this file): see the
DECISIONS note and the dev report.
@@ -539,9 +539,8 @@ check("... and the level, the grid need, the shortfall and the sun counted "
print("\n3. The screens")
blk = ca.block
print(f" forecast line: {blk['line']!r} (state {blk['state']})")
check("the forecast line says when it was read and that it is used for "
"tonight's plan", blk["line"] == "Solar forecast read 17:05, used for "
"tonight's plan.")
check("the forecast line says when it was read and that it is kept for "
"tonight", blk["line"] == "Solar forecast read 17:05, kept for tonight.")
check("the same line comes from the Forecast tab (dayview) on today",
homeview.line_solar(0.4, 0.3, "17:05", kept=True) == blk["line"]
and homeview.line_solar(0.4, 0.3, "17:05").startswith(
@@ -555,7 +554,7 @@ k_nl = nl["home_words"]["solar"]["kept"]
print(f" EN {k_en!r}\n NL {k_nl!r}")
check("EN and NL both say it, with the time, and the NL is not the English",
"{at}" in k_en and "{at}" in k_nl and k_en != k_nl
and "plan" in k_en and "vanavond" in k_nl)
and "tonight" in k_en and "vannacht" in k_nl)
check("a daytime reading keeps the old line (daytime unchanged)",
"Updated 09:05" in homeview.line_solar(1.0, 0.7, "09:05")
and "Bijgewerkt" in json.dumps(nl["home_words"]["solar"]["line"]))