use SensorDeviceClass.ABSOLUTE_HUMIDITY

This commit is contained in:
mib1185 2025-07-16 16:57:40 +00:00
parent fca05f6bcf
commit b5c2d33011
2 changed files with 7 additions and 5 deletions

View File

@ -45,6 +45,7 @@ from homeassistant.components.sensor import (
SensorStateClass,
)
from homeassistant.const import (
CONCENTRATION_GRAMS_PER_CUBIC_METER,
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
DEGREE,
LIGHT_LUX,
@ -459,7 +460,9 @@ class HomematicipTemperatureSensor(HomematicipGenericEntity, SensorEntity):
class HomematicipAbsoluteHumiditySensor(HomematicipGenericEntity, SensorEntity):
"""Representation of the HomematicIP absolute humidity sensor."""
_attr_native_unit_of_measurement = CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER
_attr_device_class = SensorDeviceClass.ABSOLUTE_HUMIDITY
_attr_native_unit_of_measurement = CONCENTRATION_GRAMS_PER_CUBIC_METER
_attr_suggested_unit_of_measurement = CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER
_attr_state_class = SensorStateClass.MEASUREMENT
def __init__(self, hap: HomematicipHAP, device) -> None:
@ -467,7 +470,7 @@ class HomematicipAbsoluteHumiditySensor(HomematicipGenericEntity, SensorEntity):
super().__init__(hap, device, post="Absolute Humidity")
@property
def native_value(self) -> int | None:
def native_value(self) -> float | None:
"""Return the state."""
if self.functional_channel is None:
return None
@ -481,8 +484,7 @@ class HomematicipAbsoluteHumiditySensor(HomematicipGenericEntity, SensorEntity):
):
return None
# Convert from g/m³ to mg/m³
return int(float(value) * 1000)
return round(value, 3)
class HomematicipIlluminanceSensor(HomematicipGenericEntity, SensorEntity):

View File

@ -774,7 +774,7 @@ async def test_hmip_absolute_humidity_sensor(
hass, mock_hap, entity_id, entity_name, device_model
)
assert ha_state.state == "6098"
assert ha_state.state == "6099.0"
async def test_hmip_absolute_humidity_sensor_invalid_value(