From 23446b530d073e0a6d6aa96918b4a7dd6d957c92 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 07:58:10 +0200 Subject: [PATCH 01/18] Rework to dhw_ and boiler_temperature --- plugwise/common.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugwise/common.py b/plugwise/common.py index 2c784b187..748b592d4 100644 --- a/plugwise/common.py +++ b/plugwise/common.py @@ -295,9 +295,9 @@ def _get_module_data( def _create_special_dicts( self, item: str, data: GwEntityData, temp_dict: ActuatorData ) -> tuple[str, ActuatorData]: - """Update the max_dhw_temperature and maximum_boiler_temperature dicts with a current key.""" + """Update the dhw_temperature and boiler_temperature dicts with a current key.""" if item == DHW_SETPOINT: - item = "max_dhw_temperature" + item = "dhw_temperature" if DHW_SETPOINT in data["sensors"]: data["sensors"].pop(DHW_SETPOINT) self._count -= 1 @@ -309,7 +309,7 @@ def _create_special_dicts( temp_dict["current"] = data["sensors"]["water_temperature"] self._count += 1 - if item == "maximum_boiler_temperature": + if item == "boiler_temperature": if "water_temperature" in data["sensors"]: temp_dict["current"] = data["sensors"]["water_temperature"] self._count += 1 From c5bc994759bfa15448dd9957e92c8418d0cf4358 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 08:14:23 +0200 Subject: [PATCH 02/18] Update set_number(), add case for boiler_temperature --- plugwise/smile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugwise/smile.py b/plugwise/smile.py index e7a13aca7..8f4627fe1 100644 --- a/plugwise/smile.py +++ b/plugwise/smile.py @@ -175,7 +175,9 @@ async def set_number( case "temperature_offset": await self.set_offset(dev_id, temperature) return - case "max_dhw_temperature": + case "boiler_temperature": + key = "maximum_boiler_temperature" + case "dhw_temperature": key = "domestic_hot_water_setpoint" temp = str(temperature) From 4c04ea383d0a01936191b94f046b34e5c86afceb Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 18:13:22 +0200 Subject: [PATCH 03/18] Update GwEntityData --- plugwise/constants.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugwise/constants.py b/plugwise/constants.py index a35ea6042..7784a5469 100644 --- a/plugwise/constants.py +++ b/plugwise/constants.py @@ -592,8 +592,8 @@ class GwEntityData(TypedDict, total=False): # Dict-types binary_sensors: SmileBinarySensors - max_dhw_temperature: ActuatorData - maximum_boiler_temperature: ActuatorData + boiler_temperature: ActuatorData + dhw_temperature: ActuatorData sensors: SmileSensors switches: SmileSwitches temperature_offset: ActuatorData From 1f336e2c1c01e0b8c8a61d88e7430fe79421f4ef Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 18:16:27 +0200 Subject: [PATCH 04/18] One more name update --- plugwise/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugwise/data.py b/plugwise/data.py index 9ec1d77e5..dd03b8624 100644 --- a/plugwise/data.py +++ b/plugwise/data.py @@ -79,7 +79,7 @@ def _update_gw_entities(self) -> None: # Replace select_dhw_mode with dhw_mode when applicable if ( - "max_dhw_temperature" in entity + "dhw_temperature" in entity and (mode := entity.get("select_dhw_mode")) is not None ): entity.pop("select_dhw_mode") From f4d16f7c7908f2faed36ea3da6574433d07e7cc0 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 18:23:15 +0200 Subject: [PATCH 05/18] Rename to boiler_temperature --- plugwise/common.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugwise/common.py b/plugwise/common.py index 748b592d4..f698a4920 100644 --- a/plugwise/common.py +++ b/plugwise/common.py @@ -309,7 +309,8 @@ def _create_special_dicts( temp_dict["current"] = data["sensors"]["water_temperature"] self._count += 1 - if item == "boiler_temperature": + if item == "maximum_boiler_temperature": + item = "boiler_temperature" if "water_temperature" in data["sensors"]: temp_dict["current"] = data["sensors"]["water_temperature"] self._count += 1 From 748ab699b1be093ebfdb91d31efedfd389a8f75b Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 20:03:50 +0200 Subject: [PATCH 06/18] Save updated test-jsons --- tests/data/adam/adam_bad_thermostat.json | 4 ++-- tests/data/adam/adam_heatpump_cooling.json | 4 ++-- tests/data/adam/adam_jip.json | 4 ++-- tests/data/adam/adam_onoff_cooling_fake_firmware.json | 4 ++-- tests/data/adam/adam_plus_anna.json | 2 +- tests/data/adam/adam_plus_anna_new.json | 2 +- tests/data/adam/adam_plus_anna_new_regulation_off.json | 2 +- tests/data/anna/anna_elga_2_cooling.json | 2 +- tests/data/anna/anna_elga_2_cooling_UPDATED_DATA.json | 2 +- tests/data/anna/anna_elga_2_schedule_off.json | 2 +- tests/data/anna/anna_elga_no_cooling.json | 4 ++-- tests/data/anna/anna_heatpump_cooling.json | 2 +- tests/data/anna/anna_heatpump_cooling_fake_firmware.json | 2 +- tests/data/anna/anna_heatpump_heating.json | 4 ++-- tests/data/anna/anna_heatpump_heating_UPDATED_DATA.json | 2 +- tests/data/anna/anna_loria_cooling_active.json | 4 ++-- tests/data/anna/anna_loria_driessens.json | 4 ++-- tests/data/anna/anna_loria_heating_idle.json | 4 ++-- tests/data/anna/anna_v4.json | 4 ++-- tests/data/anna/anna_v4_UPDATED_DATA.json | 4 ++-- tests/data/anna/anna_v4_dhw.json | 4 ++-- tests/data/anna/anna_v4_no_tag.json | 4 ++-- tests/data/anna/legacy_anna.json | 2 +- tests/data/anna/legacy_anna_2.json | 2 +- 24 files changed, 37 insertions(+), 37 deletions(-) diff --git a/tests/data/adam/adam_bad_thermostat.json b/tests/data/adam/adam_bad_thermostat.json index 08d7f6695..9fe15acb4 100644 --- a/tests/data/adam/adam_bad_thermostat.json +++ b/tests/data/adam/adam_bad_thermostat.json @@ -13,14 +13,14 @@ "eco" ], "location": "856285a783f24bf4b2573c8bc510eabf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 49.9, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 50.0, "upper_bound": 100.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 20.9, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/adam/adam_heatpump_cooling.json b/tests/data/adam/adam_heatpump_cooling.json index 45e63baaf..af25e6f25 100644 --- a/tests/data/adam/adam_heatpump_cooling.json +++ b/tests/data/adam/adam_heatpump_cooling.json @@ -61,14 +61,14 @@ "eco" ], "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { + "dhw_temperature": { "current": 63.5, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 65.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.5, "lower_bound": 7.0, "resolution": 0.01, diff --git a/tests/data/adam/adam_jip.json b/tests/data/adam/adam_jip.json index fab9eee5e..87fa676c1 100644 --- a/tests/data/adam/adam_jip.json +++ b/tests/data/adam/adam_jip.json @@ -408,14 +408,14 @@ "eco" ], "location": "9e4433a9d69f40b3aefd15e74395eaec", - "max_dhw_temperature": { + "dhw_temperature": { "current": 37.3, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 37.3, "lower_bound": 20.0, "resolution": 0.01, diff --git a/tests/data/adam/adam_onoff_cooling_fake_firmware.json b/tests/data/adam/adam_onoff_cooling_fake_firmware.json index f61f8ed65..bf2f95f33 100644 --- a/tests/data/adam/adam_onoff_cooling_fake_firmware.json +++ b/tests/data/adam/adam_onoff_cooling_fake_firmware.json @@ -14,14 +14,14 @@ "eco" ], "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { + "dhw_temperature": { "current": 63.5, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 65.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.5, "lower_bound": 7.0, "resolution": 0.01, diff --git a/tests/data/adam/adam_plus_anna.json b/tests/data/adam/adam_plus_anna.json index 0a65682df..b561eb69c 100644 --- a/tests/data/adam/adam_plus_anna.json +++ b/tests/data/adam/adam_plus_anna.json @@ -50,7 +50,7 @@ "eco" ], "location": "07d618f0bb80412687f065b8698ce3e7", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 48.0, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/adam/adam_plus_anna_new.json b/tests/data/adam/adam_plus_anna_new.json index f524de004..996ec742b 100644 --- a/tests/data/adam/adam_plus_anna_new.json +++ b/tests/data/adam/adam_plus_anna_new.json @@ -12,7 +12,7 @@ "eco" ], "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 43.0, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/adam/adam_plus_anna_new_regulation_off.json b/tests/data/adam/adam_plus_anna_new_regulation_off.json index 2731cd254..50ffeadc7 100644 --- a/tests/data/adam/adam_plus_anna_new_regulation_off.json +++ b/tests/data/adam/adam_plus_anna_new_regulation_off.json @@ -12,7 +12,7 @@ "eco" ], "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 30.0, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/anna/anna_elga_2_cooling.json b/tests/data/anna/anna_elga_2_cooling.json index d51280107..4417929a1 100644 --- a/tests/data/anna/anna_elga_2_cooling.json +++ b/tests/data/anna/anna_elga_2_cooling.json @@ -16,7 +16,7 @@ "eco" ], "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 22.8, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_elga_2_cooling_UPDATED_DATA.json b/tests/data/anna/anna_elga_2_cooling_UPDATED_DATA.json index 9cc5164cf..ed6c69b2c 100644 --- a/tests/data/anna/anna_elga_2_cooling_UPDATED_DATA.json +++ b/tests/data/anna/anna_elga_2_cooling_UPDATED_DATA.json @@ -16,7 +16,7 @@ "eco" ], "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 22.8, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_elga_2_schedule_off.json b/tests/data/anna/anna_elga_2_schedule_off.json index 1c79a07ea..19622a983 100644 --- a/tests/data/anna/anna_elga_2_schedule_off.json +++ b/tests/data/anna/anna_elga_2_schedule_off.json @@ -16,7 +16,7 @@ "eco" ], "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 22.8, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_elga_no_cooling.json b/tests/data/anna/anna_elga_no_cooling.json index a8e551975..ffc9aa126 100644 --- a/tests/data/anna/anna_elga_no_cooling.json +++ b/tests/data/anna/anna_elga_no_cooling.json @@ -33,14 +33,14 @@ "eco" ], "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 46.3, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 29.1, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_heatpump_cooling.json b/tests/data/anna/anna_heatpump_cooling.json index b7d5e72fa..ba7456870 100644 --- a/tests/data/anna/anna_heatpump_cooling.json +++ b/tests/data/anna/anna_heatpump_cooling.json @@ -34,7 +34,7 @@ "eco" ], "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.7, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_heatpump_cooling_fake_firmware.json b/tests/data/anna/anna_heatpump_cooling_fake_firmware.json index 3fa41c680..799f50295 100644 --- a/tests/data/anna/anna_heatpump_cooling_fake_firmware.json +++ b/tests/data/anna/anna_heatpump_cooling_fake_firmware.json @@ -34,7 +34,7 @@ "eco" ], "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.7, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_heatpump_heating.json b/tests/data/anna/anna_heatpump_heating.json index a595fa75a..a54846d1d 100644 --- a/tests/data/anna/anna_heatpump_heating.json +++ b/tests/data/anna/anna_heatpump_heating.json @@ -35,14 +35,14 @@ "eco" ], "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 46.3, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 29.1, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_heatpump_heating_UPDATED_DATA.json b/tests/data/anna/anna_heatpump_heating_UPDATED_DATA.json index ea9b78cee..5cec2c51f 100644 --- a/tests/data/anna/anna_heatpump_heating_UPDATED_DATA.json +++ b/tests/data/anna/anna_heatpump_heating_UPDATED_DATA.json @@ -16,7 +16,7 @@ "eco" ], "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 29.1, "setpoint": 60.0, "lower_bound": 0.0, diff --git a/tests/data/anna/anna_loria_cooling_active.json b/tests/data/anna/anna_loria_cooling_active.json index edd95627c..69084fbb4 100644 --- a/tests/data/anna/anna_loria_cooling_active.json +++ b/tests/data/anna/anna_loria_cooling_active.json @@ -80,14 +80,14 @@ "comfort" ], "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { + "dhw_temperature": { "current": 52.9, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 25.3, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/anna/anna_loria_driessens.json b/tests/data/anna/anna_loria_driessens.json index 2885b2e4b..1378b2d45 100644 --- a/tests/data/anna/anna_loria_driessens.json +++ b/tests/data/anna/anna_loria_driessens.json @@ -82,14 +82,14 @@ "auto" ], "location": "82c15f65c9bf44c592d69e16139355e3", - "max_dhw_temperature": { + "dhw_temperature": { "current": 49.5, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 23.3, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/anna/anna_loria_heating_idle.json b/tests/data/anna/anna_loria_heating_idle.json index 629405420..9938c2694 100644 --- a/tests/data/anna/anna_loria_heating_idle.json +++ b/tests/data/anna/anna_loria_heating_idle.json @@ -80,14 +80,14 @@ "comfort" ], "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { + "dhw_temperature": { "current": 52.9, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 25.3, "lower_bound": 25.0, "resolution": 0.01, diff --git a/tests/data/anna/anna_v4.json b/tests/data/anna/anna_v4.json index 916f03fcf..8f8ae8d59 100644 --- a/tests/data/anna/anna_v4.json +++ b/tests/data/anna/anna_v4.json @@ -73,14 +73,14 @@ "eco" ], "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 45.0, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_v4_UPDATED_DATA.json b/tests/data/anna/anna_v4_UPDATED_DATA.json index 37515d8c7..e42f05441 100644 --- a/tests/data/anna/anna_v4_UPDATED_DATA.json +++ b/tests/data/anna/anna_v4_UPDATED_DATA.json @@ -10,14 +10,14 @@ "heating_state": false, "flame_state": false }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 51.0, "setpoint": 69.0, "lower_bound": 0.0, "upper_bound": 100.0, "resolution": 1.0 }, - "max_dhw_temperature": { + "dhw_temperature": { "current": 51.0, "setpoint": 59.0, "lower_bound": 30.0, diff --git a/tests/data/anna/anna_v4_dhw.json b/tests/data/anna/anna_v4_dhw.json index 1531b7fba..724811234 100644 --- a/tests/data/anna/anna_v4_dhw.json +++ b/tests/data/anna/anna_v4_dhw.json @@ -73,14 +73,14 @@ "eco" ], "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 45.0, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/anna_v4_no_tag.json b/tests/data/anna/anna_v4_no_tag.json index 2582885fc..f215f24a7 100644 --- a/tests/data/anna/anna_v4_no_tag.json +++ b/tests/data/anna/anna_v4_no_tag.json @@ -73,14 +73,14 @@ "eco" ], "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 45.0, "lower_bound": 0.0, "resolution": 1.0, diff --git a/tests/data/anna/legacy_anna.json b/tests/data/anna/legacy_anna.json index fa5951c76..54b8fa289 100644 --- a/tests/data/anna/legacy_anna.json +++ b/tests/data/anna/legacy_anna.json @@ -15,7 +15,7 @@ }, "dev_class": "heater_central", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 23.6, "lower_bound": 50.0, "resolution": 1.0, diff --git a/tests/data/anna/legacy_anna_2.json b/tests/data/anna/legacy_anna_2.json index 2c43c47a2..282ef3803 100644 --- a/tests/data/anna/legacy_anna_2.json +++ b/tests/data/anna/legacy_anna_2.json @@ -53,7 +53,7 @@ }, "dev_class": "heater_central", "location": "be81e3f8275b4129852c4d8d550ae2eb", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 54.0, "lower_bound": 50.0, "resolution": 1.0, From 1157ca634ac46f13343691c25fb8352936880aee Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 20:16:46 +0200 Subject: [PATCH 07/18] Save updated entity_items asserts --- tests/test_adam.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_adam.py b/tests/test_adam.py index 3cd9d1d41..5acd99e11 100644 --- a/tests/test_adam.py +++ b/tests/test_adam.py @@ -47,7 +47,7 @@ async def test_connect_adam_plus_anna_new(self): test_items = await self.device_test(api, "2025-10-12 00:00:01", testdata) assert api.gateway_id == "da224107914542988a88561b4452b0f6" - assert self.entity_items == 234 + assert self.entity_items == 230 assert test_items == self.entity_items assert self.entity_list == [ "da224107914542988a88561b4452b0f6", @@ -357,7 +357,7 @@ async def test_adam_heatpump_cooling(self): server, api, client = await self.connect_wrapper() test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 543 + assert self.entity_items == 535 assert test_items == self.entity_items assert self.cooling_present assert self._cooling_enabled @@ -381,7 +381,7 @@ async def test_connect_adam_onoff_cooling_fake_firmware(self): ) test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 74 + assert self.entity_items == 66 assert test_items == self.entity_items assert self.cooling_present # assert self._cooling_enabled - no cooling_enabled indication present @@ -406,7 +406,7 @@ async def test_connect_adam_plus_anna(self): test_items = await self.device_test(api, "2020-03-22 00:00:01", testdata) assert api.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94" - assert self.entity_items == 85 + assert self.entity_items == 81 assert test_items == self.entity_items assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications @@ -447,7 +447,7 @@ async def test_adam_plus_jip(self): test_items = await self.device_test(api, "2021-06-20 00:00:01", testdata) assert api.gateway_id == "b5c2386c6f6342669e50fe49dd05b188" - assert self.entity_items == 273 + assert self.entity_items == 265 assert test_items == self.entity_items # Negative test From 461e8c1e10c9f10fea2cb1b417926b2cf1a30f42 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 20:21:24 +0200 Subject: [PATCH 08/18] Resave --- tests/test_adam.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_adam.py b/tests/test_adam.py index 5acd99e11..3cd9d1d41 100644 --- a/tests/test_adam.py +++ b/tests/test_adam.py @@ -47,7 +47,7 @@ async def test_connect_adam_plus_anna_new(self): test_items = await self.device_test(api, "2025-10-12 00:00:01", testdata) assert api.gateway_id == "da224107914542988a88561b4452b0f6" - assert self.entity_items == 230 + assert self.entity_items == 234 assert test_items == self.entity_items assert self.entity_list == [ "da224107914542988a88561b4452b0f6", @@ -357,7 +357,7 @@ async def test_adam_heatpump_cooling(self): server, api, client = await self.connect_wrapper() test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 535 + assert self.entity_items == 543 assert test_items == self.entity_items assert self.cooling_present assert self._cooling_enabled @@ -381,7 +381,7 @@ async def test_connect_adam_onoff_cooling_fake_firmware(self): ) test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 66 + assert self.entity_items == 74 assert test_items == self.entity_items assert self.cooling_present # assert self._cooling_enabled - no cooling_enabled indication present @@ -406,7 +406,7 @@ async def test_connect_adam_plus_anna(self): test_items = await self.device_test(api, "2020-03-22 00:00:01", testdata) assert api.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94" - assert self.entity_items == 81 + assert self.entity_items == 85 assert test_items == self.entity_items assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications @@ -447,7 +447,7 @@ async def test_adam_plus_jip(self): test_items = await self.device_test(api, "2021-06-20 00:00:01", testdata) assert api.gateway_id == "b5c2386c6f6342669e50fe49dd05b188" - assert self.entity_items == 265 + assert self.entity_items == 273 assert test_items == self.entity_items # Negative test From 9c744962ff80bba2253e519fa259613143dfea17 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Wed, 29 Jul 2026 20:25:40 +0200 Subject: [PATCH 09/18] Save updated fixture files --- fixtures/adam_bad_thermostat/data.json | 18 +++++++++--------- fixtures/adam_heatpump_cooling/data.json | 18 +++++++++--------- fixtures/adam_jip/data.json | 18 +++++++++--------- .../adam_onoff_cooling_fake_firmware/data.json | 18 +++++++++--------- fixtures/adam_plus_anna/data.json | 14 +++++++------- fixtures/adam_plus_anna_new/data.json | 14 +++++++------- .../data.json | 14 +++++++------- fixtures/anna_elga_2_cooling/data.json | 14 +++++++------- fixtures/anna_elga_2_schedule_off/data.json | 14 +++++++------- fixtures/anna_elga_no_cooling/data.json | 18 +++++++++--------- fixtures/anna_heatpump_cooling/data.json | 14 +++++++------- .../data.json | 14 +++++++------- fixtures/anna_heatpump_heating/data.json | 18 +++++++++--------- fixtures/anna_loria_cooling_active/data.json | 18 +++++++++--------- fixtures/anna_loria_driessens/data.json | 18 +++++++++--------- fixtures/anna_loria_heating_idle/data.json | 18 +++++++++--------- fixtures/anna_v4/data.json | 18 +++++++++--------- fixtures/anna_v4_dhw/data.json | 18 +++++++++--------- fixtures/anna_v4_no_tag/data.json | 18 +++++++++--------- fixtures/legacy_anna/data.json | 6 +++--- fixtures/legacy_anna_2/data.json | 6 +++--- fixtures/m_anna_heatpump_cooling/data.json | 2 +- fixtures/m_anna_heatpump_idle/data.json | 2 +- 23 files changed, 165 insertions(+), 165 deletions(-) diff --git a/fixtures/adam_bad_thermostat/data.json b/fixtures/adam_bad_thermostat/data.json index 08d7f6695..5f9b19376 100644 --- a/fixtures/adam_bad_thermostat/data.json +++ b/fixtures/adam_bad_thermostat/data.json @@ -6,27 +6,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 20.9, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 38.0, + "upper_bound": 45.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "856285a783f24bf4b2573c8bc510eabf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 49.9, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 50.0, "upper_bound": 100.0 }, - "maximum_boiler_temperature": { - "current": 20.9, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 38.0, - "upper_bound": 45.0 - }, + "location": "856285a783f24bf4b2573c8bc510eabf", "model": "Generic heater", "model_id": "1.1", "name": "OpenTherm", diff --git a/fixtures/adam_heatpump_cooling/data.json b/fixtures/adam_heatpump_cooling/data.json index 45e63baaf..132a6e168 100644 --- a/fixtures/adam_heatpump_cooling/data.json +++ b/fixtures/adam_heatpump_cooling/data.json @@ -54,27 +54,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 24.5, + "lower_bound": 7.0, + "resolution": 0.01, + "setpoint": 35.0, + "upper_bound": 50.0 + }, "dev_class": "heater_central", "dhw_mode": "comfort", "dhw_modes": [ "comfort", "eco" ], - "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { + "dhw_temperature": { "current": 63.5, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 65.0 }, - "maximum_boiler_temperature": { - "current": 24.5, - "lower_bound": 7.0, - "resolution": 0.01, - "setpoint": 35.0, - "upper_bound": 50.0 - }, + "location": "eedadcb297564f1483faa509179aebed", "model": "Generic heater/cooler", "model_id": "17.1", "name": "OpenTherm", diff --git a/fixtures/adam_jip/data.json b/fixtures/adam_jip/data.json index fab9eee5e..e67302184 100644 --- a/fixtures/adam_jip/data.json +++ b/fixtures/adam_jip/data.json @@ -401,27 +401,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 37.3, + "lower_bound": 20.0, + "resolution": 0.01, + "setpoint": 90.0, + "upper_bound": 90.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "max_dhw_temperature": { + "dhw_temperature": { "current": 37.3, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 37.3, - "lower_bound": 20.0, - "resolution": 0.01, - "setpoint": 90.0, - "upper_bound": 90.0 - }, + "location": "9e4433a9d69f40b3aefd15e74395eaec", "model": "Generic heater", "model_id": "10.20", "name": "OpenTherm", diff --git a/fixtures/adam_onoff_cooling_fake_firmware/data.json b/fixtures/adam_onoff_cooling_fake_firmware/data.json index f61f8ed65..28769466e 100644 --- a/fixtures/adam_onoff_cooling_fake_firmware/data.json +++ b/fixtures/adam_onoff_cooling_fake_firmware/data.json @@ -7,27 +7,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 24.5, + "lower_bound": 7.0, + "resolution": 0.01, + "setpoint": 35.0, + "upper_bound": 50.0 + }, "dev_class": "heater_central", "dhw_mode": "comfort", "dhw_modes": [ "comfort", "eco" ], - "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { + "dhw_temperature": { "current": 63.5, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 65.0 }, - "maximum_boiler_temperature": { - "current": 24.5, - "lower_bound": 7.0, - "resolution": 0.01, - "setpoint": 35.0, - "upper_bound": 50.0 - }, + "location": "eedadcb297564f1483faa509179aebed", "model": "Unknown", "name": "OnOff", "sensors": { diff --git a/fixtures/adam_plus_anna/data.json b/fixtures/adam_plus_anna/data.json index 0a65682df..936cdb711 100644 --- a/fixtures/adam_plus_anna/data.json +++ b/fixtures/adam_plus_anna/data.json @@ -44,19 +44,19 @@ "flame_state": false, "heating_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "07d618f0bb80412687f065b8698ce3e7", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 48.0, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 80.0, "upper_bound": 100.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "07d618f0bb80412687f065b8698ce3e7", "model": "Generic heater", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/adam_plus_anna_new/data.json b/fixtures/adam_plus_anna_new/data.json index f524de004..b8a9161c0 100644 --- a/fixtures/adam_plus_anna_new/data.json +++ b/fixtures/adam_plus_anna_new/data.json @@ -6,19 +6,19 @@ "flame_state": true, "heating_state": true }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 43.0, "lower_bound": 25.0, "resolution": 0.01, "setpoint": 50.0, "upper_bound": 95.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "bc93488efab249e5bc54fd7e175a6f91", "model": "Generic heater", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/adam_plus_anna_new_regulation_off/data.json b/fixtures/adam_plus_anna_new_regulation_off/data.json index 2731cd254..cdbfc278e 100644 --- a/fixtures/adam_plus_anna_new_regulation_off/data.json +++ b/fixtures/adam_plus_anna_new_regulation_off/data.json @@ -6,19 +6,19 @@ "flame_state": false, "heating_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 30.0, "lower_bound": 25.0, "resolution": 0.01, "setpoint": 50.0, "upper_bound": 95.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "bc93488efab249e5bc54fd7e175a6f91", "model": "Generic heater", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/anna_elga_2_cooling/data.json b/fixtures/anna_elga_2_cooling/data.json index d51280107..8ecb02c3e 100644 --- a/fixtures/anna_elga_2_cooling/data.json +++ b/fixtures/anna_elga_2_cooling/data.json @@ -10,19 +10,19 @@ "heating_state": false, "secondary_boiler_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 22.8, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 60.0, "upper_bound": 100.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "d34dfe6ab90b410c98068e75de3eb631", "model": "Generic heater/cooler", "name": "OpenTherm", "select_dhw_mode": "comfort", diff --git a/fixtures/anna_elga_2_schedule_off/data.json b/fixtures/anna_elga_2_schedule_off/data.json index 1c79a07ea..ea2a41b98 100644 --- a/fixtures/anna_elga_2_schedule_off/data.json +++ b/fixtures/anna_elga_2_schedule_off/data.json @@ -10,19 +10,19 @@ "heating_state": false, "secondary_boiler_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 22.8, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 60.0, "upper_bound": 100.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "d34dfe6ab90b410c98068e75de3eb631", "model": "Generic heater/cooler", "name": "OpenTherm", "select_dhw_mode": "comfort", diff --git a/fixtures/anna_elga_no_cooling/data.json b/fixtures/anna_elga_no_cooling/data.json index a8e551975..47fe95417 100644 --- a/fixtures/anna_elga_no_cooling/data.json +++ b/fixtures/anna_elga_no_cooling/data.json @@ -26,27 +26,27 @@ "heating_state": true, "secondary_boiler_state": false }, + "boiler_temperature": { + "current": 29.1, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 46.3, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 29.1, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater", "name": "OpenTherm", "sensors": { diff --git a/fixtures/anna_heatpump_cooling/data.json b/fixtures/anna_heatpump_cooling/data.json index b7d5e72fa..08e3a61ef 100644 --- a/fixtures/anna_heatpump_cooling/data.json +++ b/fixtures/anna_heatpump_cooling/data.json @@ -28,19 +28,19 @@ "heating_state": false, "secondary_boiler_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.7, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 60.0, "upper_bound": 100.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater/cooler", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/data.json b/fixtures/anna_heatpump_cooling_fake_firmware/data.json index 3fa41c680..b486ef51e 100644 --- a/fixtures/anna_heatpump_cooling_fake_firmware/data.json +++ b/fixtures/anna_heatpump_cooling_fake_firmware/data.json @@ -28,19 +28,19 @@ "heating_state": false, "secondary_boiler_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 24.7, "lower_bound": 0.0, "resolution": 1.0, "setpoint": 60.0, "upper_bound": 100.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater/cooler", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/anna_heatpump_heating/data.json b/fixtures/anna_heatpump_heating/data.json index a595fa75a..c63972711 100644 --- a/fixtures/anna_heatpump_heating/data.json +++ b/fixtures/anna_heatpump_heating/data.json @@ -28,27 +28,27 @@ "heating_state": true, "secondary_boiler_state": false }, + "boiler_temperature": { + "current": 29.1, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 46.3, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 29.1, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater/cooler", "name": "OpenTherm", "sensors": { diff --git a/fixtures/anna_loria_cooling_active/data.json b/fixtures/anna_loria_cooling_active/data.json index edd95627c..1dadad338 100644 --- a/fixtures/anna_loria_cooling_active/data.json +++ b/fixtures/anna_loria_cooling_active/data.json @@ -70,6 +70,13 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 25.3, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 40.0, + "upper_bound": 45.0 + }, "dev_class": "heater_central", "dhw_mode": "auto", "dhw_modes": [ @@ -79,21 +86,14 @@ "eco", "comfort" ], - "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { + "dhw_temperature": { "current": 52.9, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 25.3, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 40.0, - "upper_bound": 45.0 - }, + "location": "674b657c138a41a291d315d7471deb06", "model": "Generic heater/cooler", "model_id": "173", "name": "OpenTherm", diff --git a/fixtures/anna_loria_driessens/data.json b/fixtures/anna_loria_driessens/data.json index 2885b2e4b..38e330e10 100644 --- a/fixtures/anna_loria_driessens/data.json +++ b/fixtures/anna_loria_driessens/data.json @@ -72,6 +72,13 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 23.3, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 45.0, + "upper_bound": 45.0 + }, "dev_class": "heater_central", "dhw_mode": "auto", "dhw_modes": [ @@ -81,21 +88,14 @@ "boost", "auto" ], - "location": "82c15f65c9bf44c592d69e16139355e3", - "max_dhw_temperature": { + "dhw_temperature": { "current": 49.5, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 23.3, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 45.0, - "upper_bound": 45.0 - }, + "location": "82c15f65c9bf44c592d69e16139355e3", "model": "Generic heater/cooler", "model_id": "173", "name": "OpenTherm", diff --git a/fixtures/anna_loria_heating_idle/data.json b/fixtures/anna_loria_heating_idle/data.json index 629405420..ea0e34668 100644 --- a/fixtures/anna_loria_heating_idle/data.json +++ b/fixtures/anna_loria_heating_idle/data.json @@ -70,6 +70,13 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 25.3, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 40.0, + "upper_bound": 45.0 + }, "dev_class": "heater_central", "dhw_mode": "auto", "dhw_modes": [ @@ -79,21 +86,14 @@ "eco", "comfort" ], - "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { + "dhw_temperature": { "current": 52.9, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 25.3, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 40.0, - "upper_bound": 45.0 - }, + "location": "674b657c138a41a291d315d7471deb06", "model": "Generic heater/cooler", "model_id": "173", "name": "OpenTherm", diff --git a/fixtures/anna_v4/data.json b/fixtures/anna_v4/data.json index 916f03fcf..e2c75ed6c 100644 --- a/fixtures/anna_v4/data.json +++ b/fixtures/anna_v4/data.json @@ -66,27 +66,27 @@ "flame_state": false, "heating_state": true }, + "boiler_temperature": { + "current": 45.0, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 45.0, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", "model": "Generic heater", "model_id": "2.32", "name": "OpenTherm", diff --git a/fixtures/anna_v4_dhw/data.json b/fixtures/anna_v4_dhw/data.json index 1531b7fba..0a8fb6035 100644 --- a/fixtures/anna_v4_dhw/data.json +++ b/fixtures/anna_v4_dhw/data.json @@ -66,27 +66,27 @@ "flame_state": true, "heating_state": false }, + "boiler_temperature": { + "current": 45.0, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 45.0, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", "model": "Generic heater", "model_id": "2.32", "name": "OpenTherm", diff --git a/fixtures/anna_v4_no_tag/data.json b/fixtures/anna_v4_no_tag/data.json index 2582885fc..77b224cc2 100644 --- a/fixtures/anna_v4_no_tag/data.json +++ b/fixtures/anna_v4_no_tag/data.json @@ -66,27 +66,27 @@ "flame_state": false, "heating_state": true }, + "boiler_temperature": { + "current": 45.0, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { + "dhw_temperature": { "current": 45.0, "lower_bound": 30.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 45.0, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", "model": "Generic heater", "model_id": "2.32", "name": "OpenTherm", diff --git a/fixtures/legacy_anna/data.json b/fixtures/legacy_anna/data.json index fa5951c76..0947da8c0 100644 --- a/fixtures/legacy_anna/data.json +++ b/fixtures/legacy_anna/data.json @@ -13,15 +13,15 @@ "flame_state": true, "heating_state": true }, - "dev_class": "heater_central", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 23.6, "lower_bound": 50.0, "resolution": 1.0, "setpoint": 50.0, "upper_bound": 90.0 }, + "dev_class": "heater_central", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", "model": "Generic heater", "name": "OpenTherm", "sensors": { diff --git a/fixtures/legacy_anna_2/data.json b/fixtures/legacy_anna_2/data.json index 2c43c47a2..3ee26702a 100644 --- a/fixtures/legacy_anna_2/data.json +++ b/fixtures/legacy_anna_2/data.json @@ -51,15 +51,15 @@ "flame_state": false, "heating_state": false }, - "dev_class": "heater_central", - "location": "be81e3f8275b4129852c4d8d550ae2eb", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 54.0, "lower_bound": 50.0, "resolution": 1.0, "setpoint": 70.0, "upper_bound": 90.0 }, + "dev_class": "heater_central", + "location": "be81e3f8275b4129852c4d8d550ae2eb", "model": "Generic heater", "name": "OpenTherm", "sensors": { diff --git a/fixtures/m_anna_heatpump_cooling/data.json b/fixtures/m_anna_heatpump_cooling/data.json index c37c4bfb6..00c25c40b 100644 --- a/fixtures/m_anna_heatpump_cooling/data.json +++ b/fixtures/m_anna_heatpump_cooling/data.json @@ -52,7 +52,7 @@ "model": "Generic heater/cooler", "name": "OpenTherm", "sensors": { - "dhw_temperature": 41.5, + "max_dhw_temperature": 41.5, "intended_boiler_temperature": 0.0, "modulation_level": 40, "outdoor_air_temperature": 28.0, diff --git a/fixtures/m_anna_heatpump_idle/data.json b/fixtures/m_anna_heatpump_idle/data.json index 0ad20afbc..139428332 100644 --- a/fixtures/m_anna_heatpump_idle/data.json +++ b/fixtures/m_anna_heatpump_idle/data.json @@ -52,7 +52,7 @@ "model": "Generic heater/cooler", "name": "OpenTherm", "sensors": { - "dhw_temperature": 41.5, + "max_dhw_temperature": 41.5, "intended_boiler_temperature": 18.0, "modulation_level": 0, "outdoor_air_temperature": 28.2, From f93e1c5ad2d263f8748e9f67f03a1b1f97a28d19 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:08:42 +0200 Subject: [PATCH 10/18] Exend bsw_list into dicts_contents --- tests/test_init.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/test_init.py b/tests/test_init.py index 938444051..17b2e747d 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -495,7 +495,15 @@ def test_and_assert(test_dict, data, header): tests = 0 tested_items = 0 asserts = 0 - bsw_list = ["binary_sensors", "central", "climate", "sensors", "switches"] + dicts_content = [ + "binary_sensors", + "sensors", + "switches", + "dhw_temperature", + "boiler_temperature", + "temperature_offset", + "thermostat", + ] for testitem, measurements in test_dict.items(): item_asserts = 0 tests += 1 @@ -514,10 +522,7 @@ def test_and_assert(test_dict, data, header): f" + Testing {measure_key}/{type(measure_key)} with {details[measure_key]}/{type(details[measure_key])} (should be {measure_assert}/{type(measure_assert)} )", ) tests += 1 - if ( - measure_key in bsw_list - or measure_key in pw_constants.ACTIVE_ACTUATORS - ): + if measure_key in dicts_content: tests -= 1 for key_1, val_1 in measure_assert.items(): tests += 1 From 0d8345366b2f699608e48e75fa1a34baef087eba Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:10:41 +0200 Subject: [PATCH 11/18] Fix typing --- plugwise/constants.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugwise/constants.py b/plugwise/constants.py index 7784a5469..ccd1ca422 100644 --- a/plugwise/constants.py +++ b/plugwise/constants.py @@ -594,6 +594,8 @@ class GwEntityData(TypedDict, total=False): binary_sensors: SmileBinarySensors boiler_temperature: ActuatorData dhw_temperature: ActuatorData + max_dhw_temperature: ActuatorData + maximum_boiler_temperature: ActuatorData sensors: SmileSensors switches: SmileSwitches temperature_offset: ActuatorData From cbcde7fb2c5e0e01394c089f1e9955c25815b592 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:14:16 +0200 Subject: [PATCH 12/18] Update manual fixtures script --- scripts/manual_fixtures.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/manual_fixtures.py b/scripts/manual_fixtures.py index 7e51caa69..7d28cc01b 100755 --- a/scripts/manual_fixtures.py +++ b/scripts/manual_fixtures.py @@ -127,7 +127,7 @@ def json_writer(manual_name: str, output: dict) -> None: m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"]["flame_state"] = ( False ) -m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["maximum_boiler_temperature"]["current"] = 19.0 +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["boiler_temperature"]["current"] = 19.0 m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "intended_boiler_temperature" ] = 17.5 @@ -185,14 +185,14 @@ def json_writer(manual_name: str, output: dict) -> None: m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"]["flame_state"] = ( False ) -m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["maximum_boiler_temperature"]["current"] = 37.0 +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["boiler_temperature"]["current"] = 37.0 m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "intended_boiler_temperature" ] = 38.1 m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "water_temperature" ] = 37.0 -m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["max_dhw_temperature"] = { +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["dhw_temperature"] = { "current": 37.0, "setpoint": 60.0, "lower_bound": 40.0, @@ -253,8 +253,8 @@ def json_writer(manual_name: str, output: dict) -> None: "cooling_state" ] = True -m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["maximum_boiler_temperature"]["current"] = 22.7 -m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["max_dhw_temperature"]["current"] = 41.5 +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["boiler_temperature"]["current"] = 22.7 +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["dhw_temperature"]["current"] = 41.5 m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "dhw_temperature" ] = 41.5 @@ -312,8 +312,8 @@ def json_writer(manual_name: str, output: dict) -> None: "cooling_state" ] = False -m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["maximum_boiler_temperature"]["current"] = 19.1 -m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["max_dhw_temperature"]["current"] = 46.3 +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["boiler_temperature"]["current"] = 19.1 +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["dhw_temperature"]["current"] = 46.3 m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "intended_boiler_temperature" ] = 18.0 From ee6379dfca02afc8af81eed25a6b91d1de5ee020 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:15:17 +0200 Subject: [PATCH 13/18] Save updated manual fixtures --- fixtures/m_adam_cooling/data.json | 14 ++++++------- fixtures/m_adam_heating/data.json | 18 ++++++++--------- .../m_adam_heating_off_schedule/data.json | 18 ++++++++--------- fixtures/m_adam_jip/data.json | 18 ++++++++--------- fixtures/m_anna_heatpump_cooling/data.json | 20 +++++++++---------- fixtures/m_anna_heatpump_idle/data.json | 20 +++++++++---------- 6 files changed, 54 insertions(+), 54 deletions(-) diff --git a/fixtures/m_adam_cooling/data.json b/fixtures/m_adam_cooling/data.json index e584c81a8..539853029 100644 --- a/fixtures/m_adam_cooling/data.json +++ b/fixtures/m_adam_cooling/data.json @@ -7,19 +7,19 @@ "flame_state": false, "heating_state": false }, - "dev_class": "heater_central", - "dhw_modes": [ - "comfort", - "eco" - ], - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { + "boiler_temperature": { "current": 19.0, "lower_bound": 25.0, "resolution": 0.01, "setpoint": 50.0, "upper_bound": 95.0 }, + "dev_class": "heater_central", + "dhw_modes": [ + "comfort", + "eco" + ], + "location": "bc93488efab249e5bc54fd7e175a6f91", "model": "Generic heater", "name": "OpenTherm", "select_dhw_mode": "eco", diff --git a/fixtures/m_adam_heating/data.json b/fixtures/m_adam_heating/data.json index 57989d00e..2f9688f9c 100644 --- a/fixtures/m_adam_heating/data.json +++ b/fixtures/m_adam_heating/data.json @@ -6,27 +6,27 @@ "flame_state": false, "heating_state": true }, + "boiler_temperature": { + "current": 37.0, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "bc93488efab249e5bc54fd7e175a6f91", - "max_dhw_temperature": { + "dhw_temperature": { "current": 37.0, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 37.0, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, + "location": "bc93488efab249e5bc54fd7e175a6f91", "model": "Generic heater", "name": "OpenTherm", "sensors": { diff --git a/fixtures/m_adam_heating_off_schedule/data.json b/fixtures/m_adam_heating_off_schedule/data.json index 546994d2f..9e034f415 100644 --- a/fixtures/m_adam_heating_off_schedule/data.json +++ b/fixtures/m_adam_heating_off_schedule/data.json @@ -6,27 +6,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 37.0, + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "bc93488efab249e5bc54fd7e175a6f91", - "max_dhw_temperature": { + "dhw_temperature": { "current": 37.0, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 37.0, - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, + "location": "bc93488efab249e5bc54fd7e175a6f91", "model": "Generic heater", "name": "OpenTherm", "sensors": { diff --git a/fixtures/m_adam_jip/data.json b/fixtures/m_adam_jip/data.json index 030b09da5..793498bb1 100644 --- a/fixtures/m_adam_jip/data.json +++ b/fixtures/m_adam_jip/data.json @@ -400,27 +400,27 @@ "flame_state": false, "heating_state": false }, + "boiler_temperature": { + "current": 37.3, + "lower_bound": 20.0, + "resolution": 0.01, + "setpoint": 90.0, + "upper_bound": 90.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "max_dhw_temperature": { + "dhw_temperature": { "current": 37.3, "lower_bound": 40.0, "resolution": 0.01, "setpoint": 60.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 37.3, - "lower_bound": 20.0, - "resolution": 0.01, - "setpoint": 90.0, - "upper_bound": 90.0 - }, + "location": "9e4433a9d69f40b3aefd15e74395eaec", "model": "Generic heater", "model_id": "10.20", "name": "OpenTherm", diff --git a/fixtures/m_anna_heatpump_cooling/data.json b/fixtures/m_anna_heatpump_cooling/data.json index 00c25c40b..9b421f792 100644 --- a/fixtures/m_anna_heatpump_cooling/data.json +++ b/fixtures/m_anna_heatpump_cooling/data.json @@ -28,31 +28,31 @@ "heating_state": false, "secondary_boiler_state": false }, + "boiler_temperature": { + "current": 22.7, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 41.5, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 22.7, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater/cooler", "name": "OpenTherm", "sensors": { - "max_dhw_temperature": 41.5, + "dhw_temperature": 41.5, "intended_boiler_temperature": 0.0, "modulation_level": 40, "outdoor_air_temperature": 28.0, diff --git a/fixtures/m_anna_heatpump_idle/data.json b/fixtures/m_anna_heatpump_idle/data.json index 139428332..4ba2db676 100644 --- a/fixtures/m_anna_heatpump_idle/data.json +++ b/fixtures/m_anna_heatpump_idle/data.json @@ -28,31 +28,31 @@ "heating_state": false, "secondary_boiler_state": false }, + "boiler_temperature": { + "current": 19.1, + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, "dev_class": "heater_central", "dhw_mode": "eco", "dhw_modes": [ "comfort", "eco" ], - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { + "dhw_temperature": { "current": 46.3, "lower_bound": 35.0, "resolution": 0.01, "setpoint": 53.0, "upper_bound": 60.0 }, - "maximum_boiler_temperature": { - "current": 19.1, - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, + "location": "a57efe5f145f498c9be62a9b63626fbf", "model": "Generic heater/cooler", "name": "OpenTherm", "sensors": { - "max_dhw_temperature": 41.5, + "dhw_temperature": 41.5, "intended_boiler_temperature": 18.0, "modulation_level": 0, "outdoor_air_temperature": 28.2, From a9ac2de8cfbac45c549873d375ff202862c1d4ea Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:25:57 +0200 Subject: [PATCH 14/18] Legacy: no initial guarding required for ACTIVE_ACTUATORS --- plugwise/legacy/helper.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index 615f3e390..f7258aed4 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -349,13 +349,6 @@ def _get_actuator_functionalities( ) -> None: """Helper-function for _get_measurement_data().""" for item in ACTIVE_ACTUATORS: - # Skip max_dhw_temperature, not initially valid, - # skip thermostat for thermo_sensors - if item == "max_dhw_temperature" or ( - item == "thermostat" and entity["dev_class"] == "thermo_sensor" - ): - continue - temp_dict: ActuatorData = {} functionality = "thermostat_functionality" From 41aefa50909fd5e8ba70e51bd8e03c9ab835d1b1 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 31 Jul 2026 08:29:13 +0200 Subject: [PATCH 15/18] Update CHANGELOG --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 727e9df45..40b502e4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## v1.14.4 +## Ongoing + +- Rename dict-keys: `max_dhw_temperature` to `dhw_temperature`, `maximum_boiler_temperature` to `boiler_temperature` via PR [#908](https://github.com/plugwise/python-plugwise/pull/908) + +## v1.14.3.post1 - Correct typing of select_schedule, manual fixture update From cefb9917d044e6366d5e021f4d36655e14489605 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 2 Aug 2026 12:46:15 +0200 Subject: [PATCH 16/18] Implement changed names in test-code too --- tests/test_init.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_init.py b/tests/test_init.py index 17b2e747d..cc136de4b 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -938,8 +938,8 @@ async def tinker_actuator_temp(api, unhappy=False): new_temp = 60.0 _LOGGER.info("- Adjusting temperature to %s", new_temp) for test in [ - "maximum_boiler_temperature", - "max_dhw_temperature", + "boiler_temperature", + "dhw_temperature", "bogus_temperature", ]: _LOGGER.info(" + for %s", test) From 35744eedd2c950c713e8045e012c0d5c99550cec Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 2 Aug 2026 15:30:13 +0200 Subject: [PATCH 17/18] Legacy: clean up _get_actuator_functionalities() --- plugwise/legacy/helper.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index f7258aed4..61cce5c35 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -273,7 +273,7 @@ def _get_measurement_data(self, entity_id: str, entity: GwEntityData) -> None: self._get_lock_state(appliance, data, self._stretch_v2) if appliance.find("type").text in ACTUATOR_CLASSES: - self._get_actuator_functionalities(appliance, data, entity) + self._get_actuator_functionalities(appliance, data) # Anna: the Smile outdoor_temperature is present in the Home location # For some Anna's LOCATIONS is empty, falling back to domain_objects! @@ -345,7 +345,6 @@ def _get_actuator_functionalities( self, xml: etree.Element, data: GwEntityData, - entity: GwEntityData, ) -> None: """Helper-function for _get_measurement_data().""" for item in ACTIVE_ACTUATORS: From dd537f1e27d88d113874d9a54d47b2de4b129a34 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 2 Aug 2026 16:06:30 +0200 Subject: [PATCH 18/18] Update CHANGELOG after rebase --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40b502e4b..6b4903e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - Rename dict-keys: `max_dhw_temperature` to `dhw_temperature`, `maximum_boiler_temperature` to `boiler_temperature` via PR [#908](https://github.com/plugwise/python-plugwise/pull/908) -## v1.14.3.post1 +## v1.14.4 - Correct typing of select_schedule, manual fixture update