Perfect thank. . This there an way to make the room color transparent, and just show the robo and live cleaning path. I got my own 3D map layout under the current robo map so I don’t really want the room color to show up.
Hey, thanks for your work. Somehow my map stopped working and i can’t figure it out. My lovelace card
type: 'custom:xiaomi-vacuum-map-card'
entity: vacuum.xiaomi_vacuum_cleaner_2
map_camera: camera.s5_max_camera
camera_calibration: true
This was working before and suddenly it stopped a few days ago. I have this error in my log also:
2021-02-06 16:47:19 WARNING (MainThread) [homeassistant.components.camera] The websocket command 'camera_thumbnail' has been deprecated
2021-02-06 16:47:23 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.s5_max_camera fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
raise exc
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 200, in update
self._sizes, self._image_config)
File "/config/custom_components/xiaomi_cloud_map_extractor/xiaomi_cloud_connector.py", line 134, in get_map
if map_name is None:
File "/config/custom_components/xiaomi_cloud_map_extractor/map_data_parser.py", line 81, in parse
ImageHandler.draw_texts(map_data.image, texts)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 193, in draw_texts
ImageHandler.__draw_text__(image, text_config[CONF_TEXT], x, y, text_config[CONF_COLOR],
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 245, in __draw_text__
ImageHandler.__draw_on_new_layer__(image, draw_func)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 259, in __draw_on_new_layer__
draw_function(draw)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 236, in draw_func
font = ImageFont.truetype(font_file, font_size)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 852, in truetype
return freetype(font)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 849, in freetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 173, in __init__
freetype_version = parse_version(features.version_module("freetype2"))
File "/usr/local/lib/python3.8/site-packages/packaging/version.py", line 57, in parse
return Version(version)
File "/usr/local/lib/python3.8/site-packages/packaging/version.py", line 296, in __init__
match = self._regex.search(version)
TypeError: expected string or bytes-like object
This is a problem with extractor, not with a card. To fix it you have to remove texts from config
Thanks a lot, working again! Send you a coffee
Hello,
Thanks for the work, but I’m stuck while trying to change the color of my map as it’s always in Yellow
I’ve try to change the color of rooms but whitout success
Please provide your config and screenshot of a map
And configuration :
camera:
- platform: xiaomi_cloud_map_extractor
host: *********
token: ***********
username: **********@gmail.com
password: ********
name: NortiSpirateur-map
draw: ['all']
attributes:
- calibration_points
- room_numbers
- rooms
- vacuum_position
- vacuum_room
colors:
color_map_inside: [80, 80, 80]
color_map_outside: [23, 23, 23]
color_map_wall: [255, 255, 255]
color_map_wall_v2: [255, 255, 255]
color_grey_wall: [23, 23, 23]
color_path: [147, 194, 238]
color_goto_path: [0, 255, 0]
color_predicted_path: [255, 255, 0, 0]
color_zones: [80, 80, 80]
color_zones_outline: [0xAD, 0xD8, 0xFF]
color_virtual_walls: [255, 0, 0]
color_no_go_zones: [255, 33, 55, 127]
color_no_go_zones_outline: [255, 0, 0]
color_no_mop_zones: [163, 130, 211, 127]
color_no_mop_zones_outline: [163, 130, 211]
color_charger: [0x66, 0xfe, 0xda, 0x7f]
color_robo: [136, 180, 247]
color_unknown: [0, 0, 0]
color_scan: [80, 80, 80]
room_colors:
1: [80, 80, 80]
map_transformation:
scale: 2
trim:
top: 20
bottom: 20
left: 20
right: 20
Thanks for your help
Can you try to remove all colors from your config (colors
and room_colors
) and send a new screenshot?
Here it is :
I forgot to add, that it’s a S50 vacuum
That is super weird…
Can you try to redefine color for room 9?
room_colors:
9: [80, 80, 80]
Hi @3_14
I am using the Xiaomi Cloud Vacuum Map Extractor and getting the following errors when I try and run it. Sometimes it runs but after I restart HA it gives the following error:
2021-03-05 15:46:00 ERROR (MainThread) [homeassistant.helpers.entity] Update for camera.vacuum_live_map fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 482, in async_device_update
await task
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/xiaomi_cloud_map_extractor/camera.py", line 200, in update
map_data = self._connector.get_map(self._country, map_name, self._colors, self._drawables, self._texts,
File "/config/custom_components/xiaomi_cloud_map_extractor/xiaomi_cloud_connector.py", line 134, in get_map
map_data = MapDataParser.parse(unzipped, colors, drawables, texts, sizes, image_config)
File "/config/custom_components/xiaomi_cloud_map_extractor/map_data_parser.py", line 81, in parse
ImageHandler.draw_texts(map_data.image, texts)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 193, in draw_texts
ImageHandler.__draw_text__(image, text_config[CONF_TEXT], x, y, text_config[CONF_COLOR],
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 245, in __draw_text__
ImageHandler.__draw_on_new_layer__(image, draw_func)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 259, in __draw_on_new_layer__
draw_function(draw)
File "/config/custom_components/xiaomi_cloud_map_extractor/image_handler.py", line 236, in draw_func
font = ImageFont.truetype(font_file, font_size)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 852, in truetype
return freetype(font)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 849, in freetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "/usr/local/lib/python3.8/site-packages/PIL/ImageFont.py", line 173, in __init__
freetype_version = parse_version(features.version_module("freetype2"))
File "/usr/local/lib/python3.8/site-packages/packaging/version.py", line 57, in parse
return Version(version)
File "/usr/local/lib/python3.8/site-packages/packaging/version.py", line 296, in __init__
match = self._regex.search(version)
TypeError: expected string or bytes-like object
Can you please help? thanks
Same result with this config :
camera:
- platform: xiaomi_cloud_map_extractor
host: ********
token: *********
username: *********
password: **********
name: NortiSpirateur-map
draw: ['all']
attributes:
- calibration_points
- room_numbers
- rooms
- vacuum_position
- vacuum_room
# colors:
# color_map_inside: [80, 80, 80]
# color_map_outside: [23, 23, 23]
# color_map_wall: [255, 255, 255]
# color_map_wall_v2: [255, 255, 255]
# color_grey_wall: [23, 23, 23]
# color_path: [147, 194, 238]
# color_goto_path: [0, 255, 0]
# color_predicted_path: [255, 255, 0, 0]
# color_zones: [80, 80, 80]
# color_zones_outline: [0xAD, 0xD8, 0xFF]
# color_virtual_walls: [255, 0, 0]
# color_no_go_zones: [255, 33, 55, 127]
# color_no_go_zones_outline: [255, 0, 0]
# color_no_mop_zones: [163, 130, 211, 127]
# color_no_mop_zones_outline: [163, 130, 211]
# color_charger: [0x66, 0xfe, 0xda, 0x7f]
# color_robo: [136, 180, 247]
# color_unknown: [0, 0, 0]
# color_scan: [80, 80, 80]
room_colors:
9: [80, 80, 80]
map_transformation:
scale: 2
trim:
top: 20
bottom: 20
left: 20
right: 20
@bachoo786 I have replied to a post with the same issue a few posts above
@Norti there is no other similar color in extractor… I have no idea how it is possible…
What software version do you have?
Module version : 1.0.6
HA : 2021.3.1
Roborock : 3.5.8
Not sure if you need an other one
Hi, I have tried to install integration, followed procedure described in the manual through HACS. Integration is installed, and now I try to add camera. I have separate yaml for camera instances and I have added full code in it:
- 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
country:
name: "My Vacuum Camera"
colors:
color_map_inside: [32, 115, 185]
color_map_outside: [19, 87, 148]
color_map_wall: [100, 196, 254]
color_map_wall_v2: [93, 109, 126]
color_grey_wall: [93, 109, 126]
color_path: [147, 194, 238]
color_goto_path: [0, 255, 0]
color_predicted_path: [255, 255, 0, 0]
color_zones: [0xAD, 0xD8, 0xFF, 0x8F]
color_zones_outline: [0xAD, 0xD8, 0xFF]
color_virtual_walls: [255, 0, 0]
color_no_go_zones: [255, 33, 55, 127]
color_no_go_zones_outline: [255, 0, 0]
color_no_mop_zones: [163, 130, 211, 127]
color_no_mop_zones_outline: [163, 130, 211]
color_charger: [0x66, 0xfe, 0xda, 0x7f]
color_robo: [75, 235, 149]
color_unknown: [0, 0, 0]
color_scan: [0xDF, 0xDF, 0xDF]
room_colors:
1: [240, 178, 122]
2: [133, 193, 233]
3: [217, 136, 128]
4: [52, 152, 219]
5: [205, 97, 85]
6: [243, 156, 18]
7: [88, 214, 141]
8: [245, 176, 65]
9: [252, 212, 81]
10: [72, 201, 176]
11: [84, 153, 199]
12: [133, 193, 233]
13: [245, 176, 65]
14: [82, 190, 128]
15: [72, 201, 176]
16: [165, 105, 18]
draw:
- charger
- path
- goto_path
- predicted_path
- no_go_zones
- no_mopping_zones
- vacuum_position
- virtual_walls
- zones
texts:
- text: "Room 1"
x: 25
y: 25
color: [125, 20, 213]
- text: "Room 2"
x: 25
y: 75
color: [125, 20, 213, 127]
font: "FreeSans.ttf"
font_size: 25
map_transformation:
scale: 2
rotate: 180
trim:
top: 10
bottom: 20
left: 30
right: 40
sizes:
charger_radius: 4
vacuum_radius: 6.5
attributes:
- calibration_points
- charger
- country
- goto
- goto_path
- goto_predicted_path
- image
- is_empty
- map_name
- no_go_areas
- no_mopping_areas
- obstacles
- path
- room_numbers
- rooms
- vacuum_position
- vacuum_room
- walls
- zones
scan_interval:
seconds: 10
auto_update: true
I have added required credentials in secrets.yaml. Then I have tried to add camera as picture entity in lovelace using HA visual editor:
type: picture-entity
entity: camera.my_vacuum_camera
camera_view: live
name: XIAOMI VACUUM
camera_image: camera.my_vacuum_camera
But nothing appear. Maybe I’m doing something wrong, please suggest.
thanks
Please use recommended, full config is just to show all available options, it usually shouldn’t be used
thanks to your quick response, I have just changed it to recommended type:
- platform: xiaomi_cloud_map_extractor
name: xiaomi_vacuum_map
host: !secret xiaomi_vacuum_host
token: !secret xiaomi_vacuum_token
username: !secret xiaomi_cloud_username
password: !secret xiaomi_cloud_password
draw: ['all']
attributes:
- calibration_points
restarted HA, but still the same, nothing shown…
Are there any errors in logs?
I use Dwains dashboard and it uses your model.
I miss making a box and telling it to go clean only that. Wonder how much work it is to change out this one with this