From 82ebb7047f54347982531f16f009f618dc06fcc2 Mon Sep 17 00:00:00 2001
From: Raman Gupta <7243222+raman325@users.noreply.github.com>
Date: Fri, 18 Feb 2022 02:36:27 -0500
Subject: [PATCH] Bump zwave-js-server-python to 0.35.0 (#66785)

* Bump zwave-js-server-python to 0.35.0

* Remove support for new event type which should go in a separate PR
---
 .../components/zwave_js/diagnostics.py        |   9 +-
 .../components/zwave_js/manifest.json         |   2 +-
 requirements_all.txt                          |   2 +-
 requirements_test_all.txt                     |   2 +-
 .../fixtures/aeon_smart_switch_6_state.json   |   6 +-
 .../aeotec_radiator_thermostat_state.json     |   2 +-
 .../fixtures/bulb_6_multi_color_state.json    |   2 +-
 .../fixtures/chain_actuator_zws12_state.json  |   2 +-
 .../climate_eurotronic_spirit_z_state.json    |   2 +-
 .../fixtures/climate_heatit_z_trm3_state.json |   2 +-
 ...ate_radio_thermostat_ct100_plus_state.json | 254 +++++++++---------
 .../fixtures/cover_iblinds_v2_state.json      |   2 +-
 .../zwave_js/fixtures/cover_zw062_state.json  |   2 +-
 .../fixtures/eaton_rf9640_dimmer_state.json   |   2 +-
 .../fixtures/ecolink_door_sensor_state.json   |   2 +-
 .../zwave_js/fixtures/fan_ge_12730_state.json |   2 +-
 .../zwave_js/fixtures/fan_generic_state.json  |   2 +-
 .../ge_in_wall_dimmer_switch_state.json       | 162 +++++------
 .../fixtures/hank_binary_switch_state.json    |   6 +-
 .../fixtures/lock_august_asl03_state.json     |   2 +-
 .../fixtures/lock_schlage_be469_state.json    | 128 ++++-----
 .../fixtures/multisensor_6_state.json         |   2 +-
 .../nortek_thermostat_added_event.json        |   2 +-
 .../nortek_thermostat_removed_event.json      |   5 +-
 .../fixtures/nortek_thermostat_state.json     |   2 +-
 .../wallmote_central_scene_state.json         | 174 ++++++------
 tests/components/zwave_js/test_api.py         |  30 ++-
 .../zwave_js/test_device_condition.py         |  11 -
 tests/components/zwave_js/test_diagnostics.py |  18 +-
 tests/components/zwave_js/test_init.py        |  27 +-
 tests/components/zwave_js/test_sensor.py      |  10 +-
 31 files changed, 447 insertions(+), 429 deletions(-)

diff --git a/homeassistant/components/zwave_js/diagnostics.py b/homeassistant/components/zwave_js/diagnostics.py
index 080fffe2107..8b59c38d405 100644
--- a/homeassistant/components/zwave_js/diagnostics.py
+++ b/homeassistant/components/zwave_js/diagnostics.py
@@ -8,8 +8,8 @@ from zwave_js_server.model.node import NodeDataType
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import CONF_URL
 from homeassistant.core import HomeAssistant
+from homeassistant.helpers import device_registry as dr
 from homeassistant.helpers.aiohttp_client import async_get_clientsession
-from homeassistant.helpers.device_registry import DeviceEntry
 
 from .const import DATA_CLIENT, DOMAIN
 from .helpers import get_home_and_node_id_from_device_entry
@@ -26,7 +26,7 @@ async def async_get_config_entry_diagnostics(
 
 
 async def async_get_device_diagnostics(
-    hass: HomeAssistant, config_entry: ConfigEntry, device: DeviceEntry
+    hass: HomeAssistant, config_entry: ConfigEntry, device: dr.DeviceEntry
 ) -> NodeDataType:
     """Return diagnostics for a device."""
     client: Client = hass.data[DOMAIN][config_entry.entry_id][DATA_CLIENT]
@@ -42,8 +42,5 @@ async def async_get_device_diagnostics(
             "minSchemaVersion": client.version.min_schema_version,
             "maxSchemaVersion": client.version.max_schema_version,
         },
-        "state": {
-            **node.data,
-            "values": [value.data for value in node.values.values()],
-        },
+        "state": node.data,
     }
diff --git a/homeassistant/components/zwave_js/manifest.json b/homeassistant/components/zwave_js/manifest.json
index d6cc9938eba..e6975ddb47b 100644
--- a/homeassistant/components/zwave_js/manifest.json
+++ b/homeassistant/components/zwave_js/manifest.json
@@ -3,7 +3,7 @@
   "name": "Z-Wave JS",
   "config_flow": true,
   "documentation": "https://www.home-assistant.io/integrations/zwave_js",
-  "requirements": ["zwave-js-server-python==0.34.0"],
+  "requirements": ["zwave-js-server-python==0.35.0"],
   "codeowners": ["@home-assistant/z-wave"],
   "dependencies": ["usb", "http", "websocket_api"],
   "iot_class": "local_push",
diff --git a/requirements_all.txt b/requirements_all.txt
index 3f343d5d23f..caa36d4dc46 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -2559,7 +2559,7 @@ zigpy==0.43.0
 zm-py==0.5.2
 
 # homeassistant.components.zwave_js
-zwave-js-server-python==0.34.0
+zwave-js-server-python==0.35.0
 
 # homeassistant.components.zwave_me
 zwave_me_ws==0.1.23
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index faeba577532..912e41fcd7d 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -1584,7 +1584,7 @@ zigpy-znp==0.7.0
 zigpy==0.43.0
 
 # homeassistant.components.zwave_js
-zwave-js-server-python==0.34.0
+zwave-js-server-python==0.35.0
 
 # homeassistant.components.zwave_me
 zwave_me_ws==0.1.23
diff --git a/tests/components/zwave_js/fixtures/aeon_smart_switch_6_state.json b/tests/components/zwave_js/fixtures/aeon_smart_switch_6_state.json
index c8d8f878c0b..1eb2baf3a02 100644
--- a/tests/components/zwave_js/fixtures/aeon_smart_switch_6_state.json
+++ b/tests/components/zwave_js/fixtures/aeon_smart_switch_6_state.json
@@ -10,7 +10,7 @@
       "generic": {"key": 16, "label":"Binary Switch"},
       "specific": {"key": 1, "label":"Binary Power Switch"},
       "mandatorySupportedCCs": [],
-      "mandatoryControlCCs": []
+      "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
@@ -50,10 +50,10 @@
         "nodeId": 102,
         "index": 0,
         "installerIcon": 1792,
-        "userIcon": 1792
+        "userIcon": 1792,
+        "commandClasses": []
       }
     ],
