"""Common functions related to sensor device management.""" from __future__ import annotations from typing import TYPE_CHECKING from homeassistant import const from .entity import DeviceInfo if TYPE_CHECKING: # `sensor_state_data` is a second-party library (i.e. maintained by Home Assistant # core members) which is not strictly required by Home Assistant. # Therefore, we import it as a type hint only. from sensor_state_data import SensorDeviceInfo def sensor_device_info_to_hass_device_info( sensor_device_info: SensorDeviceInfo, ) -> DeviceInfo: """Convert a sensor_state_data sensor device info to a HA device info.""" device_info = DeviceInfo() if sensor_device_info.name is not None: device_info[const.ATTR_NAME] = sensor_device_info.name if sensor_device_info.manufacturer is not None: device_info[const.ATTR_MANUFACTURER] = sensor_device_info.manufacturer if sensor_device_info.model is not None: device_info[const.ATTR_MODEL] = sensor_device_info.model return device_info