Xiaomi Cloud Vacuum Map Extractor

Unfortunately I don’t own a Dreame vacuum, my previous tip was not based on own experience…

Good luck anyway.

1 Like

Hello,

Can you add support for this?
image

Thanks

Submit a PR, thx!

Anyone experienced this? Map looks fine until I restart Xiaomi map cloud extractor. The right side of the vacuum map is cut off after that, zooming out shows this:

Lovelace config:

type: custom:xiaomi-vacuum-map-card
entity: vacuum.roborock_s5
vacuum_platform: default
map_source:
  camera: camera.vacuum_map_upstairs
calibration_source:
  camera: true
map_locked: true
two_finger_pan: true

This only affects my S5, while the map for S7 never gets affected.

Look 13 posts up. The answer is just one post thereafter and another reply to the issue can be found only 3 posts above yours… :crazy_face:

Does it look the same in dev tools?

Look 13 posts up. The answer is just one post thereafter and another reply to the issue can be found only 3 posts above yours… :crazy_face:

This issue is about the UI not about problems with the map. I know about this It bothers me a little but I can live with it for now. My issue is with the map.

Does it look the same in dev tools?

Do you mean in here?:

access_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
calibration_points:
  - vacuum:
      x: 25500
      'y': 25500
    map:
      x: 108
      'y': 165
  - vacuum:
      x: 26500
      'y': 25500
    map:
      x: 168
      'y': 165
  - vacuum:
      x: 25500
      'y': 26500
    map:
      x: 108
      'y': 105
no_go_areas:
  - x0: 27750
    y0: 23500
    x1: 30100
    y1: 23500
    x2: 30100
    y2: 22550
    x3: 27750
    y3: 22550
room_numbers:
  '1': null
  '2': null
  '3': null
  '4': null
  '5': null
rooms:
  '1':
    x0: 25000
    y0: 22600
    x1: 26600
    y1: 24950
  '2':
    x0: 26650
    y0: 22600
    x1: 29850
    y1: 25150
  '3':
    x0: 29700
    y0: 22600
    x1: 31250
    y1: 25000
  '4':
    x0: 28800
    y0: 24450
    x1: 31250
    y1: 27250
  '5':
    x0: 25050
    y0: 24950
    x1: 27950
    y1: 27800
model: roborock.vacuum.s5
used_api: xiaomi
entity_picture: >-
  /api/camera_proxy/camera.vacuum_map_upstairs?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
friendly_name: Vacuum Map Upstairs
supported_features: 1

Do you mean in here?:

Yeah, when you open camera preview here does the image look the same as in the card?

Yes, it looks exactly the same.

Can you show camera’s config? Does it look ok in Xiaomi Home?

No need, you pointed me in the right direction. I had old config there for map transformation which I forgot to change. It’s all good now, big thanks.

Good job on the whole project, keep it up.

1 Like

Hi, I have a weird issue with the camera setup, downloading the map.

I clearly see the errors in the log which says, failed to login!

2022-05-02 17:11:38 DEBUG (SyncWorker_10) [custom_components.xiaomi_cloud_map_extractor.camera] Logging in…
2022-05-02 17:11:39 DEBUG (SyncWorker_10) custom_components.xiaomi_cloud_map_extractor.camera] Failed to log in
2022-05-02 17:11:39 DEBUG (SyncWorker_10) [custom_components.xiaomi_cloud_map_extractor.camera] Retrieving map name from device
2022-05-02 17:11:39 DEBUG (SyncWorker_10) [custom_components.xiaomi_cloud_map_extractor.camera] Map name robomap%2F261169722%2F13
2022-05-02 17:11:39 DEBUG (SyncWorker_10) [custom_components.xiaomi_cloud_map_extractor.camera] Unable to retrieve map, reasons: Logged in - False, map name - robomap%2F261169722%2F13, device retrieved - False

config for the extractor is

camera:

  • platform: xiaomi_cloud_map_extractor
    host: xxx.xxx.xxx.xxx.
    token: “4xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa”
    username: xxxxxxxxxxxxx
    password: xxxxxxxxxxxx
    name: “Doty”
    draw: [‘all’]
    attributes:
    • calibration_points

I have already change region to “de” in the app and I have also reseted the vacuum, when I compare the token using the token extractor app it is the same which i have in the config.
I can control the vacuum using the commands. Maybe I am missing something i cannot see.
If anyone can help I will appreciate.

The problem seems to be in connection from HA to Xiaomi Cloud. Make yourself sure that you have provided correct credentials and network traffic is not blocked somewhere. Token and host are ok, because map_name is retrieved correctly.

Hi,

Credentials are ok, they are the same I used for the integration which is working properly, I cannot see anything blocked in my router, i will keep on checking.

Maybe there’s something introduced by the yaml itself? (e.g. backslash)
https://blogs.perl.org/users/tinita/2018/03/strings-in-yaml---to-quote-or-not-to-quote.html

I have check this also, there is no back slash or anything of this sort, the only think is the " " in the token but I have also tested without the " " as well, same result.

for now I only have the basic camera config as per the guide to test it out.

brs

Hi, just found what was causing the issue. My username is my phone number, so it has to be input with " " in the config file. Now Maps is loading.

1 Like

guys having some trouble getting my Roborock S7 map to show

Im using lovelace / YAML mode

I followed this guide Part 1: How to Setup & Configure Roborock S7 with Home Assistant - Smart Home Pursuits

My home assistant server IP is 192.168.1.60

My configuration.yaml has

camera:

  • platform: xiaomi_cloud_map_extractor
    host: 192.168.1.60
    token: **********************************************
    username: *******@gmail.com
    password: *****
    draw: [‘all’]
    attributes:
    • calibration_points

My lovelace file has

  - type: custom:xiaomi-vacuum-map-card
    title: Mapping
    view_layout:
      grid-area: map
    card_mod:
      class: header
    language: GB
    entity: vacuum.roborock_vacuum_a15
    map_source:
      camera: camera.xiaomi_cloud_map_extractor
    calibration_source:
      camera: true

I can control the robot and see all its sensors

i get this on the mapping however…

image

any ideas?

Confirm that both token and host are the same as in token extractor. Then you can try restarting your vacuum