-    "commandClasses": [],
     "values": [
       {
         "endpoint": 0,
diff --git a/tests/components/zwave_js/fixtures/aeotec_radiator_thermostat_state.json b/tests/components/zwave_js/fixtures/aeotec_radiator_thermostat_state.json
index 27c3f991d33..646363e3313 100644
--- a/tests/components/zwave_js/fixtures/aeotec_radiator_thermostat_state.json
+++ b/tests/components/zwave_js/fixtures/aeotec_radiator_thermostat_state.json
@@ -10,7 +10,7 @@
       "generic": {"key": 8, "label":"Thermostat"},
       "specific": {"key": 6, "label":"Thermostat General V2"},
       "mandatorySupportedCCs": [],
-      "mandatoryControlCCs": []
+      "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
diff --git a/tests/components/zwave_js/fixtures/bulb_6_multi_color_state.json b/tests/components/zwave_js/fixtures/bulb_6_multi_color_state.json
index 58608131e90..668d1b9dce9 100644
--- a/tests/components/zwave_js/fixtures/bulb_6_multi_color_state.json
+++ b/tests/components/zwave_js/fixtures/bulb_6_multi_color_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 17, "label":"Multilevel Switch"},
         "specific": {"key": 1, "label":"Multilevel Power Switch"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/chain_actuator_zws12_state.json b/tests/components/zwave_js/fixtures/chain_actuator_zws12_state.json
index cf7adddc21e..a726175fa38 100644
--- a/tests/components/zwave_js/fixtures/chain_actuator_zws12_state.json
+++ b/tests/components/zwave_js/fixtures/chain_actuator_zws12_state.json
@@ -10,7 +10,7 @@
       "generic": {"key": 17, "label":"Multilevel Switch"},
       "specific": {"key": 7, "label":"Motor Control Class C"},
       "mandatorySupportedCCs": [],
-      "mandatoryControlCCs": []
+      "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/climate_eurotronic_spirit_z_state.json b/tests/components/zwave_js/fixtures/climate_eurotronic_spirit_z_state.json
index 8dff31a5225..afa216cac32 100644
--- a/tests/components/zwave_js/fixtures/climate_eurotronic_spirit_z_state.json
+++ b/tests/components/zwave_js/fixtures/climate_eurotronic_spirit_z_state.json
@@ -25,7 +25,7 @@
             "Thermostat Setpoint",
             "Version"
         ],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
diff --git a/tests/components/zwave_js/fixtures/climate_heatit_z_trm3_state.json b/tests/components/zwave_js/fixtures/climate_heatit_z_trm3_state.json
index b26b69be9ad..98c185fd8d5 100644
--- a/tests/components/zwave_js/fixtures/climate_heatit_z_trm3_state.json
+++ b/tests/components/zwave_js/fixtures/climate_heatit_z_trm3_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 8, "label":"Thermostat"},
         "specific": {"key": 6, "label":"Thermostat General V2"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/climate_radio_thermostat_ct100_plus_state.json b/tests/components/zwave_js/fixtures/climate_radio_thermostat_ct100_plus_state.json
index cd5a6bd4abe..3805394dbce 100644
--- a/tests/components/zwave_js/fixtures/climate_radio_thermostat_ct100_plus_state.json
+++ b/tests/components/zwave_js/fixtures/climate_radio_thermostat_ct100_plus_state.json
@@ -6,11 +6,11 @@
   "status": 4,
   "ready": true,
   "deviceClass": {
-    "basic": {"key": 2, "label":"Static Controller"},
-    "generic": {"key": 8, "label":"Thermostat"},
-    "specific": {"key": 6, "label":"Thermostat General V2"},
+    "basic": { "key": 2, "label": "Static Controller" },
+    "generic": { "key": 8, "label": "Thermostat" },
+    "specific": { "key": 6, "label": "Thermostat General V2" },
     "mandatorySupportedCCs": [],
-    "mandatoryControlCCs": []
+    "mandatoryControlledCCs": []
   },
   "isListening": true,
   "isFrequentListening": false,
@@ -47,7 +47,129 @@
       "nodeId": 13,
       "index": 0,
       "installerIcon": 4608,
-      "userIcon": 4608
+      "userIcon": 4608,
+      "commandClasses": [
+        {
+          "id": 49,
+          "name": "Multilevel Sensor",
+          "version": 5,
+          "isSecure": false
+        },
+        {
+          "id": 64,
+          "name": "Thermostat Mode",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 66,
+          "name": "Thermostat Operating State",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 67,
+          "name": "Thermostat Setpoint",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 68,
+          "name": "Thermostat Fan Mode",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 69,
+          "name": "Thermostat Fan State",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 89,
+          "name": "Association Group Information",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 90,
+          "name": "Device Reset Locally",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 94,
+          "name": "Z-Wave Plus Info",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 96,
+          "name": "Multi Channel",
+          "version": 4,
+          "isSecure": false
+        },
+        {
+          "id": 112,
+          "name": "Configuration",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 114,
+          "name": "Manufacturer Specific",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 115,
+          "name": "Powerlevel",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 122,
+          "name": "Firmware Update Meta Data",
+          "version": 3,
+          "isSecure": false
+        },
+        {
+          "id": 128,
+          "name": "Battery",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 129,
+          "name": "Clock",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 133,
+          "name": "Association",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 134,
+          "name": "Version",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 135,
+          "name": "Indicator",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 142,
+          "name": "Multi Channel Association",
+          "version": 3,
+          "isSecure": false
+        }
+      ]
     },
     {
       "nodeId": 13,
@@ -57,128 +179,6 @@
     },
     { "nodeId": 13, "index": 2 }
   ],
