PiotrMachowski / Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor

This custom integration provides a way to present a live view of a map for Xiaomi (Roborock/Viomi/Roidmi/Dreame) vacuums without a need for rooting.
MIT License
1.14k stars 121 forks source link

Request support for Dreame S10 (China Version) / L10S (Global Version) #401

Closed vunshiung closed 1 year ago

vunshiung commented 1 year ago

Checklist

What vacuum model do you want to be supported?

dreame.vacuum.r2228

What is its name?

Dreame S10/L10s

Available APIs

Errors shown in the HA logs (if applicable)

2023-02-06 22:44:24.557 DEBUG (SyncWorker_12) [custom_components.xiaomi_cloud_map_extractor.dreame.map_data_parser] parse image for map rism
2023-02-06 22:44:24.652 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.xiaomi_cloud_map_extractor fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 548, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 746, in async_device_update
    raise exc
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 278, in update
    self._handle_map_data(map_name)
  File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 335, in _handle_map_data
    map_data, map_stored = self._device.get_map(map_name, self._colors, self._drawables, self._texts,
  File "/config/custom_components/xiaomi_cloud_map_extractor/common/vacuum.py", line 36, in get_map
    map_data = self.decode_map(response, colors, drawables, texts, sizes, image_config)
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/vacuum.py", line 24, in decode_map
    return MapDataParserDreame.decode_map(raw_map_string, colors, drawables, texts, sizes, image_config)
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/map_data_parser.py", line 52, in decode_map
    return MapDataParserDreame.parse(unzipped, colors, drawables, texts, sizes, image_config, map_data_type)
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/map_data_parser.py", line 80, in parse
    rism_map_data = MapDataParserDreame.decode_map(
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/map_data_parser.py", line 52, in decode_map
    return MapDataParserDreame.parse(unzipped, colors, drawables, texts, sizes, image_config, map_data_type)
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/map_data_parser.py", line 75, in parse
    map_data.image, map_data.rooms = MapDataParserDreame.parse_image(image_raw, header, colors, image_config,
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/map_data_parser.py", line 154, in parse_image
    image, image_rooms = ImageHandlerDreame.parse(image_raw, header, colors, image_config, map_data_type)
  File "/config/custom_components/xiaomi_cloud_map_extractor/dreame/image_handler.py", line 81, in parse
    default = ImageHandler.ROOM_COLORS[segment_id >> 1]
IndexError: list index out of range
2023-02-06 22:44:29.024 WARNING (MainThread) [homeassistant.components.media_player] Updating aquostv media_player took longer than the scheduled update interval 0:00:10
2023-02-06 22:44:29.053 INFO (MainThread) [custom_components.xiaomi_miot_raw.basic_dev_class] Error getting Vacuum Robot 's property 'vacuum_room_ids' (code: -1)
2023-02-06 22:44:29.177 DEBUG (SyncWorker_8) [custom_components.xiaomi_cloud_map_extractor.camera] Retrieving map from Xiaomi cloud

Other info

No response

PiotrMachowski commented 1 year ago

Duplicate of #335