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.12k stars 121 forks source link

The map is not displayed #507

Open shurakenas opened 6 months ago

shurakenas commented 6 months ago

Checklist

The problem

after updating the integration to version 2.2.1, the map does not show

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:898
First occurred: 11:30:50 (80 occurrences)
Last logged: 11:37:22
Update for camera.xiaomi_cloud_map_extractor fails

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 898, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1218, in async_device_update
    await hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.11/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 51, in decode_map
    unzipped = zlib.decompress(base64.decodebytes(raw_map_string.encode("utf8")))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
zlib.error: Error -3 while decompressing data: incorrect header check

What version of an integration has described problem?

v2.2.1

What was the last working version of an integration?

No response

What vacuum model do you have problems with?

dreame.vacuum.p2140o

What version of Home Assistant do you use?

core-2024.1.3

What type of installation are you running?

Home Assistant OS

Camera's configuration

dreame.vacuum.p2140o

camera:
  - platform: xiaomi_cloud_map_extractor
    host: 192.168.XXX.XX
    token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    username: XXXXXXXXXXXXXX
    password: XXXXXXXXXXXXXXXX
    store_map_raw: true
    store_map_path: /config/tmp
    draw: ['all']
    attributes:
      - calibration_points
      - rooms

Errors shown in the HA logs (if applicable)

No response

Additional information

No response

pilot1981 commented 2 weeks ago

this is isssue is uinsolved? I think I have same issue: no map from 6 months? I don't have map in Xiaomi app and in HA...any workaround?

shurakenas commented 2 weeks ago

I went back to version 2.2.0, the map is displayed