@@ -38,6 +38,7 @@ local mock_device_basic = test.mock_device.build_test_matter_device({
3838 {cluster_id = clusters .TemperatureMeasurement .ID , cluster_type = " SERVER" },
3939 {cluster_id = clusters .RelativeHumidityMeasurement .ID , cluster_type = " SERVER" },
4040 {cluster_id = clusters .PowerSource .ID , cluster_type = " SERVER" , feature_map = 0 },
41+ {cluster_id = clusters .FanControl .ID , cluster_type = " SERVER" , feature_map = 0 },
4142 },
4243 device_types = {
4344 {device_type_id = 0x0301 , device_type_revision = 1 } -- Thermostat
@@ -54,7 +55,6 @@ local function initialize_mock_device(generic_mock_device, generic_subscribed_at
5455 subscribe_request :merge (cluster :subscribe (generic_mock_device ))
5556 end
5657 end
57- test .socket .matter :__expect_send ({generic_mock_device .id , subscribe_request })
5858 return subscribe_request
5959end
6060
@@ -96,6 +96,7 @@ local function test_init()
9696
9797 test .socket .device_lifecycle :__queue_receive ({ mock_device_basic .id , " init" })
9898 subscribe_request_basic = initialize_mock_device (mock_device_basic , subscribed_attributes )
99+ test .socket .matter :__expect_send ({mock_device_basic .id , subscribe_request_basic })
99100end
100101
101102-- run the profile configuration tests
@@ -123,6 +124,7 @@ local expected_metadata = {
123124 {
124125 " relativeHumidityMeasurement" ,
125126 " fanMode" ,
127+ " fanSpeedPercent" ,
126128 " thermostatHeatingSetpoint" ,
127129 " thermostatCoolingSetpoint"
128130 },
@@ -134,7 +136,28 @@ local expected_metadata = {
134136test .register_coroutine_test (
135137 " Device with modular profile should enable correct optional capabilities" ,
136138 function ()
137- test_thermostat_device_type_update_modular_profile (mock_device_basic , expected_metadata , subscribe_request_basic )
139+ local subscribed_attributes = {
140+ clusters .Thermostat .attributes .LocalTemperature ,
141+ clusters .Thermostat .attributes .OccupiedCoolingSetpoint ,
142+ clusters .Thermostat .attributes .OccupiedHeatingSetpoint ,
143+ clusters .Thermostat .attributes .AbsMinCoolSetpointLimit ,
144+ clusters .Thermostat .attributes .AbsMaxCoolSetpointLimit ,
145+ clusters .Thermostat .attributes .AbsMinHeatSetpointLimit ,
146+ clusters .Thermostat .attributes .AbsMaxHeatSetpointLimit ,
147+ clusters .Thermostat .attributes .SystemMode ,
148+ clusters .Thermostat .attributes .ThermostatRunningState ,
149+ clusters .Thermostat .attributes .ControlSequenceOfOperation ,
150+ clusters .TemperatureMeasurement .attributes .MeasuredValue ,
151+ clusters .TemperatureMeasurement .attributes .MinMeasuredValue ,
152+ clusters .TemperatureMeasurement .attributes .MaxMeasuredValue ,
153+ clusters .RelativeHumidityMeasurement .attributes .MeasuredValue ,
154+ clusters .FanControl .attributes .FanMode ,
155+ clusters .FanControl .attributes .FanModeSequence ,
156+ clusters .FanControl .attributes .PercentCurrent ,
157+ clusters .PowerSource .attributes .BatPercentRemaining ,
158+ }
159+ local subscribe_request = initialize_mock_device (mock_device_basic , subscribed_attributes )
160+ test_thermostat_device_type_update_modular_profile (mock_device_basic , expected_metadata , subscribe_request )
138161 end ,
139162 { test_init = test_init }
140163)
0 commit comments