glenn schrooyen and Claude
09e1fbb898
checks / unit (pull_request) Successful in 19m36s
infra-pin / fresh (pull_request) Successful in 1s
SAFETY-128: control does not act on late Home Assistant readings
...
Readings that Home Assistant delivers late but still changing passed
every staleness gate, so the loop corrected again each cycle an error
its last command had already fixed (10 s late: the give run swung and
exported to -1.9 kW), and the peak guard pushed to the inverter limit
on the same late figures (OPT-34 F-2).
app/lateness.py fits how long after a power request the meter shows
it. Over 8 s the readings are late: a request the battery reading has
not answered holds the loop (it may not lead the reading by more than
100 W) and caps the peak guard at what stands; unanswered for 23 s it
holds, then 0 W after stale_input_s. An amber row and one log line per
episode say so. With readings on time nothing changes (digests equal).
DECISIONS/SAFETY-128-late-readings.md; test_safety128.py.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC
2026-11-01 23:45:03 +01:00
..
2026-11-01 23:45:03 +01:00
2026-11-01 23:45:03 +01:00
2026-09-29 19:29:32 +02:00
2026-11-01 23:45:03 +01:00
2026-10-22 03:21:41 +02:00
2026-08-23 01:15:25 +02:00
2026-11-01 23:45:03 +01:00
2026-11-01 16:12:45 +01:00
2026-08-23 02:25:58 +02:00
2026-10-31 17:00:31 +01:00
2026-09-24 22:13:25 +02:00
2026-09-25 00:06:58 +02:00
2026-08-23 02:25:58 +02:00
2026-08-23 02:25:58 +02:00
2026-09-28 18:51:29 +02:00
2026-10-01 02:00:20 +02:00
2026-10-29 02:08:38 +01:00
2026-09-29 22:37:09 +02:00
2026-09-01 02:07:09 +02:00
2026-09-25 19:07:34 +02:00
2026-10-04 00:15:42 +02:00
2026-09-27 08:01:16 +02:00
2026-09-28 19:41:36 +02:00
2026-09-13 03:49:08 +02:00
2026-09-28 02:16:24 +02:00
2026-09-24 23:24:50 +02:00
2026-09-27 02:12:10 +02:00
2026-10-04 00:15:42 +02:00
2026-09-28 02:49:58 +02:00
2026-10-26 19:38:59 +01:00
2026-09-27 08:01:16 +02:00
2026-09-06 01:10:15 +02:00
2026-10-05 23:24:02 +02:00
2026-10-14 00:39:37 +02:00
2026-10-14 22:07:09 +02:00
2026-10-09 23:56:29 +02:00
2026-10-10 00:42:01 +02:00
2026-10-08 20:37:01 +02:00
2026-10-13 01:07:51 +02:00
2026-10-22 10:37:43 +02:00
2026-10-31 23:04:36 +01:00
2026-10-06 12:44:25 +02:00
2026-10-17 02:16:34 +02:00
2026-09-25 00:06:58 +02:00
2026-10-11 05:12:35 +02:00
2026-10-29 02:08:38 +01:00
2026-10-29 23:21:31 +01:00
2026-10-31 17:00:31 +01:00
2026-11-01 12:26:05 +01:00
2026-09-27 02:12:10 +02:00
2026-09-25 00:06:58 +02:00
2026-10-01 19:05:27 +02:00
2026-11-01 23:45:03 +01:00
2026-10-22 14:59:13 +02:00
2026-10-22 10:37:43 +02:00
2026-10-22 10:37:43 +02:00
2026-10-29 02:08:38 +01:00
2026-10-14 22:07:09 +02:00
2026-10-22 10:37:43 +02:00
2026-10-22 10:37:43 +02:00
2026-09-28 00:45:01 +02:00
2026-09-28 02:16:24 +02:00
2026-09-27 18:11:42 +02:00
2026-09-24 23:27:50 +02:00
2026-10-06 04:02:03 +02:00
2026-10-13 12:15:44 +02:00
2026-10-01 00:56:34 +02:00
2026-10-29 14:57:39 +01:00
2026-10-01 20:25:41 +02:00
2026-10-01 19:05:27 +02:00
2026-10-29 14:57:39 +01:00
2026-10-05 12:39:28 +02:00
2026-10-02 14:54:20 +02:00
2026-10-08 12:03:55 +02:00
2026-11-01 23:45:03 +01:00
2026-10-07 16:41:16 +02:00
2026-11-01 23:45:03 +01:00
2026-10-04 16:57:16 +02:00
2026-10-08 03:12:03 +02:00
2026-10-09 03:52:39 +02:00
2026-10-13 02:10:27 +02:00
2026-10-16 18:19:44 +02:00
2026-10-29 14:57:39 +01:00
2026-10-27 08:58:54 +01:00
2026-10-29 14:57:39 +01:00
2026-10-31 11:52:27 +01:00
2026-11-01 23:45:03 +01:00
2026-10-26 19:38:59 +01:00
2026-09-28 05:31:18 +02:00
2026-10-14 22:07:09 +02:00
2026-09-29 11:21:32 +02:00
2026-10-22 10:37:43 +02:00
2026-10-30 18:54:41 +01:00
2026-10-28 01:09:39 +01:00
2026-09-27 10:58:43 +02:00
2026-09-19 02:37:01 +02:00
2026-09-27 05:55:45 +02:00
2026-09-27 05:55:45 +02:00
2026-10-16 05:26:32 +02:00
2026-09-28 02:49:58 +02:00
2026-10-16 01:40:40 +02:00
2026-10-22 03:41:18 +02:00
2026-10-26 11:15:29 +01:00
2026-10-27 16:19:07 +01:00
2026-10-30 08:11:42 +01:00
2026-09-27 23:11:31 +02:00
2026-09-27 05:55:45 +02:00
2026-10-14 22:07:09 +02:00
2026-09-27 08:01:16 +02:00