-  "commandClasses": [
-    {
-      "id": 49,
-      "name": "Multilevel Sensor",
-      "version": 5,
-      "isSecure": false
-    },
-    {
-      "id": 64,
-      "name": "Thermostat Mode",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 66,
-      "name": "Thermostat Operating State",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 67,
-      "name": "Thermostat Setpoint",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 68,
-      "name": "Thermostat Fan Mode",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 69,
-      "name": "Thermostat Fan State",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 89,
-      "name": "Association Group Information",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 90,
-      "name": "Device Reset Locally",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 94,
-      "name": "Z-Wave Plus Info",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 96,
-      "name": "Multi Channel",
-      "version": 4,
-      "isSecure": false
-    },
-    {
-      "id": 112,
-      "name": "Configuration",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 114,
-      "name": "Manufacturer Specific",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 115,
-      "name": "Powerlevel",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 122,
-      "name": "Firmware Update Meta Data",
-      "version": 3,
-      "isSecure": false
-    },
-    {
-      "id": 128,
-      "name": "Battery",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 129,
-      "name": "Clock",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 133,
-      "name": "Association",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 134,
-      "name": "Version",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 135,
-      "name": "Indicator",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 142,
-      "name": "Multi Channel Association",
-      "version": 3,
-      "isSecure": false
-    }
-  ],
   "values": [
     {
       "commandClassName": "Manufacturer Specific",
diff --git a/tests/components/zwave_js/fixtures/cover_iblinds_v2_state.json b/tests/components/zwave_js/fixtures/cover_iblinds_v2_state.json
index 35ce70f617a..42200c2f1d6 100644
--- a/tests/components/zwave_js/fixtures/cover_iblinds_v2_state.json
+++ b/tests/components/zwave_js/fixtures/cover_iblinds_v2_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 17, "label":"Routing Slave"},
         "specific": {"key": 0, "label":"Unused"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
diff --git a/tests/components/zwave_js/fixtures/cover_zw062_state.json b/tests/components/zwave_js/fixtures/cover_zw062_state.json
index 9e7b05adc34..a0ccd4de9c5 100644
--- a/tests/components/zwave_js/fixtures/cover_zw062_state.json
+++ b/tests/components/zwave_js/fixtures/cover_zw062_state.json
@@ -10,7 +10,7 @@
     "generic": {"key": 64, "label":"Entry Control"},
     "specific": {"key": 7, "label":"Secure Barrier Add-on"},
     "mandatorySupportedCCs": [],
-    "mandatoryControlCCs": []
+    "mandatoryControlledCCs": []
   },
   "isListening": true,
   "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/eaton_rf9640_dimmer_state.json b/tests/components/zwave_js/fixtures/eaton_rf9640_dimmer_state.json
index b11d2bfd180..3edb0494c37 100644
--- a/tests/components/zwave_js/fixtures/eaton_rf9640_dimmer_state.json
+++ b/tests/components/zwave_js/fixtures/eaton_rf9640_dimmer_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 17, "label":"Routing Slave"},
         "specific": {"key": 1, "label":"Multilevel Power Switch"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/ecolink_door_sensor_state.json b/tests/components/zwave_js/fixtures/ecolink_door_sensor_state.json
index 9c2befdf5e8..ac32a9f99bb 100644
--- a/tests/components/zwave_js/fixtures/ecolink_door_sensor_state.json
+++ b/tests/components/zwave_js/fixtures/ecolink_door_sensor_state.json
@@ -8,7 +8,7 @@
       "generic": {"key": 32, "label":"Binary Sensor"},
       "specific": {"key": 1, "label":"Routing Binary Sensor"},
       "mandatorySupportedCCs": [],
-      "mandatoryControlCCs": []
+      "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/fan_ge_12730_state.json b/tests/components/zwave_js/fixtures/fan_ge_12730_state.json
index b6cf59b4226..ddbff0f3ffa 100644
--- a/tests/components/zwave_js/fixtures/fan_ge_12730_state.json
+++ b/tests/components/zwave_js/fixtures/fan_ge_12730_state.json
@@ -8,7 +8,7 @@
         "generic": {"key": 17, "label":"Multilevel Switch"},
         "specific": {"key": 1, "label":"Multilevel Power Switch"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/fan_generic_state.json b/tests/components/zwave_js/fixtures/fan_generic_state.json
index 1f4f55dd220..d09848fb759 100644
--- a/tests/components/zwave_js/fixtures/fan_generic_state.json
+++ b/tests/components/zwave_js/fixtures/fan_generic_state.json
@@ -10,7 +10,7 @@
       "generic": {"key": 17, "label":"Multilevel Switch"},
       "specific": {"key": 8, "label":"Fan Switch"},
       "mandatorySupportedCCs": [],
-      "mandatoryControlCCs": []
+      "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/ge_in_wall_dimmer_switch_state.json b/tests/components/zwave_js/fixtures/ge_in_wall_dimmer_switch_state.json
index 58d3f0d06ec..d47896a980a 100644
--- a/tests/components/zwave_js/fixtures/ge_in_wall_dimmer_switch_state.json
+++ b/tests/components/zwave_js/fixtures/ge_in_wall_dimmer_switch_state.json
@@ -64,7 +64,87 @@
         },
         "mandatorySupportedCCs": [32, 38, 39],
         "mandatoryControlledCCs": []
-      }
+      },
+      "commandClasses": [
+        {
+          "id": 32,
+          "name": "Basic",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 38,
+          "name": "Multilevel Switch",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 43,
+          "name": "Scene Activation",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 44,
+          "name": "Scene Actuator Configuration",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 86,
+          "name": "CRC-16 Encapsulation",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 89,
+          "name": "Association Group Information",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 90,
+          "name": "Device Reset Locally",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 94,
+          "name": "Z-Wave Plus Info",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 112,
+          "name": "Configuration",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 114,
+          "name": "Manufacturer Specific",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 122,
+          "name": "Firmware Update Meta Data",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 133,
+          "name": "Association",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 134,
+          "name": "Version",
+          "version": 2,
+          "isSecure": false
+        }
+      ]
     }
   ],
   "values": [
@@ -557,86 +637,6 @@
     "mandatorySupportedCCs": [32, 38, 39],
     "mandatoryControlledCCs": []
   },
