2323from roborock .exceptions import (
2424 RoborockException , RoborockTimeout , VacuumError ,
2525)
26- from .code_mappings import WASH_MODE_MAP , DUST_COLLECTION_MAP , RoborockDockType , \
27- RoborockDockDustCollectionType , RoborockDockWashingModeType , STATE_CODE_TO_STATUS
26+ from .code_mappings import RoborockDockType , \
27+ STATE_CODE_TO_STATUS
2828from .containers import (
2929 UserData ,
3030 Status ,
3535 HomeData ,
3636 MultiMapsList ,
3737 SmartWashParameters ,
38- RoborockDeviceInfo ,
38+ RoborockDeviceInfo , WashTowelMode , DustCollectionMode ,
3939
4040)
4141from .roborock_queue import RoborockQueue
@@ -76,17 +76,17 @@ def __init__(self, base_url: str, base_headers: dict = None) -> None:
7676 self .base_headers = base_headers or {}
7777
7878 async def request (
79- self , method : str , url : str , params = None , data = None , headers = None
79+ self , method : str , url : str , params = None , data = None , headers = None
8080 ) -> dict | list :
8181 _url = "/" .join (s .strip ("/" ) for s in [self .base_url , url ])
8282 _headers = {** self .base_headers , ** (headers or {})}
8383 async with aiohttp .ClientSession () as session :
8484 async with session .request (
85- method ,
86- _url ,
87- params = params ,
88- data = data ,
89- headers = _headers ,
85+ method ,
86+ _url ,
87+ params = params ,
88+ data = data ,
89+ headers = _headers ,
9090 ) as resp :
9191 return await resp .json ()
9292
@@ -249,7 +249,7 @@ async def _async_response(self, request_id: int, protocol_id: int = 0) -> tuple[
249249 del self ._waiting_queue [request_id ]
250250
251251 def _get_payload (
252- self , method : RoborockCommand , params : list = None , secured = False
252+ self , method : RoborockCommand , params : list = None , secured = False
253253 ):
254254 timestamp = math .floor (time .time ())
255255 request_id = self ._id_counter
@@ -276,7 +276,7 @@ def _get_payload(
276276 return request_id , timestamp , payload
277277
278278 async def send_command (
279- self , device_id : str , method : RoborockCommand , params : list = None
279+ self , device_id : str , method : RoborockCommand , params : list = None
280280 ):
281281 raise NotImplementedError
282282
@@ -323,17 +323,19 @@ async def get_consumable(self, device_id: str) -> Consumable:
323323 except RoborockTimeout as e :
324324 _LOGGER .error (e )
325325
326- async def get_washing_mode (self , device_id : str ) -> RoborockDockWashingModeType :
326+ async def get_washing_mode (self , device_id : str ) -> WashTowelMode :
327327 try :
328328 washing_mode = await self .send_command (device_id , RoborockCommand .GET_WASH_TOWEL_MODE )
329- return WASH_MODE_MAP .get (washing_mode ['wash_mode' ])
329+ if isinstance (washing_mode , dict ):
330+ return WashTowelMode (washing_mode )
330331 except RoborockTimeout as e :
331332 _LOGGER .error (e )
332333
333- async def get_dust_collection_mode (self , device_id : str ) -> RoborockDockDustCollectionType :
334+ async def get_dust_collection_mode (self , device_id : str ) -> DustCollectionMode :
334335 try :
335336 dust_collection = await self .send_command (device_id , RoborockCommand .GET_DUST_COLLECTION_MODE )
336- return DUST_COLLECTION_MAP .get (dust_collection ['mode' ])
337+ if isinstance (dust_collection , dict ):
338+ return DustCollectionMode (dust_collection )
337339 except RoborockTimeout as e :
338340 _LOGGER .error (e )
339341
0 commit comments