Home Assistant Unofficial Reference 2024.12.1
helpers.py
Go to the documentation of this file.
1 """Provides helpers for RFXtrx."""
2 
3 from RFXtrx import RFXtrxDevice, get_device
4 
5 from homeassistant.core import HomeAssistant, callback
6 from homeassistant.helpers import device_registry as dr
7 
8 from . import get_device_tuple_from_identifiers
9 
10 
11 @callback
12 def async_get_device_object(hass: HomeAssistant, device_id: str) -> RFXtrxDevice:
13  """Get a device for the given device registry id."""
14  device_registry = dr.async_get(hass)
15  registry_device = device_registry.async_get(device_id)
16  if registry_device is None:
17  raise ValueError(f"Device {device_id} not found")
18 
19  device_tuple = get_device_tuple_from_identifiers(registry_device.identifiers)
20  assert device_tuple
21 
22  return get_device(
23  int(device_tuple[0], 16), int(device_tuple[1], 16), device_tuple[2]
24  )
RFXtrxDevice async_get_device_object(HomeAssistant hass, str device_id)
Definition: helpers.py:12
DeviceTuple|None get_device_tuple_from_identifiers(set[tuple[str, str]] identifiers)
Definition: __init__.py:449
DeviceModel|None get_device(int device_id, list[DeviceModel] devices)
Definition: helpers.py:8