From f8d38a10253eab163c6527f395e6a82ff752a9f5 Mon Sep 17 00:00:00 2001
From: Tom <CoMPaTech@users.noreply.github.com>
Date: Thu, 17 Feb 2022 17:03:18 +0100
Subject: [PATCH] Plugwise: Update fixtures (#66749)

---
 .../all_data.json                             | 328 +++++++++++++++---
 .../fixtures/anna_heatpump/all_data.json      |  69 +++-
 .../fixtures/p1v3_full_option/all_data.json   |   6 +-
 .../fixtures/stretch_v31/all_data.json        | 121 +++----
 tests/components/plugwise/test_climate.py     |  10 +-
 tests/components/plugwise/test_diagnostics.py | 101 +++++-
 6 files changed, 486 insertions(+), 149 deletions(-)

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 7fc843e4aae..3dbe9f5d8a3 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
@@ -1,7 +1,7 @@
 [
   {
     "active_device": true,
-    "cooling_present": null,
+    "cooling_present": false,
     "gateway_id": "fe799307f1624099878210aa0b9f1475",
     "heater_id": "90986d591dcd426cae3ec3e8111ff730",
     "single_master_thermostat": false,
@@ -16,18 +16,44 @@
     "df4a4a8169904cdb9c03d61a21f42140": {
       "class": "zone_thermostat",
       "fw": "2016-10-27T02:00:00+02:00",
+      "hw": "255",
       "location": "12493538af164a409c6a1c79e38afe1c",
+      "mac_address": null,
       "model": "Lisa",
       "name": "Zone Lisa Bios",
       "vendor": "Plugwise",
-      "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
+      "lower_bound": 0,
+      "upper_bound": 99.9,
+      "resolution": 0.01,
+      "preset_modes": [
+        "home",
+        "asleep",
+        "away",
+        "vacation",
+        "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]
+        "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",
@@ -37,18 +63,27 @@
         "CV Jessie"
       ],
       "selected_schedule": "None",
-      "schedule_temperature": 15.0,
       "last_used": "Badkamer Schema",
-      "mode": "off",
-      "sensors": { "temperature": 16.5, "setpoint": 13.0, "battery": 67 }
+      "schedule_temperature": 15.0,
+      "mode": "heat",
+      "sensors": {
+        "temperature": 16.5,
+        "setpoint": 13,
+        "battery": 67
+      }
     },
     "b310b72a0e354bfab43089919b9a88bf": {
       "class": "thermo_sensor",
       "fw": "2019-03-27T01:00:00+01:00",
+      "hw": "1",
       "location": "c50f167537524366a5af7aa3942feb1e",
+      "mac_address": null,
       "model": "Tom/Floor",
       "name": "Floor kraan",
       "vendor": "Plugwise",
+      "lower_bound": 0,
+      "upper_bound": 100.0,
+      "resolution": 0.01,
       "sensors": {
         "temperature": 26.0,
         "setpoint": 21.5,
@@ -59,13 +94,18 @@
     "a2c3583e0a6349358998b760cea82d2a": {
       "class": "thermo_sensor",
       "fw": "2019-03-27T01:00:00+01:00",
+      "hw": "1",
       "location": "12493538af164a409c6a1c79e38afe1c",
+      "mac_address": null,
       "model": "Tom/Floor",
       "name": "Bios Cv Thermostatic Radiator ",
       "vendor": "Plugwise",
+      "lower_bound": 0,
+      "upper_bound": 100.0,
+      "resolution": 0.01,
       "sensors": {
         "temperature": 17.2,
-        "setpoint": 13.0,
+        "setpoint": 13,
         "battery": 62,
         "temperature_difference": -0.2,
         "valve_position": 0.0
@@ -74,18 +114,44 @@
     "b59bcebaf94b499ea7d46e4a66fb62d8": {
       "class": "zone_thermostat",
       "fw": "2016-08-02T02:00:00+02:00",
+      "hw": "255",
       "location": "c50f167537524366a5af7aa3942feb1e",
+      "mac_address": null,
       "model": "Lisa",
       "name": "Zone Lisa WK",
       "vendor": "Plugwise",
-      "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
+      "lower_bound": 0,
+      "upper_bound": 99.9,
+      "resolution": 0.01,
+      "preset_modes": [
+        "home",
+        "asleep",
+        "away",
+        "vacation",
+        "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]
+        "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",
@@ -95,31 +161,47 @@
         "CV Jessie"
       ],
       "selected_schedule": "GF7  Woonkamer",
-      "schedule_temperature": 20.0,
       "last_used": "GF7  Woonkamer",
+      "schedule_temperature": 20.0,
       "mode": "auto",
-      "sensors": { "temperature": 20.9, "setpoint": 21.5, "battery": 34 }
+      "sensors": {
+        "temperature": 20.9,
+        "setpoint": 21.5,
+        "battery": 34
+      }
     },
     "fe799307f1624099878210aa0b9f1475": {
       "class": "gateway",
       "fw": "3.0.15",
+      "hw": "AME Smile 2.0 board",
       "location": "1f9dcf83fd4e4b66b72ff787957bfe5d",
+      "mac_address": "012345670001",
       "model": "Adam",
       "name": "Adam",
       "vendor": "Plugwise B.V.",
-      "binary_sensors": { "plugwise_notification": true },
-      "sensors": { "outdoor_temperature": 7.81 }
+      "zigbee_mac_address": "012345670101",
+      "binary_sensors": {
+        "plugwise_notification": true
+      },
+      "sensors": {
+        "outdoor_temperature": 7.81
+      }
     },
     "d3da73bde12a47d5a6b8f9dad971f2ec": {
       "class": "thermo_sensor",
       "fw": "2019-03-27T01:00:00+01:00",
+      "hw": "1",
       "location": "82fa13f017d240daa0d0ea1775420f24",
+      "mac_address": null,
       "model": "Tom/Floor",
       "name": "Thermostatic Radiator Jessie",
       "vendor": "Plugwise",
+      "lower_bound": 0,
+      "upper_bound": 100.0,
+      "resolution": 0.01,
       "sensors": {
         "temperature": 17.1,
-        "setpoint": 15.0,
+        "setpoint": 15,
         "battery": 62,
         "temperature_difference": 0.1,
         "valve_position": 0.0
@@ -128,124 +210,189 @@
     "21f2b542c49845e6bb416884c55778d6": {
       "class": "game_console",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "Playstation Smart Plug",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A12",
       "sensors": {
         "electricity_consumed": 82.6,
         "electricity_consumed_interval": 8.6,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": false }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "78d1126fc4c743db81b61c20e88342a7": {
       "class": "central_heating_pump",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "c50f167537524366a5af7aa3942feb1e",
+      "mac_address": null,
       "model": "Plug",
       "name": "CV Pomp",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A05",
       "sensors": {
         "electricity_consumed": 35.6,
         "electricity_consumed_interval": 7.37,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true }
+      "switches": {
+        "relay": true
+      }
     },
     "90986d591dcd426cae3ec3e8111ff730": {
       "class": "heater_central",
       "fw": null,
+      "hw": null,
       "location": "1f9dcf83fd4e4b66b72ff787957bfe5d",
+      "mac_address": null,
       "model": "Unknown",
       "name": "OnOff",
       "vendor": null,
+      "lower_bound": 10,
+      "upper_bound": 90,
+      "resolution": 1,
       "cooling_active": false,
       "heating_state": true,
       "sensors": {
         "water_temperature": 70.0,
         "intended_boiler_temperature": 70.0,
-        "modulation_level": 1,
-        "device_state": "heating"
+        "modulation_level": 1
       }
     },
     "cd0ddb54ef694e11ac18ed1cbce5dbbd": {
       "class": "vcr",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "NAS",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A14",
       "sensors": {
         "electricity_consumed": 16.5,
         "electricity_consumed_interval": 0.5,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": true
+      }
     },
     "4a810418d5394b3f82727340b91ba740": {
       "class": "router",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "USG Smart Plug",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A16",
       "sensors": {
         "electricity_consumed": 8.5,
         "electricity_consumed_interval": 0.0,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": true
+      }
     },
     "02cf28bfec924855854c544690a609ef": {
       "class": "vcr",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "NVR",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A15",
       "sensors": {
         "electricity_consumed": 34.0,
         "electricity_consumed_interval": 9.15,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": true
+      }
     },
     "a28f588dc4a049a483fd03a30361ad3a": {
       "class": "settop",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "Fibaro HC2",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A13",
       "sensors": {
         "electricity_consumed": 12.5,
         "electricity_consumed_interval": 3.8,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": true
+      }
     },
     "6a3bf693d05e48e0b460c815a4fdd09d": {
       "class": "zone_thermostat",
       "fw": "2016-10-27T02:00:00+02:00",
+      "hw": "255",
       "location": "82fa13f017d240daa0d0ea1775420f24",
+      "mac_address": null,
       "model": "Lisa",
       "name": "Zone Thermostat Jessie",
       "vendor": "Plugwise",
-      "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
+      "lower_bound": 0,
+      "upper_bound": 99.9,
+      "resolution": 0.01,
+      "preset_modes": [
+        "home",
+        "asleep",
+        "away",
+        "vacation",
+        "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]
+        "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",
@@ -255,21 +402,30 @@
         "CV Jessie"
       ],
       "selected_schedule": "CV Jessie",
-      "schedule_temperature": 15.0,
       "last_used": "CV Jessie",
+      "schedule_temperature": 15.0,
       "mode": "auto",
-      "sensors": { "temperature": 17.2, "setpoint": 15.0, "battery": 37 }
+      "sensors": {
+        "temperature": 17.2,
+        "setpoint": 15,
+        "battery": 37
+      }
     },
     "680423ff840043738f42cc7f1ff97a36": {
       "class": "thermo_sensor",
       "fw": "2019-03-27T01:00:00+01:00",
+      "hw": "1",
       "location": "08963fec7c53423ca5680aa4cb502c63",
+      "mac_address": null,
       "model": "Tom/Floor",
       "name": "Thermostatic Radiator Badkamer",
       "vendor": "Plugwise",
+      "lower_bound": 0,
+      "upper_bound": 100.0,
+      "resolution": 0.01,
       "sensors": {
         "temperature": 19.1,
-        "setpoint": 14.0,
+        "setpoint": 14,
         "battery": 51,
         "temperature_difference": -0.4,
         "valve_position": 0.0
@@ -278,18 +434,44 @@
     "f1fee6043d3642a9b0a65297455f008e": {
       "class": "zone_thermostat",
       "fw": "2016-10-27T02:00:00+02:00",
+      "hw": "255",
       "location": "08963fec7c53423ca5680aa4cb502c63",
+      "mac_address": null,
       "model": "Lisa",
       "name": "Zone Thermostat Badkamer",
       "vendor": "Plugwise",
-      "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
+      "lower_bound": 0,
+      "upper_bound": 99.9,
+      "resolution": 0.01,
+      "preset_modes": [
+        "home",
+        "asleep",
+        "away",
+        "vacation",
+        "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]
+        "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",
@@ -299,41 +481,77 @@
         "CV Jessie"
       ],
       "selected_schedule": "Badkamer Schema",
-      "schedule_temperature": 15.0,
       "last_used": "Badkamer Schema",
+      "schedule_temperature": 15.0,
       "mode": "auto",
-      "sensors": { "temperature": 18.9, "setpoint": 14.0, "battery": 92 }
+      "sensors": {
+        "temperature": 18.9,
+        "setpoint": 14,
+        "battery": 92
+      }
     },
     "675416a629f343c495449970e2ca37b5": {
       "class": "router",
       "fw": "2019-06-21T02:00:00+02:00",
+      "hw": null,
       "location": "cd143c07248f491493cea0533bc3d669",
+      "mac_address": null,
       "model": "Plug",
       "name": "Ziggo Modem",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A01",
       "sensors": {
         "electricity_consumed": 12.2,
         "electricity_consumed_interval": 2.97,
         "electricity_produced": 0.0,
         "electricity_produced_interval": 0.0
       },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": true
+      }
     },
     "e7693eb9582644e5b865dba8d4447cf1": {
       "class": "thermostatic_radiator_valve",
       "fw": "2019-03-27T01:00:00+01:00",
+      "hw": "1",
       "location": "446ac08dd04d4eff8ac57489757b7314",
+      "mac_address": null,
       "model": "Tom/Floor",
       "name": "CV Kraan Garage",
       "vendor": "Plugwise",
-      "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
+      "lower_bound": 0,
+      "upper_bound": 100.0,
+      "resolution": 0.01,
+      "preset_modes": [
+        "home",
+        "asleep",
+        "away",
+        "vacation",
+        "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]
+        "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",
@@ -343,8 +561,8 @@
         "CV Jessie"
       ],
       "selected_schedule": "None",
-      "schedule_temperature": 15.0,
       "last_used": "Badkamer Schema",
+      "schedule_temperature": 15.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 ee0f60d92ce..49b02b87f50 100644
--- a/tests/components/plugwise/fixtures/anna_heatpump/all_data.json
+++ b/tests/components/plugwise/fixtures/anna_heatpump/all_data.json
@@ -12,10 +12,15 @@
     "1cbf783bb11e4a7c8a6843dee3a86927": {
       "class": "heater_central",
       "fw": null,
+      "hw": null,
       "location": "a57efe5f145f498c9be62a9b63626fbf",
+      "mac_address": null,
       "model": "Generic heater",
       "name": "OpenTherm",
       "vendor": "Techneco",
+      "lower_bound": -10,
+      "upper_bound": 40,
+      "resolution": 1,
       "heating_state": true,
       "compressor_state": true,
       "cooling_state": false,
@@ -31,48 +36,80 @@
         "intended_boiler_temperature": 0.0,
         "modulation_level": 52,
         "return_temperature": 25.1,
-        "water_pressure": 1.57,
-        "device_state": "heating"
+        "water_pressure": 1.57
       },
-      "switches": { "dhw_cm_switch": false }
+      "switches": {
+        "dhw_cm_switch": false
+      }
     },
     "015ae9ea3f964e668e490fa39da3870b": {
       "class": "gateway",
       "fw": "4.0.15",
+      "hw": "AME Smile 2.0 board",
       "location": "a57efe5f145f498c9be62a9b63626fbf",
+      "mac_address": "012345670001",
       "model": "Anna",
       "name": "Anna",
       "vendor": "Plugwise B.V.",
-      "binary_sensors": { "plugwise_notification": false },
-      "sensors": { "outdoor_temperature": 20.2 }
+      "binary_sensors": {
+        "plugwise_notification": false
+      },
+      "sensors": {
+        "outdoor_temperature": 20.2
+      }
     },
     "3cb70739631c4d17a86b8b12e8a5161b": {
       "class": "thermostat",
       "fw": "2018-02-08T11:15:53+01:00",
+      "hw": "6539-1301-5002",
       "location": "c784ee9fdab44e1395b8dee7d7a497d5",
+      "mac_address": null,
       "model": "Anna",
       "name": "Anna",
       "vendor": "Plugwise",
-      "lower_bound": 5,
-      "upper_bound": 31,
+      "lower_bound": 4,
+      "upper_bound": 30,
       "resolution": 0.1,
-      "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"],
+      "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]
+        "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"],
+      "available_schedules": [
+        "None"
+      ],
       "selected_schedule": "None",
-      "schedule_temperature": null,
       "last_used": null,
+      "schedule_temperature": null,
       "mode": "heat",
       "sensors": {
         "temperature": 19.3,
-        "setpoint": 21.0,
+        "setpoint": 21,
         "illuminance": 86.0,
         "cooling_activation_outdoor_temperature": 21.0,
         "cooling_deactivation_threshold": 4
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 43c47c2b5e0..a7ad6140fa7 100644
--- a/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json
+++ b/tests/components/plugwise/fixtures/p1v3_full_option/all_data.json
@@ -1,10 +1,10 @@
 [
   {
     "active_device": false,
-    "cooling_present": null,
+    "cooling_present": false,
     "gateway_id": "e950c7d5e1ee407a858e2a8b5016c8b3",
     "heater_id": null,
-    "single_master_thermostat": null,
+    "single_master_thermostat": false,
     "smile_name": "P1",
     "notifications": {}
   },
@@ -12,7 +12,9 @@
     "e950c7d5e1ee407a858e2a8b5016c8b3": {
       "class": "gateway",
       "fw": "3.3.9",
+      "hw": "AME Smile 2.0 board",
       "location": "cd3e822288064775a7c4afcdd70bdda2",
+      "mac_address": "012345670001",
       "model": "P1",
       "name": "P1",
       "vendor": "Plugwise B.V.",
diff --git a/tests/components/plugwise/fixtures/stretch_v31/all_data.json b/tests/components/plugwise/fixtures/stretch_v31/all_data.json
index 3834eb516de..b168923b8b2 100644
--- a/tests/components/plugwise/fixtures/stretch_v31/all_data.json
+++ b/tests/components/plugwise/fixtures/stretch_v31/all_data.json
@@ -1,10 +1,10 @@
 [
   {
     "active_device": false,
-    "cooling_present": null,
+    "cooling_present": false,
     "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00",
     "heater_id": null,
-    "single_master_thermostat": null,
+    "single_master_thermostat": false,
     "smile_name": "Stretch",
     "notifications": {}
   },
@@ -12,44 +12,40 @@
     "0000aaaa0000aaaa0000aaaa0000aa00": {
       "class": "gateway",
       "fw": "3.1.11",
+      "hw": null,
+      "mac_address": "01:23:45:67:89:AB",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
       "vendor": "Plugwise B.V.",
       "model": "Stretch",
-      "name": "Stretch"
-    },
-    "5ca521ac179d468e91d772eeeb8a2117": {
-      "class": "zz_misc",
-      "fw": null,
-      "location": "0000aaaa0000aaaa0000aaaa0000aa00",
-      "model": null,
-      "name": "Oven (793F84)",
-      "vendor": null,
-      "sensors": {
-        "electricity_consumed": 0.0,
-        "electricity_consumed_interval": 0.0,
-        "electricity_produced": 0.0,
-        "electricity_produced_interval": 0.0
-      },
-      "switches": { "relay": true, "lock": false }
+      "name": "Stretch",
+      "zigbee_mac_address": "012345670101"
     },
     "5871317346d045bc9f6b987ef25ee638": {
       "class": "water_heater_vessel",
       "fw": "2011-06-27T10:52:18+02:00",
+      "hw": "6539-0701-4028",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
+      "mac_address": null,
       "model": "Circle type F",
       "name": "Boiler (1EB31)",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A07",
       "sensors": {
         "electricity_consumed": 1.19,
         "electricity_consumed_interval": 0.0,
         "electricity_produced": 0.0
       },
-      "switches": { "relay": true, "lock": false }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "e1c884e7dede431dadee09506ec4f859": {
       "class": "refrigerator",
       "fw": "2011-06-27T10:47:37+02:00",
+      "hw": "6539-0700-7330",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
+      "mac_address": null,
       "model": "Circle+ type F",
       "name": "Koelkast (92C4A)",
       "vendor": "Plugwise",
@@ -58,79 +54,70 @@
         "electricity_consumed_interval": 0.08,
         "electricity_produced": 0.0
       },
-      "switches": { "relay": true, "lock": false }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "aac7b735042c4832ac9ff33aae4f453b": {
       "class": "dishwasher",
       "fw": "2011-06-27T10:52:18+02:00",
+      "hw": "6539-0701-4022",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
+      "mac_address": null,
       "model": "Circle type F",
       "name": "Vaatwasser (2a1ab)",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A02",
       "sensors": {
         "electricity_consumed": 0.0,
         "electricity_consumed_interval": 0.71,
         "electricity_produced": 0.0
       },
-      "switches": { "relay": true, "lock": false }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "cfe95cf3de1948c0b8955125bf754614": {
       "class": "dryer",
       "fw": "2011-06-27T10:52:18+02:00",
+      "hw": "0000-0440-0107",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
+      "mac_address": null,
       "model": "Circle type F",
       "name": "Droger (52559)",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A04",
       "sensors": {
         "electricity_consumed": 0.0,
         "electricity_consumed_interval": 0.0,
         "electricity_produced": 0.0
       },
-      "switches": { "relay": true, "lock": false }
-    },
-    "99f89d097be34fca88d8598c6dbc18ea": {
-      "class": "router",
-      "fw": null,
-      "location": "0000aaaa0000aaaa0000aaaa0000aa00",
-      "model": null,
-      "name": "Meterkast (787BFB)",
-      "vendor": null,
-      "sensors": {
-        "electricity_consumed": 27.6,
-        "electricity_consumed_interval": 28.2,
-        "electricity_produced": 0.0,
-        "electricity_produced_interval": 0.0
-      },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "059e4d03c7a34d278add5c7a4a781d19": {
       "class": "washingmachine",
       "fw": "2011-06-27T10:52:18+02:00",
+      "hw": "0000-0440-0107",
       "location": "0000aaaa0000aaaa0000aaaa0000aa00",
+      "mac_address": null,
       "model": "Circle type F",
       "name": "Wasmachine (52AC1)",
       "vendor": "Plugwise",
+      "zigbee_mac_address": "012345670A01",
       "sensors": {
         "electricity_consumed": 0.0,
         "electricity_consumed_interval": 0.0,
         "electricity_produced": 0.0
       },
-      "switches": { "relay": true, "lock": false }
-    },
-    "e309b52ea5684cf1a22f30cf0cd15051": {
-      "class": "computer_desktop",
-      "fw": null,
-      "location": "0000aaaa0000aaaa0000aaaa0000aa00",
-      "model": null,
-      "name": "Computer (788618)",
-      "vendor": null,
-      "sensors": {
-        "electricity_consumed": 156,
-        "electricity_consumed_interval": 163,
-        "electricity_produced": 0.0,
-        "electricity_produced_interval": 0.0
-      },
-      "switches": { "relay": true, "lock": true }
+      "switches": {
+        "relay": true,
+        "lock": false
+      }
     },
     "71e1944f2a944b26ad73323e399efef0": {
       "class": "switching",
@@ -138,10 +125,16 @@
       "location": null,
       "model": "Switchgroup",
       "name": "Test",
-      "members": ["5ca521ac179d468e91d772eeeb8a2117"],
-      "types": ["switch_group"],
+      "members": [
+        "5ca521ac179d468e91d772eeeb8a2117"
+      ],
+      "types": [
+        "switch_group"
+      ],
       "vendor": null,
-      "switches": { "relay": true }
+      "switches": {
+        "relay": true
+      }
     },
     "d950b314e9d8499f968e6db8d82ef78c": {
       "class": "report",
@@ -156,9 +149,13 @@
         "cfe95cf3de1948c0b8955125bf754614",
         "e1c884e7dede431dadee09506ec4f859"
       ],
-      "types": ["switch_group"],
+      "types": [
+        "switch_group"
+      ],
       "vendor": null,
-      "switches": { "relay": true }
+      "switches": {
+        "relay": true
+      }
     },
     "d03738edfcc947f7b8f4573571d90d2d": {
       "class": "switching",
@@ -170,9 +167,13 @@
         "059e4d03c7a34d278add5c7a4a781d19",
         "cfe95cf3de1948c0b8955125bf754614"
       ],
-      "types": ["switch_group"],
+      "types": [
+        "switch_group"
+      ],
       "vendor": null,
-      "switches": { "relay": true }
+      "switches": {
+        "relay": true
+      }
     }
   }
 ]
diff --git a/tests/components/plugwise/test_climate.py b/tests/components/plugwise/test_climate.py
index 1a8b7815be4..a52e4a955a6 100644
--- a/tests/components/plugwise/test_climate.py
+++ b/tests/components/plugwise/test_climate.py
@@ -38,6 +38,9 @@ async def test_adam_climate_entity_attributes(
     assert state.attributes["preset_mode"] == "home"
     assert state.attributes["supported_features"] == 17
     assert state.attributes["temperature"] == 21.5
+    assert state.attributes["min_temp"] == 0.0
+    assert state.attributes["max_temp"] == 99.9
+    assert state.attributes["target_temp_step"] == 0.1
 
     state = hass.states.get("climate.zone_thermostat_jessie")
     assert state
@@ -55,6 +58,9 @@ async def test_adam_climate_entity_attributes(
     assert state.attributes["current_temperature"] == 17.2
     assert state.attributes["preset_mode"] == "asleep"
     assert state.attributes["temperature"] == 15.0
+    assert state.attributes["min_temp"] == 0.0
+    assert state.attributes["max_temp"] == 99.9
+    assert state.attributes["target_temp_step"] == 0.1
 
 
 async def test_adam_climate_adjust_negative_testing(
@@ -166,8 +172,8 @@ async def test_anna_climate_entity_attributes(
     assert state.attributes["preset_mode"] == "home"
     assert state.attributes["supported_features"] == 17
     assert state.attributes["temperature"] == 21.0
-    assert state.attributes["min_temp"] == 5.0
-    assert state.attributes["max_temp"] == 31.0
+    assert state.attributes["min_temp"] == 4.0
+    assert state.attributes["max_temp"] == 30.0
     assert state.attributes["target_temp_step"] == 0.1
 
 
diff --git a/tests/components/plugwise/test_diagnostics.py b/tests/components/plugwise/test_diagnostics.py
index 673e77f1630..5fdef0112a1 100644
--- a/tests/components/plugwise/test_diagnostics.py
+++ b/tests/components/plugwise/test_diagnostics.py
@@ -21,7 +21,7 @@ async def test_diagnostics(
     ) == {
         "gateway": {
             "active_device": True,
-            "cooling_present": None,
+            "cooling_present": False,
             "gateway_id": "fe799307f1624099878210aa0b9f1475",
             "heater_id": "90986d591dcd426cae3ec3e8111ff730",
             "single_master_thermostat": False,
@@ -36,10 +36,15 @@ async def test_diagnostics(
             "df4a4a8169904cdb9c03d61a21f42140": {
                 "class": "zone_thermostat",
                 "fw": "2016-10-27T02:00:00+02:00",
+                "hw": "255",
                 "location": "12493538af164a409c6a1c79e38afe1c",
+                "mac_address": None,
                 "model": "Lisa",
                 "name": "Zone Lisa Bios",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 99.9,
+                "resolution": 0.01,
                 "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
                 "active_preset": "away",
                 "presets": {
@@ -57,18 +62,23 @@ async def test_diagnostics(
                     "CV Jessie",
                 ],
                 "selected_schedule": "None",
-                "schedule_temperature": 15.0,
                 "last_used": "Badkamer Schema",
-                "mode": "off",
-                "sensors": {"temperature": 16.5, "setpoint": 13.0, "battery": 67},
+                "schedule_temperature": 15.0,
+                "mode": "heat",
+                "sensors": {"temperature": 16.5, "setpoint": 13, "battery": 67},
             },
             "b310b72a0e354bfab43089919b9a88bf": {
                 "class": "thermo_sensor",
                 "fw": "2019-03-27T01:00:00+01:00",
+                "hw": "1",
                 "location": "c50f167537524366a5af7aa3942feb1e",
+                "mac_address": None,
                 "model": "Tom/Floor",
                 "name": "Floor kraan",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 100.0,
+                "resolution": 0.01,
                 "sensors": {
                     "temperature": 26.0,
                     "setpoint": 21.5,
@@ -79,13 +89,18 @@ async def test_diagnostics(
             "a2c3583e0a6349358998b760cea82d2a": {
                 "class": "thermo_sensor",
                 "fw": "2019-03-27T01:00:00+01:00",
+                "hw": "1",
                 "location": "12493538af164a409c6a1c79e38afe1c",
+                "mac_address": None,
                 "model": "Tom/Floor",
                 "name": "Bios Cv Thermostatic Radiator ",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 100.0,
+                "resolution": 0.01,
                 "sensors": {
                     "temperature": 17.2,
-                    "setpoint": 13.0,
+                    "setpoint": 13,
                     "battery": 62,
                     "temperature_difference": -0.2,
                     "valve_position": 0.0,
@@ -94,10 +109,15 @@ async def test_diagnostics(
             "b59bcebaf94b499ea7d46e4a66fb62d8": {
                 "class": "zone_thermostat",
                 "fw": "2016-08-02T02:00:00+02:00",
+                "hw": "255",
                 "location": "c50f167537524366a5af7aa3942feb1e",
+                "mac_address": None,
                 "model": "Lisa",
                 "name": "Zone Lisa WK",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 99.9,
+                "resolution": 0.01,
                 "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
                 "active_preset": "home",
                 "presets": {
@@ -115,31 +135,39 @@ async def test_diagnostics(
                     "CV Jessie",
                 ],
                 "selected_schedule": "GF7  Woonkamer",
-                "schedule_temperature": 20.0,
                 "last_used": "GF7  Woonkamer",
+                "schedule_temperature": 20.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",
                 "location": "1f9dcf83fd4e4b66b72ff787957bfe5d",
+                "mac_address": "012345670001",
                 "model": "Adam",
                 "name": "Adam",
                 "vendor": "Plugwise B.V.",
+                "zigbee_mac_address": "012345670101",
                 "binary_sensors": {"plugwise_notification": True},
                 "sensors": {"outdoor_temperature": 7.81},
             },
             "d3da73bde12a47d5a6b8f9dad971f2ec": {
                 "class": "thermo_sensor",
                 "fw": "2019-03-27T01:00:00+01:00",
+                "hw": "1",
                 "location": "82fa13f017d240daa0d0ea1775420f24",
+                "mac_address": None,
                 "model": "Tom/Floor",
                 "name": "Thermostatic Radiator Jessie",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 100.0,
+                "resolution": 0.01,
                 "sensors": {
                     "temperature": 17.1,
-                    "setpoint": 15.0,
+                    "setpoint": 15,
                     "battery": 62,
                     "temperature_difference": 0.1,
                     "valve_position": 0.0,
@@ -148,10 +176,13 @@ async def test_diagnostics(
             "21f2b542c49845e6bb416884c55778d6": {
                 "class": "game_console",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "Playstation Smart Plug",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A12",
                 "sensors": {
                     "electricity_consumed": 82.6,
                     "electricity_consumed_interval": 8.6,
@@ -163,10 +194,13 @@ async def test_diagnostics(
             "78d1126fc4c743db81b61c20e88342a7": {
                 "class": "central_heating_pump",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "c50f167537524366a5af7aa3942feb1e",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "CV Pomp",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A05",
                 "sensors": {
                     "electricity_consumed": 35.6,
                     "electricity_consumed_interval": 7.37,
@@ -178,26 +212,33 @@ async def test_diagnostics(
             "90986d591dcd426cae3ec3e8111ff730": {
                 "class": "heater_central",
                 "fw": None,
+                "hw": None,
                 "location": "1f9dcf83fd4e4b66b72ff787957bfe5d",
+                "mac_address": None,
                 "model": "Unknown",
                 "name": "OnOff",
                 "vendor": None,
+                "lower_bound": 10,
+                "upper_bound": 90,
+                "resolution": 1,
                 "cooling_active": False,
                 "heating_state": True,
                 "sensors": {
                     "water_temperature": 70.0,
                     "intended_boiler_temperature": 70.0,
                     "modulation_level": 1,
-                    "device_state": "heating",
                 },
             },
             "cd0ddb54ef694e11ac18ed1cbce5dbbd": {
                 "class": "vcr",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "NAS",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A14",
                 "sensors": {
                     "electricity_consumed": 16.5,
                     "electricity_consumed_interval": 0.5,
@@ -209,10 +250,13 @@ async def test_diagnostics(
             "4a810418d5394b3f82727340b91ba740": {
                 "class": "router",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "USG Smart Plug",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A16",
                 "sensors": {
                     "electricity_consumed": 8.5,
                     "electricity_consumed_interval": 0.0,
@@ -224,10 +268,13 @@ async def test_diagnostics(
             "02cf28bfec924855854c544690a609ef": {
                 "class": "vcr",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "NVR",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A15",
                 "sensors": {
                     "electricity_consumed": 34.0,
                     "electricity_consumed_interval": 9.15,
@@ -239,10 +286,13 @@ async def test_diagnostics(
             "a28f588dc4a049a483fd03a30361ad3a": {
                 "class": "settop",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "Fibaro HC2",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A13",
                 "sensors": {
                     "electricity_consumed": 12.5,
                     "electricity_consumed_interval": 3.8,
@@ -254,10 +304,15 @@ async def test_diagnostics(
             "6a3bf693d05e48e0b460c815a4fdd09d": {
                 "class": "zone_thermostat",
                 "fw": "2016-10-27T02:00:00+02:00",
+                "hw": "255",
                 "location": "82fa13f017d240daa0d0ea1775420f24",
+                "mac_address": None,
                 "model": "Lisa",
                 "name": "Zone Thermostat Jessie",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 99.9,
+                "resolution": 0.01,
                 "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
                 "active_preset": "asleep",
                 "presets": {
@@ -275,21 +330,26 @@ async def test_diagnostics(
                     "CV Jessie",
                 ],
                 "selected_schedule": "CV Jessie",
-                "schedule_temperature": 15.0,
                 "last_used": "CV Jessie",
+                "schedule_temperature": 15.0,
                 "mode": "auto",
-                "sensors": {"temperature": 17.2, "setpoint": 15.0, "battery": 37},
+                "sensors": {"temperature": 17.2, "setpoint": 15, "battery": 37},
             },
             "680423ff840043738f42cc7f1ff97a36": {
                 "class": "thermo_sensor",
                 "fw": "2019-03-27T01:00:00+01:00",
+                "hw": "1",
                 "location": "08963fec7c53423ca5680aa4cb502c63",
+                "mac_address": None,
                 "model": "Tom/Floor",
                 "name": "Thermostatic Radiator Badkamer",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 100.0,
+                "resolution": 0.01,
                 "sensors": {
                     "temperature": 19.1,
-                    "setpoint": 14.0,
+                    "setpoint": 14,
                     "battery": 51,
                     "temperature_difference": -0.4,
                     "valve_position": 0.0,
@@ -298,10 +358,15 @@ async def test_diagnostics(
             "f1fee6043d3642a9b0a65297455f008e": {
                 "class": "zone_thermostat",
                 "fw": "2016-10-27T02:00:00+02:00",
+                "hw": "255",
                 "location": "08963fec7c53423ca5680aa4cb502c63",
+                "mac_address": None,
                 "model": "Lisa",
                 "name": "Zone Thermostat Badkamer",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 99.9,
+                "resolution": 0.01,
                 "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
                 "active_preset": "away",
                 "presets": {
@@ -319,18 +384,21 @@ async def test_diagnostics(
                     "CV Jessie",
                 ],
                 "selected_schedule": "Badkamer Schema",
-                "schedule_temperature": 15.0,
                 "last_used": "Badkamer Schema",
+                "schedule_temperature": 15.0,
                 "mode": "auto",
-                "sensors": {"temperature": 18.9, "setpoint": 14.0, "battery": 92},
+                "sensors": {"temperature": 18.9, "setpoint": 14, "battery": 92},
             },
             "675416a629f343c495449970e2ca37b5": {
                 "class": "router",
                 "fw": "2019-06-21T02:00:00+02:00",
+                "hw": None,
                 "location": "cd143c07248f491493cea0533bc3d669",
+                "mac_address": None,
                 "model": "Plug",
                 "name": "Ziggo Modem",
                 "vendor": "Plugwise",
+                "zigbee_mac_address": "012345670A01",
                 "sensors": {
                     "electricity_consumed": 12.2,
                     "electricity_consumed_interval": 2.97,
@@ -342,10 +410,15 @@ async def test_diagnostics(
             "e7693eb9582644e5b865dba8d4447cf1": {
                 "class": "thermostatic_radiator_valve",
                 "fw": "2019-03-27T01:00:00+01:00",
+                "hw": "1",
                 "location": "446ac08dd04d4eff8ac57489757b7314",
+                "mac_address": None,
                 "model": "Tom/Floor",
                 "name": "CV Kraan Garage",
                 "vendor": "Plugwise",
+                "lower_bound": 0,
+                "upper_bound": 100.0,
+                "resolution": 0.01,
                 "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"],
                 "active_preset": "no_frost",
                 "presets": {
@@ -363,8 +436,8 @@ async def test_diagnostics(
                     "CV Jessie",
                 ],
                 "selected_schedule": "None",
-                "schedule_temperature": 15.0,
                 "last_used": "Badkamer Schema",
+                "schedule_temperature": 15.0,
                 "mode": "heat",
                 "sensors": {
                     "temperature": 15.6,
-- 
GitLab