@@ -5128,6 +5128,67 @@ async def test_connect_p1v4_440beta_single(self):
51285128 await smile.close_connection()
51295129 await self.disconnect(server, client)
51305130
5131+ @pytest.mark.asyncio
5132+ async def test_connect_p1v4_440beta_triple(self):
5133+ """Test a P1 firmware 4 setup."""
5134+ testdata = {
5135+ "a455b61e52394b2db5081ce025a430f3": {
5136+ "dev_class": "gateway",
5137+ "firmware": "4.4.0",
5138+ "hardware": "AME Smile 2.0 board",
5139+ "location": "a455b61e52394b2db5081ce025a430f3",
5140+ "mac_address": "012345670001",
5141+ "model": "Gateway",
5142+ "name": "Smile P1",
5143+ "vendor": "Plugwise",
5144+ "binary_sensors": {"plugwise_notification": False},
5145+ },
5146+ "ba4de7613517478da82dd9b6abea36af": {
5147+ "dev_class": "smartmeter",
5148+ "location": "a455b61e52394b2db5081ce025a430f3",
5149+ "model": "KFM5KAIFA-METER",
5150+ "name": "P1",
5151+ "vendor": "SHENZHEN KAIFA TECHNOLOGY (CHENGDU) CO., LTD.",
5152+ "available": True,
5153+ "sensors": {
5154+ "net_electricity_point": 581,
5155+ "electricity_consumed_peak_point": 581,
5156+ "electricity_consumed_off_peak_point": 0,
5157+ "net_electricity_cumulative": 30718.064,
5158+ "electricity_consumed_peak_cumulative": 13523.584,
5159+ "electricity_consumed_off_peak_cumulative": 17194.48,
5160+ "electricity_consumed_peak_interval": 9,
5161+ "electricity_consumed_off_peak_interval": 0,
5162+ "electricity_produced_peak_point": 0,
5163+ "electricity_produced_off_peak_point": 0,
5164+ "electricity_produced_peak_cumulative": 0.0,
5165+ "electricity_produced_off_peak_cumulative": 0.0,
5166+ "electricity_produced_peak_interval": 0,
5167+ "electricity_produced_off_peak_interval": 0,
5168+ },
5169+ },
5170+ }
5171+
5172+ self.smile_setup = "p1v4_440beta_triple"
5173+ server, smile, client = await self.connect_wrapper()
5174+ assert smile.smile_hostname == "smile000000"
5175+
5176+ _LOGGER.info("Basics:")
5177+ _LOGGER.info(" # Assert type = power")
5178+ assert smile.smile_type == "power"
5179+ _LOGGER.info(" # Assert version")
5180+ assert smile.smile_version[0] == "4.4.0"
5181+ _LOGGER.info(" # Assert legacy")
5182+ assert not smile._smile_legacy
5183+
5184+ await self.device_test(smile, testdata)
5185+ assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3"
5186+ assert self.device_items == 29
5187+ assert not self.notifications
5188+
5189+ await smile.close_connection()
5190+ await self.disconnect(server, client)
5191+
51315192 @pytest.mark.asyncio
51325193 async def test_fail_legacy_system(self):
51335194 """Test erroneous legacy stretch system."""
0 commit comments