@@ -399,34 +399,39 @@ async def async_locate(self, **kwargs):
399399 await self .vacuum .async_set ({code : False })
400400 else :
401401 await self .vacuum .async_set ({code : True })
402+ asyncio .create_task (self .async_forced_update ())
402403
403404 async def async_return_to_base (self , ** kwargs ):
404405 """Set the vacuum cleaner to return to the dock."""
405406 _LOGGER .info ("Return home Pressed" )
406407 await self .vacuum .async_set (
407408 {self ._tuya_command_codes [RobovacCommand .RETURN_HOME ]: True }
408409 )
410+ asyncio .create_task (self .async_forced_update ())
409411
410412 async def async_start (self , ** kwargs ):
411- self ._attr_mode = "auto"
412413 await self .vacuum .async_set (
413- {self ._tuya_command_codes [RobovacCommand .MODE ]: self . mode }
414+ {self ._tuya_command_codes [RobovacCommand .START_PAUSE ]: True }
414415 )
416+ asyncio .create_task (self .async_forced_update ())
415417
416418 async def async_pause (self , ** kwargs ):
417419 await self .vacuum .async_set (
418- {self ._tuya_command_codes [RobovacCommand .PAUSE ]: False }
420+ {self ._tuya_command_codes [RobovacCommand .START_PAUSE ]: False }
419421 )
422+ asyncio .create_task (self .async_forced_update ())
420423
421424 async def async_stop (self , ** kwargs ):
422425 await self .async_return_to_base ()
426+ asyncio .create_task (self .async_forced_update ())
423427
424428 async def async_clean_spot (self , ** kwargs ):
425429 """Perform a spot clean-up."""
426430 _LOGGER .info ("Spot Clean Pressed" )
427431 await self .vacuum .async_set (
428432 {self ._tuya_command_codes [RobovacCommand .MODE ]: "Spot" }
429433 )
434+ asyncio .create_task (self .async_forced_update ())
430435
431436 async def async_set_fan_speed (self , fan_speed , ** kwargs ):
432437 """Set fan speed."""
@@ -438,6 +443,7 @@ async def async_set_fan_speed(self, fan_speed, **kwargs):
438443 ]
439444 }
440445 )
446+ asyncio .create_task (self .async_forced_update ())
441447
442448 async def async_send_command (
443449 self , command : str , params : dict | list | None = None , ** kwargs
@@ -480,6 +486,7 @@ async def async_send_command(
480486 base64_str = base64 .b64encode (json_str .encode ("utf8" )).decode ("utf8" )
481487 _LOGGER .info ("roomClean call %s" , json_str )
482488 await self .vacuum .async_set ({"124" : base64_str })
489+ asyncio .create_task (self .async_forced_update ())
483490
484491 async def async_will_remove_from_hass (self ):
485492 await self .vacuum .async_disable ()
0 commit comments