diff --git a/homeassistant/components/demo/vacuum.py b/homeassistant/components/demo/vacuum.py index 39413a1b9f7..a5cffed1be8 100644 --- a/homeassistant/components/demo/vacuum.py +++ b/homeassistant/components/demo/vacuum.py @@ -22,6 +22,7 @@ from homeassistant.components.vacuum import ( StateVacuumEntity, VacuumEntity, ) +from homeassistant.helpers import event SUPPORT_MINIMAL_SERVICES = SUPPORT_TURN_ON | SUPPORT_TURN_OFF @@ -328,7 +329,7 @@ class StateDemoVacuum(StateVacuumEntity): self._state = STATE_RETURNING self.schedule_update_ha_state() - self.hass.loop.call_later(30, self.__set_state_to_dock) + event.call_later(self.hass, 30, self.__set_state_to_dock) def clean_spot(self, **kwargs): """Perform a spot clean-up.""" @@ -349,6 +350,6 @@ class StateDemoVacuum(StateVacuumEntity): self._fan_speed = fan_speed self.schedule_update_ha_state() - def __set_state_to_dock(self): + def __set_state_to_dock(self, _): self._state = STATE_DOCKED self.schedule_update_ha_state() diff --git a/tests/components/demo/test_vacuum.py b/tests/components/demo/test_vacuum.py index d07d7b3d4b2..3c0f40069dc 100644 --- a/tests/components/demo/test_vacuum.py +++ b/tests/components/demo/test_vacuum.py @@ -1,4 +1,6 @@ """The tests for the Demo vacuum platform.""" +from datetime import timedelta + import pytest from homeassistant.components import vacuum @@ -35,8 +37,9 @@ from homeassistant.const import ( STATE_ON, ) from homeassistant.setup import async_setup_component +from homeassistant.util import dt -from tests.common import async_mock_service +from tests.common import async_fire_time_changed, async_mock_service from tests.components.vacuum import common ENTITY_VACUUM_BASIC = f"{DOMAIN}.{DEMO_VACUUM_BASIC}".lower() @@ -175,6 +178,11 @@ async def test_methods(hass): state = hass.states.get(ENTITY_VACUUM_STATE) assert state.state == STATE_RETURNING + async_fire_time_changed(hass, dt.utcnow() + timedelta(seconds=31)) + await hass.async_block_till_done() + state = hass.states.get(ENTITY_VACUUM_STATE) + assert state.state == STATE_DOCKED + await common.async_set_fan_speed( hass, FAN_SPEEDS[-1], entity_id=ENTITY_VACUUM_STATE )