-  "commandClasses": [
-    {
-      "id": 32,
-      "name": "Basic",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 38,
-      "name": "Multilevel Switch",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 43,
-      "name": "Scene Activation",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 44,
-      "name": "Scene Actuator Configuration",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 86,
-      "name": "CRC-16 Encapsulation",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 89,
-      "name": "Association Group Information",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 90,
-      "name": "Device Reset Locally",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 94,
-      "name": "Z-Wave Plus Info",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 112,
-      "name": "Configuration",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 114,
-      "name": "Manufacturer Specific",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 122,
-      "name": "Firmware Update Meta Data",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 133,
-      "name": "Association",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 134,
-      "name": "Version",
-      "version": 2,
-      "isSecure": false
-    }
-  ],
   "interviewStage": "Complete",
   "deviceDatabaseUrl": "https://devices.zwave-js.io/?jumpTo=0x0063:0x4944:0x3038:5.26"
 }
diff --git a/tests/components/zwave_js/fixtures/hank_binary_switch_state.json b/tests/components/zwave_js/fixtures/hank_binary_switch_state.json
index e5f739d63a5..d27338db5a9 100644
--- a/tests/components/zwave_js/fixtures/hank_binary_switch_state.json
+++ b/tests/components/zwave_js/fixtures/hank_binary_switch_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 16, "label":"Binary Switch"},
         "specific": {"key": 1, "label":"Binary Power Switch"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
@@ -60,10 +60,10 @@
             "nodeId": 32,
             "index": 0,
             "installerIcon": 1792,
-            "userIcon": 1792
+            "userIcon": 1792,
+            "commandClasses": []
         }
     ],
