Skip to content

Commit c3b3797

Browse files
authored
Merge pull request #331 from plugwise/version_to_model
Fix for #294
2 parents 0ce53a9 + b5edb88 commit c3b3797

File tree

6 files changed

+20
-19
lines changed

6 files changed

+20
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## Ongoing
4+
5+
- Repair coverage/fix testing - #294
6+
37
## V0.31.6: Fix domestic_hot_water_setpoint-related bug for Anna + Elga
48

59
- Add guarding for popping domestic_hot_water_setpoint

fixtures/adam_plus_anna/all_data.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@
9191
"dev_class": "computer_desktop",
9292
"firmware": "2019-06-21T02:00:00+02:00",
9393
"location": "5ccb6c41a7d9403988d261ceee04239f",
94-
"model": "Plug",
9594
"name": "Work-PC",
9695
"sensors": {
9796
"electricity_consumed": 79.8,

plugwise/helper.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -463,22 +463,23 @@ def _get_module_data(
463463
module = self._modules.find(loc)
464464
if module is not None: # pylint: disable=consider-using-assignment-expr
465465
model_data["contents"] = True
466-
model_data["vendor_name"] = module.find("vendor_name").text
467-
if model_data["vendor_name"] == "Plugwise B.V.":
468-
model_data["vendor_name"] = "Plugwise"
466+
if (vendor_name := module.find("vendor_name").text) is not None:
467+
model_data["vendor_name"] = vendor_name
468+
if "Plugwise" in vendor_name:
469+
model_data["vendor_name"] = vendor_name.split(" ", 1)[0]
469470
model_data["vendor_model"] = module.find("vendor_model").text
470471
model_data["hardware_version"] = module.find("hardware_version").text
471472
model_data["firmware_version"] = module.find("firmware_version").text
472473
# Adam
473-
if found := module.find("./protocols/zig_bee_node"):
474-
model_data["zigbee_mac_address"] = found.find("mac_address").text
475-
model_data["reachable"] = found.find("reachable").text == "true"
474+
if zb_node := module.find("./protocols/zig_bee_node"):
475+
model_data["zigbee_mac_address"] = zb_node.find("mac_address").text
476+
model_data["reachable"] = zb_node.find("reachable").text == "true"
476477
# Stretches
477-
if found := module.find("./protocols/network_router"):
478-
model_data["zigbee_mac_address"] = found.find("mac_address").text
478+
if router := module.find("./protocols/network_router"):
479+
model_data["zigbee_mac_address"] = router.find("mac_address").text
479480
# Also look for the Circle+/Stealth M+
480-
if found := module.find("./protocols/network_coordinator"):
481-
model_data["zigbee_mac_address"] = found.find("mac_address").text
481+
if coord := module.find("./protocols/network_coordinator"):
482+
model_data["zigbee_mac_address"] = coord.find("mac_address").text
482483

483484
return model_data
484485

plugwise/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def in_between(
8585
def version_to_model(version: str | None) -> str | None:
8686
"""Translate hardware_version to device type."""
8787

88-
if version is None: # pragma: no cover #294
88+
if version is None:
8989
return version
9090

9191
model = HW_MODELS.get(version)

tests/test_smile.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1529,7 +1529,6 @@ async def test_connect_adam_plus_anna(self):
15291529
"dev_class": "computer_desktop",
15301530
"firmware": "2019-06-21T02:00:00+02:00",
15311531
"location": "5ccb6c41a7d9403988d261ceee04239f",
1532-
"model": "Plug",
15331532
"name": "Work-PC",
15341533
"zigbee_mac_address": "ABCD012345670A02",
15351534
"vendor": "Plugwise",
@@ -1558,7 +1557,7 @@ async def test_connect_adam_plus_anna(self):
15581557

15591558
await self.device_test(smile, testdata)
15601559
assert smile.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94"
1561-
assert self.device_items == 72
1560+
assert self.device_items == 71
15621561
assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications
15631562

15641563
result = await self.tinker_thermostat(
@@ -3925,14 +3924,13 @@ async def test_connect_anna_heatpump_cooling(self):
39253924
assert smile._cooling_active
39263925

39273926
with pytest.raises(pw_exceptions.PlugwiseError):
3928-
result = await self.tinker_thermostat(
3927+
await self.tinker_thermostat(
39293928
smile,
39303929
"c784ee9fdab44e1395b8dee7d7a497d5",
39313930
good_schedules=[
39323931
"standaard",
39333932
],
39343933
)
3935-
assert result
39363934

39373935
await smile.close_connection()
39383936
await self.disconnect(server, client)
@@ -4374,14 +4372,13 @@ async def test_connect_anna_loria_heating_idle(self):
43744372
assert switch_change
43754373

43764374
with pytest.raises(pw_exceptions.PlugwiseError):
4377-
result = await self.tinker_thermostat(
4375+
await self.tinker_thermostat(
43784376
smile,
43794377
"15da035090b847e7a21f93e08c015ebc",
43804378
good_schedules=[
43814379
"Winter",
43824380
],
43834381
)
4384-
assert result
43854382

43864383
await self.tinker_dhw_mode(smile)
43874384

userdata/adam_plus_anna/core.modules.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@
241241
</module>
242242
<module id='72b2aa43d2ea4a33b23ade5e6629de8d'>
243243
<vendor_name>Plugwise</vendor_name>
244-
<vendor_model>160-01</vendor_model>
244+
<vendor_model></vendor_model>
245245
<hardware_version></hardware_version>
246246
<firmware_version>2019-06-21T02:00:00+02:00</firmware_version>
247247
<created_date>2020-02-29T22:56:58.823+01:00</created_date>

0 commit comments

Comments
 (0)