From 6cae5a2f8f71e04ad3a670c533c3e098c43a7f19 Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Sat, 7 Nov 2026 22:45:08 +0100 Subject: [PATCH] SMA-10 round 4: pin the Dutch default "de eigen sturing" The NL default for a hand-back driver without words (handback._BACK_NL) was changed to "de eigen sturing" in round 2 at the PR #239 review's request (comment 2495: the article as in the generic clause). The brief does not name it, so DECISIONS now says where it came from and a test checks the exact Dutch sentence. No app code change. Co-Authored-By: Claude --- goodwe_controller/DECISIONS/SMA-10-two-idle-states.md | 4 +++- goodwe_controller/test_sma10_two_idle_states.py | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/goodwe_controller/DECISIONS/SMA-10-two-idle-states.md b/goodwe_controller/DECISIONS/SMA-10-two-idle-states.md index 4f8d701..519800e 100644 --- a/goodwe_controller/DECISIONS/SMA-10-two-idle-states.md +++ b/goodwe_controller/DECISIONS/SMA-10-two-idle-states.md @@ -40,7 +40,9 @@ exists has no driver to release and keeps today's path. for shadow mode is built from the roster in `app/handback.py` (EN and NL): a roster with no hand-back unit gets None and keeps its old literal, so a GoodWe site sees no changed byte. A hand-back unit's words (`Driver.words`: `back`, -`back_nl`) come from its driver. MQTT `status` is unchanged; the Home battery +`back_nl`) come from its driver; one without them gets "its own control" / +"de eigen sturing" (the article as in the generic clause; PR #239 review +comment 2495, not the brief). MQTT `status` is unchanged; the Home battery row of a handed-back unit says "Back under SMA control" and carries `handed_back`. diff --git a/goodwe_controller/test_sma10_two_idle_states.py b/goodwe_controller/test_sma10_two_idle_states.py index 4990941..d88d2f1 100644 --- a/goodwe_controller/test_sma10_two_idle_states.py +++ b/goodwe_controller/test_sma10_two_idle_states.py @@ -614,6 +614,13 @@ check("a hand-back driver with no words gets a plain brand-free phrase", handback.stop_dialog((handback.unit_of(bare_inv),), "en") == "The inverter goes back to its own control until you start control " "again.") +# NL default "de eigen sturing" (PR #239 review comment 2495): same article as +# the generic clause in handback._clause. +check("NL: a hand-back driver with no words goes back to 'de eigen sturing'", + handback._BACK_NL == "de eigen sturing" + and handback.stop_dialog((handback.unit_of(bare_inv),), "nl") == + "De omvormer gaat terug naar de eigen sturing tot u de regeling " + "opnieuw start.") long_roster = tuple(handback.Unit(f"inverter-{c}", i % 2 == 1, "SMA control", "de sturing van SMA") for i, c in enumerate("abcdefg"))