-    "commandClasses": [],
     "values": [
         {
             "commandClassName": "Binary Switch",
diff --git a/tests/components/zwave_js/fixtures/lock_august_asl03_state.json b/tests/components/zwave_js/fixtures/lock_august_asl03_state.json
index 2b218cd915b..b22c21e4777 100644
--- a/tests/components/zwave_js/fixtures/lock_august_asl03_state.json
+++ b/tests/components/zwave_js/fixtures/lock_august_asl03_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 64, "label":"Entry Control"},
         "specific": {"key": 3, "label":"Secure Keypad Door Lock"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
diff --git a/tests/components/zwave_js/fixtures/lock_schlage_be469_state.json b/tests/components/zwave_js/fixtures/lock_schlage_be469_state.json
index f85a8e6b005..fedee0f9cf1 100644
--- a/tests/components/zwave_js/fixtures/lock_schlage_be469_state.json
+++ b/tests/components/zwave_js/fixtures/lock_schlage_be469_state.json
@@ -8,7 +8,7 @@
         "generic": {"key": 64, "label":"Entry Control"},
         "specific": {"key": 3, "label":"Secure Keypad Door Lock"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
@@ -47,71 +47,71 @@
     "endpoints": [
         {
             "nodeId": 20,
-            "index": 0
+            "index": 0,
+            "commandClasses": [
+                {
+                    "id": 98,
+                    "name": "Door Lock",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 99,
+                    "name": "User Code",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 112,
+                    "name": "Configuration",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 113,
+                    "name": "Notification",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 114,
+                    "name": "Manufacturer Specific",
+                    "version": 1,
+                    "isSecure": false
+                },
+                {
+                    "id": 122,
+                    "name": "Firmware Update Meta Data",
+                    "version": 1,
+                    "isSecure": false
+                },
+                {
+                    "id": 128,
+                    "name": "Battery",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 133,
+                    "name": "Association",
+                    "version": 1,
+                    "isSecure": true
+                },
+                {
+                    "id": 134,
+                    "name": "Version",
+                    "version": 1,
+                    "isSecure": false
+                },
+                {
+                    "id": 152,
+                    "name": "Security",
+                    "version": 1,
+                    "isSecure": true
+                }
+            ]
         }
     ],
-    "commandClasses": [
-        {
-			"id": 98,
-			"name": "Door Lock",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 99,
-			"name": "User Code",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 112,
-			"name": "Configuration",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 113,
-			"name": "Notification",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 114,
-			"name": "Manufacturer Specific",
-			"version": 1,
-			"isSecure": false
-		},
-		{
-			"id": 122,
-			"name": "Firmware Update Meta Data",
-			"version": 1,
-			"isSecure": false
-		},
-		{
-			"id": 128,
-			"name": "Battery",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 133,
-			"name": "Association",
-			"version": 1,
-			"isSecure": true
-		},
-		{
-			"id": 134,
-			"name": "Version",
-			"version": 1,
-			"isSecure": false
-		},
-		{
-			"id": 152,
-			"name": "Security",
-			"version": 1,
-			"isSecure": true
-		}
-    ],
     "values": [
         {
             "commandClassName": "Door Lock",
diff --git a/tests/components/zwave_js/fixtures/multisensor_6_state.json b/tests/components/zwave_js/fixtures/multisensor_6_state.json
index 2646fecfd37..634d8ec9169 100644
--- a/tests/components/zwave_js/fixtures/multisensor_6_state.json
+++ b/tests/components/zwave_js/fixtures/multisensor_6_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 21, "label":"Multilevel Sensor"},
         "specific": {"key": 1, "label":"Routing Multilevel Sensor"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": true,
     "isFrequentListening": false,
diff --git a/tests/components/zwave_js/fixtures/nortek_thermostat_added_event.json b/tests/components/zwave_js/fixtures/nortek_thermostat_added_event.json
index 98ae03afbf2..598650b863c 100644
--- a/tests/components/zwave_js/fixtures/nortek_thermostat_added_event.json
+++ b/tests/components/zwave_js/fixtures/nortek_thermostat_added_event.json
@@ -11,7 +11,7 @@
             "generic": {"key": 8, "label":"Thermostat"},
             "specific": {"key": 6, "label":"Thermostat General V2"},
             "mandatorySupportedCCs": [],
-            "mandatoryControlCCs": []
+            "mandatoryControlledCCs": []
         },
         "neighbors": [],
         "interviewAttempts": 1,
diff --git a/tests/components/zwave_js/fixtures/nortek_thermostat_removed_event.json b/tests/components/zwave_js/fixtures/nortek_thermostat_removed_event.json
index 01bad6c4a8f..44b1379ca82 100644
--- a/tests/components/zwave_js/fixtures/nortek_thermostat_removed_event.json
+++ b/tests/components/zwave_js/fixtures/nortek_thermostat_removed_event.json
@@ -11,7 +11,7 @@
             "generic": {"key": 8, "label":"Thermostat"},
             "specific": {"key": 6, "label":"Thermostat General V2"},
             "mandatorySupportedCCs": [],
-            "mandatoryControlCCs": []
+            "mandatoryControlledCCs": []
         },
         "isListening": false,
         "isFrequentListening": true,
@@ -274,5 +274,6 @@
                 }
             }
         ]
