1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-08 17:49:37 +01:00

[esphome] add missing mapping of state class MEASUREMENT_ANGLE (#161464)

This commit is contained in:
Thomas Rupprecht
2026-01-27 21:13:02 +01:00
committed by GitHub
parent 70e84526cc
commit f72a70a549
2 changed files with 40 additions and 0 deletions
@@ -63,6 +63,7 @@ _STATE_CLASSES: EsphomeEnumMapper[EsphomeSensorStateClass, SensorStateClass | No
EsphomeSensorStateClass.MEASUREMENT: SensorStateClass.MEASUREMENT,
EsphomeSensorStateClass.TOTAL_INCREASING: SensorStateClass.TOTAL_INCREASING,
EsphomeSensorStateClass.TOTAL: SensorStateClass.TOTAL,
EsphomeSensorStateClass.MEASUREMENT_ANGLE: SensorStateClass.MEASUREMENT_ANGLE,
}
)
)
+39
View File
@@ -162,6 +162,45 @@ async def test_generic_numeric_sensor_state_class_measurement(
assert state is not None
assert state.state == "50"
assert state.attributes[ATTR_STATE_CLASS] == SensorStateClass.MEASUREMENT
assert state.attributes[ATTR_DEVICE_CLASS] == SensorDeviceClass.POWER
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == UnitOfPower.WATT
entry = entity_registry.async_get("sensor.test_my_sensor")
assert entry is not None
# Note that ESPHome includes the EntityInfo type in the unique id
# as this is not a 1:1 mapping to the entity platform (ie. text_sensor)
assert entry.unique_id == "11:22:33:44:55:AA-sensor-mysensor"
assert entry.entity_category is None
async def test_generic_numeric_sensor_state_class_measurement_angle(
hass: HomeAssistant,
entity_registry: er.EntityRegistry,
mock_client: APIClient,
mock_generic_device_entry: MockGenericDeviceEntryType,
) -> None:
"""Test a generic sensor entity."""
entity_info = [
SensorInfo(
object_id="mysensor",
key=1,
name="my sensor",
state_class=ESPHomeSensorStateClass.MEASUREMENT_ANGLE,
unit_of_measurement="°",
)
]
states = [SensorState(key=1, state=50)]
user_service = []
await mock_generic_device_entry(
mock_client=mock_client,
entity_info=entity_info,
user_service=user_service,
states=states,
)
state = hass.states.get("sensor.test_my_sensor")
assert state is not None
assert state.state == "50"
assert state.attributes[ATTR_STATE_CLASS] == SensorStateClass.MEASUREMENT_ANGLE
assert state.attributes[ATTR_UNIT_OF_MEASUREMENT] == "°"
entry = entity_registry.async_get("sensor.test_my_sensor")
assert entry is not None
# Note that ESPHome includes the EntityInfo type in the unique id