Revert "Do not write state if payload is `''`" for MQTT sensor (#81347)

* Revert "Do not write state if payload is ''"

This reverts commit 869c11884e.

* Add test
pull/81357/head^2
Jan Bouwhuis 2022-11-01 16:25:01 +01:00 committed by GitHub
parent 509d5fd69d
commit db0785827f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 2 deletions

View File

@ -271,8 +271,8 @@ class MqttSensor(MqttEntity, RestoreSensor):
)
elif self.device_class == SensorDeviceClass.DATE:
payload = payload.date()
if payload != "":
self._state = payload
self._state = payload
def _update_last_reset(msg):
payload = self._last_reset_template(msg.payload)

View File

@ -313,6 +313,12 @@ async def test_setting_sensor_value_via_mqtt_json_message(
assert state.state == "100"
# Make sure the state is written when a sensor value is reset to ''
async_fire_mqtt_message(hass, "test-topic", '{ "val": "" }')
state = hass.states.get("sensor.test")
assert state.state == ""
async def test_setting_sensor_value_via_mqtt_json_message_and_default_current_state(
hass, mqtt_mock_entry_with_yaml_config