From f8e06a94e157ac55b0230a74b50dc34920d57913 Mon Sep 17 00:00:00 2001 From: Mick Vleeshouwer Date: Tue, 14 Jul 2026 11:25:27 +0200 Subject: [PATCH] Fix OverkizCommandParam FURTHER_NOTICE/NEXT_MODE casing regression (#2180) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same casing-regression bug class as #2093/#2096 and #2126, this time for the setDerogation params. Two OverkizCommandParam members were regressed from their snake_case API values to camelCase during the 2.0 enum regeneration: | Member | Was | Now (regressed) | |------------------|------------------|-----------------| | FURTHER_NOTICE | "further_notice" | "furtherNotice" | | NEXT_MODE | "next_mode" | "nextMode" | These are setDerogation command parameters. The real API expects the snake_case form — the server rejects camelCase with INCOMPATIBLE_VALUE ("expected ... one of [string value (further_notice, next_mode) ...]"). The reported io:/somfythermostat:DerogationTypeState value is likewise snake_case; only the state *definition* values array advertises the camelCase form, which is what the generator picked up. This breaks setDerogation for every consumer, including Home Assistant overkiz climate entities (SomfyThermostat, ValveHeatingTemperatureInterface). The generator's existing casing-clobber guard keeps regeneration idempotent: the corrected values now win the enum-name collision, so the harvested camelCase catalog values only map to the same names and are dropped. --- pyoverkiz/enums/command.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyoverkiz/enums/command.py b/pyoverkiz/enums/command.py index c2a452c1..05a0a5c4 100644 --- a/pyoverkiz/enums/command.py +++ b/pyoverkiz/enums/command.py @@ -1739,7 +1739,7 @@ class OverkizCommandParam(StrEnum): FULL_CLOSED = "full_closed" FULL_OPEN = "full_open" FURNACE = "furnace" - FURTHER_NOTICE = "furtherNotice" + FURTHER_NOTICE = "further_notice" GAS_METER = "Gas meter" # value with space GEOFENCING_MODE = "geofencingMode" GOOD = "good" @@ -1888,7 +1888,7 @@ class OverkizCommandParam(StrEnum): NAPLUG = "NAPlug" NATHERM_1 = "NATherm1" NETWORK_ERROR = "networkError" - NEXT_MODE = "nextMode" + NEXT_MODE = "next_mode" NL = "nl" NMG = "NMG" NMH = "NMH"