-    }
+    },
+    "replaced": false
 }
\ No newline at end of file
diff --git a/tests/components/zwave_js/fixtures/nortek_thermostat_state.json b/tests/components/zwave_js/fixtures/nortek_thermostat_state.json
index 4e6ca17e013..a3b34aeedf0 100644
--- a/tests/components/zwave_js/fixtures/nortek_thermostat_state.json
+++ b/tests/components/zwave_js/fixtures/nortek_thermostat_state.json
@@ -10,7 +10,7 @@
         "generic": {"key": 8, "label":"Thermostat"},
         "specific": {"key": 6, "label":"Thermostat General V2"},
         "mandatorySupportedCCs": [],
-        "mandatoryControlCCs": []
+        "mandatoryControlledCCs": []
     },
     "isListening": false,
     "isFrequentListening": true,
diff --git a/tests/components/zwave_js/fixtures/wallmote_central_scene_state.json b/tests/components/zwave_js/fixtures/wallmote_central_scene_state.json
index 22eb05c9ce5..f5560dd7e78 100644
--- a/tests/components/zwave_js/fixtures/wallmote_central_scene_state.json
+++ b/tests/components/zwave_js/fixtures/wallmote_central_scene_state.json
@@ -80,98 +80,98 @@
   "aggregatedEndpointCount": 0,
   "interviewAttempts": 1,
   "interviewStage": "NodeInfo",
