@@ -49,6 +49,7 @@ local mock_device_basic = test.mock_device.build_test_matter_device({
4949 {cluster_id = clusters .TemperatureMeasurement .ID , cluster_type = " SERVER" },
5050 {cluster_id = clusters .RelativeHumidityMeasurement .ID , cluster_type = " SERVER" },
5151 {cluster_id = clusters .PowerSource .ID , cluster_type = " SERVER" , feature_map = 0 },
52+ {cluster_id = clusters .FanControl .ID , cluster_type = " SERVER" , feature_map = 0 },
5253 },
5354 device_types = {
5455 {device_type_id = 0x0301 , device_type_revision = 1 } -- Thermostat
@@ -65,7 +66,6 @@ local function initialize_mock_device(generic_mock_device, generic_subscribed_at
6566 subscribe_request :merge (cluster :subscribe (generic_mock_device ))
6667 end
6768 end
68- test .socket .matter :__expect_send ({generic_mock_device .id , subscribe_request })
6969 return subscribe_request
7070end
7171
@@ -107,6 +107,7 @@ local function test_init()
107107
108108 test .socket .device_lifecycle :__queue_receive ({ mock_device_basic .id , " init" })
109109 subscribe_request_basic = initialize_mock_device (mock_device_basic , subscribed_attributes )
110+ test .socket .matter :__expect_send ({mock_device_basic .id , subscribe_request_basic })
110111end
111112
112113-- run the profile configuration tests
@@ -134,6 +135,7 @@ local expected_metadata = {
134135 {
135136 " relativeHumidityMeasurement" ,
136137 " fanMode" ,
138+ " fanSpeedPercent" ,
137139 " thermostatHeatingSetpoint" ,
138140 " thermostatCoolingSetpoint"
139141 },
@@ -145,7 +147,28 @@ local expected_metadata = {
145147test .register_coroutine_test (
146148 " Device with modular profile should enable correct optional capabilities" ,
147149 function ()
148- test_thermostat_device_type_update_modular_profile (mock_device_basic , expected_metadata , subscribe_request_basic )
150+ local subscribed_attributes = {
151+ clusters .Thermostat .attributes .LocalTemperature ,
152+ clusters .Thermostat .attributes .OccupiedCoolingSetpoint ,
153+ clusters .Thermostat .attributes .OccupiedHeatingSetpoint ,
154+ clusters .Thermostat .attributes .AbsMinCoolSetpointLimit ,
155+ clusters .Thermostat .attributes .AbsMaxCoolSetpointLimit ,
156+ clusters .Thermostat .attributes .AbsMinHeatSetpointLimit ,
157+ clusters .Thermostat .attributes .AbsMaxHeatSetpointLimit ,
158+ clusters .Thermostat .attributes .SystemMode ,
159+ clusters .Thermostat .attributes .ThermostatRunningState ,
160+ clusters .Thermostat .attributes .ControlSequenceOfOperation ,
161+ clusters .TemperatureMeasurement .attributes .MeasuredValue ,
162+ clusters .TemperatureMeasurement .attributes .MinMeasuredValue ,
163+ clusters .TemperatureMeasurement .attributes .MaxMeasuredValue ,
164+ clusters .RelativeHumidityMeasurement .attributes .MeasuredValue ,
165+ clusters .FanControl .attributes .FanMode ,
166+ clusters .FanControl .attributes .FanModeSequence ,
167+ clusters .FanControl .attributes .PercentCurrent ,
168+ clusters .PowerSource .attributes .BatPercentRemaining ,
169+ }
170+ local subscribe_request = initialize_mock_device (mock_device_basic , subscribed_attributes )
171+ test_thermostat_device_type_update_modular_profile (mock_device_basic , expected_metadata , subscribe_request )
149172 end ,
150173 { test_init = test_init }
151174)
0 commit comments