Allow enum as MQTT sensor device_class (#89391)

This commit is contained in:
Jan Bouwhuis 2023-03-08 22:35:06 +01:00 committed by Paulus Schoutsen
parent 04e4a644cb
commit f1e114380a
2 changed files with 3 additions and 1 deletions

View file

@ -281,7 +281,7 @@ class MqttSensor(MqttEntity, RestoreSensor):
else:
self._attr_native_value = new_value
return
if self.device_class is None:
if self.device_class in {None, SensorDeviceClass.ENUM}:
self._attr_native_value = new_value
return
if (payload_datetime := dt_util.parse_datetime(new_value)) is None:

View file

@ -135,6 +135,8 @@ async def test_setting_sensor_value_via_mqtt_message(
False,
),
(sensor.SensorDeviceClass.TIMESTAMP, "invalid", STATE_UNKNOWN, True),
(sensor.SensorDeviceClass.ENUM, "some_value", "some_value", False),
(None, "some_value", "some_value", False),
],
)
async def test_setting_sensor_native_value_handling_via_mqtt_message(