-  "commandClasses": [
-    {
-      "id": 89,
-      "name": "Association Group Information",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 90,
-      "name": "Device Reset Locally",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 91,
-      "name": "Central Scene",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 94,
-      "name": "Z-Wave Plus Info",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 96,
-      "name": "Multi Channel",
-      "version": 4,
-      "isSecure": false
-    },
-    {
-      "id": 112,
-      "name": "Configuration",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 113,
-      "name": "Notification",
-      "version": 4,
-      "isSecure": false
-    },
-    {
-      "id": 114,
-      "name": "Manufacturer Specific",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 122,
-      "name": "Firmware Update Meta Data",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 128,
-      "name": "Battery",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 132,
-      "name": "Wake Up",
-      "version": 1,
-      "isSecure": false
-    },
-    {
-      "id": 133,
-      "name": "Association",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 134,
-      "name": "Version",
-      "version": 2,
-      "isSecure": false
-    },
-    {
-      "id": 142,
-      "name": "Multi Channel Association",
-      "version": 3,
-      "isSecure": false
-    }
-  ],
   "endpoints": [
     {
       "nodeId": 35,
       "index": 0,
       "installerIcon": 7172,
-      "userIcon": 7172
+      "userIcon": 7172,
+      "commandClasses": [
+        {
+          "id": 89,
+          "name": "Association Group Information",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 90,
+          "name": "Device Reset Locally",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 91,
+          "name": "Central Scene",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 94,
+          "name": "Z-Wave Plus Info",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 96,
+          "name": "Multi Channel",
+          "version": 4,
+          "isSecure": false
+        },
+        {
+          "id": 112,
+          "name": "Configuration",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 113,
+          "name": "Notification",
+          "version": 4,
+          "isSecure": false
+        },
+        {
+          "id": 114,
+          "name": "Manufacturer Specific",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 122,
+          "name": "Firmware Update Meta Data",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 128,
+          "name": "Battery",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 132,
+          "name": "Wake Up",
+          "version": 1,
+          "isSecure": false
+        },
+        {
+          "id": 133,
+          "name": "Association",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 134,
+          "name": "Version",
+          "version": 2,
+          "isSecure": false
+        },
+        {
+          "id": 142,
+          "name": "Multi Channel Association",
+          "version": 3,
+          "isSecure": false
+        }
+      ]
     },
     {
       "nodeId": 35,
diff --git a/tests/components/zwave_js/test_api.py b/tests/components/zwave_js/test_api.py
index 8362854a5f6..1596b099ab1 100644
--- a/tests/components/zwave_js/test_api.py
+++ b/tests/components/zwave_js/test_api.py
@@ -478,7 +478,15 @@ async def test_add_node(
 
     event = Event(
         type="interview failed",
-        data={"source": "node", "event": "interview failed", "nodeId": 67},
+        data={
+            "source": "node",
+            "event": "interview failed",
+            "nodeId": 67,
+            "args": {
+                "errorMessage": "error",
+                "isFinal": True,
+            },
+        },
     )
     client.driver.receive_event(event)
 
@@ -1610,7 +1618,15 @@ async def test_replace_failed_node(
 
     event = Event(
         type="interview failed",
-        data={"source": "node", "event": "interview failed", "nodeId": 67},
+        data={
+            "source": "node",
+            "event": "interview failed",
+            "nodeId": 67,
+            "args": {
+                "errorMessage": "error",
+                "isFinal": True,
+            },
+        },
     )
     client.driver.receive_event(event)
 
@@ -2193,7 +2209,15 @@ async def test_refresh_node_info(
 
     event = Event(
         type="interview failed",
-        data={"source": "node", "event": "interview failed", "nodeId": 52},
+        data={
+            "source": "node",
+            "event": "interview failed",
+            "nodeId": 52,
+            "args": {
+                "errorMessage": "error",
+                "isFinal": True,
+            },
+        },
     )
     client.driver.receive_event(event)
 
diff --git a/tests/components/zwave_js/test_device_condition.py b/tests/components/zwave_js/test_device_condition.py
index da6b4b15459..2161c8e6fe4 100644
--- a/tests/components/zwave_js/test_device_condition.py
+++ b/tests/components/zwave_js/test_device_condition.py
@@ -215,17 +215,6 @@ async def test_node_status_state(
     assert len(calls) == 4
     assert calls[3].data["some"] == "dead - event - test_event4"
 
-    event = Event(
-        "unknown",
-        data={
-            "source": "node",
-            "event": "unknown",
-            "nodeId": lock_schlage_be469.node_id,
-        },
-    )
-    lock_schlage_be469.receive_event(event)
-    await hass.async_block_till_done()
-
 
 async def test_config_parameter_state(
     hass, client, lock_schlage_be469, integration, calls
diff --git a/tests/components/zwave_js/test_diagnostics.py b/tests/components/zwave_js/test_diagnostics.py
index b41292a15fc..332c8c84635 100644
--- a/tests/components/zwave_js/test_diagnostics.py
+++ b/tests/components/zwave_js/test_diagnostics.py
@@ -2,9 +2,7 @@
 from unittest.mock import patch
 
 import pytest
-from zwave_js_server.const import CommandClass
 from zwave_js_server.event import Event
-from zwave_js_server.model.value import _get_value_id_from_dict, get_value_id
 
 from homeassistant.components.zwave_js.diagnostics import async_get_device_diagnostics
 from homeassistant.components.zwave_js.helpers import get_device_id
@@ -43,9 +41,6 @@ async def test_device_diagnostics(
     assert device
 
     # Update a value and ensure it is reflected in the node state
-    value_id = get_value_id(
-        multisensor_6, CommandClass.SENSOR_MULTILEVEL, PROPERTY_ULTRAVIOLET
-    )
     event = Event(
         type="value updated",
         data={
@@ -75,18 +70,7 @@ async def test_device_diagnostics(
         "maxSchemaVersion": 0,
     }
 
-    # Assert that the data returned doesn't match the stale node state data
-    assert diagnostics_data["state"] != multisensor_6.data
-
-    # Replace data for the value we updated and assert the new node data is the same
-    # as what's returned
-    updated_node_data = multisensor_6.data.copy()
-    for idx, value in enumerate(updated_node_data["values"]):
-        if _get_value_id_from_dict(multisensor_6, value) == value_id:
-            updated_node_data["values"][idx] = multisensor_6.values[
-                value_id
-            ].data.copy()
-    assert diagnostics_data["state"] == updated_node_data
+    assert diagnostics_data["state"] == multisensor_6.data
 
 
 async def test_device_diagnostics_error(hass, integration):
diff --git a/tests/components/zwave_js/test_init.py b/tests/components/zwave_js/test_init.py
index d08c680dfe2..3780b2654f9 100644
--- a/tests/components/zwave_js/test_init.py
+++ b/tests/components/zwave_js/test_init.py
@@ -196,12 +196,16 @@ async def test_on_node_added_not_ready(
     assert len(hass.states.async_all()) == 0
     assert not dev_reg.devices
 
+    node_state = deepcopy(zp3111_not_ready_state)
+    node_state["isSecure"] = False
+
     event = Event(
         type="node added",
         data={
             "source": "controller",
             "event": "node added",
-            "node": deepcopy(zp3111_not_ready_state),
+            "node": node_state,
+            "result": {},
         },
     )
     client.driver.receive_event(event)
@@ -317,12 +321,16 @@ async def test_existing_node_not_replaced_when_not_ready(
     assert state.name == "Custom Entity Name"
     assert not hass.states.get(motion_entity)
 
+    node_state = deepcopy(zp3111_not_ready_state)
+    node_state["isSecure"] = False
+
     event = Event(
         type="node added",
         data={
             "source": "controller",
             "event": "node added",
-            "node": deepcopy(zp3111_not_ready_state),
+            "node": node_state,
+            "result": {},
         },
     )
     client.driver.receive_event(event)
@@ -838,9 +846,14 @@ async def test_node_removed(hass, multisensor_6_state, client, integration):
     dev_reg = dr.async_get(hass)
     node = Node(client, deepcopy(multisensor_6_state))
     device_id = f"{client.driver.controller.home_id}-{node.node_id}"
-    event = {"node": node}
+    event = {
+        "source": "controller",
+        "event": "node added",
+        "node": node.data,
+        "result": {},
+    }
 
-    client.driver.controller.emit("node added", event)
+    client.driver.controller.receive_event(Event("node added", event))
     await hass.async_block_till_done()
     old_device = dev_reg.async_get_device(identifiers={(DOMAIN, device_id)})
     assert old_device.id
@@ -907,7 +920,7 @@ async def test_replace_same_node(
                 "index": 0,
                 "status": 4,
                 "ready": False,
-                "isSecure": "unknown",
+                "isSecure": False,
                 "interviewAttempts": 1,
                 "endpoints": [{"nodeId": node_id, "index": 0, "deviceClass": None}],
                 "values": [],
@@ -922,6 +935,7 @@ async def test_replace_same_node(
                     "timeoutResponse": 0,
                 },
             },
+            "result": {},
         },
     )
 
@@ -1022,7 +1036,7 @@ async def test_replace_different_node(
                 "index": 0,
                 "status": 4,
                 "ready": False,
-                "isSecure": "unknown",
+                "isSecure": False,
                 "interviewAttempts": 1,
                 "endpoints": [
                     {"nodeId": multisensor_6.node_id, "index": 0, "deviceClass": None}
@@ -1039,6 +1053,7 @@ async def test_replace_different_node(
                     "timeoutResponse": 0,
                 },
             },
+            "result": {},
         },
     )
 
diff --git a/tests/components/zwave_js/test_sensor.py b/tests/components/zwave_js/test_sensor.py
index 2d120411513..c632f0fca17 100644
--- a/tests/components/zwave_js/test_sensor.py
+++ b/tests/components/zwave_js/test_sensor.py
@@ -220,7 +220,15 @@ async def test_node_status_sensor_not_ready(
     assert hass.states.get(NODE_STATUS_ENTITY).state == "alive"
 
     # Mark node as ready
-    event = Event("ready", {"nodeState": lock_id_lock_as_id150_state})
+    event = Event(
+        "ready",
+        {
+            "source": "node",
+            "event": "ready",
+            "nodeId": node.node_id,
+            "nodeState": lock_id_lock_as_id150_state,
+        },
+    )
     node.receive_event(event)
     assert node.ready
     assert hass.states.get(NODE_STATUS_ENTITY)
-- 
GitLab