feat: force update on command, and switch to using start/pause command

This commit is contained in:
Luke Bonaccorsi 2024-03-07 00:30:32 +00:00
parent be42e7c155
commit 4918c9f7a6
37 changed files with 58 additions and 50 deletions

View File

@ -399,6 +399,7 @@ class RoboVacEntity(StateVacuumEntity):
await self.vacuum.async_set({code: False})
else:
await self.vacuum.async_set({code: True})
asyncio.create_task(self.async_forced_update())
async def async_return_to_base(self, **kwargs):
"""Set the vacuum cleaner to return to the dock."""
@ -406,20 +407,23 @@ class RoboVacEntity(StateVacuumEntity):
await self.vacuum.async_set(
{self._tuya_command_codes[RobovacCommand.RETURN_HOME]: True}
)
asyncio.create_task(self.async_forced_update())
async def async_start(self, **kwargs):
self._attr_mode = "auto"
await self.vacuum.async_set(
{self._tuya_command_codes[RobovacCommand.MODE]: self.mode}
{self._tuya_command_codes[RobovacCommand.START_PAUSE]: True}
)
asyncio.create_task(self.async_forced_update())
async def async_pause(self, **kwargs):
await self.vacuum.async_set(
{self._tuya_command_codes[RobovacCommand.PAUSE]: False}
{self._tuya_command_codes[RobovacCommand.START_PAUSE]: False}
)
asyncio.create_task(self.async_forced_update())
async def async_stop(self, **kwargs):
await self.async_return_to_base()
asyncio.create_task(self.async_forced_update())
async def async_clean_spot(self, **kwargs):
"""Perform a spot clean-up."""
@ -427,6 +431,7 @@ class RoboVacEntity(StateVacuumEntity):
await self.vacuum.async_set(
{self._tuya_command_codes[RobovacCommand.MODE]: "Spot"}
)
asyncio.create_task(self.async_forced_update())
async def async_set_fan_speed(self, fan_speed, **kwargs):
"""Set fan speed."""
@ -438,6 +443,7 @@ class RoboVacEntity(StateVacuumEntity):
]
}
)
asyncio.create_task(self.async_forced_update())
async def async_send_command(
self, command: str, params: dict | list | None = None, **kwargs
@ -480,6 +486,7 @@ class RoboVacEntity(StateVacuumEntity):
base64_str = base64.b64encode(json_str.encode("utf8")).decode("utf8")
_LOGGER.info("roomClean call %s", json_str)
await self.vacuum.async_set({"124": base64_str})
asyncio.create_task(self.async_forced_update())
async def async_will_remove_from_hass(self):
await self.vacuum.async_disable()

View File

@ -17,7 +17,7 @@ class T1250:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2103:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2103:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2117:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2117:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2118:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2118:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2119:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2119:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2120:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2120:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2123:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2123:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2128:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2128:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2130:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2130:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2132:
)
robovac_features = RoboVacEntityFeature.EDGE | RoboVacEntityFeature.SMALL_ROOM
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],
@ -30,7 +30,7 @@ class T2132:
RobovacCommand.RETURN_HOME: 101,
RobovacCommand.FAN_SPEED: {
"code": 102,
"values": ["No_Suction","Standard","Boost_IQ","Max"],
"values": ["No_suction","Standard","Boost_IQ","Max"],
},
RobovacCommand.LOCATE: 103,
RobovacCommand.BATTERY: 104,

View File

@ -17,7 +17,7 @@ class T2150:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2181:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2182:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2190:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2192:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2193:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2194:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2250:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2251:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2252:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2253:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2254:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2255:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2256:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2257:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2258:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2259:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2261:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2262:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2270:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2272:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -17,7 +17,7 @@ class T2273:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -18,7 +18,7 @@ class T2320:
)
robovac_features = RoboVacEntityFeature.CLEANING_TIME | RoboVacEntityFeature.CLEANING_AREA | RoboVacEntityFeature.DO_NOT_DISTURB | RoboVacEntityFeature.AUTO_RETURN | RoboVacEntityFeature.ROOM | RoboVacEntityFeature.ZONE | RoboVacEntityFeature.BOOST_IQ | RoboVacEntityFeature.MAP | RoboVacEntityFeature.CONSUMABLES
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],

View File

@ -32,6 +32,7 @@ from .T2261 import T2261
from .T2262 import T2262
from .T2320 import T2320
ROBOVAC_MODELS = {
"T2103": T2103,
"T2117": T2117,
@ -65,5 +66,5 @@ ROBOVAC_MODELS = {
"T2194": T2194,
"T2261": T2261,
"T2262": T2262,
"T2320": T2320,
}
"T2320": T2320
}

View File

@ -18,7 +18,7 @@ class RoboVacEntityFeature(IntEnum):
class RobovacCommand(StrEnum):
PAUSE = "pause"
START_PAUSE = "start_pause"
DIRECTION = "direction"
MODE = "mode"
STATUS = "status"

View File

@ -84,7 +84,7 @@ const ROBOVAC_SERIES_FEATURES = {
};
const ROBOVAC_SERIES_FAN_SPEEDS = {
C: ["No_Suction", "Standard", "Boost_IQ", "Max"],
C: ["No_suction", "Standard", "Boost_IQ", "Max"],
G: ["Standard", "Turbo", "Max", "Boost_IQ"],
L: ["Quiet", "Standard", "Turbo", "Max"],
X: ["Pure", "Standard", "Turbo", "Max"],
@ -148,7 +148,7 @@ class ${model}:
)
robovac_features = ${robovac_features.join(" | ")}
commands = {
RobovacCommand.PAUSE: 2,
RobovacCommand.START_PAUSE: 2,
RobovacCommand.DIRECTION: {
"code": 3,
"values": ["forward", "back", "left", "right"],