From 913bc827ba6c8b0cbc6632d16de6a856bdb51068 Mon Sep 17 00:00:00 2001 From: shbatm Date: Sat, 14 Jan 2023 16:28:57 -0600 Subject: [PATCH] Bump PyISY to 3.1.5 and fix bad Z-Wave properties from eisy (#85900) --- homeassistant/components/isy994/helpers.py | 20 +++++++++---------- homeassistant/components/isy994/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/homeassistant/components/isy994/helpers.py b/homeassistant/components/isy994/helpers.py index 70f2abfe39e..900a7e59d51 100644 --- a/homeassistant/components/isy994/helpers.py +++ b/homeassistant/components/isy994/helpers.py @@ -280,32 +280,32 @@ def _is_sensor_a_binary_sensor(isy_data: IsyData, node: Group | Node) -> bool: def _generate_device_info(node: Node) -> DeviceInfo: """Generate the device info for a root node device.""" isy = node.isy - basename = node.name device_info = DeviceInfo( identifiers={(DOMAIN, f"{isy.uuid}_{node.address}")}, - manufacturer=node.protocol, - name=f"{basename} ({(str(node.address).rpartition(' ')[0] or node.address)})", + manufacturer=node.protocol.title(), + name=node.name, via_device=(DOMAIN, isy.uuid), configuration_url=isy.conn.url, suggested_area=node.folder, ) # ISYv5 Device Types can provide model and manufacturer - model: str = "Unknown" + model: str = str(node.address).rpartition(" ")[0] or node.address if node.node_def_id is not None: - model = str(node.node_def_id) + model += f": {node.node_def_id}" # Numerical Device Type if node.type is not None: model += f" ({node.type})" # Get extra information for Z-Wave Devices - if node.protocol == PROTO_ZWAVE: - device_info[ATTR_MANUFACTURER] = f"Z-Wave MfrID:{node.zwave_props.mfr_id}" + if node.protocol == PROTO_ZWAVE and node.zwave_props.mfr_id != "0": + device_info[ + ATTR_MANUFACTURER + ] = f"Z-Wave MfrID:{int(node.zwave_props.mfr_id):#0{6}x}" model += ( - f" Type:{node.zwave_props.devtype_gen} " - f"ProductTypeID:{node.zwave_props.prod_type_id} " - f"ProductID:{node.zwave_props.product_id}" + f"Type:{int(node.zwave_props.prod_type_id):#0{6}x} " + f"Product:{int(node.zwave_props.product_id):#0{6}x}" ) device_info[ATTR_MODEL] = model diff --git a/homeassistant/components/isy994/manifest.json b/homeassistant/components/isy994/manifest.json index 267285aca2a..2cbf6863107 100644 --- a/homeassistant/components/isy994/manifest.json +++ b/homeassistant/components/isy994/manifest.json @@ -3,7 +3,7 @@ "name": "Universal Devices ISY/IoX", "integration_type": "hub", "documentation": "https://www.home-assistant.io/integrations/isy994", - "requirements": ["pyisy==3.1.4"], + "requirements": ["pyisy==3.1.5"], "codeowners": ["@bdraco", "@shbatm"], "config_flow": true, "ssdp": [ diff --git a/requirements_all.txt b/requirements_all.txt index ffcb437641c..06374314f61 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1696,7 +1696,7 @@ pyirishrail==0.0.2 pyiss==1.0.1 # homeassistant.components.isy994 -pyisy==3.1.4 +pyisy==3.1.5 # homeassistant.components.itach pyitachip2ir==0.0.7 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index a470adc1397..1dc14713b97 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1215,7 +1215,7 @@ pyiqvia==2022.04.0 pyiss==1.0.1 # homeassistant.components.isy994 -pyisy==3.1.4 +pyisy==3.1.5 # homeassistant.components.kaleidescape pykaleidescape==1.0.1