15
15
local test = require " integration_test"
16
16
local capabilities = require " st.capabilities"
17
17
local t_utils = require " integration_test.utils"
18
- local uint32 = require " st.matter.data_types.Uint32"
19
18
20
19
local clusters = require " st.matter.clusters"
21
20
@@ -43,7 +42,6 @@ local mock_device = test.mock_device.build_test_matter_device({
43
42
clusters = {
44
43
{ cluster_id = clusters .ElectricalEnergyMeasurement .ID , cluster_type = " SERVER" , feature_map = 14 , },
45
44
{ 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
47
45
},
48
46
device_types = {
49
47
{ device_type_id = 0x0510 , device_type_revision = 1 }, -- Electrical Sensor
@@ -53,30 +51,10 @@ local mock_device = test.mock_device.build_test_matter_device({
53
51
endpoint_id = 2 ,
54
52
clusters = {
55
53
{ 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 }
57
55
},
58
56
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
80
58
}
81
59
},
82
60
},
@@ -102,20 +80,16 @@ local mock_device_periodic = test.mock_device.build_test_matter_device({
102
80
{
103
81
endpoint_id = 1 ,
104
82
clusters = {
105
- { cluster_id = clusters .OnOff .ID , cluster_type = " SERVER" , cluster_revision = 1 , feature_map = 0 , },
106
83
{ 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
108
84
},
109
85
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
112
87
}
113
88
},
114
89
},
115
90
})
116
91
117
92
local subscribed_attributes_periodic = {
118
- clusters .OnOff .attributes .OnOff ,
119
93
clusters .ElectricalEnergyMeasurement .attributes .PeriodicEnergyImported ,
120
94
clusters .ElectricalEnergyMeasurement .attributes .CumulativeEnergyImported ,
121
95
}
@@ -669,52 +643,19 @@ test.register_coroutine_test(
669
643
test .register_coroutine_test (
670
644
" Test profile change on init for Electrical Sensor device type" ,
671
645
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 })
683
646
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 )})})
688
647
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" })
696
649
end ,
697
650
{ test_init = test_init }
698
651
)
699
652
700
653
test .register_coroutine_test (
701
654
" Test profile change on init for only Periodic Electrical Sensor device type" ,
702
655
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 })
713
656
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 )})})
717
657
mock_device_periodic :expect_metadata_update ({ profile = " plug-energy-powerConsumption" })
658
+ mock_device_periodic :expect_metadata_update ({ provisioning_state = " PROVISIONED" })
718
659
end ,
719
660
{ test_init = test_init_periodic }
720
661
)
@@ -751,7 +692,7 @@ test.register_message_test(
751
692
direction = " receive" ,
752
693
message = {
753
694
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 )
755
696
}
756
697
},
757
698
{
0 commit comments