Skip to content

Commit 014bfda

Browse files
nickolas-deboomctowns
authored andcommitted
Revert "add greater energy profiling logic for switches (#2199)"
This reverts commit f3642cf.
1 parent a2d6b11 commit 014bfda

13 files changed

+173
-400
lines changed
Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
name: light-level-power-energy-powerConsumption
22
components:
3-
- id: main
4-
capabilities:
5-
- id: switch
6-
version: 1
7-
- id: switchLevel
8-
version: 1
9-
config:
10-
values:
11-
- key: "level.value"
12-
range: [1, 100]
13-
- id: powerMeter
14-
version: 1
15-
- id: energyMeter
16-
version: 1
17-
- id: powerConsumptionReport
18-
version: 1
19-
- id: firmwareUpdate
20-
version: 1
21-
- id: refresh
22-
version: 1
23-
categories:
24-
- name: Light
3+
- id: main
4+
capabilities:
5+
- id: switch
6+
version: 1
7+
- id: switchLevel
8+
version: 1
9+
config:
10+
values:
11+
- key: "level.value"
12+
range: [1, 100]
13+
- id: powerMeter
14+
version: 1
15+
- id: energyMeter
16+
version: 1
17+
- id: powerConsumptionReport
18+
version: 1
19+
- id: firmwareUpdate
20+
version: 1
21+
- id: refresh
22+
version: 1
23+
categories:
24+
- name: Light
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
name: light-power-energy-powerConsumption
22
components:
3-
- id: main
4-
capabilities:
5-
- id: switch
6-
version: 1
7-
- id: powerMeter
8-
version: 1
9-
- id: energyMeter
10-
version: 1
11-
- id: powerConsumptionReport
12-
version: 1
13-
- id: firmwareUpdate
14-
version: 1
15-
- id: refresh
16-
version: 1
17-
categories:
18-
- name: Light
3+
- id: main
4+
capabilities:
5+
- id: switch
6+
version: 1
7+
- id: powerMeter
8+
version: 1
9+
- id: energyMeter
10+
version: 1
11+
- id: powerConsumptionReport
12+
version: 1
13+
- id: firmwareUpdate
14+
version: 1
15+
- id: refresh
16+
version: 1
17+
categories:
18+
- name: Light

drivers/SmartThings/matter-switch/src/init.lua

Lines changed: 118 additions & 217 deletions
Large diffs are not rendered by default.

drivers/SmartThings/matter-switch/src/test/test_aqara_climate_sensor_w100.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ local function test_init()
141141
end
142142

143143
test.socket.matter:__expect_send({aqara_mock_device.id, subscribe_request})
144-
aqara_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.
145144
test.socket.device_lifecycle:__queue_receive({ aqara_mock_device.id, "doConfigure" })
146145
local read_attribute_list = clusters.PowerSource.attributes.AttributeList:read()
147146
test.socket.matter:__expect_send({aqara_mock_device.id, read_attribute_list})

