@@ -408,19 +408,18 @@ async def device_test(self, smile=pw_smile.Smile, testdata=None):
408408
409409 @pytest .mark .asyncio
410410 async def tinker_switch (
411- self , smile , dev_id = None , members = None , model = None , unhappy = False
411+ self , smile , dev_id = None , members = None , model = "relay" , unhappy = False
412412 ):
413413 """Turn a Switch on and off to test functionality."""
414414 _LOGGER .info ("Asserting modifying settings for switch devices:" )
415415 _LOGGER .info ("- Devices (%s):" , dev_id )
416+ switch_change = False
416417 for new_state in [False , True , False ]:
417418 _LOGGER .info ("- Switching %s" , new_state )
418419 try :
419420 switch_change = await smile .set_switch_state (
420421 dev_id , members , model , new_state
421422 )
422- assert switch_change
423- _LOGGER .info (" + worked as intended" )
424423 except (
425424 pw_exceptions .ErrorSendingCommandError ,
426425 pw_exceptions .ResponseError ,
@@ -430,6 +429,7 @@ async def tinker_switch(
430429 else : # pragma: no cover
431430 _LOGGER .info (" - failed unexpectedly" )
432431 raise self .UnexpectedError
432+ return switch_change
433433
434434 @pytest .mark .asyncio
435435 async def tinker_thermostat (self , smile , loc_id , good_schemas = None , unhappy = False ):
@@ -941,6 +941,7 @@ async def test_connect_adam_plus_anna(self):
941941 # Plug MediaCenter
942942 "aa6b0002df0a46e1b1eb94beb61eddfe" : {
943943 "electricity_consumed" : 10.3 ,
944+ "lock" : False ,
944945 "relay" : True ,
945946 },
946947 }
@@ -967,7 +968,10 @@ async def test_connect_adam_plus_anna(self):
967968 await self .tinker_thermostat (
968969 smile , "009490cc2f674ce6b576863fbb64f867" , good_schemas = ["Weekschema" ]
969970 )
970- await self .tinker_switch (smile , "aa6b0002df0a46e1b1eb94beb61eddfe" )
971+ switch_change = await self .tinker_switch (
972+ smile , "aa6b0002df0a46e1b1eb94beb61eddfe"
973+ )
974+ assert switch_change
971975 await smile .close_connection ()
972976 await self .disconnect (server , client )
973977
@@ -978,9 +982,10 @@ async def test_connect_adam_plus_anna(self):
978982 good_schemas = ["Weekschema" ],
979983 unhappy = True ,
980984 )
981- await self .tinker_switch (
985+ switch_change = await self .tinker_switch (
982986 smile , "aa6b0002df0a46e1b1eb94beb61eddfe" , unhappy = True
983987 )
988+ assert not switch_change
984989 await smile .close_connection ()
985990 await self .disconnect (server , client )
986991
@@ -1009,15 +1014,24 @@ async def test_connect_adam_plus_anna_new(self):
10091014 await self .device_test (smile , testdata )
10101015 assert smile .active_device_present
10111016
1012- await self .tinker_switch (
1017+ switch_change = await self .tinker_switch (
10131018 smile ,
10141019 "b83f9f9758064c0fab4af6578cba4c6d" ,
10151020 ["aa6b0002df0a46e1b1eb94beb61eddfe" , "f2be121e4a9345ac83c6e99ed89a98be" ],
10161021 )
1017- await self .tinker_switch (
1022+ assert switch_change
1023+ switch_change = await self .tinker_switch (
10181024 smile , "2743216f626f43948deec1f7ab3b3d70" , model = "dhw_cm_switch"
10191025 )
1020-
1026+ assert switch_change
1027+ switch_change = await self .tinker_switch (
1028+ smile , "40ec6ebe67844b21914c4a5382a3f09f" , model = "lock"
1029+ )
1030+ assert switch_change
1031+ switch_change = await self .tinker_switch (
1032+ smile , "f2be121e4a9345ac83c6e99ed89a98be"
1033+ )
1034+ assert not switch_change
10211035 await smile .close_connection ()
10221036 await self .disconnect (server , client )
10231037
@@ -1087,7 +1101,10 @@ async def test_connect_adam_zone_per_device(self):
10871101 await self .tinker_thermostat (
10881102 smile , "82fa13f017d240daa0d0ea1775420f24" , good_schemas = ["CV Jessie" ]
10891103 )
1090- await self .tinker_switch (smile , "675416a629f343c495449970e2ca37b5" )
1104+ switch_change = await self .tinker_switch (
1105+ smile , "675416a629f343c495449970e2ca37b5"
1106+ )
1107+ assert not switch_change
10911108 await smile .close_connection ()
10921109 await self .disconnect (server , client )
10931110
@@ -1181,7 +1198,10 @@ async def test_connect_adam_multiple_devices_per_zone(self):
11811198 await self .tinker_thermostat (
11821199 smile , "82fa13f017d240daa0d0ea1775420f24" , good_schemas = ["CV Jessie" ]
11831200 )
1184- await self .tinker_switch (smile , "675416a629f343c495449970e2ca37b5" )
1201+ switch_change = await self .tinker_switch (
1202+ smile , "675416a629f343c495449970e2ca37b5"
1203+ )
1204+ assert not switch_change
11851205 await smile .close_connection ()
11861206 await self .disconnect (server , client )
11871207
@@ -1459,6 +1479,7 @@ async def test_connect_stretch_v23(self):
14591479 # Tv hoek 25F6790
14601480 "c71f1cb2100b42ca942f056dcb7eb01f" : {
14611481 "electricity_consumed" : 33.3 ,
1482+ "lock" : False ,
14621483 "relay" : True ,
14631484 },
14641485 # Wasdroger 043AECA
@@ -1481,12 +1502,16 @@ async def test_connect_stretch_v23(self):
14811502 _LOGGER .info (" # Assert no master thermostat" )
14821503 assert smile .single_master_thermostat () is None # it's not a thermostat :)
14831504
1484- await self .tinker_switch (smile , "2587a7fcdd7e482dab03fda256076b4b" )
1485- await self .tinker_switch (
1505+ switch_change = await self .tinker_switch (
1506+ smile , "2587a7fcdd7e482dab03fda256076b4b"
1507+ )
1508+ assert switch_change
1509+ switch_change = await self .tinker_switch (
14861510 smile ,
14871511 "f7b145c8492f4dd7a4de760456fdef3e" ,
14881512 ["407aa1c1099d463c9137a3a9eda787fd" ],
14891513 )
1514+ assert switch_change
14901515
14911516 smile .get_all_devices ()
14921517 await self .device_test (smile , testdata )
0 commit comments