diff --git a/homeassistant/components/plugwise/climate.py b/homeassistant/components/plugwise/climate.py index 91a56d09ee5..09f5181090c 100644 --- a/homeassistant/components/plugwise/climate.py +++ b/homeassistant/components/plugwise/climate.py @@ -31,7 +31,7 @@ async def async_setup_entry( async_add_entities( PlugwiseClimateEntity(coordinator, device_id) for device_id, device in coordinator.data.devices.items() - if device["class"] in THERMOSTAT_CLASSES + if device["dev_class"] in THERMOSTAT_CLASSES ) @@ -53,9 +53,9 @@ class PlugwiseClimateEntity(PlugwiseEntity, ClimateEntity): # Determine preset modes self._attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE - if presets := self.device.get("presets"): + if presets := self.device.get("preset_modes"): self._attr_supported_features |= ClimateEntityFeature.PRESET_MODE - self._attr_preset_modes = list(presets) + self._attr_preset_modes = presets # Determine hvac modes and current hvac mode self._attr_hvac_modes = [HVACMode.HEAT] diff --git a/homeassistant/components/plugwise/const.py b/homeassistant/components/plugwise/const.py index 3bcad0b88aa..63bd2a6d8f1 100644 --- a/homeassistant/components/plugwise/const.py +++ b/homeassistant/components/plugwise/const.py @@ -1,51 +1,53 @@ """Constants for Plugwise component.""" +from __future__ import annotations + from datetime import timedelta import logging +from typing import Final from homeassistant.const import Platform -DOMAIN = "plugwise" +DOMAIN: Final = "plugwise" LOGGER = logging.getLogger(__package__) -API = "api" -FLOW_SMILE = "smile (Adam/Anna/P1)" -FLOW_STRETCH = "stretch (Stretch)" -FLOW_TYPE = "flow_type" -GATEWAY = "gateway" -PW_TYPE = "plugwise_type" -SMILE = "smile" -STRETCH = "stretch" -STRETCH_USERNAME = "stretch" -UNIT_LUMEN = "lm" +API: Final = "api" +FLOW_SMILE: Final = "smile (Adam/Anna/P1)" +FLOW_STRETCH: Final = "stretch (Stretch)" +FLOW_TYPE: Final = "flow_type" +GATEWAY: Final = "gateway" +PW_TYPE: Final = "plugwise_type" +SMILE: Final = "smile" +STRETCH: Final = "stretch" +STRETCH_USERNAME: Final = "stretch" +UNIT_LUMEN: Final = "lm" -PLATFORMS_GATEWAY = [ +PLATFORMS_GATEWAY: Final[list[str]] = [ Platform.BINARY_SENSOR, Platform.CLIMATE, Platform.SENSOR, - Platform.SWITCH, Platform.SELECT, + Platform.SWITCH, ] -ZEROCONF_MAP = { +ZEROCONF_MAP: Final[dict[str, str]] = { "smile": "P1", "smile_thermo": "Anna", "smile_open_therm": "Adam", "stretch": "Stretch", } - # Default directives -DEFAULT_MAX_TEMP = 30 -DEFAULT_MIN_TEMP = 4 -DEFAULT_PORT = 80 -DEFAULT_SCAN_INTERVAL = { +DEFAULT_MAX_TEMP: Final = 30 +DEFAULT_MIN_TEMP: Final = 4 +DEFAULT_PORT: Final = 80 +DEFAULT_SCAN_INTERVAL: Final[dict[str, timedelta]] = { "power": timedelta(seconds=10), "stretch": timedelta(seconds=60), "thermostat": timedelta(seconds=60), } -DEFAULT_USERNAME = "smile" +DEFAULT_USERNAME: Final = "smile" -THERMOSTAT_CLASSES = [ +THERMOSTAT_CLASSES: Final[list[str]] = [ "thermostat", "thermostatic_radiator_valve", "zone_thermometer", diff --git a/homeassistant/components/plugwise/entity.py b/homeassistant/components/plugwise/entity.py index b0896c3cd6d..491eb7c7db8 100644 --- a/homeassistant/components/plugwise/entity.py +++ b/homeassistant/components/plugwise/entity.py @@ -45,8 +45,8 @@ class PlugwiseEntity(CoordinatorEntity[PlugwiseDataUpdateCoordinator]): manufacturer=data.get("vendor"), model=data.get("model"), name=f"Smile {coordinator.data.gateway['smile_name']}", - sw_version=data.get("fw"), - hw_version=data.get("hw"), + sw_version=data.get("firmware"), + hw_version=data.get("hardware"), ) if device_id != coordinator.data.gateway["gateway_id"]: diff --git a/homeassistant/components/plugwise/gateway.py b/homeassistant/components/plugwise/gateway.py index 648765155e4..7eb2b1371d5 100644 --- a/homeassistant/components/plugwise/gateway.py +++ b/homeassistant/components/plugwise/gateway.py @@ -113,7 +113,7 @@ def migrate_sensor_entities( # Migrating opentherm_outdoor_temperature to opentherm_outdoor_air_temperature sensor for device_id, device in coordinator.data.devices.items(): - if device["class"] != "heater_central": + if device["dev_class"] != "heater_central": continue old_unique_id = f"{device_id}-outdoor_temperature" diff --git a/homeassistant/components/plugwise/manifest.json b/homeassistant/components/plugwise/manifest.json index 68ed6d65647..abf6f27b3fa 100644 --- a/homeassistant/components/plugwise/manifest.json +++ b/homeassistant/components/plugwise/manifest.json @@ -2,7 +2,7 @@ "domain": "plugwise", "name": "Plugwise", "documentation": "https://www.home-assistant.io/integrations/plugwise", - "requirements": ["plugwise==0.17.3"], + "requirements": ["plugwise==0.18.2"], "codeowners": ["@CoMPaTech", "@bouwew", "@brefra", "@frenck"], "zeroconf": ["_plugwise._tcp.local."], "config_flow": true, diff --git a/requirements_all.txt b/requirements_all.txt index 3ecdceca859..ac6727a95aa 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1242,7 +1242,7 @@ plexauth==0.0.6 plexwebsocket==0.0.13 # homeassistant.components.plugwise -plugwise==0.17.3 +plugwise==0.18.2 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index c23b9d58593..3289356d23a 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -838,7 +838,7 @@ plexauth==0.0.6 plexwebsocket==0.0.13 # homeassistant.components.plugwise -plugwise==0.17.3 +plugwise==0.18.2 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/tests/components/plugwise/fixtures/adam_multiple_devices_per_zone/all_data.json b/tests/components/plugwise/fixtures/adam_multiple_devices_per_zone/all_data.json index 4c4776f4063..85e5abb0b17 100644 --- a/tests/components/plugwise/fixtures/adam_multiple_devices_per_zone/all_data.json +++ b/tests/components/plugwise/fixtures/adam_multiple_devices_per_zone/all_data.json @@ -12,26 +12,19 @@ }, { "df4a4a8169904cdb9c03d61a21f42140": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "12493538af164a409c6a1c79e38afe1c", - "mac_address": null, "model": "Lisa", "name": "Zone Lisa Bios", + "zigbee_mac_address": "ABCD012345670A06", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "away", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0] - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -41,7 +34,7 @@ ], "selected_schedule": "None", "last_used": "Badkamer Schema", - "schedule_temperature": 15.0, + "schedule_temperature": 0.0, "mode": "heat", "sensors": { "temperature": 16.5, @@ -50,13 +43,13 @@ } }, "b310b72a0e354bfab43089919b9a88bf": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": null, "model": "Tom/Floor", "name": "Floor kraan", + "zigbee_mac_address": "ABCD012345670A02", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -69,13 +62,13 @@ } }, "a2c3583e0a6349358998b760cea82d2a": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "12493538af164a409c6a1c79e38afe1c", - "mac_address": null, "model": "Tom/Floor", "name": "Bios Cv Thermostatic Radiator ", + "zigbee_mac_address": "ABCD012345670A09", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -89,26 +82,19 @@ } }, "b59bcebaf94b499ea7d46e4a66fb62d8": { - "class": "zone_thermostat", - "fw": "2016-08-02T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": null, "model": "Lisa", "name": "Zone Lisa WK", + "zigbee_mac_address": "ABCD012345670A07", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "home", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0] - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -118,7 +104,7 @@ ], "selected_schedule": "GF7 Woonkamer", "last_used": "GF7 Woonkamer", - "schedule_temperature": 20.0, + "schedule_temperature": 15.0, "mode": "auto", "sensors": { "temperature": 20.9, @@ -127,15 +113,15 @@ } }, "fe799307f1624099878210aa0b9f1475": { - "class": "gateway", - "fw": "3.0.15", - "hw": "AME Smile 2.0 board", + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", "mac_address": "012345670001", "model": "Adam", "name": "Adam", - "vendor": "Plugwise B.V.", "zigbee_mac_address": "ABCD012345670101", + "vendor": "Plugwise B.V.", "regulation_mode": "heating", "regulation_modes": [], "binary_sensors": { @@ -146,13 +132,13 @@ } }, "d3da73bde12a47d5a6b8f9dad971f2ec": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "82fa13f017d240daa0d0ea1775420f24", - "mac_address": null, "model": "Tom/Floor", "name": "Thermostatic Radiator Jessie", + "zigbee_mac_address": "ABCD012345670A10", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -166,15 +152,13 @@ } }, "21f2b542c49845e6bb416884c55778d6": { - "class": "game_console", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "game_console", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "Playstation Smart Plug", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A12", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 82.6, "electricity_consumed_interval": 8.6, @@ -187,15 +171,13 @@ } }, "78d1126fc4c743db81b61c20e88342a7": { - "class": "central_heating_pump", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "central_heating_pump", + "firmware": "2019-06-21T02:00:00+02:00", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": null, "model": "Plug", "name": "CV Pomp", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A05", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 35.6, "electricity_consumed_interval": 7.37, @@ -207,14 +189,10 @@ } }, "90986d591dcd426cae3ec3e8111ff730": { - "class": "heater_central", - "fw": null, - "hw": null, + "dev_class": "heater_central", "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "mac_address": null, "model": "Unknown", "name": "OnOff", - "vendor": null, "binary_sensors": { "heating_state": true }, @@ -225,15 +203,13 @@ } }, "cd0ddb54ef694e11ac18ed1cbce5dbbd": { - "class": "vcr", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "NAS", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A14", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 16.5, "electricity_consumed_interval": 0.5, @@ -246,15 +222,13 @@ } }, "4a810418d5394b3f82727340b91ba740": { - "class": "router", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "USG Smart Plug", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A16", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 8.5, "electricity_consumed_interval": 0.0, @@ -267,15 +241,13 @@ } }, "02cf28bfec924855854c544690a609ef": { - "class": "vcr", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "NVR", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A15", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 34.0, "electricity_consumed_interval": 9.15, @@ -288,15 +260,13 @@ } }, "a28f588dc4a049a483fd03a30361ad3a": { - "class": "settop", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "settop", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "Fibaro HC2", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A13", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 12.5, "electricity_consumed_interval": 3.8, @@ -309,26 +279,19 @@ } }, "6a3bf693d05e48e0b460c815a4fdd09d": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "82fa13f017d240daa0d0ea1775420f24", - "mac_address": null, "model": "Lisa", "name": "Zone Thermostat Jessie", + "zigbee_mac_address": "ABCD012345670A03", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "asleep", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0] - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -347,13 +310,13 @@ } }, "680423ff840043738f42cc7f1ff97a36": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "08963fec7c53423ca5680aa4cb502c63", - "mac_address": null, "model": "Tom/Floor", "name": "Thermostatic Radiator Badkamer", + "zigbee_mac_address": "ABCD012345670A17", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -367,26 +330,19 @@ } }, "f1fee6043d3642a9b0a65297455f008e": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "08963fec7c53423ca5680aa4cb502c63", - "mac_address": null, "model": "Lisa", "name": "Zone Thermostat Badkamer", + "zigbee_mac_address": "ABCD012345670A08", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "away", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0] - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -405,15 +361,13 @@ } }, "675416a629f343c495449970e2ca37b5": { - "class": "router", - "fw": "2019-06-21T02:00:00+02:00", - "hw": null, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": null, "model": "Plug", "name": "Ziggo Modem", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A01", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 12.2, "electricity_consumed_interval": 2.97, @@ -426,26 +380,19 @@ } }, "e7693eb9582644e5b865dba8d4447cf1": { - "class": "thermostatic_radiator_valve", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "446ac08dd04d4eff8ac57489757b7314", - "mac_address": null, "model": "Tom/Floor", "name": "CV Kraan Garage", + "zigbee_mac_address": "ABCD012345670A11", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "no_frost", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0] - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -455,7 +402,7 @@ ], "selected_schedule": "None", "last_used": "Badkamer Schema", - "schedule_temperature": 15.0, + "schedule_temperature": 0.0, "mode": "heat", "sensors": { "temperature": 15.6, diff --git a/tests/components/plugwise/fixtures/anna_heatpump/all_data.json b/tests/components/plugwise/fixtures/anna_heatpump/all_data.json index efc95494cad..cc3f8d8f385 100644 --- a/tests/components/plugwise/fixtures/anna_heatpump/all_data.json +++ b/tests/components/plugwise/fixtures/anna_heatpump/all_data.json @@ -8,19 +8,16 @@ }, { "1cbf783bb11e4a7c8a6843dee3a86927": { - "class": "heater_central", - "fw": null, - "hw": null, + "dev_class": "heater_central", "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": null, "model": "Generic heater", "name": "OpenTherm", "vendor": "Techneco", "maximum_boiler_temperature": 60.0, - "compressor_state": true, "binary_sensors": { "dhw_state": false, "heating_state": true, + "compressor_state": true, "cooling_state": false, "slave_boiler_state": false, "flame_state": false @@ -38,9 +35,9 @@ } }, "015ae9ea3f964e668e490fa39da3870b": { - "class": "gateway", - "fw": "4.0.15", - "hw": "AME Smile 2.0 board", + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", "location": "a57efe5f145f498c9be62a9b63626fbf", "mac_address": "012345670001", "model": "Anna", @@ -54,11 +51,10 @@ } }, "3cb70739631c4d17a86b8b12e8a5161b": { - "class": "thermostat", - "fw": "2018-02-08T11:15:53+01:00", - "hw": "6539-1301-5002", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "mac_address": null, "model": "Anna", "name": "Anna", "vendor": "Plugwise", @@ -67,13 +63,6 @@ "resolution": 0.1, "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "active_preset": "home", - "presets": { - "no_frost": [10.0, 30.0], - "home": [21.0, 22.0], - "away": [20.0, 25.0], - "asleep": [20.5, 24.0], - "vacation": [17.0, 28.0] - }, "available_schedules": ["None"], "selected_schedule": "None", "last_used": null, diff --git a/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json b/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json index f186335fcc9..fbf5aa63a5f 100644 --- a/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json +++ b/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json @@ -6,9 +6,9 @@ }, { "e950c7d5e1ee407a858e2a8b5016c8b3": { - "class": "gateway", - "fw": "3.3.9", - "hw": "AME Smile 2.0 board", + "dev_class": "gateway", + "firmware": "3.3.9", + "hardware": "AME Smile 2.0 board", "location": "cd3e822288064775a7c4afcdd70bdda2", "mac_address": "012345670001", "model": "P1", diff --git a/tests/components/plugwise/fixtures/stretch_v31/all_data.json b/tests/components/plugwise/fixtures/stretch_v31/all_data.json index 08ebab7b148..1ff62e9e619 100644 --- a/tests/components/plugwise/fixtures/stretch_v31/all_data.json +++ b/tests/components/plugwise/fixtures/stretch_v31/all_data.json @@ -6,26 +6,24 @@ }, { "0000aaaa0000aaaa0000aaaa0000aa00": { - "class": "gateway", - "fw": "3.1.11", - "hw": null, - "mac_address": "01:23:45:67:89:AB", + "dev_class": "gateway", + "firmware": "3.1.11", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "vendor": "Plugwise B.V.", + "mac_address": "01:23:45:67:89:AB", "model": "Stretch", "name": "Stretch", + "vendor": "Plugwise B.V.", "zigbee_mac_address": "ABCD012345670101" }, "5871317346d045bc9f6b987ef25ee638": { - "class": "water_heater_vessel", - "fw": "2011-06-27T10:52:18+02:00", - "hw": "6539-0701-4028", + "dev_class": "water_heater_vessel", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4028", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": null, "model": "Circle type F", "name": "Boiler (1EB31)", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A07", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 1.19, "electricity_consumed_interval": 0.0, @@ -37,13 +35,13 @@ } }, "e1c884e7dede431dadee09506ec4f859": { - "class": "refrigerator", - "fw": "2011-06-27T10:47:37+02:00", - "hw": "6539-0700-7330", + "dev_class": "refrigerator", + "firmware": "2011-06-27T10:47:37+02:00", + "hardware": "6539-0700-7330", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": null, "model": "Circle+ type F", "name": "Koelkast (92C4A)", + "zigbee_mac_address": "0123456789AB", "vendor": "Plugwise", "sensors": { "electricity_consumed": 50.5, @@ -56,15 +54,14 @@ } }, "aac7b735042c4832ac9ff33aae4f453b": { - "class": "dishwasher", - "fw": "2011-06-27T10:52:18+02:00", - "hw": "6539-0701-4022", + "dev_class": "dishwasher", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4022", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": null, "model": "Circle type F", "name": "Vaatwasser (2a1ab)", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A02", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 0.0, "electricity_consumed_interval": 0.71, @@ -76,15 +73,14 @@ } }, "cfe95cf3de1948c0b8955125bf754614": { - "class": "dryer", - "fw": "2011-06-27T10:52:18+02:00", - "hw": "0000-0440-0107", + "dev_class": "dryer", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": null, "model": "Circle type F", "name": "Droger (52559)", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A04", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 0.0, "electricity_consumed_interval": 0.0, @@ -96,15 +92,14 @@ } }, "059e4d03c7a34d278add5c7a4a781d19": { - "class": "washingmachine", - "fw": "2011-06-27T10:52:18+02:00", - "hw": "0000-0440-0107", + "dev_class": "washingmachine", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": null, "model": "Circle type F", "name": "Wasmachine (52AC1)", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A01", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 0.0, "electricity_consumed_interval": 0.0, @@ -116,22 +111,16 @@ } }, "71e1944f2a944b26ad73323e399efef0": { - "class": "switching", - "fw": null, - "location": null, + "dev_class": "switching", "model": "Switchgroup", "name": "Test", "members": ["5ca521ac179d468e91d772eeeb8a2117"], - "types": ["switch_group"], - "vendor": null, "switches": { "relay": true } }, "d950b314e9d8499f968e6db8d82ef78c": { - "class": "report", - "fw": null, - "location": null, + "dev_class": "report", "model": "Switchgroup", "name": "Stroomvreters", "members": [ @@ -141,24 +130,18 @@ "cfe95cf3de1948c0b8955125bf754614", "e1c884e7dede431dadee09506ec4f859" ], - "types": ["switch_group"], - "vendor": null, "switches": { "relay": true } }, "d03738edfcc947f7b8f4573571d90d2d": { - "class": "switching", - "fw": null, - "location": null, + "dev_class": "switching", "model": "Switchgroup", "name": "Schakel", "members": [ "059e4d03c7a34d278add5c7a4a781d19", "cfe95cf3de1948c0b8955125bf754614" ], - "types": ["switch_group"], - "vendor": null, "switches": { "relay": true } diff --git a/tests/components/plugwise/test_diagnostics.py b/tests/components/plugwise/test_diagnostics.py index d6d1eebaf72..c2bb91746ae 100644 --- a/tests/components/plugwise/test_diagnostics.py +++ b/tests/components/plugwise/test_diagnostics.py @@ -32,26 +32,19 @@ async def test_diagnostics( }, "devices": { "df4a4a8169904cdb9c03d61a21f42140": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "12493538af164a409c6a1c79e38afe1c", - "mac_address": None, "model": "Lisa", "name": "Zone Lisa Bios", + "zigbee_mac_address": "ABCD012345670A06", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "away", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0], - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -61,18 +54,18 @@ async def test_diagnostics( ], "selected_schedule": "None", "last_used": "Badkamer Schema", - "schedule_temperature": 15.0, + "schedule_temperature": 0.0, "mode": "heat", "sensors": {"temperature": 16.5, "setpoint": 13.0, "battery": 67}, }, "b310b72a0e354bfab43089919b9a88bf": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": None, "model": "Tom/Floor", "name": "Floor kraan", + "zigbee_mac_address": "ABCD012345670A02", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -85,13 +78,13 @@ async def test_diagnostics( }, }, "a2c3583e0a6349358998b760cea82d2a": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "12493538af164a409c6a1c79e38afe1c", - "mac_address": None, "model": "Tom/Floor", "name": "Bios Cv Thermostatic Radiator ", + "zigbee_mac_address": "ABCD012345670A09", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -105,26 +98,19 @@ async def test_diagnostics( }, }, "b59bcebaf94b499ea7d46e4a66fb62d8": { - "class": "zone_thermostat", - "fw": "2016-08-02T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": None, "model": "Lisa", "name": "Zone Lisa WK", + "zigbee_mac_address": "ABCD012345670A07", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "home", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0], - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -134,33 +120,33 @@ async def test_diagnostics( ], "selected_schedule": "GF7 Woonkamer", "last_used": "GF7 Woonkamer", - "schedule_temperature": 20.0, + "schedule_temperature": 15.0, "mode": "auto", "sensors": {"temperature": 20.9, "setpoint": 21.5, "battery": 34}, }, "fe799307f1624099878210aa0b9f1475": { - "class": "gateway", - "fw": "3.0.15", - "hw": "AME Smile 2.0 board", + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", "mac_address": "012345670001", "model": "Adam", "name": "Adam", - "vendor": "Plugwise B.V.", "zigbee_mac_address": "ABCD012345670101", + "vendor": "Plugwise B.V.", "regulation_mode": "heating", "regulation_modes": [], "binary_sensors": {"plugwise_notification": True}, "sensors": {"outdoor_temperature": 7.81}, }, "d3da73bde12a47d5a6b8f9dad971f2ec": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "82fa13f017d240daa0d0ea1775420f24", - "mac_address": None, "model": "Tom/Floor", "name": "Thermostatic Radiator Jessie", + "zigbee_mac_address": "ABCD012345670A10", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -174,15 +160,13 @@ async def test_diagnostics( }, }, "21f2b542c49845e6bb416884c55778d6": { - "class": "game_console", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "game_console", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "Playstation Smart Plug", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A12", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 82.6, "electricity_consumed_interval": 8.6, @@ -192,15 +176,13 @@ async def test_diagnostics( "switches": {"relay": True, "lock": False}, }, "78d1126fc4c743db81b61c20e88342a7": { - "class": "central_heating_pump", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "central_heating_pump", + "firmware": "2019-06-21T02:00:00+02:00", "location": "c50f167537524366a5af7aa3942feb1e", - "mac_address": None, "model": "Plug", "name": "CV Pomp", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A05", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 35.6, "electricity_consumed_interval": 7.37, @@ -210,14 +192,10 @@ async def test_diagnostics( "switches": {"relay": True}, }, "90986d591dcd426cae3ec3e8111ff730": { - "class": "heater_central", - "fw": None, - "hw": None, + "dev_class": "heater_central", "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "mac_address": None, "model": "Unknown", "name": "OnOff", - "vendor": None, "binary_sensors": {"heating_state": True}, "sensors": { "water_temperature": 70.0, @@ -226,15 +204,13 @@ async def test_diagnostics( }, }, "cd0ddb54ef694e11ac18ed1cbce5dbbd": { - "class": "vcr", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "NAS", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A14", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 16.5, "electricity_consumed_interval": 0.5, @@ -244,15 +220,13 @@ async def test_diagnostics( "switches": {"relay": True, "lock": True}, }, "4a810418d5394b3f82727340b91ba740": { - "class": "router", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "USG Smart Plug", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A16", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 8.5, "electricity_consumed_interval": 0.0, @@ -262,15 +236,13 @@ async def test_diagnostics( "switches": {"relay": True, "lock": True}, }, "02cf28bfec924855854c544690a609ef": { - "class": "vcr", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "NVR", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A15", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 34.0, "electricity_consumed_interval": 9.15, @@ -280,15 +252,13 @@ async def test_diagnostics( "switches": {"relay": True, "lock": True}, }, "a28f588dc4a049a483fd03a30361ad3a": { - "class": "settop", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "settop", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "Fibaro HC2", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A13", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 12.5, "electricity_consumed_interval": 3.8, @@ -298,26 +268,19 @@ async def test_diagnostics( "switches": {"relay": True, "lock": True}, }, "6a3bf693d05e48e0b460c815a4fdd09d": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "82fa13f017d240daa0d0ea1775420f24", - "mac_address": None, "model": "Lisa", "name": "Zone Thermostat Jessie", + "zigbee_mac_address": "ABCD012345670A03", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "asleep", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0], - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -332,13 +295,13 @@ async def test_diagnostics( "sensors": {"temperature": 17.2, "setpoint": 15.0, "battery": 37}, }, "680423ff840043738f42cc7f1ff97a36": { - "class": "thermo_sensor", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "08963fec7c53423ca5680aa4cb502c63", - "mac_address": None, "model": "Tom/Floor", "name": "Thermostatic Radiator Badkamer", + "zigbee_mac_address": "ABCD012345670A17", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, @@ -352,26 +315,19 @@ async def test_diagnostics( }, }, "f1fee6043d3642a9b0a65297455f008e": { - "class": "zone_thermostat", - "fw": "2016-10-27T02:00:00+02:00", - "hw": "255", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", "location": "08963fec7c53423ca5680aa4cb502c63", - "mac_address": None, "model": "Lisa", "name": "Zone Thermostat Badkamer", + "zigbee_mac_address": "ABCD012345670A08", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 99.9, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "away", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0], - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -386,15 +342,13 @@ async def test_diagnostics( "sensors": {"temperature": 18.9, "setpoint": 14.0, "battery": 92}, }, "675416a629f343c495449970e2ca37b5": { - "class": "router", - "fw": "2019-06-21T02:00:00+02:00", - "hw": None, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", "location": "cd143c07248f491493cea0533bc3d669", - "mac_address": None, "model": "Plug", "name": "Ziggo Modem", - "vendor": "Plugwise", "zigbee_mac_address": "ABCD012345670A01", + "vendor": "Plugwise", "sensors": { "electricity_consumed": 12.2, "electricity_consumed_interval": 2.97, @@ -404,26 +358,19 @@ async def test_diagnostics( "switches": {"relay": True, "lock": True}, }, "e7693eb9582644e5b865dba8d4447cf1": { - "class": "thermostatic_radiator_valve", - "fw": "2019-03-27T01:00:00+01:00", - "hw": "1", + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", "location": "446ac08dd04d4eff8ac57489757b7314", - "mac_address": None, "model": "Tom/Floor", "name": "CV Kraan Garage", + "zigbee_mac_address": "ABCD012345670A11", "vendor": "Plugwise", "lower_bound": 0.0, "upper_bound": 100.0, "resolution": 0.01, - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "preset_modes": ["home", "asleep", "away", "no_frost"], "active_preset": "no_frost", - "presets": { - "home": [20.0, 22.0], - "asleep": [17.0, 24.0], - "away": [15.0, 25.0], - "vacation": [15.0, 28.0], - "no_frost": [10.0, 30.0], - }, "available_schedules": [ "CV Roan", "Bios Schema met Film Avond", @@ -433,7 +380,7 @@ async def test_diagnostics( ], "selected_schedule": "None", "last_used": "Badkamer Schema", - "schedule_temperature": 15.0, + "schedule_temperature": 0.0, "mode": "heat", "sensors": { "temperature": 15.6,