I believe it’s an issues with Roidmi EVE when trying to operate with local request. In case of Roidmi EVA I didn’t faced this issue. But maybe it’s a case for others, so thank you for posting it here.
Ok, as promise putting some updates,
I was able to add few useful buttons for double clean, find vacuum and rug avoidance:
Just change: vacuum.roidmi_eva_vacuum to your vacuum entity_id
icons:
- icon: mdi:land-plots-marker
tooltip: Find robot
tap_action:
action: call-service
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_eva_vacuum
siid: 8
aiid: 1
- icon: mdi:numeric-2-box-multiple-outline
tooltip: Clean area twice
conditions:
- entity: vacuum.roidmi_eva_vacuum
attribute: custom.double_clean
value: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_eva_vacuum
siid: 8
piid: 20
value: false
- icon: mdi:numeric-1-box-outline
tooltip: Clean area once
conditions:
- entity: vacuum.roidmi_eva_vacuum
attribute: custom.double_clean
value_not: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_eva_vacuum
siid: 8
piid: 20
value: true
- icon: mdi:checkbox-blank-outline
tooltip: Avoid rug
conditions:
- entity: vacuum.roidmi_eva_vacuum
attribute: custom.rug_avoid
value: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_eva_vacuum
siid: 8
piid: 31
value: false
- icon: mdi:rug
tooltip: Clean rugs
conditions:
- entity: vacuum.roidmi_eva_vacuum
attribute: custom.rug_avoid
value_not: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_eva_vacuum
siid: 8
piid: 31
value: true
Still working to figurate how to clean manually selected area via Xiaomi map integration…
Ok, I was able to figurate how to configure selected area cleaning.
Just add this to “map_modes” and be sure to update [[mapId]]:
- name: Zone cleanup
icon: mdi:select-drag
selection_type: MANUAL_RECTANGLE
service_call_schema:
evaluate_data_as_template: true
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- >-
{"MapId":[[mapId]],"ExtraAreas":[{"vertexs":[[{% set
s=[[[selection_unwrapped]]]
%}{{s[0]}},{{s[3]}}],[{{s[2]}},{{s[3]}}],[{{s[2]}},{{s[1]}}],[{{s[0]}},{{s[1]}}]],"active":"normal","mode":"area"}]}
predefined_selections: []
variables: {}
Based on this discussion: Xiaomi MIoT configs · PiotrMachowski/lovelace-xiaomi-vacuum-map-card · Discussion #406 · GitHub
Hello @eliogrin ,
Thanks for all your comments on this thread. I’m trying to make it work on my end, but whatever I do, my Eva is just starting sweep without taking into account my selections on the screen.
If you still have it, would you mind sharing the whole card code with me?
I’d like to better understand the indentation and make sure I understand where you pasted some of your code you shared.
Much appreciated
Chris
Yes, I definitely can share it here:
type: custom:xiaomi-vacuum-map-card
map_source:
camera: camera.roidmi_eva_vacuum_map
entity: vacuum.roidmi_v66_602e_robot_cleaner
internal_variables:
map_id: 1702677612
calibration_source:
camera: true
vacuum_platform: al-one/hass-xiaomi-miot
map_locked: true
map_modes:
- name: Rooms
icon: mdi:floor-plan
run_immediately: false
selection_type: ROOM
id_type: number
max_selections: 10
service_call_schema:
service: xiaomi_miot.call_action
evaluate_data_as_template: true
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- '{"mapId":[[map_id]],"segmentId":[[selection]]}'
predefined_selections:
- id: '1'
icon:
name: mdi:door-closed
x: 3149.9997097998857
'y': -5975.0003553926945
label:
text: Hallway
x: 3149.9997097998857
'y': -5975.0003553926945
offset_y: 35
outline:
- - 2374.999698251486
- -7175.000373274088
- - 3924.9997213482857
- -7175.000373274088
- - 3924.9997213482857
- -4775.000337511301
- - 2374.999698251486
- -4775.000337511301
- id: '2'
icon:
name: mdi:bunk-bed-outline
x: -625.0003464519978
'y': 2699.999773874879
label:
text: Kid’s bedroom
x: -625.0003464519978
'y': 2699.999773874879
offset_y: 35
outline:
- - -2425.000373274088
- 474.9997407197955
- - 1174.9996803700924
- 474.9997407197955
- - 1174.9996803700924
- 4924.9998070299625
- - -2425.000373274088
- 4924.9998070299625
- id: '3'
icon:
name: mdi:bed-double-outline
x: 6299.9997567385435
'y': 2974.999777972698
label:
text: Master bedroom
x: 6299.9997567385435
'y': 2974.999777972698
offset_y: 35
outline:
- - 3224.999710917473
- 524.9997414648536
- - 9374.999802559614
- 524.9997414648536
- - 9374.999802559614
- 5424.999814480543
- - 3224.999710917473
- 5424.999814480543
- id: '4'
icon:
name: mdi:countertop-outline
x: 624.9996721744537
'y': -4525.000333786011
label:
text: Kitchen
x: 624.9996721744537
'y': -4525.000333786011
offset_y: 35
outline:
- - -875.000350177288
- -5475.000347942114
- - 2124.9996945261955
- -5475.000347942114
- - 2124.9996945261955
- -3575.000319629907
- - -875.000350177288
- -3575.000319629907
- id: '5'
icon:
name: mdi:shower
x: 2424.999698996544
'y': 2224.9997667968278
label:
text: Bathroom
x: 2424.999698996544
'y': 2224.9997667968278
offset_y: 35
outline:
- - 1974.9996922910213
- 1424.9997548758986
- - 2874.9997057020664
- 1424.9997548758986
- - 2874.9997057020664
- 3024.9997787177567
- - 1974.9996922910213
- 3024.9997787177567
- id: '6'
icon:
name: mdi:shower-head
x: 2324.9996975064278
'y': 4249.999796971679
label:
text: Master Bathroom
x: 2324.9996975064278
'y': 4249.999796971679
offset_y: 35
outline:
- - 1324.9996826052666
- 3124.999780207873
- - 3324.999712407589
- 3124.999780207873
- - 3324.999712407589
- 5374.999813735485
- - 1324.9996826052666
- 5374.999813735485
- id: '7'
icon:
name: mdi:sofa-outline
x: 5674.999747425318
'y': -4275.00033006072
label:
text: Living room
x: 5674.999747425318
'y': -4275.00033006072
offset_y: 35
outline:
- - 3424.999713897705
- -7175.000373274088
- - 7924.999780952931
- -7175.000373274088
- - 7924.999780952931
- -1375.0002868473528
- - 3424.999713897705
- -1375.0002868473528
- id: '8'
icon:
name: mdi:table-chair
x: 1049.9996785074472
'y': -1075.0002823770044
label:
text: Dining room
x: 1049.9996785074472
'y': -1075.0002823770044
offset_y: 35
outline:
- - -1375.0003576278687
- -3575.000319629907
- - 3474.999714642763
- -3575.000319629907
- - 3474.999714642763
- 1424.9997548758986
- - -1375.0003576278687
- 1424.9997548758986
variables: {}
- name: Manual Zone
icon: mdi:select-drag
selection_type: MANUAL_RECTANGLE
max_selections: 1
service_call_schema:
evaluate_data_as_template: true
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- >-
{"MapId":[[map_id]],"ExtraAreas":[{"vertexs":[[{% set
s=[[[selection_unwrapped]]]
%}{{s[0]}},{{s[3]}}],[{{s[2]}},{{s[3]}}],[{{s[2]}},{{s[1]}}],[{{s[0]}},{{s[1]}}]],"active":"normal","mode":"area"}]}
variables: {}
predefined_selections: []
- name: Single Point
icon: mdi:map-marker-radius-outline
selection_type: MANUAL_POINT
run_immediately: true
service_call_schema:
evaluate_data_as_template: true
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 4
- >-
{"MapId":[[map_id]],"ExtraAreas":[{"id":301,"tag":"5","vertexs":[[{{[[point_x]]-[[point_size]]}},{{[[point_y]]+[[point_size]]}}],[{{[[point_x]]+[[point_size]]}},{{[[point_y]]+[[point_size]]}}],[{{[[point_x]]+[[point_size]]}},{{[[point_y]]-[[point_size]]}}],[{{[[point_x]]-[[point_size]]}},{{[[point_y]]-[[point_size]]}}]],"active":"normal","mode":"point"}]}
predefined_selections: []
variables:
point_size: 800
icons:
- icon: mdi:play
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: cleaning
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: error
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: returning
tooltip: Start
tap_action:
action: call-service
service: vacuum.start
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
- icon: mdi:stop
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: docked
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: idle
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: error
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: paused
tooltip: Stop
tap_action:
action: call-service
service: vacuum.stop
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
- icon: mdi:home-map-marker
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: docked
- entity: vacuum.roidmi_v66_602e_robot_cleaner
value_not: returning
tooltip: Return to base
tap_action:
action: call-service
service: vacuum.return_to_base
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
- menu_id: fan_speed
icon: mdi:fan-remove
label: Silent
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value: Silent
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Silent
- menu_id: fan_speed
icon: mdi:fan-speed-1
label: Basic
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value: Basic
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Basic
- menu_id: fan_speed
icon: mdi:fan-speed-2
label: Strong
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value: Strong
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Strong
- menu_id: fan_speed
icon: mdi:fan-speed-3
label: Full Speed
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value: Full Speed
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Full Speed
- menu_id: fan_speed
icon: mdi:fan-alert
label: Sweep
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value: Sweep
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Sweep
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value_not: Silent
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value_not: Basic
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value_not: Strong
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value_not: Full Speed
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: fan_speed
value_not: Sweep
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
fan_speed: Silent
- icon: mdi:land-plots-marker
tooltip: Find robot
tap_action:
action: call-service
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
aiid: 1
- icon: mdi:auto-download
tooltip: Auto clean vacuum
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.work_station_freq
value_not: '0'
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 2
value: 0
- icon: mdi:download-off
tooltip: Manual vacuum clean
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.work_station_freq
value: '0'
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 2
value: 1
- icon: mdi:download-box-outline
tooltip: Clear vacuum
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.work_station_freq
value: '0'
tap_action:
action: call-service
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
aiid: 6
- icon: mdi:checkbox-blank-outline
tooltip: Avoid Rug
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.rug_avoid
value: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 31
value: false
- icon: mdi:rug
tooltip: Clean rugs
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.rug_avoid
value_not: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 31
value: true
- icon: mdi:numeric-2-box-multiple-outline
tooltip: Clean area twice
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.double_clean
value: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 20
value: false
- icon: mdi:numeric-1-box-outline
tooltip: Clean area once
conditions:
- entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: custom.double_clean
value_not: true
tap_action:
action: call-service
service: xiaomi_miot.set_miot_property
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 8
piid: 20
value: true
- icon: mdi:cloud-refresh-variant-outline
tooltip: Refresh
tap_action:
action: call-service
service: homeassistant.update_entity
target:
entity_id: camera.roidmi_eva_vacuum_map
tiles:
- tile_id: status
entity: vacuum.roidmi_v66_602e_robot_cleaner
label: Status
attribute: vacuum.status_desc
icon: mdi:robot-vacuum
- tile_id: status
entity: vacuum.roidmi_v66_602e_robot_cleaner
label: Sweep Type
attribute: vacuum.sweep_type
icon: mdi:broom
translations:
'0': Sweep
'1': Mop
'2': Mop And Sweep
- tile_id: battery_level
entity: sensor.roidmi_v66_602e_battery_level
label: Battery
icon_source: sensor.roidmi_v66_602e_battery_level
- tile_id: main_brush_level
entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: brush_cleaner.brush_life_level
unit: '%'
label: Main brush
icon: mdi:spirit-level
tap_action:
action: call-service
confirmation:
text: Are you sure you replaced Main Brush?
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 11
aiid: 1
- tile_id: side_brush_level
entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: brush_life_level-12-2
unit: '%'
label: Side brush
icon: mdi:ceiling-fan
tap_action:
action: call-service
confirmation:
text: Are you sure you replaced Side Brush?
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 12
aiid: 1
- tile_id: sensor_level
entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: brush_life_level-15-2
unit: '%'
label: Sensors
icon: mdi:leak
tap_action:
action: call-service
confirmation:
text: Are you sure you wiped sensor?
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 15
aiid: 1
- tile_id: mop_level
entity: vacuum.roidmi_v66_602e_robot_cleaner
label: Mop
attribute: mop.mop_life_level
unit: '%'
icon: mdi:liquid-spot
tap_action:
action: call-service
confirmation:
text: Are you sure you washed Mops?
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 16
aiid: 1
- tile_id: filter_level
entity: vacuum.roidmi_v66_602e_robot_cleaner
attribute: filter.filter_life_level
unit: '%'
label: Filter
icon: mdi:air-filter
tap_action:
action: call-service
confirmation:
text: Are you sure you replaced Filter?
service: xiaomi_miot.call_action
service_data:
entity_id: vacuum.roidmi_v66_602e_robot_cleaner
siid: 10
aiid: 1
- title_id: clean_tank
entity: binary_sensor.vacuum_clean_tank
label: Clean tank
conditions:
- entity: binary_sensor.vacuum_clean_tank
value_not: 'on'
- title_id: sewage_tank
entity: binary_sensor.vacuum_sewage_tank
label: Sewage tank
conditions:
- entity: binary_sensor.vacuum_sewage_tank
value_not: 'on'
additional_presets: []
To use it, you need bulk rename of:
- camera.roidmi_eva_vacuum_map - camera entity.
- vacuum.roidmi_v66_602e_robot_cleaner - vacuum cleaner entity.
- 1702677612 - you map id.
The important note here is that you need to get you Map_ID, there is only way for now is get it from the logs in modified Mi Home app. I wasn’t able to find better way, and even it’s a recommended approach from plugin developer. If you will not get it - it will not work for you.
Thank you sir ! I will give it a try tomorrow most probably and let you know.
Not sure the kids will like me if I start sweeping at 10.30pm ^^.
To use it, you need bulk rename of
Not only that, but also change all the zones ^^
The important note here is that you need to get you Map_ID
Yes I got that too and have written it down, I’ll check indentation compared to mine and make sure I put all sections in the correct place.
Again, thanks a lot, much appreciated.
Man I feel dumb… Everything I had setup was right. Everything except the internal_variables
part.
I defined a mapID … but was using map_id in my service data…
That’s it… In anycase, @eliogrin thanks a lot, since if I didn’t compare your file to mine I probably would have spent a month troubleshooting my mistake.
Everything is working now
I just review my instruction, and there was mistake there. I fixed it now.
Thank you for testing it and glad that you was able to set it up. Let me know if you have any questions or ideas regarding this configuration.
Hi @eliogrin,
Excellent topic, my card is working fine, I have two cleaning modes configured, Zone and Rooms, but I need help configuring two maps, my house has two floors.
I don’t know if this would be the correct topic because my robot vacuum cleaner is this model IMILAB V1 Vacuuming Robot chuangmi.vacuum.hmi707 - 小米/米家产品库 - Xiaomi Miot Spec
And the only configuration that worked well on it was using the camera with force_api: roidmi
I’m trying to understand how to use two maps, I tried using load_multi_map but without success.
type: custom:xiaomi-vacuum-map-card
map_source:
camera: camera.imilab_v1_vacuuming_robot
calibration_source:
camera: true
entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
vacuum_platform: al-one/hass-xiaomi-miot
title: ''
map_locked: true
icons:
- icon: mdi:play
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: cleaning
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: error
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: returning
tooltip: Start
tap_action:
action: call-service
service: vacuum.start
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
- icon: mdi:stop
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: docked
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: idle
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: error
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: paused
tooltip: Stop
tap_action:
action: call-service
service: vacuum.stop
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
- icon: mdi:home-map-marker
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: docked
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
value_not: returning
tooltip: Return to base
tap_action:
action: call-service
service: vacuum.return_to_base
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
- menu_id: fan_speed
icon: mdi:fan-alert
label: Mop
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value: Mop
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Mop
- menu_id: fan_speed
icon: mdi:fan-remove
label: Silent
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value: Silent
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Silent
- menu_id: fan_speed
icon: mdi:fan-speed-1
label: Basic
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value: Basic
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Basic
- menu_id: fan_speed
icon: mdi:fan-speed-2
label: Strong
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value: Strong
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Strong
- menu_id: fan_speed
icon: mdi:fan-speed-3
label: Full Speed
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value: Full Speed
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Full Speed
- icon: mdi:fan-alert
conditions:
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value_not: Mop
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value_not: Silent
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value_not: Basic
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value_not: Strong
- entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
attribute: fan_speed
value_not: Full Speed
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.chuangmi_hmi707_14d7_robot_cleaner
fan_speed: Mop
tiles:
- tile_id: battery_level
entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
label: Battery
attribute: battery_level
icon_source: vacuum.chuangmi_hmi707_14d7_robot_cleaner.attributes.battery_icon
unit: '%'
- tile_id: fan_speed
entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
label: Fan speed
attribute: fan_speed
icon: mdi:fan
translations:
silent: Silent
standard: Standard
medium: Medium
turbo: Turbo
auto: Auto
gentle: Gentle
- tile_id: status
attribute: vacuum.status_desc
label: Status
icon: mdi:robot-vacuum
entity: vacuum.chuangmi_hmi707_14d7_robot_cleaner
precision: 0
translations:
starting: Starting
charger disconnected: Charger disconnected
idle: Idle
remote control active: Remote control active
cleaning: Cleaning
returning home: Returning home
manual mode: Manual mode
charging: Charging
charging problem: Charging problem
paused: Paused
spot cleaning: Spot cleaning
error: Error
shutting down: Shutting down
updating: Updating
docking: Docking
going to target: Going to target
zoned cleaning: Zoned cleaning
segment cleaning: Segment cleaning
emptying the bin: Emptying the bin
charging complete: Charging complete
device offline: Device offline
map_modes:
- name: Zone cleanup
icon: mdi:select-drag
selection_type: MANUAL_RECTANGLE
variables:
map_id: 1695918782
service_call_schema:
evaluate_data_as_template: true
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- >-
{"MapId":[[mapId]],"ExtraAreas":[{"vertexs":[[{% set
s=[[[selection_unwrapped]]]
%}{{s[0]}},{{s[3]}}],[{{s[2]}},{{s[3]}}],[{{s[2]}},{{s[1]}}],[{{s[0]}},{{s[1]}}]],"active":"normal","mode":"area"}]}
- template: vacuum_clean_segment
variables:
map_id: 1695918782
max_selections: 5
selection_type: ROOM
repeats_type: NONE
service_call_schema:
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- '{"mapId":[[map_id]],"segmentId":[[[selection_unwrapped]]]}'
predefined_selections:
- id: '1'
icon:
name: mdi:broom
x: -3449.9995801597834
'y': -3625.0003464519978
label:
text: 'Escritório '
x: -3449.9995801597834
'y': -3625.0003464519978
offset_y: 35
outline:
- - -5474.999610334635
- -5425.000373274088
- - -1424.999549984932
- -5425.000373274088
- - -1424.999549984932
- -1825.0003196299076
- - -5474.999610334635
- -1825.0003196299076
- id: '2'
icon:
name: mdi:broom
x: 100.00047273933887
'y': -2225.000325590372
label:
text: Sala jantar
x: 100.00047273933887
'y': -2225.000325590372
offset_y: 35
outline:
- - -2774.9995701014996
- -5175.000369548798
- - 2975.0005155801773
- -5175.000369548798
- - 2975.0005155801773
- 724.9997183680533
- - -2774.9995701014996
- 724.9997183680533
- id: '3'
icon:
name: mdi:broom
x: 4350.000536069274
'y': -1700.0003177672625
label:
text: 'Cozinha '
x: 4350.000536069274
'y': -1700.0003177672625
offset_y: 35
outline:
- - 2975.0005155801773
- -4075.0003531575203
- - 5725.000556558371
- -4075.0003531575203
- - 5725.000556558371
- 674.9997176229953
- - 2975.0005155801773
- 674.9997176229953
- id: '4'
icon:
name: mdi:broom
x: -3449.9995801597834
'y': -350.00029765069485
label:
text: Oficina
x: -3449.9995801597834
'y': -350.00029765069485
offset_y: 35
outline:
- - -5474.999610334635
- -1675.0003173947334
- - -1424.999549984932
- -1675.0003173947334
- - -1424.999549984932
- 974.9997220933436
- - -5474.999610334635
- 974.9997220933436
additional_presets: []
This is my second map
map_modes:
- template: vacuum_clean_zone
- template: vacuum_goto
- template: vacuum_clean_segment
predefined_selections:
- id: '1'
icon:
name: mdi:broom
x: -1575.0001184642315
'y': -4949.999978765845
label:
text: Room1
x: -1575.0001184642315
'y': -4949.999978765845
offset_y: 35
outline:
- - -3075.0001408159733
- -5824.999991804361
- - -75.0000961124897
- -5824.999991804361
- - -75.0000961124897
- -4074.9999657273293
- - -3075.0001408159733
- -4074.9999657273293
- id: '2'
icon:
name: mdi:broom
x: 674.9999150633812
'y': -4474.999971687794
label:
text: Room2
x: 674.9999150633812
'y': -4474.999971687794
offset_y: 35
outline:
- - -1175.000112503767
- -5774.999991059303
- - 2524.9999426305294
- -5774.999991059303
- - 2524.9999426305294
- -3174.999952316284
- - -1175.000112503767
- -3174.999952316284
- id: '3'
icon:
name: mdi:broom
x: -4400.000160560012
'y': -2849.999947473407
label:
text: Room3
x: -4400.000160560012
'y': -2849.999947473407
offset_y: 35
outline:
- - -5825.000181794167
- -3474.9999567866325
- - -2975.000139325857
- -3474.9999567866325
- - -2975.000139325857
- -2224.999938160181
- - -5825.000181794167
- -2224.999938160181
- id: '4'
icon:
name: mdi:broom
x: -150.0000972300768
'y': -2674.9999448657036
label:
text: Room4
x: -150.0000972300768
'y': -2674.9999448657036
offset_y: 35
outline:
- - -1675.0001199543476
- -3124.999951571226
- - 1374.999925494194
- -3124.999951571226
- - 1374.999925494194
- -2224.999938160181
- - -1675.0001199543476
- -2224.999938160181
- id: '5'
icon:
name: mdi:broom
x: 1649.9999295920134
'y': -2374.999940395355
label:
text: Room5
x: 1649.9999295920134
'y': -2374.999940395355
offset_y: 35
outline:
- - 774.9999165534973
- -3024.99995008111
- - 2524.9999426305294
- -3024.99995008111
- - 2524.9999426305294
- -1724.9999307096004
- - 774.9999165534973
- -1724.9999307096004
- id: '6'
icon:
name: mdi:broom
x: -3750.000150874257
'y': -1249.9999236315489
label:
text: Room6
x: -3750.000150874257
'y': -1249.9999236315489
offset_y: 35
outline:
- - -5875.000182539225
- -3074.999950826168
- - -1625.0001192092896
- -3074.999950826168
- - -1625.0001192092896
- 575.0001035630703
- - -5875.000182539225
- 575.0001035630703
- id: '7'
icon:
name: mdi:broom
x: -700.0001054257154
'y': -699.9999154359102
label:
text: Room7
x: -700.0001054257154
'y': -699.9999154359102
offset_y: 35
outline:
- - -1475.0001169741154
- -1924.9999336898327
- - 74.99990612268448
- -1924.9999336898327
- - 74.99990612268448
- 525.0001028180122
- - -1475.0001169741154
- 525.0001028180122
- id: '8'
icon:
name: mdi:broom
x: 1224.9999232590199
'y': -674.9999150633812
label:
text: Room8
x: 1224.9999232590199
'y': -674.9999150633812
offset_y: 35
outline:
- - -75.0000961124897
- -1724.9999307096004
- - 2524.9999426305294
- -1724.9999307096004
- - 2524.9999426305294
- 375.00010058283806
- - -75.0000961124897
- 375.00010058283806
Hi @afterdarky,
Yes, we are mainly focussed on discussing Roidmi Eva vacuum cleaner, and also I never played with multiple map configuration, so will not be able to help you a lot.
Any way from configuration which you sent I can see that in second example you miss service_call_schema and variable. I believe for second floor you will have different map_id, so you will need to extract both of them and use map_id corresponding to the floor.
Hi, I’m trying to get my mapid in order to use the area and room select features. When I click the link to the modified MiHome app, the page asks for a login username and password. Where else can I download this app? Or is there any other way to get the mapid?
Hi @hypnotoadskin,
Yes, I see the same login screen. But it should work if you will go to root folder with this link: https://mi.vevs.me/mihome/files/old/
There you should be able to choose and download any version of modified app. In most of the cases just download the latest version and it should work.
Hi,
I have a Problem with my Eve CC. I know its not the same, but I didn’t want to start a new topic. I dont get the miio log files for the room. I tried a lot. Also there are some files containing my device info etc but no mapping. Its the smaller EVE (roidmi_v62). Also the Map doesn’t work, but there is an issue on github about this. Maybe the same underlying problem. If anyone would be able to help me, I would be thankful
There is already topic about Roidmi Eva. Honestly I got many ideas from that implementation:
I saw screenshots with working Roidmi Eva integration, so it should be possible to integrate. But also there is different specific issues, like in this comment:
Oh man I haven’t gotten a notification about this. I’ll try it soon. Thank you so much!
Hi, thanks for the detailed instructions @eliogrin! I’ve been struggling to get my Eve Plus configured to use room cleaning from HA and the way you have described it for the Eva has been a great help!
I think I just need my MapId now to be able to finalise this, but like @hypnotoadskin I also get a login prompt for the vevs site
Tried the link you provided as well as the original link without success.
Is there any way someone could share the apk directly somewhere??
Hope this helps someone else: I was able to find the Vevs modified APK here:
I actually installed the apk on an old Windows laptop under the Windows subsystem just to play it safe.
In this more recent version it’s a bit different from what was originally described:
you can find the logging option under profile>additional settings>laboratory>write custom log files.
I ran the Roidmi to one of the rooms in the map and I could find a json that listed the following:
“did”: “edited”,
“uid”: edited,
“token”: “edited”,
“name”: “Fred”,
“pid”: 0,
“localip”: “edited”,
“mac”: “edited”,
“ssid”: “edited”,
“bssid”: “34:97:F6:6D:03:02”,
“rssi”: -43,
“longitude”: “0.00000000”,
“latitude”: “0.00000000”,
“show_mode”: 1,
“model”: “roidmi.vacuum.v60”,
“permitLevel”: 16,
“isOnline”: true,
“spec_type”: “urn:miot-spec-v2:device:vacuum:0000A006:roidmi-v60:3”,
“extra”: {
“isSetPincode”: 0,
“pincodeType”: 0,
“fw_version”: “1.1.0_2404”,
“isSubGroup”: false,
“showGroupMember”: false,
“split”: {}
},
“orderTime”: 1684488763,
“freqFlag”: true,
“hide_mode”: 0,
“comFlag”: 129,
“carPicInfo”: “”,
“api_server”: “sg”,
but no mapid
Am I correct in assuming I’m looking at the right json??
UPDATE: Nevermind
After enabling the custom log file option be sure to log out of the app and back into it. Found a log file (txt not json: ‘YourDeviceID’.txt) with the MapID!
I’m jumping straight into my vacuum card now to make sure it works and I haven’t messed anything else up… So excited
Ok, there is 2 options to download latest version:
- Download directly from blog, but there it is in Russian. You can go: https://www.vevs.me/2017/11/mi-home.html#more and click on “СКАЧАТЬ ВЕРСИЮ 9.4.704”.
- Download from ftp, login should be empty and password: 250752981:
https://mi.vevs.me/mihome/files/old/.
I’m not author of this mode, but he is asking for support here: https://boosty.to/vevs, so if you can, please, buy a cup of coffee/tea/beer for this really nice mod.
dostum sen bir harikasın baya uğraşmıştım bu süpürgeye senin bu kodlarındaki tüm süpürge isimlerini değiştirdim map id değiştirdim ve birde nedense senin haritan çıktı tek tek kendi haritamın kordinatlarını aldım oda oluşturmadan sonra aktif şekikde çalıştı sanırım eve plus kullanıyorsun benim modelim roidmi eve toz haznesi boşaltma kodunu sildikten sonra tüm herşey aktif süpersin
dostum sen bir harikasın baya uğraşmıştım bu süpürgeye senin bu kodlarındaki tüm süpürge isimlerini değiştirdim map id değiştirdim ve birde nedense senin haritan çıktı tek tek kendi haritamın kordinatlarını aldım oda oluşturmadan sonra aktif şekikde çalıştı sanırım eve plus kullanıyorsun benim modelim roidmi eve toz haznesi boşaltma kodunu sildikten sonra tüm herşey aktif süpersin