22from typing import Any
33from homeassistant .helpers .device_registry import DeviceInfo
44from homeassistant .helpers .entity import Entity
5- from homeassistant .components .sensor .const import SensorDeviceClass , SensorStateClass
5+ from homeassistant .components .sensor .const import SensorDeviceClass , SensorStateClass , UnitOfTime
66
77from victron_mqtt import (
88 Device as VictronVenusDevice ,
@@ -29,7 +29,7 @@ def __init__(
2929 self ._device_info = device_info
3030 self ._attr_unique_id = f"{ type } .victron_mqtt_{ metric .unique_id } "
3131 self .entity_id = self ._attr_unique_id
32- self ._attr_native_unit_of_measurement = metric . unit_of_measurement
32+ self ._attr_native_unit_of_measurement = self . _map_metric_to_unit_of_measurement ( metric )
3333 self ._attr_device_class = self ._map_metric_to_device_class (metric )
3434 self ._attr_state_class = self ._map_metric_to_stateclass (metric )
3535 self ._attr_native_value = metric .value
@@ -110,6 +110,17 @@ def _map_metric_to_stateclass(
110110
111111 return None
112112
113+ def _map_metric_to_unit_of_measurement (
114+ self , metric : VictronVenusMetric
115+ ) -> str | None :
116+ if metric .unit_of_measurement == 's' :
117+ return UnitOfTime .SECONDS
118+ if metric .unit_of_measurement == 'm' :
119+ return UnitOfTime .MINUTES
120+ if metric .unit_of_measurement == 'h' :
121+ return UnitOfTime .HOURS
122+ return metric .unit_of_measurement
123+
113124 @property
114125 def device_info (self ) -> DeviceInfo :
115126 """Return device information about the sensor."""
0 commit comments