@@ -977,6 +977,22 @@ async def test_connect_smile_p1_v2_2(self):
977977 },
978978 },
979979 }
980+ testdata_updated = {
981+ "199aa40f126840f392983d171374ab0b" : {
982+ "sensors" : {
983+ "net_electricity_point" : - 2248 ,
984+ "electricity_consumed_point" : 0 ,
985+ "net_electricity_cumulative" : 1019.101 ,
986+ "electricity_consumed_peak_cumulative" : 1155.295 ,
987+ "electricity_consumed_off_peak_cumulative" : 1642.84 ,
988+ "electricity_produced_point" : 2248 ,
989+ "electricity_produced_peak_cumulative" : 1296.336 ,
990+ "electricity_produced_off_peak_cumulative" : 482.698 ,
991+ "gas_consumed_cumulative" : 585.433 ,
992+ "gas_consumed_interval" : 0 ,
993+ },
994+ },
995+ }
980996
981997 self .smile_setup = "smile_p1_v2_2"
982998 server , smile , client = await self .connect_wrapper ()
@@ -994,6 +1010,11 @@ async def test_connect_smile_p1_v2_2(self):
9941010 assert self .device_items == 26
9951011 assert not self .notifications
9961012
1013+ # Now change some data and change directory reading xml from
1014+ # emulating reading newer dataset after an update_interval
1015+ self .smile_setup = "updated/smile_p1_v2_2"
1016+ await self .device_test (smile , testdata_updated , initialize = False )
1017+
9971018 await smile .close_connection ()
9981019 await self .disconnect (server , client )
9991020
@@ -4740,6 +4761,39 @@ async def test_connect_stretch_v31(self):
47404761 "switches" : {"relay" : True },
47414762 },
47424763 }
4764+ testdata_updated = {
4765+ "aac7b735042c4832ac9ff33aae4f453b" : {
4766+ "sensors" : {
4767+ "electricity_consumed" : 1000.0 ,
4768+ "electricity_consumed_interval" : 20.7 ,
4769+ "electricity_produced" : 0.0 ,
4770+ },
4771+ "switches" : {"relay" : True , "lock" : True },
4772+ },
4773+ "cfe95cf3de1948c0b8955125bf754614" : {
4774+ "sensors" : {
4775+ "electricity_consumed" : 0.0 ,
4776+ "electricity_consumed_interval" : 0.0 ,
4777+ "electricity_produced" : 0.0 ,
4778+ },
4779+ "switches" : {"relay" : False , "lock" : False },
4780+ },
4781+ "059e4d03c7a34d278add5c7a4a781d19" : {
4782+ "sensors" : {
4783+ "electricity_consumed" : 0.0 ,
4784+ "electricity_consumed_interval" : 0.0 ,
4785+ "electricity_produced" : 0.0 ,
4786+ },
4787+ "switches" : {"relay" : False , "lock" : False },
4788+ },
4789+ "d03738edfcc947f7b8f4573571d90d2d" : {
4790+ "members" : [
4791+ "059e4d03c7a34d278add5c7a4a781d19" ,
4792+ "cfe95cf3de1948c0b8955125bf754614" ,
4793+ ],
4794+ "switches" : {"relay" : False },
4795+ },
4796+ }
47434797
47444798 self .smile_setup = "stretch_v31"
47454799 server , smile , client = await self .connect_wrapper (stretch = True )
@@ -4757,6 +4811,11 @@ async def test_connect_stretch_v31(self):
47574811 assert smile .gateway_id == "0000aaaa0000aaaa0000aaaa0000aa00"
47584812 assert self .device_items == 83
47594813
4814+ # Now change some data and change directory reading xml from
4815+ # emulating reading newer dataset after an update_interval
4816+ self .smile_setup = "updated/stretch_v31"
4817+ await self .device_test (smile , testdata_updated , initialize = False )
4818+
47604819 await smile .close_connection ()
47614820 await self .disconnect (server , client )
47624821
@@ -5237,6 +5296,25 @@ async def test_connect_p1v4_442_single(self):
52375296 },
52385297 },
52395298 }
5299+ testdata_updated = {
5300+ "ba4de7613517478da82dd9b6abea36af" : {
5301+ "sensors" : {
5302+ "net_electricity_point" : - 2248 ,
5303+ "electricity_consumed_peak_point" : 0 ,
5304+ "electricity_consumed_off_peak_point" : 0 ,
5305+ "electricity_consumed_peak_interval" : 0 ,
5306+ "electricity_consumed_off_peak_interval" : 0 ,
5307+ "electricity_produced_peak_point" : 2248 ,
5308+ "electricity_produced_off_peak_point" : 0 ,
5309+ "electricity_produced_peak_cumulative" : 6.543 ,
5310+ "electricity_produced_off_peak_cumulative" : 0.0 ,
5311+ "electricity_produced_peak_interval" : 1345 ,
5312+ "electricity_produced_off_peak_interval" : 0 ,
5313+ "electricity_phase_one_consumed" : 0 ,
5314+ "electricity_phase_one_produced" : 1998 ,
5315+ },
5316+ },
5317+ }
52405318
52415319 self .smile_setup = "p1v4_442_single"
52425320 server , smile , client = await self .connect_wrapper ()
@@ -5255,6 +5333,11 @@ async def test_connect_p1v4_442_single(self):
52555333 assert self .device_items == 31
52565334 assert not self .notifications
52575335
5336+ # Now change some data and change directory reading xml from
5337+ # emulating reading newer dataset after an update_interval
5338+ self .smile_setup = "updated/p1v4_442_single"
5339+ await self .device_test (smile , testdata_updated , initialize = False )
5340+
52585341 await smile .close_connection ()
52595342 await self .disconnect (server , client )
52605343
0 commit comments