Skip to content

Commit b4c4b3c

Browse files
committed
Add p1 v4.4.2 tests
1 parent 48a87da commit b4c4b3c

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed

tests/test_smile.py

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5059,6 +5059,141 @@ async def test_connect_p1v4(self):
50595059
await smile.close_connection()
50605060
await self.disconnect(server, client)
50615061

5062+
@pytest.mark.asyncio
5063+
async def test_connect_p1v4_442_single(self):
5064+
"""Test a P1 firmware 4 single-phase setup."""
5065+
testdata = {
5066+
"a455b61e52394b2db5081ce025a430f3": {
5067+
"dev_class": "gateway",
5068+
"firmware": "4.4.0",
5069+
"hardware": "AME Smile 2.0 board",
5070+
"location": "a455b61e52394b2db5081ce025a430f3",
5071+
"mac_address": "012345670001",
5072+
"model": "Gateway",
5073+
"name": "Smile P1",
5074+
"vendor": "Plugwise",
5075+
"binary_sensors": {"plugwise_notification": False},
5076+
},
5077+
"ba4de7613517478da82dd9b6abea36af": {
5078+
"dev_class": "smartmeter",
5079+
"location": "a455b61e52394b2db5081ce025a430f3",
5080+
"model": "KFM5KAIFA-METER",
5081+
"name": "P1",
5082+
"vendor": "SHENZHEN KAIFA TECHNOLOGY (CHENGDU) CO., LTD.",
5083+
"available": True,
5084+
"sensors": {
5085+
"net_electricity_point": 581,
5086+
"electricity_consumed_peak_point": 581,
5087+
"electricity_consumed_off_peak_point": 0,
5088+
"net_electricity_cumulative": 30718.064,
5089+
"electricity_consumed_peak_cumulative": 13523.584,
5090+
"electricity_consumed_off_peak_cumulative": 17194.48,
5091+
"electricity_consumed_peak_interval": 9,
5092+
"electricity_consumed_off_peak_interval": 0,
5093+
"electricity_produced_peak_point": 0,
5094+
"electricity_produced_off_peak_point": 0,
5095+
"electricity_produced_peak_cumulative": 0.0,
5096+
"electricity_produced_off_peak_cumulative": 0.0,
5097+
"electricity_produced_peak_interval": 0,
5098+
"electricity_produced_off_peak_interval": 0,
5099+
"electricity_phase_one_consumed": 0,
5100+
"electricity_phase_one_produced": 581,
5101+
},
5102+
},
5103+
}
5104+
5105+
self.smile_setup = "p1v4_442_single"
5106+
server, smile, client = await self.connect_wrapper()
5107+
assert smile.smile_hostname == "smile000000"
5108+
5109+
_LOGGER.info("Basics:")
5110+
_LOGGER.info(" # Assert type = power")
5111+
assert smile.smile_type == "power"
5112+
_LOGGER.info(" # Assert version")
5113+
assert smile.smile_version[0] == "4.4.0"
5114+
_LOGGER.info(" # Assert legacy")
5115+
assert not smile._smile_legacy
5116+
5117+
await self.device_test(smile, testdata)
5118+
assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3"
5119+
assert self.device_items == 31
5120+
assert not self.notifications
5121+
5122+
await smile.close_connection()
5123+
await self.disconnect(server, client)
5124+
5125+
@pytest.mark.asyncio
5126+
async def test_connect_p1v4_442_triple(self):
5127+
"""Test a P1 firmware 4 3-phase setup."""
5128+
testdata = {
5129+
"03e65b16e4b247a29ae0d75a78cb492e": {
5130+
"dev_class": "gateway",
5131+
"firmware": "4.4.0",
5132+
"hardware": "AME Smile 2.0 board",
5133+
"location": "03e65b16e4b247a29ae0d75a78cb492e",
5134+
"mac_address": "012345670001",
5135+
"model": "Gateway",
5136+
"name": "Smile P1",
5137+
"vendor": "Plugwise",
5138+
"binary_sensors": {"plugwise_notification": False},
5139+
},
5140+
"b82b6b3322484f2ea4e25e0bd5f3d61f": {
5141+
"dev_class": "smartmeter",
5142+
"location": "03e65b16e4b247a29ae0d75a78cb492e",
5143+
"model": "XMX5LGF0010453051839",
5144+
"name": "P1",
5145+
"vendor": "XEMEX NV",
5146+
"available": True,
5147+
"sensors": {
5148+
"net_electricity_point": 2422,
5149+
"electricity_consumed_peak_point": 2422,
5150+
"electricity_consumed_off_peak_point": 0,
5151+
"net_electricity_cumulative": 220806.738,
5152+
"electricity_consumed_peak_cumulative": 154585.221,
5153+
"electricity_consumed_off_peak_cumulative": 66221.517,
5154+
"electricity_consumed_peak_interval": 0,
5155+
"electricity_consumed_off_peak_interval": 0,
5156+
"electricity_produced_peak_point": 0,
5157+
"electricity_produced_off_peak_point": 0,
5158+
"electricity_produced_peak_cumulative": 0.0,
5159+
"electricity_produced_off_peak_cumulative": 0.0,
5160+
"electricity_produced_peak_interval": 0,
5161+
"electricity_produced_off_peak_interval": 0,
5162+
"electricity_phase_one_consumed": 0,
5163+
"electricity_phase_two_consumed": 0,
5164+
"electricity_phase_three_consumed": 0,
5165+
"electricity_phase_one_produced": 1737,
5166+
"electricity_phase_two_produced": 200,
5167+
"electricity_phase_three_produced": 486,
5168+
"gas_consumed_cumulative": 15263.4,
5169+
"gas_consumed_interval": 0.0,
5170+
"voltage_phase_one": 230.3,
5171+
"voltage_phase_two": 232.8,
5172+
"voltage_phase_three": 232.6,
5173+
},
5174+
},
5175+
}
5176+
5177+
self.smile_setup = "p1v4_442_triple"
5178+
server, smile, client = await self.connect_wrapper()
5179+
assert smile.smile_hostname == "smile000000"
5180+
5181+
_LOGGER.info("Basics:")
5182+
_LOGGER.info(" # Assert type = power")
5183+
assert smile.smile_type == "power"
5184+
_LOGGER.info(" # Assert version")
5185+
assert smile.smile_version[0] == "4.4.0"
5186+
_LOGGER.info(" # Assert legacy")
5187+
assert not smile._smile_legacy
5188+
5189+
await self.device_test(smile, testdata)
5190+
assert smile.gateway_id == "03e65b16e4b247a29ae0d75a78cb492e"
5191+
assert self.device_items == 40
5192+
assert not self.notifications
5193+
5194+
await smile.close_connection()
5195+
await self.disconnect(server, client)
5196+
50625197
@pytest.mark.asyncio
50635198
async def test_fail_legacy_system(self):
50645199
"""Test erroneous legacy stretch system."""

0 commit comments

Comments
 (0)