Fix Madvr sensor values on startup (#122479)

* fix: add startup values

* fix: update snap

* fix: use native value to show None
This commit is contained in:
ilan 2024-08-14 16:06:57 -04:00 committed by GitHub
parent aee1be1e64
commit 392f64d33e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 25 additions and 1 deletions

View file

@ -277,4 +277,15 @@ class MadvrSensor(MadVREntity, SensorEntity):
@property
def native_value(self) -> float | str | None:
"""Return the state of the sensor."""
return self.entity_description.value_fn(self.coordinator)
val = self.entity_description.value_fn(self.coordinator)
# check if sensor is enum
if self.entity_description.device_class == SensorDeviceClass.ENUM:
if (
self.entity_description.options
and val in self.entity_description.options
):
return val
# return None for values that are not in the options
return None
return val

View file

@ -93,3 +93,16 @@ async def test_sensor_setup_and_states(
# test get_temperature ValueError
assert get_temperature(None, "temp_key") is None
# test startup placeholder values
update_callback({"outgoing_bit_depth": "0bit"})
await hass.async_block_till_done()
assert (
hass.states.get("sensor.madvr_envy_outgoing_bit_depth").state == STATE_UNKNOWN
)
update_callback({"outgoing_color_space": "?"})
await hass.async_block_till_done()
assert (
hass.states.get("sensor.madvr_envy_outgoing_color_space").state == STATE_UNKNOWN
)