drivers/SmartThings/matter-switch/src/test/test_aqara_light_switch_h2.lua

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ local aqara_mock_device = test.mock_device.build_test_matter_device({
3838
clusters = {
3939
{cluster_id = clusters.Basic.ID, cluster_type = "SERVER"},
4040
{cluster_id = clusters.ElectricalPowerMeasurement.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 2 },
41-
{cluster_id = clusters.ElectricalEnergyMeasurement.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 5 },
42-
{cluster_id = clusters.PowerTopology.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 1 } -- NODE_TOPOLOGY
41+
{cluster_id = clusters.ElectricalEnergyMeasurement.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 5 }
4342
},
4443
device_types = {
4544
{device_type_id = 0x0016, device_type_revision = 1}, -- RootNode
@@ -178,12 +177,10 @@ local function test_init()
178177
end
179178
end
180179
test.socket.matter:__expect_send({aqara_mock_device.id, subscribe_request})
181-
182-
-- Test added -> doConfigure logic
183-
test.socket.device_lifecycle:__queue_receive({ aqara_mock_device.id, "added" })
184-
test.socket.matter:__expect_send({aqara_mock_device.id, subscribe_request})
185180
test.socket.device_lifecycle:__queue_receive({ aqara_mock_device.id, "doConfigure" })
186-
aqara_mock_device:expect_metadata_update({ profile = "4-button" })
181+
test.mock_devices_api._expected_device_updates[aqara_mock_device.device_id] = "00000000-1111-2222-3333-000000000001"
182+
test.mock_devices_api._expected_device_updates[1] = {device_id = "00000000-1111-2222-3333-000000000001"}
183+
test.mock_devices_api._expected_device_updates[1].metadata = {deviceId="00000000-1111-2222-3333-000000000001", profileReference="4-button"}
187184
aqara_mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
188185
test.mock_device.add_test_device(aqara_mock_device)
189186
-- to test powerConsumptionReport
@@ -280,7 +277,7 @@ test.register_coroutine_test(
280277
{
281278
-- don't use "aqara_mock_children[aqara_child1_ep].id,"
282279
-- because energy management is at the root endpoint.
283-
aqara_mock_children[aqara_child1_ep].id,
280+
aqara_mock_device.id,
284281
clusters.ElectricalPowerMeasurement.attributes.ActivePower:build_test_report_data(aqara_mock_device, 1, 17000)
285282
}
286283
)
@@ -292,7 +289,7 @@ test.register_coroutine_test(
292289

293290
test.socket.matter:__queue_receive(
294291
{
295-
aqara_mock_children[aqara_child1_ep].id,
292+
aqara_mock_device.id,
296293
clusters.ElectricalEnergyMeasurement.attributes.CumulativeEnergyImported:build_test_report_data(aqara_mock_device, 1, cumulative_report_val_19)
297294
}
298295
)
@@ -305,7 +302,7 @@ test.register_coroutine_test(
305302
-- This is because related variable settings are required in set_poll_report_timer_and_schedule().
306303
test.socket.matter:__queue_receive(
307304
{
308-
aqara_mock_children[aqara_child1_ep].id,
305+
aqara_mock_device.id,
309306
clusters.ElectricalEnergyMeasurement.attributes.CumulativeEnergyImported:build_test_report_data(aqara_mock_device, 1, cumulative_report_val_29)
310307
}
311308
)
@@ -316,8 +313,10 @@ test.register_coroutine_test(
316313

317314
test.socket.matter:__queue_receive(
318315
{
319-
aqara_mock_children[aqara_child1_ep].id,
320-
clusters.ElectricalEnergyMeasurement.attributes.CumulativeEnergyImported:build_test_report_data(aqara_mock_device, 1, cumulative_report_val_39)
316+
aqara_mock_device.id,
317+
clusters.ElectricalEnergyMeasurement.attributes.CumulativeEnergyImported:build_test_report_data(
318+
aqara_mock_device, 1, cumulative_report_val_39
319+
)
321320
}
322321
)
323322

drivers/SmartThings/matter-switch/src/test/test_electrical_sensor.lua

Lines changed: 6 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
local test = require "integration_test"
1616
local capabilities = require "st.capabilities"
1717
local t_utils = require "integration_test.utils"
18-
local uint32 = require "st.matter.data_types.Uint32"
1918

2019
local clusters = require "st.matter.clusters"
2120

@@ -43,7 +42,6 @@ local mock_device = test.mock_device.build_test_matter_device({
4342
clusters = {
4443
{ cluster_id = clusters.ElectricalEnergyMeasurement.ID, cluster_type = "SERVER", feature_map = 14, },
4544
{ cluster_id = clusters.ElectricalPowerMeasurement.ID, cluster_type = "SERVER", feature_map = 0, },
46-
{ cluster_id = clusters.PowerTopology.ID, cluster_type = "SERVER", feature_map = 4, }, -- SET_TOPOLOGY
4745
},
4846
device_types = {
4947
{ device_type_id = 0x0510, device_type_revision = 1 }, -- Electrical Sensor
@@ -53,30 +51,10 @@ local mock_device = test.mock_device.build_test_matter_device({
5351
endpoint_id = 2,
5452
clusters = {
5553
{ cluster_id = clusters.OnOff.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 0, },
56-
{ cluster_id = clusters.LevelControl.ID, cluster_type = "SERVER", feature_map = 2},
54+
{cluster_id = clusters.LevelControl.ID, cluster_type = "SERVER", feature_map = 2}
5755
},
5856
device_types = {
59-
{ device_type_id = 0x010B, device_type_revision = 1 }, -- OnOff Dimmable Plug
60-
}
61-
},
62-
{
63-
endpoint_id = 3,
64-
clusters = {
65-
{ cluster_id = clusters.ElectricalEnergyMeasurement.ID, cluster_type = "SERVER", feature_map = 14, },
66-
{ cluster_id = clusters.PowerTopology.ID, cluster_type = "SERVER", feature_map = 4, }, -- SET_TOPOLOGY
67-
},
68-
device_types = {
69-
{ device_type_id = 0x0510, device_type_revision = 1 }, -- Electrical Sensor
70-
}
71-
},
72-
{
73-
endpoint_id = 4,
74-
clusters = {
75-
{ cluster_id = clusters.OnOff.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 0, },
76-
{ cluster_id = clusters.LevelControl.ID, cluster_type = "SERVER", feature_map = 2},
77-
},
78-
device_types = {
79-
{ device_type_id = 0x010B, device_type_revision = 1 }, -- OnOff Dimmable Plug
57+
{ device_type_id = 0x010A, device_type_revision = 1 } -- OnOff Plug
8058
}
8159
},
8260
},
@@ -102,20 +80,16 @@ local mock_device_periodic = test.mock_device.build_test_matter_device({
10280
{
10381
endpoint_id = 1,
10482
clusters = {
105-
{ cluster_id = clusters.OnOff.ID, cluster_type = "SERVER", cluster_revision = 1, feature_map = 0, },
10683
{ cluster_id = clusters.ElectricalEnergyMeasurement.ID, cluster_type = "SERVER", feature_map = 10, },
107-
{ cluster_id = clusters.PowerTopology.ID, cluster_type = "SERVER", feature_map = 4, } -- SET_TOPOLOGY
10884
},
10985
device_types = {
110-
{ device_type_id = 0x010A, device_type_revision = 1 }, -- OnOff Plug
111-
{ device_type_id = 0x0510, device_type_revision = 1 }, -- Electrical Sensor
86+
{ device_type_id = 0x0510, device_type_revision = 1 } -- Electrical Sensor
11287
}
11388
},
11489
},
11590
})
11691

11792
local subscribed_attributes_periodic = {
118-
clusters.OnOff.attributes.OnOff,
11993
clusters.ElectricalEnergyMeasurement.attributes.PeriodicEnergyImported,
12094
clusters.ElectricalEnergyMeasurement.attributes.CumulativeEnergyImported,
12195
}
@@ -669,52 +643,19 @@ test.register_coroutine_test(
669643
test.register_coroutine_test(
670644
"Test profile change on init for Electrical Sensor device type",
671645
function()
672-
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "added" })
673-
local read_req = clusters.PowerTopology.attributes.AvailableEndpoints:read(mock_device.id, 1)
674-
read_req:merge(clusters.PowerTopology.attributes.AvailableEndpoints:read(mock_device.id, 3))
675-
test.socket.matter:__expect_send({ mock_device.id, read_req })
676-
local subscribe_request = subscribed_attributes[1]:subscribe(mock_device)
677-
for i, cluster in ipairs(subscribed_attributes) do
678-
if i > 1 then
679-
subscribe_request:merge(cluster:subscribe(mock_device))
680-
end
681-
end
682-
test.socket.matter:__expect_send({ mock_device.id, subscribe_request })
683646
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" })
684-
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
685-
test.wait_for_events()
686-
test.socket.matter:__queue_receive({ mock_device.id, clusters.PowerTopology.attributes.AvailableEndpoints:build_test_report_data(mock_device, 1, {uint32(2)})})
687-
test.socket.matter:__queue_receive({ mock_device.id, clusters.PowerTopology.attributes.AvailableEndpoints:build_test_report_data(mock_device, 3, {uint32(4)})})
688647
mock_device:expect_metadata_update({ profile = "plug-level-power-energy-powerConsumption" })
689-
mock_device:expect_device_create({
690-
type = "EDGE_CHILD",
691-
label = "nil 2",
692-
profile = "plug-level-energy-powerConsumption",
693-
parent_device_id = mock_device.id,
694-
parent_assigned_child_key = string.format("%d", 4)
695-
})
648+
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
696649
end,
697650
{ test_init = test_init }
698651
)
699652

700653
test.register_coroutine_test(
701654
"Test profile change on init for only Periodic Electrical Sensor device type",
702655
function()
703-
test.socket.device_lifecycle:__queue_receive({ mock_device_periodic.id, "added" })
704-
local read_req = clusters.PowerTopology.attributes.AvailableEndpoints:read(mock_device_periodic.id, 1)
705-
test.socket.matter:__expect_send({ mock_device_periodic.id, read_req })
706-
local subscribe_request = subscribed_attributes_periodic[1]:subscribe(mock_device_periodic)
707-
for i, cluster in ipairs(subscribed_attributes_periodic) do
708-
if i > 1 then
709-
subscribe_request:merge(cluster:subscribe(mock_device_periodic))
710-
end
711-
end
712-
test.socket.matter:__expect_send({ mock_device_periodic.id, subscribe_request })
713656
test.socket.device_lifecycle:__queue_receive({ mock_device_periodic.id, "doConfigure" })
714-
mock_device_periodic:expect_metadata_update({ provisioning_state = "PROVISIONED" })
715-
test.wait_for_events()
716-
test.socket.matter:__queue_receive({ mock_device_periodic.id, clusters.PowerTopology.attributes.AvailableEndpoints:build_test_report_data(mock_device_periodic, 1, {uint32(1)})})
717657
mock_device_periodic:expect_metadata_update({ profile = "plug-energy-powerConsumption" })
658+
mock_device_periodic:expect_metadata_update({ provisioning_state = "PROVISIONED" })
718659
end,
719660
{ test_init = test_init_periodic }
720661
)
@@ -751,7 +692,7 @@ test.register_message_test(
751692
direction = "receive",
752693
message = {
753694
mock_device.id,
754-
clusters.LevelControl.server.commands.MoveToLevelWithOnOff:build_test_command_response(mock_device, 1)
695+
clusters.LevelControl.server.commands.MoveToLevelWithOnOff:build_test_command_response(mock_device, 2)
755696
}
756697
},
757698
{

drivers/SmartThings/matter-switch/src/test/test_matter_button.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ local function test_init()
6363
if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end
6464
end
6565
test.socket.matter:__expect_send({mock_device.id, subscribe_request})
66-
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.
6766
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" })
6867
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
6968
test.mock_device.add_test_device(mock_device)

drivers/SmartThings/matter-switch/src/test/test_matter_light_fan.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ local function test_init()
9090
end
9191
test.socket.matter:__expect_send({mock_device.id, subscribe_request})
9292
test.mock_device.add_test_device(mock_device)
93-
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.
9493
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" })
9594
mock_device:expect_metadata_update({ profile = "light-color-level-fan" })
9695
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })

drivers/SmartThings/matter-switch/src/test/test_matter_multi_button.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ local function test_init()
122122
if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end
123123
end
124124
test.socket.matter:__expect_send({mock_device.id, subscribe_request})
125-
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.
126125
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" })
127126
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
128127
test.mock_device.add_test_device(mock_device)

drivers/SmartThings/matter-switch/src/test/test_matter_multi_button_switch_mcd.lua

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,6 @@ local function test_init()
198198
if i > 1 then subscribe_request:merge(clus:subscribe(mock_device)) end
199199
end
200200
test.socket.matter:__expect_send({mock_device.id, subscribe_request})
201-
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.
202201
test.socket.device_lifecycle:__queue_receive({ mock_device.id, "doConfigure" })
203202
mock_device:expect_metadata_update({ profile = "light-level-3-button" })
204203
mock_device:expect_metadata_update({ provisioning_state = "PROVISIONED" })
@@ -237,7 +236,6 @@ local function test_init_mcd_unsupported_switch_device_type()
237236
end
238237
end
239238
test.socket.matter:__expect_send({mock_device_mcd_unsupported_switch_device_type.id, subscribe_request})
240-
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.
241239
test.socket.device_lifecycle:__queue_receive({ mock_device_mcd_unsupported_switch_device_type.id, "doConfigure" })
242240
mock_device_mcd_unsupported_switch_device_type:expect_metadata_update({ profile = "2-button" })
243241
mock_device_mcd_unsupported_switch_device_type:expect_metadata_update({ provisioning_state = "PROVISIONED" })

0 commit comments

Comments
 (0)