Skip to content

Commit 7ac0485

Browse files
fix: adding multi_maps_list to device props
1 parent d0ea8f9 commit 7ac0485

File tree

2 files changed

+14
-26
lines changed

2 files changed

+14
-26
lines changed

roborock/api.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from .exceptions import RoborockException, RoborockTimeout, VacuumError
4040
from .roborock_future import RoborockFuture
4141
from .roborock_message import RoborockMessage
42-
from .typing import RoborockCommand, RoborockDeviceProp, RoborockDockSummary
42+
from .typing import RoborockCommand, DeviceProp, DockSummary
4343
from .util import unpack_list
4444

4545
_LOGGER = logging.getLogger(__name__)
@@ -196,8 +196,6 @@ async def get_clean_summary(self, device_id: str) -> CleanSummary | None:
196196
return CleanSummary(
197197
clean_time=clean_time, clean_area=clean_area, clean_count=clean_count, records=records
198198
)
199-
elif isinstance(clean_summary, int):
200-
return CleanSummary(clean_time=clean_summary)
201199
except RoborockTimeout as e:
202200
_LOGGER.error(e)
203201
return None
@@ -247,7 +245,7 @@ async def get_smart_wash_params(self, device_id: str) -> SmartWashParams | None:
247245
_LOGGER.error(e)
248246
return None
249247

250-
async def get_dock_summary(self, device_id: str, dock_type: RoborockEnum) -> RoborockDockSummary | None:
248+
async def get_dock_summary(self, device_id: str, dock_type: RoborockEnum) -> DockSummary | None:
251249
"""Gets the status summary from the dock with the methods available for a given dock.
252250
253251
:param device_id: Device id
@@ -269,18 +267,19 @@ async def get_dock_summary(self, device_id: str, dock_type: RoborockEnum) -> Rob
269267
list(await asyncio.gather(*commands)), 3
270268
)
271269

272-
return RoborockDockSummary(dust_collection_mode, wash_towel_mode, smart_wash_params)
270+
return DockSummary(dust_collection_mode, wash_towel_mode, smart_wash_params)
273271
except RoborockTimeout as e:
274272
_LOGGER.error(e)
275273
return None
276274

277-
async def get_prop(self, device_id: str) -> RoborockDeviceProp | None:
278-
[status, dnd_timer, clean_summary, consumable] = await asyncio.gather(
275+
async def get_prop(self, device_id: str) -> DeviceProp | None:
276+
[status, dnd_timer, clean_summary, consumable, multi_maps_list] = await asyncio.gather(
279277
*[
280278
self.get_status(device_id),
281279
self.get_dnd_timer(device_id),
282280
self.get_clean_summary(device_id),
283281
self.get_consumable(device_id),
282+
self.get_multi_maps_list(device_id)
284283
]
285284
)
286285
last_clean_record = None
@@ -290,13 +289,14 @@ async def get_prop(self, device_id: str) -> RoborockDeviceProp | None:
290289
if status and status.dock_type is not None and status.dock_type != RoborockDockTypeCode["0"]:
291290
dock_summary = await self.get_dock_summary(device_id, status.dock_type)
292291
if any([status, dnd_timer, clean_summary, consumable]):
293-
return RoborockDeviceProp(
292+
return DeviceProp(
294293
status,
295294
dnd_timer,
296295
clean_summary,
297296
consumable,
298297
last_clean_record,
299298
dock_summary,
299+
multi_maps_list
300300
)
301301
return None
302302

roborock/typing.py

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from __future__ import annotations
22

3-
from typing import Optional
43
from dataclasses import dataclass
54
from enum import Enum
5+
from typing import Optional
66

77
from .containers import (
88
CleanRecord,
@@ -13,6 +13,7 @@
1313
SmartWashParams,
1414
Status,
1515
WashTowelMode,
16+
MultiMapsList,
1617
)
1718

1819

@@ -225,31 +226,18 @@ class CommandInfo:
225226

226227

227228
@dataclass
228-
class RoborockDockSummary:
229+
class DockSummary:
229230
dust_collection_mode: Optional[DustCollectionMode] = None
230231
wash_towel_mode: Optional[WashTowelMode] = None
231232
smart_wash_params: Optional[SmartWashParams] = None
232233

233234

234235
@dataclass
235-
class RoborockDeviceProp:
236+
class DeviceProp:
236237
status: Optional[Status] = None
237238
dnd_timer: Optional[DNDTimer] = None
238239
clean_summary: Optional[CleanSummary] = None
239240
consumable: Optional[Consumable] = None
240241
last_clean_record: Optional[CleanRecord] = None
241-
dock_summary: Optional[RoborockDockSummary] = None
242-
243-
def update(self, device_prop: "RoborockDeviceProp"):
244-
if device_prop.status:
245-
self.status = device_prop.status
246-
if device_prop.dnd_timer:
247-
self.dnd_timer = device_prop.dnd_timer
248-
if device_prop.clean_summary:
249-
self.clean_summary = device_prop.clean_summary
250-
if device_prop.consumable:
251-
self.consumable = device_prop.consumable
252-
if device_prop.last_clean_record:
253-
self.last_clean_record = device_prop.last_clean_record
254-
if device_prop.dock_summary:
255-
self.dock_summary = device_prop.dock_summary
242+
dock_summary: Optional[DockSummary] = None
243+
multi_maps_list: Optional[MultiMapsList] = None

0 commit comments

Comments
 (0)