Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor: Map Extractor don't work for dreame.vacuum.p2114o

Checklist

  • I have updated the integration to the latest version available
  • I have checked if the problem is already reported

The problem

I installed Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor but it’s not working, my vacuum is dreame.vacuum.p2114o, does this mean that it’s not supported yet?

map_data_dreame.vacuum.p2114o.b64.zip

What version of am integration has described problem?

v2.2.0

What was the last working version of an integration?

No response

What vacuum model do you have problems with?

dreame.vacuum.p2114o

What version of Home Assistant do you use?

2022.6.7

What type of installation are you running?

Home Assistant Core

Camera’s configuration

camera:
  - platform: xiaomi_cloud_map_extractor
    host: !secret xiaomi_vacuum_host
    token: !secret xiaomi_vacuum_token
    username: !secret xiaomi_cloud_username
    password: !secret xiaomi_cloud_password
    name: "xiaomi Vacuum Camera"
    draw: ['all']
    attributes:
      - calibration_points

Errors shown in the HA logs (if applicable)

Traceback (most recent call last):
  File "/data/ym/git/opensource/homeassistant/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 515, in async_update_ha_state
    await self.async_device_update()
  File "/data/ym/git/opensource/homeassistant/lib/python3.9/site-packages/homeassistant/helpers/entity.py", line 743, in async_device_update
    raise exc
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/yang/.homeassistant/custom_components/xiaomi_cloud_map_extractor/camera.py", line 278, in update
    self._handle_map_data(map_name)
  File "/home/yang/.homeassistant/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 "/home/yang/.homeassistant/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 "/home/yang/.homeassistant/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 "/home/yang/.homeassistant/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

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 18 (4 by maintainers)

Most upvoted comments

Unfortunately dreamy-vacuum integration does not work for my p2140p, so my only option is to retrive this key and modify map_parser 😕 Any help with retriving the key would be appreciated.

xiaomi_cloud_map_extractor.zip

This is my hardcoded patch from the latest version v.2.2.0.

btw I also hardcoded the country (sg) in get_otherinfo function from xiaomi_cloud_connectior.py so update it accordingly 😃

for those who wanted to access Home Assistant online try this https://github.com/phit666/tunnel-proxy, sorry for hijacking this thread.

Can you try if any of these work? force_api: roidmi or force_api: viomi

I’ve tried all the apis but none of them work…