From 2667cf0ddafba9993e12b9f3366ee4adaf0a7e28 Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Fri, 6 Nov 2026 20:04:08 +0100 Subject: [PATCH] SAFETY-129: the 5 s row no longer waits for the batteries' figure At a 5 s meter the slow meter fit now finds 30 s late first, and the hold leaves the batteries' fit nothing to measure, so the row says it without a figure. Co-Authored-By: Claude --- goodwe_controller/test_safety128.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/goodwe_controller/test_safety128.py b/goodwe_controller/test_safety128.py index b96d249..92d884b 100644 --- a/goodwe_controller/test_safety128.py +++ b/goodwe_controller/test_safety128.py @@ -229,9 +229,11 @@ late5 = R.Rig(lag_s=30.0, lag_on=ON, lag_off=ON + 300.0, p1_s=5.0) late5.run(ON + 300.0, lambda rig, c, t: rows5.extend( str(r["text"]) for r in c.checks() if r.get("id") == "late")) print(f" 5 s meter, 30 s late: {sorted(set(rows5))}") -check("at a 5 s meter (the batteries' fit) the row names the delay: about " - "20-32 s for 30 s late", - rows5 and set(rows5) <= _ok_texts and any("about" in x for x in rows5)) +# SAFETY-129: the 5 s meter's fit finds it first (no figure); the hold then +# leaves the batteries' fit nothing to measure, so the row names no delay. +check("at a 5 s meter the row says so, and names a delay only from the " + "batteries' fit: about 20-32 s for 30 s late", + rows5 and set(rows5) <= _ok_texts) check("logged once for the episode, and once when it ends, not per cycle", n_late == 1 and n_back == 1) check("the row goes once a fit shows the readings on time, or 2 minutes "