@@ -545,17 +545,24 @@ async def tinker_thermostat_schedule(
545545 warning = " Negative test"
546546 new_schedule = new_schedule [1 :]
547547 _LOGGER .info ("- Adjusting schedule to %s" , f"{ new_schedule } { warning } " )
548- if not unhappy :
549- try :
550- await smile .set_schedule_state (loc_id , new_schedule , state )
551- tinker_schedule_passed = True
552- _LOGGER .info (" + working as intended" )
553- except pw_exceptions .PlugwiseError :
554- _LOGGER .info (" + failed as expected" )
555- tinker_schedule_passed = True
556- else :
557- _LOGGER .info (" + failed as expected before intended failure" )
548+ try :
549+ await smile .set_schedule_state (loc_id , new_schedule , state )
550+ tinker_schedule_passed = True
551+ _LOGGER .info (" + working as intended" )
552+ except pw_exceptions .PlugwiseError :
553+ _LOGGER .info (" + failed as expected" )
558554 tinker_schedule_passed = True
555+ except (
556+ pw_exceptions .ErrorSendingCommandError ,
557+ pw_exceptions .ResponseError ,
558+ ):
559+ tinker_schedule_passed = False
560+ if unhappy :
561+ _LOGGER .info (" + failed as expected before intended failure" )
562+ tinker_schedule_passed = True
563+ else : # pragma: no cover
564+ _LOGGER .info (" - succeeded unexpectedly for some reason" )
565+ return False
559566
560567 return tinker_schedule_passed
561568
@@ -842,19 +849,6 @@ async def test_connect_legacy_anna_2(self):
842849 await smile .close_connection ()
843850 await self .disconnect (server , client )
844851
845- server , smile , client = await self .connect_wrapper (raise_timeout = True )
846- result = await self .tinker_thermostat (
847- smile ,
848- "be81e3f8275b4129852c4d8d550ae2eb" ,
849- good_schedules = [
850- "Thermostat schedule" ,
851- ],
852- unhappy = True ,
853- )
854- assert result
855- await smile .close_connection ()
856- await self .disconnect (server , client )
857-
858852 @pytest .mark .asyncio
859853 async def test_connect_smile_p1_v2 (self ):
860854 """Test a legacy P1 device."""
@@ -1076,6 +1070,7 @@ async def test_connect_anna_v4(self):
10761070 await self .disconnect (server , client )
10771071
10781072 server , smile , client = await self .connect_wrapper (raise_timeout = True )
1073+ await self .device_test (smile , testdata )
10791074 result = await self .tinker_thermostat (
10801075 smile ,
10811076 "eb5309212bf5407bb143e5bfa3b18aee" ,
@@ -1187,18 +1182,6 @@ async def test_connect_anna_v4_dhw(self):
11871182 await smile .close_connection ()
11881183 await self .disconnect (server , client )
11891184
1190- server , smile , client = await self .connect_wrapper (raise_timeout = True )
1191- result = await self .tinker_thermostat (
1192- smile ,
1193- "eb5309212bf5407bb143e5bfa3b18aee" ,
1194- good_schedules = ["Standaard" , "Thuiswerken" ],
1195- schedule_on = False ,
1196- unhappy = True ,
1197- )
1198- assert result
1199- await smile .close_connection ()
1200- await self .disconnect (server , client )
1201-
12021185 @pytest .mark .asyncio
12031186 async def test_connect_anna_v4_no_tag (self ):
12041187 """Test an Anna firmware 4 setup - missing tag (issue)."""
@@ -1233,18 +1216,6 @@ async def test_connect_anna_v4_no_tag(self):
12331216 await smile .close_connection ()
12341217 await self .disconnect (server , client )
12351218
1236- server , smile , client = await self .connect_wrapper (raise_timeout = True )
1237- result = await self .tinker_thermostat (
1238- smile ,
1239- "eb5309212bf5407bb143e5bfa3b18aee" ,
1240- schedule_on = False ,
1241- good_schedules = ["Standaard" , "Thuiswerken" ],
1242- unhappy = True ,
1243- )
1244- assert result
1245- await smile .close_connection ()
1246- await self .disconnect (server , client )
1247-
12481219 @pytest .mark .asyncio
12491220 async def test_connect_anna_without_boiler_fw3 (self ):
12501221 """Test an Anna with firmware 3, without a boiler."""
@@ -1317,17 +1288,6 @@ async def test_connect_anna_without_boiler_fw3(self):
13171288 await smile .close_connection ()
13181289 await self .disconnect (server , client )
13191290
1320- server , smile , client = await self .connect_wrapper (raise_timeout = True )
1321- result = await self .tinker_thermostat (
1322- smile ,
1323- "c34c6864216446528e95d88985e714cc" ,
1324- good_schedules = ["Test" , "Normal" ],
1325- unhappy = True ,
1326- )
1327- assert result
1328- await smile .close_connection ()
1329- await self .disconnect (server , client )
1330-
13311291 @pytest .mark .asyncio
13321292 async def test_connect_anna_without_boiler_fw4 (self ):
13331293 """Test an Anna with firmware 4.0, without a boiler."""
@@ -1399,17 +1359,6 @@ async def test_connect_anna_without_boiler_fw4(self):
13991359 await smile .close_connection ()
14001360 await self .disconnect (server , client )
14011361
1402- server , smile , client = await self .connect_wrapper (raise_timeout = True )
1403- result = await self .tinker_thermostat (
1404- smile ,
1405- "c34c6864216446528e95d88985e714cc" ,
1406- good_schedules = ["Test" , "Normal" ],
1407- unhappy = True ,
1408- )
1409- assert result
1410- await smile .close_connection ()
1411- await self .disconnect (server , client )
1412-
14131362 @pytest .mark .asyncio
14141363 async def test_connect_anna_without_boiler_fw42 (self ):
14151364 """Test an Anna with firmware 4.2, without a boiler."""
@@ -1482,6 +1431,7 @@ async def test_connect_anna_without_boiler_fw42(self):
14821431 await self .disconnect (server , client )
14831432
14841433 server , smile , client = await self .connect_wrapper (raise_timeout = True )
1434+ await self .device_test (smile , testdata )
14851435 result = await self .tinker_thermostat (
14861436 smile ,
14871437 "c34c6864216446528e95d88985e714cc" ,
@@ -1619,6 +1569,7 @@ async def test_connect_adam_plus_anna(self):
16191569 await self .disconnect (server , client )
16201570
16211571 server , smile , client = await self .connect_wrapper (raise_timeout = True )
1572+ await self .device_test (smile , testdata )
16221573 result = await self .tinker_thermostat (
16231574 smile ,
16241575 "009490cc2f674ce6b576863fbb64f867" ,
@@ -2333,6 +2284,7 @@ async def test_connect_adam_zone_per_device(self):
23332284 await self .disconnect (server , client )
23342285
23352286 server , smile , client = await self .connect_wrapper (raise_timeout = True )
2287+ await self .device_test (smile , testdata )
23362288 result = await self .tinker_thermostat (
23372289 smile ,
23382290 "c50f167537524366a5af7aa3942feb1e" ,
@@ -2767,26 +2719,6 @@ async def test_connect_adam_multiple_devices_per_zone(self):
27672719 await smile .close_connection ()
27682720 await self .disconnect (server , client )
27692721
2770- server , smile , client = await self .connect_wrapper (raise_timeout = True )
2771- result = await self .tinker_thermostat (
2772- smile ,
2773- "c50f167537524366a5af7aa3942feb1e" ,
2774- good_schedules = ["GF7 Woonkamer" ],
2775- unhappy = True ,
2776- )
2777- assert result
2778-
2779- result = await self .tinker_thermostat (
2780- smile ,
2781- "82fa13f017d240daa0d0ea1775420f24" ,
2782- good_schedules = ["CV Jessie" ],
2783- unhappy = True ,
2784- )
2785- assert result
2786-
2787- await smile .close_connection ()
2788- await self .disconnect (server , client )
2789-
27902722 @pytest .mark .asyncio
27912723 async def test_adam_heatpump_cooling (self ):
27922724 """Test Adam with heatpump in cooling mode and idle."""
0 commit comments