diff --git a/homeassistant/helpers/entity.py b/homeassistant/helpers/entity.py index e5ef3bd4574..9640901ae7a 100644 --- a/homeassistant/helpers/entity.py +++ b/homeassistant/helpers/entity.py @@ -698,10 +698,13 @@ class Entity(ABC): If state is changed more than once before the ha state change task has been executed, the intermediate state transitions will be missed. """ - self.hass.create_task( - self.async_update_ha_state(force_refresh), - f"Entity {self.entity_id} schedule update ha state", - ) + if force_refresh: + self.hass.create_task( + self.async_update_ha_state(force_refresh), + f"Entity {self.entity_id} schedule update ha state", + ) + else: + self.hass.loop.call_soon_threadsafe(self.async_write_ha_state) @callback def async_schedule_update_ha_state(self, force_refresh: bool = False) -> None: