Add software version to onewire device info (#136934)

This commit is contained in:
epenet 2025-01-30 21:03:47 +01:00 committed by GitHub
parent b12598d963
commit acb3f4ed78
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 29 additions and 23 deletions

View File

@ -58,6 +58,7 @@ class OneWireHub:
owproxy: protocol._Proxy
devices: list[OWDeviceDescription]
_version: str
def __init__(self, hass: HomeAssistant, config_entry: OneWireConfigEntry) -> None:
"""Initialize."""
@ -73,6 +74,7 @@ class OneWireHub:
port = self._config_entry.data[CONF_PORT]
_LOGGER.debug("Initializing connection to %s:%s", host, port)
self.owproxy = protocol.proxy(host, port)
self._version = self.owproxy.read(protocol.PTH_VERSION).decode()
self.devices = _discover_devices(self.owproxy)
async def initialize(self) -> None:
@ -85,6 +87,7 @@ class OneWireHub:
"""Populate the device registry."""
device_registry = dr.async_get(self._hass)
for device in devices:
device.device_info["sw_version"] = self._version
device_registry.async_get_or_create(
config_entry_id=self._config_entry.entry_id,
**device.device_info,

View File

@ -13,7 +13,9 @@ from .const import ATTR_INJECT_READS, MOCK_OWPROXY_DEVICES
def setup_owproxy_mock_devices(owproxy: MagicMock, device_ids: list[str]) -> None:
"""Set up mock for owproxy."""
dir_side_effect: dict[str, list] = {}
read_side_effect: dict[str, list] = {}
read_side_effect: dict[str, list] = {
"/system/configuration/version": [b"3.2"],
}
# Setup directory listing
dir_side_effect["/"] = [[f"/{device_id}/" for device_id in device_ids]]

View File

@ -15,6 +15,7 @@
'model_id': 'HB_HUB',
'name': 'EF.111111111113',
'serial_number': '111111111113',
'sw_version': '3.2',
}),
'family': 'EF',
'id': 'EF.111111111113',

View File

@ -27,7 +27,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -59,7 +59,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -91,7 +91,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -123,7 +123,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': <ANY>,
})
# ---
@ -155,7 +155,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -187,7 +187,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -219,7 +219,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -251,7 +251,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -283,7 +283,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -315,7 +315,7 @@
'primary_config_entry': <ANY>,
'serial_number': '222222222222',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -347,7 +347,7 @@
'primary_config_entry': <ANY>,
'serial_number': '222222222223',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -379,7 +379,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -411,7 +411,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -443,7 +443,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -475,7 +475,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -507,7 +507,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -539,7 +539,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -571,7 +571,7 @@
'primary_config_entry': <ANY>,
'serial_number': '222222222222',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -603,7 +603,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -635,7 +635,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111111',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -667,7 +667,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111112',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---
@ -699,7 +699,7 @@
'primary_config_entry': <ANY>,
'serial_number': '111111111113',
'suggested_area': None,
'sw_version': None,
'sw_version': '3.2',
'via_device_id': None,
})
# ---