diff --git a/CHANGELOG.md b/CHANGELOG.md index 71e913231..6f0f82f3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ # Changelog -## Ongoing +## v1.8.2 - Add support for Emma Pro wired, rename wireless Emma to Emma Pro via PR [#804](https://github.com/plugwise/python-plugwise/pull/804) +- Refresh adam_plus_anna_new userdata (Emma Pro included), update related test-asserts and files via PR [#799](https://github.com/plugwise/python-plugwise/pull/799) ## v1.8.1 diff --git a/fixtures/adam_anna_new_2/data.json b/fixtures/adam_anna_new_2/data.json deleted file mode 100644 index 8e3c4892e..000000000 --- a/fixtures/adam_anna_new_2/data.json +++ /dev/null @@ -1,304 +0,0 @@ -{ - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "water_temperature": 34.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { - "available": true, - "dev_class": "zone_thermostat", - "hardware": "1", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Emma", - "model_id": "170-01", - "name": "Emma", - "sensors": { - "humidity": 61.8, - "setpoint": 15.0, - "temperature": 21.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "60EFABFFFE89965C" - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 60, - "setpoint": 12.0, - "temperature": 19.1, - "temperature_difference": -0.4, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "2568cc4b9c1e401495d4741a5f89bee1": { - "available": true, - "dev_class": "hometheater_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug MediaTV", - "sensors": { - "electricity_consumed": 15.6, - "electricity_consumed_interval": 4.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" - }, - "29542b2b6a6a4169acecc15c72a599b8": { - "available": true, - "dev_class": "water_heater_vessel_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "8201a2ac4d1b4303bf994e18d67311eb", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Thermex Boiler", - "sensors": { - "electricity_consumed": 0.69, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" - }, - "854f8a9b0e7e425db97f1f110e1ce4b3": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Vloerverwarming", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 15.0, - "temperature": 19.5 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.9.0", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "D40FB2019891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "notifications": {}, - "regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 13.9 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "da575e9e09b947e281fb6e3ebce3b174": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermometer", - "firmware": "2020-09-01T02:00:00+02:00", - "hardware": "1", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Jip", - "model_id": "168-01", - "name": "Jip", - "sensors": { - "battery": 100, - "humidity": 63.9, - "setpoint": 15.0, - "temperature": 18.8 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "70AC08FFFEE16437" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 71, - "setpoint": 12.0, - "temperature": 18.8 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "vacation", - "available_schedules": [ - "Badkamer", - "Vakantie", - "Weekschema", - "Test", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 15.6, - "electricity_produced": 0.0, - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 15.0, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": [ - "ad4838d7d35c4d6ea796ee12ae5aedf8", - "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", - "da575e9e09b947e281fb6e3ebce3b174" - ], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "vacation", - "available_schedules": [ - "Badkamer", - "Vakantie", - "Weekschema", - "Test", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 12.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } -} diff --git a/fixtures/adam_plus_anna_new/data.json b/fixtures/adam_plus_anna_new/data.json index fd87b10ab..421d5387d 100644 --- a/fixtures/adam_plus_anna_new/data.json +++ b/fixtures/adam_plus_anna_new/data.json @@ -17,8 +17,8 @@ "model": "Generic heater", "name": "OpenTherm", "sensors": { - "intended_boiler_temperature": 23.9, - "water_temperature": 30.0 + "intended_boiler_temperature": 22.5, + "water_temperature": 43.0 }, "switches": { "dhw_cm_switch": false @@ -36,6 +36,32 @@ "vendor": "_TZ3000_abjodzas", "zigbee_mac_address": "A4C13862AF9917B1" }, + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Emma Pro", + "model_id": "170-01", + "name": "Emma", + "sensors": { + "battery": 100, + "humidity": 65.0, + "setpoint": 20.5, + "temperature": 19.7 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "60EFABFFFE89CBA0" + }, "1772a4ea304041adb83f357b751341ff": { "available": true, "binary_sensors": { @@ -49,11 +75,11 @@ "model_id": "106-03", "name": "Tom Badkamer", "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 17.6, - "temperature_difference": -0.2, - "valve_position": 100 + "battery": 60, + "setpoint": 20.0, + "temperature": 19.0, + "temperature_difference": -0.4, + "valve_position": 100.0 }, "temperature_offset": { "lower_bound": -2.0, @@ -62,7 +88,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" + "zigbee_mac_address": "000D6F000C8FCBA0" }, "2568cc4b9c1e401495d4741a5f89bee1": { "available": true, @@ -73,8 +99,8 @@ "model_id": "160-01", "name": "Plug MediaTV", "sensors": { - "electricity_consumed": 14.8, - "electricity_consumed_interval": 3.0, + "electricity_consumed": 15.8, + "electricity_consumed_interval": 4.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -83,19 +109,19 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" + "zigbee_mac_address": "000D6F000D13CBA1" }, "29542b2b6a6a4169acecc15c72a599b8": { "available": true, - "dev_class": "computer_desktop_plug", + "dev_class": "water_heater_vessel_plug", "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", + "location": "8201a2ac4d1b4303bf994e18d67311eb", "model": "Plug", "model_id": "160-01", - "name": "Plug Werkplek", + "name": "Plug Thermex Boiler", "sensors": { - "electricity_consumed": 91.3, - "electricity_consumed_interval": 23.0, + "electricity_consumed": 0.69, + "electricity_consumed_interval": 0.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -104,7 +130,7 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" + "zigbee_mac_address": "000D6F000D13CBA2" }, "67d73d0bd469422db25a618a5fb8eeb0": { "available": true, @@ -132,8 +158,8 @@ "model_id": "160-01", "name": "Plug Vloerverwarming", "sensors": { - "electricity_consumed": 43.8, - "electricity_consumed_interval": 0.0, + "electricity_consumed": 45.0, + "electricity_consumed_interval": 12.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -141,7 +167,7 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" + "zigbee_mac_address": "000D6F000D13CBA0" }, "ad4838d7d35c4d6ea796ee12ae5aedf8": { "dev_class": "thermostat", @@ -150,8 +176,8 @@ "model_id": "143.1", "name": "Anna", "sensors": { - "setpoint": 18.5, - "temperature": 18.4 + "setpoint": 20.5, + "temperature": 20.1 }, "vendor": "Plugwise" }, @@ -160,28 +186,49 @@ "plugwise_notification": false }, "dev_class": "gateway", - "firmware": "3.7.8", + "firmware": "3.9.0", "gateway_modes": ["away", "full", "vacation"], "hardware": "AME Smile 2.0 board", "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", + "mac_address": "D40FB201CBA0", "model": "Gateway", "model_id": "smile_open_therm", "name": "Adam", "notifications": {}, - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"], "select_gateway_mode": "full", "select_regulation_mode": "heating", "sensors": { - "outdoor_temperature": 9.19 + "outdoor_temperature": 15.1 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5ACBA0" + }, + "da575e9e09b947e281fb6e3ebce3b174": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Jip", + "model_id": "168-01", + "name": "Jip", + "sensors": { + "battery": 100, + "humidity": 65.8, + "setpoint": 20.5, + "temperature": 20.4 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" + "zigbee_mac_address": "70AC08FFFEE1CBA0" }, "e2f4322d57924fa090fbbc48b3a140dc": { "available": true, "binary_sensors": { - "low_battery": true + "low_battery": false }, "dev_class": "zone_thermostat", "firmware": "2016-10-10T02:00:00+02:00", @@ -191,9 +238,9 @@ "model_id": "158-01", "name": "Lisa Badkamer", "sensors": { - "battery": 14, - "setpoint": 18.0, - "temperature": 16.5 + "battery": 71, + "setpoint": 20.0, + "temperature": 18.7 }, "temperature_offset": { "lower_bound": -2.0, @@ -202,7 +249,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" + "zigbee_mac_address": "000D6F000C86CBA0" }, "e8ef2a01ed3b4139a53bf749204fe6b4": { "dev_class": "switching", @@ -221,9 +268,9 @@ "active_preset": "home", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "auto", @@ -231,50 +278,54 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], "select_schedule": "Weekschema", "sensors": { - "electricity_consumed": 149.9, + "electricity_consumed": 60.8, "electricity_produced": 0.0, - "temperature": 18.4 + "temperature": 19.7 }, "thermostat": { "lower_bound": 1.0, "resolution": 0.01, - "setpoint": 18.5, + "setpoint": 20.5, "upper_bound": 35.0 }, "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "primary": [ + "ad4838d7d35c4d6ea796ee12ae5aedf8", + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", + "da575e9e09b947e281fb6e3ebce3b174" + ], "secondary": [] }, "vendor": "Plugwise" }, "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", + "active_preset": "vacation", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], - "climate_mode": "auto", - "control_state": "preheating", + "climate_mode": "heat", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], + "select_schedule": "off", "sensors": { "electricity_consumed": 0.0, "electricity_produced": 0.0, - "temperature": 16.5 + "temperature": 18.7 }, "thermostat": { "lower_bound": 0.0, "resolution": 0.01, - "setpoint": 18.0, + "setpoint": 20.0, "upper_bound": 99.9 }, "thermostats": { diff --git a/fixtures/m_adam_cooling/data.json b/fixtures/m_adam_cooling/data.json index 51f19ca3c..162bc1d2c 100644 --- a/fixtures/m_adam_cooling/data.json +++ b/fixtures/m_adam_cooling/data.json @@ -25,6 +25,32 @@ "dhw_cm_switch": false } }, + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Emma Pro", + "model_id": "170-01", + "name": "Emma", + "sensors": { + "battery": 100, + "humidity": 65.0, + "setpoint": 23.5, + "temperature": 24.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "60EFABFFFE89CBA0" + }, "1772a4ea304041adb83f357b751341ff": { "available": true, "binary_sensors": { @@ -38,11 +64,11 @@ "model_id": "106-03", "name": "Tom Badkamer", "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 21.6, - "temperature_difference": -0.2, - "valve_position": 100 + "battery": 60, + "setpoint": 25.0, + "temperature": 24.8, + "temperature_difference": -0.4, + "valve_position": 100.0 }, "temperature_offset": { "lower_bound": -2.0, @@ -51,10 +77,9 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" + "zigbee_mac_address": "000D6F000C8FCBA0" }, "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "available": true, "dev_class": "thermostat", "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", @@ -62,7 +87,7 @@ "name": "Anna", "sensors": { "setpoint": 23.5, - "temperature": 25.8 + "temperature": 24.0 }, "vendor": "Plugwise" }, @@ -71,20 +96,20 @@ "plugwise_notification": false }, "dev_class": "gateway", - "firmware": "3.7.8", + "firmware": "3.9.0", "gateway_modes": ["away", "full", "vacation"], "hardware": "AME Smile 2.0 board", "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", + "mac_address": "D40FB201CBA0", "model": "Gateway", "model_id": "smile_open_therm", "name": "Adam", "notifications": {}, "regulation_modes": [ - "bleeding_hot", "bleeding_cold", - "off", "heating", + "off", + "bleeding_hot", "cooling" ], "select_gateway_mode": "full", @@ -93,12 +118,33 @@ "outdoor_temperature": 29.65 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" + "zigbee_mac_address": "000D6F000D5ACBA0" + }, + "da575e9e09b947e281fb6e3ebce3b174": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Jip", + "model_id": "168-01", + "name": "Jip", + "sensors": { + "battery": 100, + "humidity": 65.8, + "setpoint": 23.5, + "temperature": 23.8 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "70AC08FFFEE1CBA0" }, "e2f4322d57924fa090fbbc48b3a140dc": { "available": true, "binary_sensors": { - "low_battery": true + "low_battery": false }, "dev_class": "zone_thermostat", "firmware": "2016-10-10T02:00:00+02:00", @@ -108,9 +154,9 @@ "model_id": "158-01", "name": "Lisa Badkamer", "sensors": { - "battery": 14, - "setpoint": 23.5, - "temperature": 23.9 + "battery": 71, + "setpoint": 25.0, + "temperature": 25.6 }, "temperature_offset": { "lower_bound": -2.0, @@ -119,7 +165,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" + "zigbee_mac_address": "000D6F000C86CBA0" }, "e8ef2a01ed3b4139a53bf749204fe6b4": { "dev_class": "switching", @@ -138,9 +184,9 @@ "active_preset": "home", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "cool", @@ -148,12 +194,12 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], "select_schedule": "off", "sensors": { - "electricity_consumed": 149.9, + "electricity_consumed": 60.8, "electricity_produced": 0.0, - "temperature": 25.8 + "temperature": 24.2 }, "thermostat": { "lower_bound": 1.0, @@ -162,18 +208,22 @@ "upper_bound": 35.0 }, "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "primary": [ + "ad4838d7d35c4d6ea796ee12ae5aedf8", + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", + "da575e9e09b947e281fb6e3ebce3b174" + ], "secondary": [] }, "vendor": "Plugwise" }, "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", + "active_preset": "vacation", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "auto", @@ -181,12 +231,12 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], + "select_schedule": "off", "sensors": { "electricity_consumed": 0.0, "electricity_produced": 0.0, - "temperature": 23.9 + "temperature": 25.8 }, "thermostat": { "lower_bound": 0.0, diff --git a/fixtures/m_adam_heating/data.json b/fixtures/m_adam_heating/data.json index b10ff8ec2..87378f5b2 100644 --- a/fixtures/m_adam_heating/data.json +++ b/fixtures/m_adam_heating/data.json @@ -30,6 +30,32 @@ "dhw_cm_switch": false } }, + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Emma Pro", + "model_id": "170-01", + "name": "Emma", + "sensors": { + "battery": 100, + "humidity": 65.0, + "setpoint": 20.0, + "temperature": 19.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "60EFABFFFE89CBA0" + }, "1772a4ea304041adb83f357b751341ff": { "available": true, "binary_sensors": { @@ -43,11 +69,11 @@ "model_id": "106-03", "name": "Tom Badkamer", "sensors": { - "battery": 99, - "setpoint": 18.0, + "battery": 60, + "setpoint": 25.0, "temperature": 18.6, - "temperature_difference": -0.2, - "valve_position": 100 + "temperature_difference": -0.4, + "valve_position": 100.0 }, "temperature_offset": { "lower_bound": -2.0, @@ -56,10 +82,9 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" + "zigbee_mac_address": "000D6F000C8FCBA0" }, "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "available": true, "dev_class": "thermostat", "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", @@ -76,28 +101,49 @@ "plugwise_notification": false }, "dev_class": "gateway", - "firmware": "3.7.8", + "firmware": "3.9.0", "gateway_modes": ["away", "full", "vacation"], "hardware": "AME Smile 2.0 board", "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", + "mac_address": "D40FB201CBA0", "model": "Gateway", "model_id": "smile_open_therm", "name": "Adam", "notifications": {}, - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"], "select_gateway_mode": "full", "select_regulation_mode": "heating", "sensors": { "outdoor_temperature": -1.25 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" + "zigbee_mac_address": "000D6F000D5ACBA0" + }, + "da575e9e09b947e281fb6e3ebce3b174": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Jip", + "model_id": "168-01", + "name": "Jip", + "sensors": { + "battery": 100, + "humidity": 65.8, + "setpoint": 20.0, + "temperature": 19.3 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "70AC08FFFEE1CBA0" }, "e2f4322d57924fa090fbbc48b3a140dc": { "available": true, "binary_sensors": { - "low_battery": true + "low_battery": false }, "dev_class": "zone_thermostat", "firmware": "2016-10-10T02:00:00+02:00", @@ -107,7 +153,7 @@ "model_id": "158-01", "name": "Lisa Badkamer", "sensors": { - "battery": 14, + "battery": 71, "setpoint": 15.0, "temperature": 17.9 }, @@ -118,7 +164,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" + "zigbee_mac_address": "000D6F000C86CBA0" }, "e8ef2a01ed3b4139a53bf749204fe6b4": { "dev_class": "switching", @@ -137,9 +183,9 @@ "active_preset": "home", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "heat", @@ -147,10 +193,10 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], "select_schedule": "off", "sensors": { - "electricity_consumed": 149.9, + "electricity_consumed": 60.8, "electricity_produced": 0.0, "temperature": 19.1 }, @@ -161,18 +207,22 @@ "upper_bound": 35.0 }, "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "primary": [ + "ad4838d7d35c4d6ea796ee12ae5aedf8", + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", + "da575e9e09b947e281fb6e3ebce3b174" + ], "secondary": [] }, "vendor": "Plugwise" }, "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", + "active_preset": "vacation", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "auto", @@ -180,8 +230,8 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], + "select_schedule": "off", "sensors": { "electricity_consumed": 0.0, "electricity_produced": 0.0, diff --git a/plugwise/constants.py b/plugwise/constants.py index 6c6c3a509..1af524900 100644 --- a/plugwise/constants.py +++ b/plugwise/constants.py @@ -46,7 +46,7 @@ HW_MODELS: Final[dict[str, str]] = { "143.1": "ThermoTouch", "159.2": "Adam", - # "?????": "Emma Essential", + # "?????": "Emma Essential", "170.1": "Emma Pro wired", "106-03": "Tom/Floor", "158-01": "Lisa", diff --git a/plugwise/helper.py b/plugwise/helper.py index e2a13fe06..4ed5347d6 100644 --- a/plugwise/helper.py +++ b/plugwise/helper.py @@ -222,9 +222,7 @@ def _appliance_info_finder(self, appl: Munch, appliance: etree.Element) -> Munch # Collect heater_central entity info # 251016: the added guarding below also solves Core Issue #104433 if not ( - appl := self._appl_heater_central_info( - appl, appliance, False - ) + appl := self._appl_heater_central_info(appl, appliance, False) ): # False means non-legacy entity return Munch() self._dhw_allowed_modes = self._get_appl_actuator_modes( diff --git a/scripts/manual_fixtures.py b/scripts/manual_fixtures.py index c303c7eb1..5a44446a7 100755 --- a/scripts/manual_fixtures.py +++ b/scripts/manual_fixtures.py @@ -72,19 +72,20 @@ def json_writer(manual_name: str, output: dict) -> None: m_adam_cooling.pop("67d73d0bd469422db25a618a5fb8eeb0") m_adam_cooling.pop("10016900610d4c7481df78c89606ef22") -# Correct setpoint for device "ad4838d7d35c4d6ea796ee12ae5aedf8" and zone "f2bf9048bef64cc5b6d5110154e33c81" +# Correct setpoint for devices "ad4838d7d35c4d6ea796ee12ae5aedf8", "da575e9e09b947e281fb6e3ebce3b174", +# "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6" and zone "f2bf9048bef64cc5b6d5110154e33c81" m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"]["setpoint"] = 23.5 -m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"]["temperature"] = 25.8 +m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"]["temperature"] = 24.0 +m_adam_cooling["da575e9e09b947e281fb6e3ebce3b174"]["sensors"]["setpoint"] = 23.5 +m_adam_cooling["da575e9e09b947e281fb6e3ebce3b174"]["sensors"]["temperature"] = 23.8 +m_adam_cooling["14df5c4dc8cb4ba69f9d1ac0eaf7c5c6"]["sensors"]["setpoint"] = 23.5 +m_adam_cooling["14df5c4dc8cb4ba69f9d1ac0eaf7c5c6"]["sensors"]["temperature"] = 24.2 m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"]["setpoint"] = 23.5 -m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"]["temperature"] = 25.8 +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"]["temperature"] = 24.2 m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["select_schedule"] = "off" m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["control_state"] = "cooling" m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "cool" -# Add new key available -m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["available"] = True - - # (again, following diff) # Remove device "2568cc4b9c1e401495d4741a5f89bee1" from anywhere m_adam_cooling.pop("2568cc4b9c1e401495d4741a5f89bee1") @@ -93,13 +94,14 @@ def json_writer(manual_name: str, output: dict) -> None: m_adam_cooling.pop("854f8a9b0e7e425db97f1f110e1ce4b3") # Go for 1772 -m_adam_cooling["1772a4ea304041adb83f357b751341ff"]["sensors"]["temperature"] = 21.6 +m_adam_cooling["1772a4ea304041adb83f357b751341ff"]["sensors"]["setpoint"] = 25.0 +m_adam_cooling["1772a4ea304041adb83f357b751341ff"]["sensors"]["temperature"] = 24.8 # Go for e2f4 -m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"]["setpoint"] = 23.5 -m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"]["temperature"] = 23.9 +m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"]["setpoint"] = 25.0 +m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"]["temperature"] = 25.6 m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["thermostat"]["setpoint"] = 25.0 -m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["sensors"]["temperature"] = 23.9 +m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["sensors"]["temperature"] = 25.8 m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["control_state"] = "cooling" m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["climate_mode"] = "auto" @@ -137,8 +139,13 @@ def json_writer(manual_name: str, output: dict) -> None: # Correct setpoint for "ad4838d7d35c4d6ea796ee12ae5aedf8" m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"]["setpoint"] = 20.0 m_adam_heating["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"]["setpoint"] = 20.0 +m_adam_cooling["da575e9e09b947e281fb6e3ebce3b174"]["sensors"]["setpoint"] = 20.0 +m_adam_cooling["14df5c4dc8cb4ba69f9d1ac0eaf7c5c6"]["sensors"]["setpoint"] = 20.0 m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"]["temperature"] = 19.1 m_adam_heating["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"]["temperature"] = 19.1 +m_adam_cooling["da575e9e09b947e281fb6e3ebce3b174"]["sensors"]["temperature"] = 19.3 +m_adam_cooling["14df5c4dc8cb4ba69f9d1ac0eaf7c5c6"]["sensors"]["temperature"] = 19.5 + m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["control_state"] = "preheating" m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "heat" diff --git a/tests/data/adam/adam_anna_new_2.json b/tests/data/adam/adam_anna_new_2.json deleted file mode 100644 index d3297c6ec..000000000 --- a/tests/data/adam/adam_anna_new_2.json +++ /dev/null @@ -1,306 +0,0 @@ -{ - "devices": { - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "water_temperature": 34.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { - "available": true, - "dev_class": "zone_thermostat", - "hardware": "1", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Emma Pro", - "model_id": "170-01", - "name": "Emma", - "sensors": { - "humidity": 61.8, - "setpoint": 15.0, - "temperature": 21.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "60EFABFFFE89965C" - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 60, - "setpoint": 12.0, - "temperature": 19.1, - "temperature_difference": -0.4, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "2568cc4b9c1e401495d4741a5f89bee1": { - "available": true, - "dev_class": "hometheater_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug MediaTV", - "sensors": { - "electricity_consumed": 15.6, - "electricity_consumed_interval": 4.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" - }, - "29542b2b6a6a4169acecc15c72a599b8": { - "available": true, - "dev_class": "water_heater_vessel_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "8201a2ac4d1b4303bf994e18d67311eb", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Thermex Boiler", - "sensors": { - "electricity_consumed": 0.69, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" - }, - "854f8a9b0e7e425db97f1f110e1ce4b3": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Vloerverwarming", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 15.0, - "temperature": 19.5 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.9.0", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "D40FB2019891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "notifications": {}, - "regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 13.9 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "da575e9e09b947e281fb6e3ebce3b174": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermometer", - "firmware": "2020-09-01T02:00:00+02:00", - "hardware": "1", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Jip", - "model_id": "168-01", - "name": "Jip", - "sensors": { - "battery": 100, - "humidity": 63.9, - "setpoint": 15.0, - "temperature": 18.8 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "70AC08FFFEE16437" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 71, - "setpoint": 12.0, - "temperature": 18.8 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "vacation", - "available_schedules": [ - "Badkamer", - "Vakantie", - "Weekschema", - "Test", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 15.6, - "electricity_produced": 0.0, - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 15.0, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": [ - "ad4838d7d35c4d6ea796ee12ae5aedf8", - "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", - "da575e9e09b947e281fb6e3ebce3b174" - ], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "vacation", - "available_schedules": [ - "Badkamer", - "Vakantie", - "Weekschema", - "Test", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 12.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } - } -} diff --git a/tests/data/adam/adam_plus_anna_new.json b/tests/data/adam/adam_plus_anna_new.json index c060c8082..83c44f609 100644 --- a/tests/data/adam/adam_plus_anna_new.json +++ b/tests/data/adam/adam_plus_anna_new.json @@ -18,8 +18,8 @@ "model": "Generic heater", "name": "OpenTherm", "sensors": { - "intended_boiler_temperature": 23.9, - "water_temperature": 30.0 + "intended_boiler_temperature": 22.5, + "water_temperature": 43.0 }, "switches": { "dhw_cm_switch": false @@ -37,6 +37,32 @@ "vendor": "_TZ3000_abjodzas", "zigbee_mac_address": "A4C13862AF9917B1" }, + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Emma Pro", + "model_id": "170-01", + "name": "Emma", + "sensors": { + "battery": 100, + "humidity": 65.0, + "setpoint": 20.5, + "temperature": 19.7 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "60EFABFFFE89CBA0" + }, "1772a4ea304041adb83f357b751341ff": { "available": true, "binary_sensors": { @@ -50,11 +76,11 @@ "model_id": "106-03", "name": "Tom Badkamer", "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 17.6, - "temperature_difference": -0.2, - "valve_position": 100 + "battery": 60, + "setpoint": 20.0, + "temperature": 19.0, + "temperature_difference": -0.4, + "valve_position": 100.0 }, "temperature_offset": { "lower_bound": -2.0, @@ -63,7 +89,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" + "zigbee_mac_address": "000D6F000C8FCBA0" }, "2568cc4b9c1e401495d4741a5f89bee1": { "available": true, @@ -74,8 +100,8 @@ "model_id": "160-01", "name": "Plug MediaTV", "sensors": { - "electricity_consumed": 14.8, - "electricity_consumed_interval": 3.0, + "electricity_consumed": 15.8, + "electricity_consumed_interval": 4.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -84,19 +110,19 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" + "zigbee_mac_address": "000D6F000D13CBA1" }, "29542b2b6a6a4169acecc15c72a599b8": { "available": true, - "dev_class": "computer_desktop_plug", + "dev_class": "water_heater_vessel_plug", "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", + "location": "8201a2ac4d1b4303bf994e18d67311eb", "model": "Plug", "model_id": "160-01", - "name": "Plug Werkplek", + "name": "Plug Thermex Boiler", "sensors": { - "electricity_consumed": 91.3, - "electricity_consumed_interval": 23.0, + "electricity_consumed": 0.69, + "electricity_consumed_interval": 0.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -105,7 +131,7 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" + "zigbee_mac_address": "000D6F000D13CBA2" }, "67d73d0bd469422db25a618a5fb8eeb0": { "available": true, @@ -133,8 +159,8 @@ "model_id": "160-01", "name": "Plug Vloerverwarming", "sensors": { - "electricity_consumed": 43.8, - "electricity_consumed_interval": 0.0, + "electricity_consumed": 45.0, + "electricity_consumed_interval": 12.0, "electricity_produced": 0.0, "electricity_produced_interval": 0.0 }, @@ -142,7 +168,7 @@ "relay": true }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" + "zigbee_mac_address": "000D6F000D13CBA0" }, "ad4838d7d35c4d6ea796ee12ae5aedf8": { "dev_class": "thermostat", @@ -151,8 +177,8 @@ "model_id": "143.1", "name": "Anna", "sensors": { - "setpoint": 18.5, - "temperature": 18.4 + "setpoint": 20.5, + "temperature": 20.1 }, "vendor": "Plugwise" }, @@ -161,28 +187,49 @@ "plugwise_notification": false }, "dev_class": "gateway", - "firmware": "3.7.8", + "firmware": "3.9.0", "gateway_modes": ["away", "full", "vacation"], "hardware": "AME Smile 2.0 board", "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", + "mac_address": "D40FB201CBA0", "model": "Gateway", "model_id": "smile_open_therm", "name": "Adam", "notifications": {}, - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"], "select_gateway_mode": "full", "select_regulation_mode": "heating", "sensors": { - "outdoor_temperature": 9.19 + "outdoor_temperature": 15.1 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5ACBA0" + }, + "da575e9e09b947e281fb6e3ebce3b174": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Jip", + "model_id": "168-01", + "name": "Jip", + "sensors": { + "battery": 100, + "humidity": 65.8, + "setpoint": 20.5, + "temperature": 20.4 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" + "zigbee_mac_address": "70AC08FFFEE1CBA0" }, "e2f4322d57924fa090fbbc48b3a140dc": { "available": true, "binary_sensors": { - "low_battery": true + "low_battery": false }, "dev_class": "zone_thermostat", "firmware": "2016-10-10T02:00:00+02:00", @@ -192,9 +239,9 @@ "model_id": "158-01", "name": "Lisa Badkamer", "sensors": { - "battery": 14, - "setpoint": 18.0, - "temperature": 16.5 + "battery": 71, + "setpoint": 20.0, + "temperature": 18.7 }, "temperature_offset": { "lower_bound": -2.0, @@ -203,7 +250,7 @@ "upper_bound": 2.0 }, "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" + "zigbee_mac_address": "000D6F000C86CBA0" }, "e8ef2a01ed3b4139a53bf749204fe6b4": { "dev_class": "switching", @@ -222,9 +269,9 @@ "active_preset": "home", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], "climate_mode": "auto", @@ -232,50 +279,54 @@ "dev_class": "climate", "model": "ThermoZone", "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], "select_schedule": "Weekschema", "sensors": { - "electricity_consumed": 149.9, + "electricity_consumed": 60.8, "electricity_produced": 0.0, - "temperature": 18.4 + "temperature": 19.7 }, "thermostat": { "lower_bound": 1.0, "resolution": 0.01, - "setpoint": 18.5, + "setpoint": 20.5, "upper_bound": 35.0 }, "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "primary": [ + "ad4838d7d35c4d6ea796ee12ae5aedf8", + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", + "da575e9e09b947e281fb6e3ebce3b174" + ], "secondary": [] }, "vendor": "Plugwise" }, "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", + "active_preset": "vacation", "available_schedules": [ "Badkamer", - "Test", "Vakantie", "Weekschema", + "Test", "off" ], - "climate_mode": "auto", - "control_state": "preheating", + "climate_mode": "heat", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", + "preset_modes": ["vacation", "no_frost", "asleep", "home", "away"], + "select_schedule": "off", "sensors": { "electricity_consumed": 0.0, "electricity_produced": 0.0, - "temperature": 16.5 + "temperature": 18.7 }, "thermostat": { "lower_bound": 0.0, "resolution": 0.01, - "setpoint": 18.0, + "setpoint": 20.0, "upper_bound": 99.9 }, "thermostats": { diff --git a/tests/test_adam.py b/tests/test_adam.py index ba8a71095..dac24e17f 100644 --- a/tests/test_adam.py +++ b/tests/test_adam.py @@ -18,7 +18,7 @@ class TestPlugwiseAdam(TestPlugwise): # pylint: disable=attribute-defined-outsi @pytest.mark.asyncio async def test_connect_adam_plus_anna_new(self): - """Test extended Adam (firmware 3.7) with Anna and a switch-group setup.""" + """Test extended Adam (firmware 3.9) with Anna, Emma, Jip, and a switch-group setup.""" self.smile_setup = "adam_plus_anna_new" testdata = await self.load_testdata(SMILE_TYPE, self.smile_setup) @@ -29,25 +29,29 @@ async def test_connect_adam_plus_anna_new(self): _LOGGER, api, smile_type=None, - smile_version="3.7.8", + smile_version="3.9.0", ) - await self.device_test(api, "2023-12-17 00:00:01", testdata) + await self.device_test(api, "2025-10-12 00:00:01", testdata) assert api.gateway_id == "da224107914542988a88561b4452b0f6" assert api._last_active["f2bf9048bef64cc5b6d5110154e33c81"] == "Weekschema" - assert api._last_active["f871b8c4d63549319221e294e4f88074"] == "Badkamer" - assert self.entity_items == 183 + assert ( + api._last_active["f871b8c4d63549319221e294e4f88074"] == "Weekschema" + ) # Badkamer + assert self.entity_items == 216 assert self.entity_list == [ "da224107914542988a88561b4452b0f6", "056ee145a816487eaa69243c3280f8bf", "10016900610d4c7481df78c89606ef22", "67d73d0bd469422db25a618a5fb8eeb0", "e2f4322d57924fa090fbbc48b3a140dc", - "29542b2b6a6a4169acecc15c72a599b8", - "ad4838d7d35c4d6ea796ee12ae5aedf8", + "2568cc4b9c1e401495d4741a5f89bee1", "1772a4ea304041adb83f357b751341ff", + "29542b2b6a6a4169acecc15c72a599b8", "854f8a9b0e7e425db97f1f110e1ce4b3", - "2568cc4b9c1e401495d4741a5f89bee1", + "ad4838d7d35c4d6ea796ee12ae5aedf8", + "14df5c4dc8cb4ba69f9d1ac0eaf7c5c6", + "da575e9e09b947e281fb6e3ebce3b174", "e8ef2a01ed3b4139a53bf749204fe6b4", "f2bf9048bef64cc5b6d5110154e33c81", "f871b8c4d63549319221e294e4f88074", @@ -181,28 +185,6 @@ async def test_connect_adam_plus_anna_new(self): await api.close_connection() await self.disconnect(server, client) - @pytest.mark.asyncio - async def test_connect_adam_anna_new_2(self): - """Test extended Adam (firmware 3.9) with Emma setup.""" - self.smile_setup = "adam_anna_new_2" - - testdata = await self.load_testdata(SMILE_TYPE, self.smile_setup) - server, api, client = await self.connect_wrapper() - assert api.smile.hostname == "smile000000" - - self.validate_test_basics( - _LOGGER, - api, - smile_type=None, - smile_version="3.9.0", - ) - - await self.device_test(api, "2025-10-12 00:00:01", testdata) - assert self.entity_items == 195 - - await api.close_connection() - await self.disconnect(server, client) - @pytest.mark.asyncio async def test_connect_adam_plus_anna_new_regulation_off(self): """Test regultaion_mode off with control_state key missing for Adam.""" diff --git a/userdata/adam_anna_new_2/core.domain_objects.xml b/userdata/adam_anna_new_2/core.domain_objects.xml deleted file mode 100644 index 798be0f7c..000000000 --- a/userdata/adam_anna_new_2/core.domain_objects.xml +++ /dev/null @@ -1,2439 +0,0 @@ - - - - Badkamer - -