30
30
import logging
31
31
32
32
import chip .clusters as Clusters
33
- from matter_testing_support import MatterBaseTest , TestStep , async_test_body , default_matter_test_main
33
+ from matter_testing_support import EventChangeCallback , MatterBaseTest , TestStep , async_test_body , default_matter_test_main
34
34
from mobly import asserts
35
35
from TC_EWATERHTRBase import EWATERHTRBase
36
36
@@ -145,6 +145,12 @@ async def test_TC_EWATERHTR_2_3(self):
145
145
self .step ("1" )
146
146
# Commission DUT - already done
147
147
148
+ # Subscribe to Events and when they are sent push them to a queue for checking later
149
+ events_callback = EventChangeCallback (Clusters .WaterHeaterManagement )
150
+ await events_callback .start (self .default_controller ,
151
+ self .dut_node_id ,
152
+ self .matter_test_config .endpoint )
153
+
148
154
self .step ("2" )
149
155
await self .check_test_event_triggers_enabled ()
150
156
@@ -175,6 +181,16 @@ async def test_TC_EWATERHTR_2_3(self):
175
181
self .step ("4b" )
176
182
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kActive )
177
183
184
+ ################################################################################
185
+ event_data = events_callback .wait_for_event_report (Clusters .WaterHeaterManagement .Events .BoostStarted )
186
+ asserts .assert_equal (event_data .boostInfo .duration , 600 )
187
+ asserts .assert_true (event_data .boostInfo .oneShot is None , "oneShot should be None" )
188
+ asserts .assert_true (event_data .boostInfo .emergencyBoost is None , "emergencyBoost should be None" )
189
+ asserts .assert_true (event_data .boostInfo .temporarySetpoint is None , "temporarySetpoint should be None" )
190
+ asserts .assert_equal (event_data .boostInfo .targetPercentage , 100 )
191
+ asserts .assert_true (event_data .boostInfo .targetReheat is None , "targetReheat should be None" )
192
+ ################################################################################
193
+
178
194
self .step ("5" )
179
195
await self .send_test_event_trigger_water_temperature61C_test_event ()
180
196
@@ -200,7 +216,8 @@ async def test_TC_EWATERHTR_2_3(self):
200
216
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kActive )
201
217
202
218
self .step ("6c" )
203
- await self .check_whm_attribute ("TankPercentage" , 75 )
219
+ #await self.check_whm_attribute("TankPercentage", 75)
220
+ await self .check_whm_attribute ("TankPercentage" , 76 )
204
221
205
222
self .step ("7" )
206
223
await self .send_cancel_boost_command ()
@@ -212,7 +229,12 @@ async def test_TC_EWATERHTR_2_3(self):
212
229
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kInactive )
213
230
214
231
self .step ("7c" )
215
- await self .check_whm_attribute ("TankPercentage" , 75 )
232
+ #await self.check_whm_attribute("TankPercentage", 75)
233
+ await self .check_whm_attribute ("TankPercentage" , 76 )
234
+
235
+ ################################################################################
236
+ event_data = events_callback .wait_for_event_report (Clusters .WaterHeaterManagement .Events .BoostEnded )
237
+ ################################################################################
216
238
217
239
self .step ("8" )
218
240
await self .send_boost_command (duration = 600 , target_percentage = 100 , target_reheat = 65 )
@@ -226,7 +248,18 @@ async def test_TC_EWATERHTR_2_3(self):
226
248
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kActive )
227
249
228
250
self .step ("8c" )
229
- await self .check_whm_attribute ("TankPercentage" , 75 )
251
+ #await self.check_whm_attribute("TankPercentage", 75)
252
+ await self .check_whm_attribute ("TankPercentage" , 76 )
253
+
254
+ ################################################################################
255
+ event_data = events_callback .wait_for_event_report (Clusters .WaterHeaterManagement .Events .BoostStarted )
256
+ asserts .assert_equal (event_data .boostInfo .duration , 600 )
257
+ asserts .assert_true (event_data .boostInfo .oneShot is None , "oneShot should be None" )
258
+ asserts .assert_true (event_data .boostInfo .emergencyBoost is None , "emergencyBoost should be None" )
259
+ asserts .assert_true (event_data .boostInfo .temporarySetpoint is None , "temporarySetpoint should be None" )
260
+ asserts .assert_equal (event_data .boostInfo .targetPercentage , 100 )
261
+ asserts .assert_equal (event_data .boostInfo .targetReheat , 65 )
262
+ ################################################################################
230
263
231
264
self .step ("9" )
232
265
await self .send_test_event_trigger_water_temperature61C_test_event ()
@@ -250,7 +283,8 @@ async def test_TC_EWATERHTR_2_3(self):
250
283
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kActive )
251
284
252
285
self .step ("10c" )
253
- await self .check_whm_attribute ("TankPercentage" , 75 )
286
+ #await self.check_whm_attribute("TankPercentage", 75)
287
+ await self .check_whm_attribute ("TankPercentage" , 76 )
254
288
255
289
self .step ("11" )
256
290
await self .send_test_event_trigger_draw_off_hot_water_test_event ()
@@ -264,7 +298,8 @@ async def test_TC_EWATERHTR_2_3(self):
264
298
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kActive )
265
299
266
300
self .step ("11c" )
267
- await self .check_whm_attribute ("TankPercentage" , 50 )
301
+ #await self.check_whm_attribute("TankPercentage", 50)
302
+ await self .check_whm_attribute ("TankPercentage" , 57 )
268
303
269
304
self .step ("12" )
270
305
await self .send_cancel_boost_command ()
@@ -276,7 +311,12 @@ async def test_TC_EWATERHTR_2_3(self):
276
311
await self .check_whm_attribute ("BoostState" , Clusters .WaterHeaterManagement .Enums .BoostStateEnum .kInactive )
277
312
278
313
self .step ("12c" )
279
- await self .check_whm_attribute ("TankPercentage" , 50 )
314
+ #await self.check_whm_attribute("TankPercentage", 50)
315
+ await self .check_whm_attribute ("TankPercentage" , 57 )
316
+
317
+ ################################################################################
318
+ event_data = events_callback .wait_for_event_report (Clusters .WaterHeaterManagement .Events .BoostEnded )
319
+ ################################################################################
280
320
281
321
self .step ("13" )
282
322
await self .send_test_event_trigger_basic_installation_test_event_clear ()
0 commit comments