Vacuum Interactive Map Card

@ofeksitbon no, you have to do it separately for each room.

Did you get room numbers from extractor?

I am having the same problem as batja84. I am getting the Custom element doesn’t exist: xiaomi-vacuum-map-card but ONLY with the Home Assistant App on my phone. It works in a web browser just fine. I installed it via HACS.

Ah, I had to completely exit the app on my phone and restart it. It works now. Just reloading within the app doesn’t appear to work.

I’m fairly new to HA. Integrated my Roborock S5 Max earlier today and it worked fine. I’ve been trying the last couple of hours to get this card in my lovelace ui. It’s driving me crazy. I installed it via HACS. Both this and the extractor map thing. I have the card as a resource when I look under the lovelace configuration. But when I try to implicate the card in my lovelace I get “Custom element doesn’t exist: xiaomi-vacuum-map-card.”

What do I do wrong? I’m sooo confused

Can you show your resources?

Here they are. Both cinfiguration.yaml and ui-lovelance

It seems to be ok, can you show your cards config?

Does it look ok? Maybe I’ve done something wrong with the map extractor?

Ok, I think I have found a problem. Please check URL used in resources, you probably misses some map sections (/hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js)

I know have these twonas entities in the list. Earlier I only had the cleaner. Am I right that I know have to locate where the map image are? I’m looking everywhere in the config folder.

Sorry for me being such a dumbass about this…

Obviously I’ve done something wrong but I don’t know what. I understand that this is not how it should look but how do I fix it? :sweat_smile:

If you have installed it using HACS you don’t have to add anything to custom_lovelace. Your problem is that URLs in resources are incorrect (both ones from #619) - they should be:
/hacsfiles/lovelace-xiaomi-vacuum-map-card/xiaomi-vacuum-map-card.js
not:
/hacsfiles/lovelace-xiaomi-vacuum-card/xiaomi-vacuum-card.js

Image from extractor is not available anywhere as a file, you have to use camera entity instead:

type: custom:xiaomi-vacuum-map-card
entity: vacuum.xiaomi_vacuum
map_camera: camera.xiaomi_cloud_map_extractor
map_calibration: true

It finally worked! Thank you so much for your support! Amazing. One last question. The image of the map? Will it change if I clean a different floor in my house? As I have one map for every floor in Mi home.

As far as I remember it will

1 Like

Hi, I also have the same issue with gen 1, nothing you can do I’m afraid, but look at my post there, it may help: Xiaomi Cloud Vacuum Map Extractor

Hi all,

First of all, amazing card, thank you very much!
It is mostly working for me, except for the script part. This might be a question for @3_14
I added this to the card

ignore_zones_limit: true
service: script.vacuum_send_command_multiple_zones

and then I created a script in HA, where I simply tried to paste the contents of this:
https://raw.githubusercontent.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card/master/examples/vacuum_send_command_multiple_zones.yaml

Sadly I get this error when trying to save:
Message malformed: extra keys not allowed @ data[‘vacuum_send_command_multiple_zones’]

I searched on this thread and it seems no one else had this problem yet, so I’m not sure what this could be.

Thanks so much in advance!

If you add it using UI you have to remove a first line and use vacuum_send_command_multiple_zones as entity id

HI. Thank you for this integration. No issues loaded through HACS, current HA: 2020.12.7. Able to load correct map through camera integration however will not accept commands from card interface.

Error:

2020-12-18 20:02:21 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140591194076688] not a valid value for dictionary value @ data['entity_id']
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 135, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1399, in async_call
    processed_data = handler.schema(service_data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 218, in __call__
    return self._exec((Schema(val) for val in self.validators), v)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 340, in _exec
    raise e if self.msg is None else AllInvalid(self.msg, path=path)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/validators.py", line 336, in _exec
    v = func(v)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 817, in validate_callable
    return schema(data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: not a valid value for dictionary value @ data['entity_id']

Can you show your config?

Is there any reason for the scan_interval being 5 seconds in the cloud map extractor? Could I set it to 1 second without hitting any API limit?