From 33c904fe317ddeedf1181250c949b49909d53f56 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 17 Apr 2025 13:27:54 -0500 Subject: [PATCH 1/5] CHAD-14927: Driver fixes for lifecycle changes --- .../test/test_matter_button_parent_child.lua | 2 ++ .../src/test/test_matter_multi_button.lua | 2 ++ .../src/test/test_matter_lock_battery.lua | 4 ++++ .../src/test/test_matter_sensor_battery.lua | 2 ++ .../test/test_matter_sensor_featuremap.lua | 6 +++++ .../src/test/test_matter_multi_button.lua | 2 ++ .../src/test/test_matter_heat_pump.lua | 22 +++++++++++++++++++ .../src/test/test_matter_thermo_battery.lua | 22 +++++++++++-------- .../src/test/test_matter_thermostat.lua | 10 +++++++++ ...est_matter_thermostat_composed_bridged.lua | 12 ++++++++++ .../src/test/test_matter_water_heater.lua | 5 +++++ .../src/test/test_matter_window_covering.lua | 6 +++++ 12 files changed, 86 insertions(+), 9 deletions(-) diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua index 7655c29e1e..ac50f9ac34 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua @@ -74,6 +74,7 @@ local CLUSTER_SUBSCRIBE_LIST ={ } local function test_init() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end @@ -85,6 +86,7 @@ local function test_init() test.mock_device.add_test_device(child) end test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.capability:__expect_send(mock_device:generate_test_message("main", capabilities.button.supportedButtonValues({"pushed"}, {visibility = {displayed = false}}))) test.socket.capability:__expect_send(mock_device:generate_test_message("main", button_attr.pushed({state_change = false}))) diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua b/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua index 42d97c109d..d60cf594e0 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua @@ -74,6 +74,7 @@ local CLUSTER_SUBSCRIBE_LIST ={ } local function test_init() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end @@ -81,6 +82,7 @@ local function test_init() test.socket.matter:__expect_send({mock_device.id, subscribe_request}) test.mock_device.add_test_device(mock_device) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) mock_device:expect_metadata_update({ profile = "4-button-battery" }) local device_info_copy = utils.deep_copy(mock_device.raw_st_data) device_info_copy.profile.id = "4-buttons-battery" diff --git a/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua b/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua index 6aff133939..c43339c747 100644 --- a/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua +++ b/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua @@ -67,6 +67,7 @@ local mock_device_no_battery_record = { local mock_device_no_battery = test.mock_device.build_test_matter_device(mock_device_no_battery_record) local function test_init() + test.enable_startup_messages(false) local subscribe_request = clusters.DoorLock.attributes.LockState:subscribe(mock_device) subscribe_request:merge(clusters.PowerSource.attributes.BatPercentRemaining:subscribe(mock_device)) subscribe_request:merge(clusters.DoorLock.events.DoorLockAlarm:subscribe(mock_device)) @@ -74,6 +75,7 @@ local function test_init() subscribe_request:merge(clusters.DoorLock.events.LockUserChange:subscribe(mock_device)) test.socket["matter"]:__expect_send({mock_device.id, subscribe_request}) test.mock_device.add_test_device(mock_device) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" }) mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" }) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() @@ -82,6 +84,7 @@ end test.set_test_init_function(test_init) local function test_init_no_battery() + test.enable_startup_messages(false) local subscribe_request = clusters.DoorLock.attributes.LockState:subscribe(mock_device_no_battery) subscribe_request:merge(clusters.PowerSource.attributes.BatPercentRemaining:subscribe(mock_device)) subscribe_request:merge(clusters.DoorLock.events.DoorLockAlarm:subscribe(mock_device_no_battery)) @@ -89,6 +92,7 @@ local function test_init_no_battery() subscribe_request:merge(clusters.DoorLock.events.LockUserChange:subscribe(mock_device_no_battery)) test.socket["matter"]:__expect_send({mock_device_no_battery.id, subscribe_request}) test.mock_device.add_test_device(mock_device_no_battery) + test.socket.device_lifecycle:__queue_receive({ mock_device_no_battery.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_no_battery.id, "doConfigure" }) mock_device_no_battery:expect_metadata_update({ profile = "base-lock-nobattery" }) mock_device_no_battery:expect_metadata_update({ provisioning_state = "PROVISIONED" }) diff --git a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua index 48b72e232c..aa73ab09e1 100644 --- a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua +++ b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua @@ -56,6 +56,7 @@ local cluster_subscribe_list_humidity_battery = { } local function test_init() + test.enable_startup_messages(false) local subscribe_request_humidity_battery = cluster_subscribe_list_humidity_battery[1]:subscribe(mock_device_humidity_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_battery) do if i > 1 then @@ -67,6 +68,7 @@ local function test_init() test.mock_device.add_test_device(mock_device_humidity_battery) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "init" }) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() test.socket.matter:__expect_send({mock_device_humidity_battery.id, read_attribute_list}) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "doConfigure" }) diff --git a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua index 91d795d885..bd85e26643 100644 --- a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua +++ b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua @@ -125,6 +125,7 @@ local cluster_subscribe_list_temp_humidity = { } local function test_init_humidity_battery() + test.enable_startup_messages(false) local subscribe_request_humidity_battery = cluster_subscribe_list_humidity_battery[1]:subscribe(mock_device_humidity_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_battery) do if i > 1 then @@ -136,6 +137,7 @@ local function test_init_humidity_battery() test.mock_device.add_test_device(mock_device_humidity_battery) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_battery.id, "doConfigure" }) mock_device_humidity_battery:expect_metadata_update({ provisioning_state = "PROVISIONED" }) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() @@ -143,6 +145,7 @@ local function test_init_humidity_battery() end local function test_init_humidity_no_battery() + test.enable_startup_messages(false) local subscribe_request_humidity_no_battery = cluster_subscribe_list_humidity_no_battery[1]:subscribe(mock_device_humidity_no_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_no_battery) do if i > 1 then @@ -154,12 +157,14 @@ local function test_init_humidity_no_battery() test.mock_device.add_test_device(mock_device_humidity_no_battery) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_no_battery.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_no_battery.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_humidity_no_battery.id, "doConfigure" }) mock_device_humidity_no_battery:expect_metadata_update({ profile = "humidity" }) mock_device_humidity_no_battery:expect_metadata_update({ provisioning_state = "PROVISIONED" }) end local function test_init_temp_humidity() + test.enable_startup_messages(false) local subscribe_request_temp_humidity = cluster_subscribe_list_temp_humidity[1]:subscribe(mock_device_temp_humidity) for i, cluster in ipairs(cluster_subscribe_list_temp_humidity) do if i > 1 then @@ -171,6 +176,7 @@ local function test_init_temp_humidity() test.mock_device.add_test_device(mock_device_temp_humidity) test.socket.device_lifecycle:__queue_receive({ mock_device_temp_humidity.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device_temp_humidity.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_temp_humidity.id, "doConfigure" }) mock_device_temp_humidity:expect_metadata_update({ profile = "temperature-humidity" }) mock_device_temp_humidity:expect_metadata_update({ provisioning_state = "PROVISIONED" }) diff --git a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua index 7a5c39d4c2..200da093c3 100644 --- a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua +++ b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua @@ -117,6 +117,7 @@ local function configure_buttons() end local function test_init() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end @@ -130,6 +131,7 @@ local function test_init() test.socket.matter:__expect_send({mock_device.id, read_attribute_list}) configure_buttons() test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.matter:__expect_send({mock_device.id, subscribe_request}) local device_info_copy = utils.deep_copy(mock_device.raw_st_data) device_info_copy.profile.id = "5-buttons-battery" diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua index 3a33e94251..17fa3e5fcf 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua @@ -83,6 +83,7 @@ local device_desc = { } local test_init_common = function(device) + test.enable_startup_messages(false) local cluster_subscribe_list = { clusters.Thermostat.attributes.SystemMode, clusters.Thermostat.attributes.ControlSequenceOfOperation, @@ -109,6 +110,7 @@ local test_init_common = function(device) end test.socket.matter:__expect_send({ device.id, subscribe_request }) test.socket.device_lifecycle:__queue_receive({ device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ device.id, "init" }) local read_request_on_added = { clusters.Thermostat.attributes.ControlSequenceOfOperation, clusters.FanControl.attributes.FanModeSequence, @@ -181,6 +183,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedHeatingSetpoint:build_test_report_data(mock_device, THERMOSTAT_ONE_EP, 40*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("thermostatOne", capabilities.thermostatHeatingSetpoint.heatingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", @@ -194,6 +201,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedHeatingSetpoint:build_test_report_data(mock_device, THERMOSTAT_TWO_EP, 23*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("thermostatTwo", capabilities.thermostatHeatingSetpoint.heatingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", @@ -213,6 +225,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedCoolingSetpoint:build_test_report_data(mock_device, THERMOSTAT_ONE_EP, 39*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("thermostatOne", capabilities.thermostatCoolingSetpoint.coolingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", @@ -226,6 +243,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedCoolingSetpoint:build_test_report_data(mock_device, THERMOSTAT_TWO_EP, 19*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("thermostatTwo", capabilities.thermostatCoolingSetpoint.coolingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua index 96fdf02f3d..eec3c4a6ac 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua @@ -70,15 +70,7 @@ local cluster_subscribe = { } local function test_init() - local subscribe_request= cluster_subscribe[1]:subscribe(mock_device) - for i, cluster in ipairs(cluster_subscribe) do - if i > 1 then - subscribe_request:merge(cluster:subscribe(mock_device)) - end - end - - test.socket.matter:__expect_send({mock_device.id, subscribe_request}) - test.mock_device.add_test_device(mock_device) + test.enable_startup_messages(false) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) local read_req = clusters.Thermostat.attributes.ControlSequenceOfOperation:read() @@ -89,6 +81,18 @@ local function test_init() read_req:merge(clusters.Thermostat.attributes.AttributeList:read()) read_req:merge(clusters.PowerSource.attributes.AttributeList:read()) test.socket.matter:__expect_send({mock_device.id, read_req}) + + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) + local subscribe_request= cluster_subscribe[1]:subscribe(mock_device) + for i, cluster in ipairs(cluster_subscribe) do + if i > 1 then + subscribe_request:merge(cluster:subscribe(mock_device)) + end + end + + test.socket.matter:__expect_send({mock_device.id, subscribe_request}) + test.mock_device.add_test_device(mock_device) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" }) mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" }) end diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat.lua index 767b21a36e..a652fd7600 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat.lua @@ -219,6 +219,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedHeatingSetpoint:build_test_report_data(mock_device, 1, 40*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("main", capabilities.thermostatHeatingSetpoint.heatingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", @@ -238,6 +243,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedCoolingSetpoint:build_test_report_data(mock_device, 1, 40*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("main", capabilities.thermostatCoolingSetpoint.coolingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat_composed_bridged.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat_composed_bridged.lua index d8146257ef..8e18b993ea 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat_composed_bridged.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermostat_composed_bridged.lua @@ -157,6 +157,12 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedHeatingSetpoint:build_test_report_data(mock_device, 3, 40 * 100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("main", + capabilities.thermostatHeatingSetpoint.heatingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", @@ -177,6 +183,12 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedCoolingSetpoint:build_test_report_data(mock_device, 3, 40 * 100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("main", + capabilities.thermostatCoolingSetpoint.coolingSetpointRange({unit="C", value={maximum=40.0, minimum=5.0, step=0.1}})) + }, { channel = "capability", direction = "send", diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_water_heater.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_water_heater.lua index 4f50ee621a..6b3cb9f7a8 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_water_heater.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_water_heater.lua @@ -140,6 +140,11 @@ test.register_message_test( clusters.Thermostat.server.attributes.OccupiedHeatingSetpoint:build_test_report_data(mock_device, 1, 70*100) } }, + { + channel = "capability", + direction = "send", + message = mock_device:generate_test_message("main", capabilities.thermostatHeatingSetpoint.heatingSetpointRange({unit="C", value={maximum=80.0, minimum=30.0, step=0.1}})) + }, { channel = "capability", direction = "send", diff --git a/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua b/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua index ed9d81f7f1..0bb9090bfb 100644 --- a/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua +++ b/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua @@ -130,21 +130,25 @@ local CLUSTER_SUBSCRIBE_LIST_NO_BATTERY = { } local function test_init() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end end test.socket.matter:__expect_send({mock_device.id, subscribe_request}) test.mock_device.add_test_device(mock_device) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) end local function test_init_switch_to_battery() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST_NO_BATTERY[1]:subscribe(mock_device_switch_to_battery) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST_NO_BATTERY) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device_switch_to_battery)) end end test.socket.matter:__expect_send({mock_device_switch_to_battery.id, subscribe_request}) test.mock_device.add_test_device(mock_device_switch_to_battery) + test.socket.device_lifecycle:__queue_receive({ mock_device_switch_to_battery.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_switch_to_battery.id, "doConfigure" }) mock_device_switch_to_battery:expect_metadata_update({ provisioning_state = "PROVISIONED" }) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() @@ -152,12 +156,14 @@ local function test_init_switch_to_battery() end local function test_init_mains_powered() + test.enable_startup_messages(false) local subscribe_request = CLUSTER_SUBSCRIBE_LIST_NO_BATTERY[1]:subscribe(mock_device_mains_powered) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST_NO_BATTERY) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device_mains_powered)) end end test.socket.matter:__expect_send({mock_device_mains_powered.id, subscribe_request}) test.mock_device.add_test_device(mock_device_mains_powered) + test.socket.device_lifecycle:__queue_receive({ mock_device_mains_powered.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device_mains_powered.id, "doConfigure" }) mock_device_mains_powered:expect_metadata_update({ profile = "window-covering" }) mock_device_mains_powered:expect_metadata_update({ provisioning_state = "PROVISIONED" }) From 32e5a409e06cd4c414ea5e27a99d62d072626803 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Fri, 18 Apr 2025 13:24:24 -0500 Subject: [PATCH 2/5] CHAD-14927: Fixing tests to line up with `test.disable_startup_messages()` change --- .../src/test/test_matter_button_parent_child.lua | 2 +- .../matter-button/src/test/test_matter_multi_button.lua | 2 +- .../matter-lock/src/test/test_matter_lock_battery.lua | 4 ++-- .../matter-sensor/src/test/test_matter_sensor_battery.lua | 2 +- .../src/test/test_matter_sensor_featuremap.lua | 6 +++--- .../matter-switch/src/test/test_matter_multi_button.lua | 2 +- .../matter-thermostat/src/test/test_matter_heat_pump.lua | 2 +- .../src/test/test_matter_thermo_battery.lua | 2 +- .../src/test/test_matter_window_covering.lua | 6 +++--- 9 files changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua index ac50f9ac34..b07aa194b5 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua @@ -74,7 +74,7 @@ local CLUSTER_SUBSCRIBE_LIST ={ } local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua b/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua index d60cf594e0..afc51a6d4d 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_multi_button.lua @@ -74,7 +74,7 @@ local CLUSTER_SUBSCRIBE_LIST ={ } local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end diff --git a/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua b/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua index c43339c747..4b948f6846 100644 --- a/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua +++ b/drivers/SmartThings/matter-lock/src/test/test_matter_lock_battery.lua @@ -67,7 +67,7 @@ local mock_device_no_battery_record = { local mock_device_no_battery = test.mock_device.build_test_matter_device(mock_device_no_battery_record) local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = clusters.DoorLock.attributes.LockState:subscribe(mock_device) subscribe_request:merge(clusters.PowerSource.attributes.BatPercentRemaining:subscribe(mock_device)) subscribe_request:merge(clusters.DoorLock.events.DoorLockAlarm:subscribe(mock_device)) @@ -84,7 +84,7 @@ end test.set_test_init_function(test_init) local function test_init_no_battery() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = clusters.DoorLock.attributes.LockState:subscribe(mock_device_no_battery) subscribe_request:merge(clusters.PowerSource.attributes.BatPercentRemaining:subscribe(mock_device)) subscribe_request:merge(clusters.DoorLock.events.DoorLockAlarm:subscribe(mock_device_no_battery)) diff --git a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua index aa73ab09e1..26ae1bcc92 100644 --- a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua +++ b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_battery.lua @@ -56,7 +56,7 @@ local cluster_subscribe_list_humidity_battery = { } local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request_humidity_battery = cluster_subscribe_list_humidity_battery[1]:subscribe(mock_device_humidity_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_battery) do if i > 1 then diff --git a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua index bd85e26643..7ddfc31b02 100644 --- a/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua +++ b/drivers/SmartThings/matter-sensor/src/test/test_matter_sensor_featuremap.lua @@ -125,7 +125,7 @@ local cluster_subscribe_list_temp_humidity = { } local function test_init_humidity_battery() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request_humidity_battery = cluster_subscribe_list_humidity_battery[1]:subscribe(mock_device_humidity_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_battery) do if i > 1 then @@ -145,7 +145,7 @@ local function test_init_humidity_battery() end local function test_init_humidity_no_battery() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request_humidity_no_battery = cluster_subscribe_list_humidity_no_battery[1]:subscribe(mock_device_humidity_no_battery) for i, cluster in ipairs(cluster_subscribe_list_humidity_no_battery) do if i > 1 then @@ -164,7 +164,7 @@ local function test_init_humidity_no_battery() end local function test_init_temp_humidity() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request_temp_humidity = cluster_subscribe_list_temp_humidity[1]:subscribe(mock_device_temp_humidity) for i, cluster in ipairs(cluster_subscribe_list_temp_humidity) do if i > 1 then diff --git a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua index 200da093c3..fa091daa19 100644 --- a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua +++ b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua @@ -117,7 +117,7 @@ local function configure_buttons() end local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua index 17fa3e5fcf..6a5f52b8af 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_heat_pump.lua @@ -83,7 +83,7 @@ local device_desc = { } local test_init_common = function(device) - test.enable_startup_messages(false) + test.disable_startup_messages() local cluster_subscribe_list = { clusters.Thermostat.attributes.SystemMode, clusters.Thermostat.attributes.ControlSequenceOfOperation, diff --git a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua index eec3c4a6ac..cb9acfc558 100644 --- a/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua +++ b/drivers/SmartThings/matter-thermostat/src/test/test_matter_thermo_battery.lua @@ -70,7 +70,7 @@ local cluster_subscribe = { } local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) local read_req = clusters.Thermostat.attributes.ControlSequenceOfOperation:read() diff --git a/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua b/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua index 0bb9090bfb..e546d3c8f4 100644 --- a/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua +++ b/drivers/SmartThings/matter-window-covering/src/test/test_matter_window_covering.lua @@ -130,7 +130,7 @@ local CLUSTER_SUBSCRIBE_LIST_NO_BATTERY = { } local function test_init() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end @@ -141,7 +141,7 @@ local function test_init() end local function test_init_switch_to_battery() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST_NO_BATTERY[1]:subscribe(mock_device_switch_to_battery) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST_NO_BATTERY) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device_switch_to_battery)) end @@ -156,7 +156,7 @@ local function test_init_switch_to_battery() end local function test_init_mains_powered() - test.enable_startup_messages(false) + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST_NO_BATTERY[1]:subscribe(mock_device_mains_powered) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST_NO_BATTERY) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device_mains_powered)) end From de4cdf56b53b25b8b974e8676dc60ae08b623107 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 24 Apr 2025 12:44:00 -0500 Subject: [PATCH 3/5] CHAD-14927: Moving matter-button/matter_button_parent_child tests to deprecated state with set RPC version --- .../matter-button/src/test/test_matter_button_parent_child.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua index b07aa194b5..5afd5338a1 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua @@ -74,6 +74,7 @@ local CLUSTER_SUBSCRIBE_LIST ={ } local function test_init() + test.set_rpc_version(0) test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do @@ -86,7 +87,6 @@ local function test_init() test.mock_device.add_test_device(child) end test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) - test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.capability:__expect_send(mock_device:generate_test_message("main", capabilities.button.supportedButtonValues({"pushed"}, {visibility = {displayed = false}}))) test.socket.capability:__expect_send(mock_device:generate_test_message("main", button_attr.pushed({state_change = false}))) From 19c6905dd58998dffc57bd04250a21c5ac225504 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Thu, 24 Apr 2025 12:45:35 -0500 Subject: [PATCH 4/5] CHAD-14927: Removed unnecessary disable in matter_button_parent_child.lua --- .../matter-button/src/test/test_matter_button_parent_child.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua index 5afd5338a1..a9d2629803 100644 --- a/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua +++ b/drivers/SmartThings/matter-button/src/test/test_matter_button_parent_child.lua @@ -75,7 +75,6 @@ local CLUSTER_SUBSCRIBE_LIST ={ local function test_init() test.set_rpc_version(0) - test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end From ec406233dfc145b80e1119bf88a31198a0088007 Mon Sep 17 00:00:00 2001 From: Alec Lorimer Date: Wed, 30 Jul 2025 15:38:44 -0500 Subject: [PATCH 5/5] Some driver fixes --- .../src/test/test_matter_smoke_co_alarm.lua | 3 +++ .../src/test/test_matter_multi_button.lua | 11 ++++++----- .../test/test_matter_multi_button_switch_mcd.lua | 11 ++++++++--- .../src/test/test_frient_contact_sensor_pro.lua | 8 ++++++++ .../src/test/test_zigbee_contact.lua | 8 ++++++++ .../src/test/test_zigbee_contact_tyco.lua | 9 +++++++++ .../src/test/test_aqara_sensor.lua | 8 ++++++++ .../src/test/test_humidity_plaid_systems.lua | 8 ++++++++ .../src/test/test_humidity_temperature.lua | 8 ++++++++ .../test/test_humidity_temperature_battery.lua | 8 ++++++++ .../test/test_humidity_temperature_sensor.lua | 8 ++++++++ .../test/test_all_capabilities_zigbee_motion.lua | 9 +++++++++ .../src/test/test_frient_motion_sensor_pro.lua | 8 ++++++++ .../src/test/test_zigbee_power_meter.lua | 4 ++-- ...est_zigbee_power_meter_consumption_report.lua | 2 +- .../src/test/test_frient_smoke_detector.lua | 8 ++++++++ .../src/test/test_zigbee_sound_sensor.lua | 8 ++++++++ .../src/test/test_all_capability_zigbee_bulb.lua | 13 +++++++++++-- .../src/test/test_frient_switch.lua | 8 ++++++++ .../src/test/test_multi_switch_power.lua | 16 ++++++++++++++++ .../src/test/test_robb_smarrt_2-wire_dimmer.lua | 8 ++++++++ .../src/test/test_robb_smarrt_knob_dimmer.lua | 8 ++++++++ .../zigbee-switch/src/test/test_switch_power.lua | 4 ++-- .../src/test/test_zigbee_ezex_switch.lua | 8 ++++++++ .../src/test/test_zigbee_thermostat.lua | 2 +- .../test/test_centralite_water_leak_sensor.lua | 8 ++++++++ .../src/test/test_frient_water_leak_sensor.lua | 8 ++++++++ .../src/test/test_samjin_water_leak_sensor.lua | 8 ++++++++ .../src/test/test_sinope_zigbee_water.lua | 8 ++++++++ .../test/test_smartthings_water_leak_sensor.lua | 8 ++++++++ .../src/test/test_zigbee_water.lua | 8 ++++++++ .../src/test/test_aeotec_dimmer_switch.lua | 8 ++++++++ .../src/test/test_aeotec_nano_dimmer.lua | 8 ++++++++ .../src/test/test_fibaro_walli_double_switch.lua | 16 ++++++++++++++++ .../src/test/test_multichannel_device.lua | 8 ++++++++ .../src/test/test_qubino_din_dimmer.lua | 8 ++++++++ .../src/test/test_qubino_flush_2_relay.lua | 16 ++++++++++++++++ .../src/test/test_qubino_flush_dimmer.lua | 8 ++++++++ ...test_qubino_temperature_sensor_with_power.lua | 8 ++++++++ .../src/test/test_zooz_double_plug.lua | 8 ++++++++ .../src/test/test_zwave_dimmer_power_energy.lua | 8 ++++++++ .../test/test_zwave_switch_electric_meter.lua | 8 ++++++++ .../src/test/test_zwave_switch_energy_meter.lua | 8 ++++++++ .../src/test/test_zwave_switch_power_meter.lua | 8 ++++++++ 44 files changed, 348 insertions(+), 16 deletions(-) diff --git a/drivers/SmartThings/matter-sensor/src/test/test_matter_smoke_co_alarm.lua b/drivers/SmartThings/matter-sensor/src/test/test_matter_smoke_co_alarm.lua index f5029147d7..9cbd0d05f5 100644 --- a/drivers/SmartThings/matter-sensor/src/test/test_matter_smoke_co_alarm.lua +++ b/drivers/SmartThings/matter-sensor/src/test/test_matter_smoke_co_alarm.lua @@ -73,12 +73,15 @@ local cluster_subscribe_list = { } local function test_init() + test.disable_startup_messages() local subscribe_request = cluster_subscribe_list[1]:subscribe(mock_device) for i, cluster in ipairs(cluster_subscribe_list) do if i > 1 then subscribe_request:merge(cluster:subscribe(mock_device)) end end + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.matter:__expect_send({mock_device.id, subscribe_request}) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" }) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() diff --git a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua index fa091daa19..160c0aeb44 100644 --- a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua +++ b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua @@ -122,16 +122,17 @@ local function test_init() for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end end - test.socket.matter:__expect_send({mock_device.id, subscribe_request}) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) mock_device:set_field("__ELECTRICAL_TOPOLOGY", {topology = false, tags_on_ep = {}}, {persist = false}) -- since we're assuming this would have happened during device_added in this case. + test.socket.matter:__expect_send({mock_device.id, subscribe_request}) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" }) - mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" }) - test.mock_device.add_test_device(mock_device) local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read() test.socket.matter:__expect_send({mock_device.id, read_attribute_list}) + mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" }) + test.mock_device.add_test_device(mock_device) configure_buttons() - test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) - test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) + test.socket.matter:__expect_send({mock_device.id, subscribe_request}) local device_info_copy = utils.deep_copy(mock_device.raw_st_data) device_info_copy.profile.id = "5-buttons-battery" diff --git a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button_switch_mcd.lua b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button_switch_mcd.lua index 3c0c32037a..aaf412bf74 100644 --- a/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button_switch_mcd.lua +++ b/drivers/SmartThings/matter-switch/src/test/test_matter_multi_button_switch_mcd.lua @@ -193,12 +193,17 @@ local function configure_buttons() end local function test_init() + test.disable_startup_messages() local subscribe_request = CLUSTER_SUBSCRIBE_LIST[1]:subscribe(mock_device) for i, clus in ipairs(CLUSTER_SUBSCRIBE_LIST) do if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end end test.socket.matter:__expect_send({mock_device.id, subscribe_request}) mock_device:set_field("__ELECTRICAL_TOPOLOGY", {topology = false, tags_on_ep = {}}, {persist = false}) -- since we're assuming this would have happened during device_added in this case. + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) + configure_buttons() + test.socket.matter:__expect_send({mock_device.id, subscribe_request}) + test.socket.device_lifecycle:__queue_receive({ mock_device.id, "init" }) test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" }) mock_device:expect_metadata_update({ profile = "light-level-3-button" }) mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" }) @@ -217,9 +222,7 @@ local function test_init() parent_device_id = mock_device.id, parent_assigned_child_key = string.format("%d", mock_device_ep5) }) - test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" }) - configure_buttons() - test.socket.matter:__expect_send({mock_device.id, subscribe_request}) + end local function test_init_mcd_unsupported_switch_device_type() @@ -236,6 +239,8 @@ local function test_init_mcd_unsupported_switch_device_type() subscribe_request:merge(cluster:subscribe(mock_device_mcd_unsupported_switch_device_type)) end end + test.socket.device_lifecycle:__queue_receive({ mock_device_mcd_unsupported_switch_device_type.id, "added" }) + test.socket.device_lifecycle:__queue_receive({ mock_device_mcd_unsupported_switch_device_type.id, "init" }) test.socket.matter:__expect_send({mock_device_mcd_unsupported_switch_device_type.id, subscribe_request}) mock_device_mcd_unsupported_switch_device_type:set_field("__ELECTRICAL_TOPOLOGY", {topology = false, tags_on_ep = {}}, {persist = false}) -- since we're assuming this would have happened during device_added in this case. test.socket.device_lifecycle:__queue_receive({ mock_device_mcd_unsupported_switch_device_type.id, "doConfigure" }) diff --git a/drivers/SmartThings/zigbee-contact/src/test/test_frient_contact_sensor_pro.lua b/drivers/SmartThings/zigbee-contact/src/test/test_frient_contact_sensor_pro.lua index 19673a958a..d9671a5283 100644 --- a/drivers/SmartThings/zigbee-contact/src/test/test_frient_contact_sensor_pro.lua +++ b/drivers/SmartThings/zigbee-contact/src/test/test_frient_contact_sensor_pro.lua @@ -199,6 +199,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact.lua b/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact.lua index b01e88e62b..d7076ec9ee 100644 --- a/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact.lua +++ b/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact.lua @@ -147,6 +147,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact_tyco.lua b/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact_tyco.lua index 79e5c68fa5..e288d3a927 100644 --- a/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact_tyco.lua +++ b/drivers/SmartThings/zigbee-contact/src/test/test_zigbee_contact_tyco.lua @@ -80,6 +80,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) @@ -97,6 +105,7 @@ test.register_coroutine_test( } ) test.socket.capability:__expect_send(mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" }))) + mock_device:expect_native_attr_handler_registration("temperatureMeasurement", "temperature") test.wait_for_events() end ) diff --git a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_aqara_sensor.lua b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_aqara_sensor.lua index 104c36c3e5..d25e14bdce 100644 --- a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_aqara_sensor.lua +++ b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_aqara_sensor.lua @@ -167,6 +167,14 @@ test.register_message_test( direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_plaid_systems.lua b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_plaid_systems.lua index 9334c03045..7952289c77 100644 --- a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_plaid_systems.lua +++ b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_plaid_systems.lua @@ -116,6 +116,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature.lua b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature.lua index ca121baa9b..062d9ac98e 100644 --- a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature.lua +++ b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature.lua @@ -48,6 +48,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_battery.lua b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_battery.lua index f3d30ab0c8..676db83351 100644 --- a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_battery.lua +++ b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_battery.lua @@ -60,6 +60,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_sensor.lua b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_sensor.lua index 7da190b523..d4f3c09a05 100644 --- a/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_sensor.lua +++ b/drivers/SmartThings/zigbee-humidity-sensor/src/test/test_humidity_temperature_sensor.lua @@ -55,6 +55,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-motion-sensor/src/test/test_all_capabilities_zigbee_motion.lua b/drivers/SmartThings/zigbee-motion-sensor/src/test/test_all_capabilities_zigbee_motion.lua index 003c7d95bf..b016503f44 100644 --- a/drivers/SmartThings/zigbee-motion-sensor/src/test/test_all_capabilities_zigbee_motion.lua +++ b/drivers/SmartThings/zigbee-motion-sensor/src/test/test_all_capabilities_zigbee_motion.lua @@ -143,6 +143,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) @@ -407,6 +415,7 @@ test.register_coroutine_test( } ) test.socket.capability:__expect_send(mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" }))) + mock_device:expect_native_attr_handler_registration("temperatureMeasurement", "temperature") test.wait_for_events() end ) diff --git a/drivers/SmartThings/zigbee-motion-sensor/src/test/test_frient_motion_sensor_pro.lua b/drivers/SmartThings/zigbee-motion-sensor/src/test/test_frient_motion_sensor_pro.lua index 753850e38e..cda87474fa 100644 --- a/drivers/SmartThings/zigbee-motion-sensor/src/test/test_frient_motion_sensor_pro.lua +++ b/drivers/SmartThings/zigbee-motion-sensor/src/test/test_frient_motion_sensor_pro.lua @@ -156,6 +156,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter.lua b/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter.lua index afe97fb0f9..710469054f 100644 --- a/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter.lua +++ b/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter.lua @@ -99,7 +99,7 @@ test.register_coroutine_test( }) test.socket.zigbee:__expect_send({ mock_device.id, - SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 1, 3600, 5) + SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 5, 3600, 5) }) test.socket.zigbee:__expect_send({ mock_device.id, @@ -113,7 +113,7 @@ test.register_coroutine_test( }) test.socket.zigbee:__expect_send({ mock_device.id, - ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 1, 3600, 5) + ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 5, 3600, 5) }) test.socket.zigbee:__expect_send({ mock_device.id, diff --git a/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter_consumption_report.lua b/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter_consumption_report.lua index dcbb1b0b00..700eab4300 100644 --- a/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter_consumption_report.lua +++ b/drivers/SmartThings/zigbee-power-meter/src/test/test_zigbee_power_meter_consumption_report.lua @@ -145,7 +145,7 @@ test.register_coroutine_test( }) test.socket.zigbee:__expect_send({ mock_device.id, - ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 1, 3600, 5) + ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 5, 3600, 5) }) test.socket.zigbee:__expect_send({ mock_device.id, diff --git a/drivers/SmartThings/zigbee-smoke-detector/src/test/test_frient_smoke_detector.lua b/drivers/SmartThings/zigbee-smoke-detector/src/test/test_frient_smoke_detector.lua index b8a685bd9a..ff4fa07184 100644 --- a/drivers/SmartThings/zigbee-smoke-detector/src/test/test_frient_smoke_detector.lua +++ b/drivers/SmartThings/zigbee-smoke-detector/src/test/test_frient_smoke_detector.lua @@ -270,6 +270,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua b/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua index 83717569f0..4ab2f31e92 100644 --- a/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua +++ b/drivers/SmartThings/zigbee-sound-sensor/src/test/test_zigbee_sound_sensor.lua @@ -267,6 +267,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_all_capability_zigbee_bulb.lua b/drivers/SmartThings/zigbee-switch/src/test/test_all_capability_zigbee_bulb.lua index 0301c0228c..319066fa3b 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_all_capability_zigbee_bulb.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_all_capability_zigbee_bulb.lua @@ -202,6 +202,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 27.0, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) @@ -340,7 +348,7 @@ test.register_coroutine_test( }) test.socket.zigbee:__expect_send({ mock_device.id, - SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 1, 3600, 5) + SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 5, 3600, 5) }) test.socket.zigbee:__expect_send({ mock_device.id, @@ -354,7 +362,7 @@ test.register_coroutine_test( }) test.socket.zigbee:__expect_send({ mock_device.id, - ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 1, 3600, 5) + ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 5, 3600, 5) }) test.socket.zigbee:__expect_send({ mock_device.id, @@ -552,6 +560,7 @@ test.register_coroutine_test( test.wait_for_events() test.socket.zigbee:__queue_receive({mock_device.id, ColorControl.attributes.ColorTemperatureMireds:build_test_attr_report(mock_device, 556)}) test.socket.capability:__expect_send(mock_device:generate_test_message("main", capabilities.colorTemperature.colorTemperature(1800))) + mock_device:expect_native_attr_handler_registration("colorTemperature", "colorTemperature") end ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_frient_switch.lua b/drivers/SmartThings/zigbee-switch/src/test/test_frient_switch.lua index 8fb1704f38..8b9b26ba13 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_frient_switch.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_frient_switch.lua @@ -222,6 +222,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 2.7, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_multi_switch_power.lua b/drivers/SmartThings/zigbee-switch/src/test/test_multi_switch_power.lua index 4605e8bf8b..53fe3e9488 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_multi_switch_power.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_multi_switch_power.lua @@ -329,6 +329,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_parent_device:generate_test_message("main", capabilities.powerMeter.power({ value = 27.0, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) @@ -348,6 +356,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_child_device:generate_test_message("main", capabilities.powerMeter.power({ value = 27.0, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_2-wire_dimmer.lua b/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_2-wire_dimmer.lua index 3e3eb5722a..c1be129215 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_2-wire_dimmer.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_2-wire_dimmer.lua @@ -105,6 +105,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 9.0, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_knob_dimmer.lua b/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_knob_dimmer.lua index 34cbff59fa..0c66abd359 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_knob_dimmer.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_robb_smarrt_knob_dimmer.lua @@ -105,6 +105,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 9.0, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_switch_power.lua b/drivers/SmartThings/zigbee-switch/src/test/test_switch_power.lua index 4115546f55..74598ef3a5 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_switch_power.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_switch_power.lua @@ -72,7 +72,7 @@ test.register_coroutine_test( test.socket.zigbee:__expect_send( { mock_device.id, - ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 1, 3600, 5) + ElectricalMeasurement.attributes.ActivePower:configure_reporting(mock_device, 5, 3600, 5) } ) test.socket.zigbee:__expect_send( @@ -90,7 +90,7 @@ test.register_coroutine_test( test.socket.zigbee:__expect_send( { mock_device.id, - SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 1, 3600, 5) + SimpleMetering.attributes.InstantaneousDemand:configure_reporting(mock_device, 5, 3600, 5) } ) diff --git a/drivers/SmartThings/zigbee-switch/src/test/test_zigbee_ezex_switch.lua b/drivers/SmartThings/zigbee-switch/src/test/test_zigbee_ezex_switch.lua index 28460999f2..88470b5489 100644 --- a/drivers/SmartThings/zigbee-switch/src/test/test_zigbee_ezex_switch.lua +++ b/drivers/SmartThings/zigbee-switch/src/test/test_zigbee_ezex_switch.lua @@ -118,6 +118,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 9.766, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zigbee-thermostat/src/test/test_zigbee_thermostat.lua b/drivers/SmartThings/zigbee-thermostat/src/test/test_zigbee_thermostat.lua index bdb2b681cb..01f1a0ba74 100644 --- a/drivers/SmartThings/zigbee-thermostat/src/test/test_zigbee_thermostat.lua +++ b/drivers/SmartThings/zigbee-thermostat/src/test/test_zigbee_thermostat.lua @@ -120,7 +120,7 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C"})) - } + }, } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_centralite_water_leak_sensor.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_centralite_water_leak_sensor.lua index fd6403d1cd..4ee674199c 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_centralite_water_leak_sensor.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_centralite_water_leak_sensor.lua @@ -247,6 +247,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_frient_water_leak_sensor.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_frient_water_leak_sensor.lua index 1d3480ef99..13bdb14268 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_frient_water_leak_sensor.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_frient_water_leak_sensor.lua @@ -253,6 +253,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_samjin_water_leak_sensor.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_samjin_water_leak_sensor.lua index 154413af45..43543e3127 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_samjin_water_leak_sensor.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_samjin_water_leak_sensor.lua @@ -215,6 +215,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_sinope_zigbee_water.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_sinope_zigbee_water.lua index 7b85749b29..bc476f06bb 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_sinope_zigbee_water.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_sinope_zigbee_water.lua @@ -135,6 +135,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_smartthings_water_leak_sensor.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_smartthings_water_leak_sensor.lua index 8896cbba36..e4ffe5567c 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_smartthings_water_leak_sensor.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_smartthings_water_leak_sensor.lua @@ -213,6 +213,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_zigbee_water.lua b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_zigbee_water.lua index 8ad7bef789..ab0163ef5c 100644 --- a/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_zigbee_water.lua +++ b/drivers/SmartThings/zigbee-water-leak-sensor/src/test/test_zigbee_water.lua @@ -141,6 +141,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 25.0, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_aeotec_dimmer_switch.lua b/drivers/SmartThings/zwave-switch/src/test/test_aeotec_dimmer_switch.lua index f172ba9fde..07e64cffa2 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_aeotec_dimmer_switch.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_aeotec_dimmer_switch.lua @@ -296,6 +296,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_aeotec_nano_dimmer.lua b/drivers/SmartThings/zwave-switch/src/test/test_aeotec_nano_dimmer.lua index 11f4707f8a..b10fdfe4c9 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_aeotec_nano_dimmer.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_aeotec_nano_dimmer.lua @@ -320,6 +320,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_fibaro_walli_double_switch.lua b/drivers/SmartThings/zwave-switch/src/test/test_fibaro_walli_double_switch.lua index 11746559a5..a07118a3a6 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_fibaro_walli_double_switch.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_fibaro_walli_double_switch.lua @@ -214,6 +214,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_parent:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) @@ -387,6 +395,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_child:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_multichannel_device.lua b/drivers/SmartThings/zwave-switch/src/test/test_multichannel_device.lua index a49bd678d9..42e9065225 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_multichannel_device.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_multichannel_device.lua @@ -2046,6 +2046,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_child_5:generate_test_message("main", capabilities.temperatureMeasurement.temperature({ value = 20, unit = "C" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "temperatureMeasurement", capability_attr_id = "temperature" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_qubino_din_dimmer.lua b/drivers/SmartThings/zwave-switch/src/test/test_qubino_din_dimmer.lua index e38df9c0f5..bd846c93b2 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_qubino_din_dimmer.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_qubino_din_dimmer.lua @@ -323,6 +323,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_2_relay.lua b/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_2_relay.lua index 49f1117d41..cc34b12aea 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_2_relay.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_2_relay.lua @@ -335,6 +335,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_parent_device:generate_test_message("main", capabilities.powerMeter.power({ value = 5, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) @@ -359,6 +367,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_child_2_device:generate_test_message("main", capabilities.powerMeter.power({ value = 5, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_dimmer.lua b/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_dimmer.lua index d9588faa15..77663604d5 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_dimmer.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_qubino_flush_dimmer.lua @@ -314,6 +314,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_qubino_temperature_sensor_with_power.lua b/drivers/SmartThings/zwave-switch/src/test/test_qubino_temperature_sensor_with_power.lua index 3e3aca24f2..6f4a098ef7 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_qubino_temperature_sensor_with_power.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_qubino_temperature_sensor_with_power.lua @@ -163,6 +163,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_zooz_double_plug.lua b/drivers/SmartThings/zwave-switch/src/test/test_zooz_double_plug.lua index 9f7f7d5b86..b422d4cca8 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_zooz_double_plug.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_zooz_double_plug.lua @@ -514,6 +514,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_parent:generate_test_message("main", capabilities.powerMeter.power({ value = 89, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_zwave_dimmer_power_energy.lua b/drivers/SmartThings/zwave-switch/src/test/test_zwave_dimmer_power_energy.lua index 5f7217472e..35f8b341dd 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_zwave_dimmer_power_energy.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_zwave_dimmer_power_energy.lua @@ -234,6 +234,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_device:generate_test_message("main", capabilities.powerMeter.power({ value = 55, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_electric_meter.lua b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_electric_meter.lua index abfaa48ffd..815e2e8290 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_electric_meter.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_electric_meter.lua @@ -57,6 +57,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_switch:generate_test_message("main", capabilities.powerMeter.power({ value = 27, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_energy_meter.lua b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_energy_meter.lua index 8b526a9984..2a96961755 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_energy_meter.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_energy_meter.lua @@ -64,6 +64,14 @@ test.register_message_test( meter_value = 27}) )} }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_switch.id, capability_id = "powerMeter", capability_attr_id = "power" } + } + } } ) diff --git a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_power_meter.lua b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_power_meter.lua index 56ffdd939d..6307700659 100644 --- a/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_power_meter.lua +++ b/drivers/SmartThings/zwave-switch/src/test/test_zwave_switch_power_meter.lua @@ -68,6 +68,14 @@ test.register_message_test( channel = "capability", direction = "send", message = mock_switch:generate_test_message("main", capabilities.powerMeter.power({ value = 27, unit = "W" })) + }, + { + channel = "devices", + direction = "send", + message = { + "register_native_capability_attr_handler", + { device_uuid = mock_device.id, capability_id = "powerMeter", capability_attr_id = "power" } + } } } )