@@ -79,45 +79,6 @@ local function test_init()
79
79
read_limits :merge (clusters .TemperatureMeasurement .attributes .MaxMeasuredValue :read ())
80
80
test .socket .matter :__expect_send ({mock_device .id , read_limits })
81
81
82
- -- Populate setpoint limits
83
- test .socket .matter :__queue_receive ({
84
- mock_device .id ,
85
- clusters .Thermostat .attributes .AbsMinHeatSetpointLimit :build_test_report_data (mock_device , 1 , 1000 )
86
- })
87
- test .socket .matter :__queue_receive ({
88
- mock_device .id ,
89
- clusters .Thermostat .attributes .AbsMaxHeatSetpointLimit :build_test_report_data (mock_device , 1 , 3222 )
90
- })
91
- test .socket .matter :__queue_receive ({
92
- mock_device .id ,
93
- clusters .Thermostat .attributes .AbsMinCoolSetpointLimit :build_test_report_data (mock_device , 1 , 1000 ) -- 10.0 celcius
94
- })
95
- test .socket .matter :__queue_receive ({
96
- mock_device .id ,
97
- clusters .Thermostat .attributes .AbsMaxCoolSetpointLimit :build_test_report_data (mock_device , 1 , 3222 ) -- 32.22 celcius
98
- })
99
- test .socket .matter :__queue_receive ({
100
- mock_device .id ,
101
- clusters .Thermostat .attributes .MinSetpointDeadBand :build_test_report_data (mock_device , 1 , 16 ) -- 1.6 celcius
102
- })
103
- test .socket .matter :__queue_receive ({
104
- mock_device .id ,
105
- clusters .TemperatureMeasurement .attributes .MinMeasuredValue :build_test_report_data (mock_device , 1 , 500 ) -- 5.0 celsius
106
- })
107
- test .socket .matter :__queue_receive ({
108
- mock_device .id ,
109
- clusters .TemperatureMeasurement .attributes .MaxMeasuredValue :build_test_report_data (mock_device , 1 , 4000 ) -- 40.0 celsius
110
- })
111
-
112
- test .socket .capability :__expect_send (
113
- mock_device :generate_test_message (" main" , capabilities .thermostatHeatingSetpoint .heatingSetpointRange ({ value = { minimum = 10.00 , maximum = 32.22 }, unit = " C" }))
114
- )
115
- test .socket .capability :__expect_send (
116
- mock_device :generate_test_message (" main" , capabilities .thermostatCoolingSetpoint .coolingSetpointRange ({ value = { minimum = 10.00 , maximum = 32.22 }, unit = " C" }))
117
- )
118
- test .socket .capability :__expect_send (
119
- mock_device :generate_test_message (" main" , capabilities .temperatureMeasurement .temperatureRange ({ value = { minimum = 5.00 , maximum = 40.00 }, unit = " C" }))
120
- )
121
82
test .mock_device .add_test_device (mock_device )
122
83
end
123
84
test .set_test_init_function (test_init )
152
113
test .register_coroutine_test (
153
114
" Heat setpoint lower than min" ,
154
115
function ()
116
+ test .socket .matter :__queue_receive ({
117
+ mock_device .id ,
118
+ clusters .Thermostat .attributes .AbsMinHeatSetpointLimit :build_test_report_data (mock_device , 1 , 1000 )
119
+ })
155
120
configure (mock_device )
156
121
test .socket .capability :__queue_receive ({
157
122
mock_device .id ,
@@ -166,6 +131,10 @@ test.register_coroutine_test(
166
131
test .register_coroutine_test (
167
132
" Cool setpoint lower than min" ,
168
133
function ()
134
+ test .socket .matter :__queue_receive ({
135
+ mock_device .id ,
136
+ clusters .Thermostat .attributes .AbsMinCoolSetpointLimit :build_test_report_data (mock_device , 1 , 1000 )
137
+ })
169
138
configure (mock_device )
170
139
test .socket .capability :__queue_receive ({
171
140
mock_device .id ,
@@ -180,6 +149,10 @@ test.register_coroutine_test(
180
149
test .register_coroutine_test (
181
150
" Heat setpoint higher than max" ,
182
151
function ()
152
+ test .socket .matter :__queue_receive ({
153
+ mock_device .id ,
154
+ clusters .Thermostat .attributes .AbsMaxHeatSetpointLimit :build_test_report_data (mock_device , 1 , 3222 )
155
+ })
183
156
configure (mock_device )
184
157
test .socket .capability :__queue_receive ({
185
158
mock_device .id ,
@@ -194,6 +167,10 @@ test.register_coroutine_test(
194
167
test .register_coroutine_test (
195
168
" Cool setpoint higher than max" ,
196
169
function ()
170
+ test .socket .matter :__queue_receive ({
171
+ mock_device .id ,
172
+ clusters .Thermostat .attributes .AbsMaxCoolSetpointLimit :build_test_report_data (mock_device , 1 , 3222 )
173
+ })
197
174
configure (mock_device )
198
175
test .socket .capability :__queue_receive ({
199
176
mock_device .id ,
@@ -208,6 +185,10 @@ test.register_coroutine_test(
208
185
test .register_coroutine_test (
209
186
" Heat setpoint inside deadband" ,
210
187
function ()
188
+ test .socket .matter :__queue_receive ({
189
+ mock_device .id ,
190
+ clusters .Thermostat .attributes .MinSetpointDeadBand :build_test_report_data (mock_device , 1 , 16 ) -- 1.6 celcius
191
+ })
211
192
configure (mock_device )
212
193
test .socket .capability :__queue_receive ({
213
194
mock_device .id ,
@@ -222,6 +203,10 @@ test.register_coroutine_test(
222
203
test .register_coroutine_test (
223
204
" Cool setpoint inside deadband" ,
224
205
function ()
206
+ test .socket .matter :__queue_receive ({
207
+ mock_device .id ,
208
+ clusters .Thermostat .attributes .MinSetpointDeadBand :build_test_report_data (mock_device , 1 , 16 ) -- 1.6 celcius
209
+ })
225
210
configure (mock_device )
226
211
test .socket .capability :__queue_receive ({
227
212
mock_device .id ,
@@ -233,6 +218,60 @@ test.register_coroutine_test(
233
218
end
234
219
)
235
220
221
+ test .register_message_test (
222
+ " Min and max heating setpoint attributes set capability constraint" ,
223
+ {
224
+ {
225
+ channel = " matter" ,
226
+ direction = " receive" ,
227
+ message = {
228
+ mock_device .id ,
229
+ clusters .Thermostat .attributes .AbsMinCoolSetpointLimit :build_test_report_data (mock_device , 1 , 1000 )
230
+ }
231
+ },
232
+ {
233
+ channel = " matter" ,
234
+ direction = " receive" ,
235
+ message = {
236
+ mock_device .id ,
237
+ clusters .Thermostat .attributes .AbsMaxCoolSetpointLimit :build_test_report_data (mock_device , 1 , 3222 )
238
+ }
239
+ },
240
+ {
241
+ channel = " capability" ,
242
+ direction = " send" ,
243
+ message = mock_device :generate_test_message (" main" , capabilities .thermostatCoolingSetpoint .coolingSetpointRange ({ value = { minimum = 10.00 , maximum = 32.22 }, unit = " C" }))
244
+ }
245
+ }
246
+ )
247
+
248
+ test .register_message_test (
249
+ " Min and max cooling setpoint attributes set capability constraint" ,
250
+ {
251
+ {
252
+ channel = " matter" ,
253
+ direction = " receive" ,
254
+ message = {
255
+ mock_device .id ,
256
+ clusters .Thermostat .attributes .AbsMinHeatSetpointLimit :build_test_report_data (mock_device , 1 , 1000 )
257
+ }
258
+ },
259
+ {
260
+ channel = " matter" ,
261
+ direction = " receive" ,
262
+ message = {
263
+ mock_device .id ,
264
+ clusters .Thermostat .attributes .AbsMaxHeatSetpointLimit :build_test_report_data (mock_device , 1 , 3222 )
265
+ }
266
+ },
267
+ {
268
+ channel = " capability" ,
269
+ direction = " send" ,
270
+ message = mock_device :generate_test_message (" main" , capabilities .thermostatHeatingSetpoint .heatingSetpointRange ({ value = { minimum = 10.00 , maximum = 32.22 }, unit = " C" }))
271
+ }
272
+ }
273
+ )
274
+
236
275
test .register_message_test (
237
276
" Min and max temperature attributes set capability constraint" ,
238
277
{
0 commit comments