Yep, but the device is not recognized and I’m getting a callback error. Think, the device would need support by miio library most likely for the xiaomi vacuum integration to work. But maybe a stand-alone roidmi integration is an option too
Use Xiaomi Miot Auto, it should work there, but you will probably need manual configuration.
Unfortunately, I can’t test it myself, as after the last firmware upgrade in the base station, the vacuum cleaner stopped working in the Xiaomi Mi Home app.
hmmm…unfortunately working, as i already am unable to extract the secret via miio python script ;-(
This is not necessary when using the cloud.
Hi dears, any news about the ROIDMI EVA integration? Willing to buy one
I have the Roidmi Eva and all working fine in HA. Pretty much the same as the Roidmi Eve Plus.
Took a bit of work to get my head around the initial setup. Using HACS install
Xiaomi Miot Auto
Xiaomi Cloud Map Extractor
On Android install the modified Mi Home app (Universal). On your Android device create a folder on root on Internal Storage “/vevs/logs” Go into app and make sure access to modify Files on device allowed so it writes log files. In app select Profile>Experimental features>“write custom log files” and also “Enable Developer mode”. Now you should have option in Profile>Settings>Developer option>debug. The debug will have prefixed and appended Chinese characters around the "debug "
Log into your Mi Home account and add vacuum and start mapping etc… fix up the rooms so they are to your requirements. Once all done you can save the log it created in /vevs/logs/miio folder and remove it from device. Clean a room and once finished you can look at new log in /vevs/logs/miio and search for line of text that includes the word “mapID” this will give you your Mi Home map ID.
{“params”:{“did”:“xxxxxxxxx”,“siid”:14,“aiid”:1,“in”:[2,"{“mapId”:xxxxxxxxxxx,“segmentId”:[1]}"]}} /miotspec/action
2022-12-18 20:37:49 ← {“code”:0,“message”:“ok”,“result”:{"
mapID = Mi Home map ID
did = Your vacuum Mi Home ID
segmentId = room number from the room you just cleaned.
siid = Miot Spec “sweep”
aiid = Miot Spec “start-sweep”
To get all your room numbers easily, configure Xiaomi Cloud Map Extractor and in your .yaml file also add “room_numbers” under the “attributes” section. Once that is working you can go into HA Developer Tools>States>Xiaomi Cloud Map Extractor, where you will see all your room numbers.
This should be enough to get you going.
Hi @Jask747,
thanks for this - really a nice christmas gift . Can you maybe help a bit further and paste the corresponding config yamls, you’ve been talking abount (room stuff etc)?
Thanks again and merry christmas
Jakob
Do you mean this?
alias: Clean Kitchen
sequence:
- service: xiaomi_miot.call_action
data:
entity_id: vacuum.roidmi_v66_2276_robot_cleaner
siid: 14
aiid: 1
params:
- 2
- “{“mapId”:123456782,“segmentId”:[1]}”
mode: single
A quick script to clean a single room.
Now working on script to cater for one or room numbers depending on buttons selected in a Dashboard I am making.
Yeah…helps! Would love, if you’d continue, sharing your progress on that thing
Heyhey @Jask747,
went on with the stuff. Right now I´m stuck at the Xiaomi Cloud Map Extractor configuration.
How did you extract the token for configuring the camera entity?
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
Thanks and regards,
Jakob
Hi
I did this quite some time ago, but I think I used the PC tool from PiotrMachowski (Piotr Machowski) · GitHub
Also had luck with using his vacuum card which I be will share soon
I am successfully using the Lovelace Vacuum Map card now to control my Roidmi Eva easily.
Once you get your Map configured with you room layouts etc… you can add this piece of code to the card configuration. This will allow you to select one or more rooms to clean.
type: custom:xiaomi-vacuum-map-card
entity: vacuum.roidmi_v66_2276_robot_cleaner
map_source:
camera: camera.xiaomi_cloud_map_extractor
calibration_source:
camera: true
map_modes:
- name: Room Selection
icon: mdi:floor-plan
run_immediately: false
coordinates_rounding: true
selection_type: ROOM
max_selections: 9
repeats_type: EXTERNAL
max_repeats: 3
service_call_schema:
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- '{"mapId":1671212345,"segmentId":[[selection]]}'
predefined_selections:
- id: 1
.........................
max_selections is the total amount of rooms I have mapped, so this can be whatever you want to be able to select for a cleaning room count total.
I also found this method the best for creating the initial card configuration.
Basically copy the code into Developer Tools > Template. This will generate card config (you will obviously need to have a working " Xiaomi Cloud Map Extractor" integration).
Hey first i want to thank you @Jask747
I get error “failed to call service” i do all the steps dont now what the problem is
type: custom:xiaomi-vacuum-map-card
map_source:
camera: camera.vacuum
entity: vacuum.v66_8c51093
calibration_source:
camera: true
map_modes:
- template: vacuum_clean_zone
- template: vacuum_goto
- template: vacuum_clean_segment
service_call_schema:
service: xiaomi_miot.call_action
service_data:
entity_id: '[[entity_id]]'
siid: 14
aiid: 1
params:
- 2
- “{“mapId”:1668762567,“segmentId”:[9]}”
predefined_selections:
- id: '1'
icon:
name: mdi:broom
x: -3124.999888241292
'y': -4674.999538809062
label:
text: Room1
x: -3124.999888241292
'y': -4674.999538809062
offset_y: 35
outline:
- - -5174.999918788672
- -6824.9995708465585
- - -1074.999857693911
- -6824.9995708465585
- - -1074.999857693911
- -2524.999506771565
- - -5174.999918788672
- -2524.999506771565
- id: '2'
icon:
name: mdi:broom
x: -7724.9999567866325
'y': 2425.000566989183
label:
text: Room2
x: -7724.9999567866325
'y': 2425.000566989183
offset_y: 35
outline:
- - -10024.999991059303
- 975.000545382499
- - -5424.999922513963
- 975.000545382499
- - -5424.999922513963
- 3875.0005885958667
- - -10024.999991059303
- 3875.0005885958667
- id: '3'
icon:
name: mdi:broom
x: 6250.000251457095
'y': -7399.999579414725
label:
text: Room3
x: 6250.000251457095
'y': -7399.999579414725
offset_y: 35
outline:
- - 4425.000224262475
- -9474.999610334635
- - 8075.000278651714
- -9474.999610334635
- - 8075.000278651714
- -5324.999548494817
- - 4425.000224262475
- -5324.999548494817
- id: '4'
icon:
name: mdi:broom
x: -2374.999877065421
'y': -1424.999490380288
label:
text: Room4
x: -2374.999877065421
'y': -1424.999490380288
offset_y: 35
outline:
- - -6474.999938160182
- -4024.999529123307
- - 1725.0001840293403
- -4024.999529123307
- - 1725.0001840293403
- 1175.0005483627313
- - -6474.999938160182
- 1175.0005483627313
- id: '5'
icon:
name: mdi:broom
x: -199.99984465539504
'y': -5674.999553710223
label:
text: Room5
x: -199.99984465539504
'y': -5674.999553710223
offset_y: 35
outline:
- - -874.9998547136788
- -6874.999571591617
- - 475.00016540288874
- -6874.999571591617
- - 475.00016540288874
- -4474.99953582883
- - -874.9998547136788
- -4474.99953582883
- id: '6'
icon:
name: mdi:broom
x: -3799.9998982995758
'y': 2175.0005632638927
label:
text: Room6
x: -3799.9998982995758
'y': 2175.0005632638927
offset_y: 35
outline:
- - -5474.999923259021
- 575.0005394220345
- - -2124.9998733401303
- 575.0005394220345
- - -2124.9998733401303
- 3775.0005871057506
- - -5474.999923259021
- 3775.0005871057506
- id: '7'
icon:
name: mdi:broom
x: 8450.00028423965
'y': -99.99947063624916
label:
text: Room7
x: 8450.00028423965
'y': -99.99947063624916
offset_y: 35
outline:
- - 6025.000248104333
- -2174.9995015561585
- - 10875.000320374966
- -2174.9995015561585
- - 10875.000320374966
- 1975.0005602836602
- - 6025.000248104333
- 1975.0005602836602
- id: '8'
icon:
name: mdi:broom
x: 8675.000287592411
'y': -3499.9995213001976
label:
text: Room8
x: 8675.000287592411
'y': -3499.9995213001976
offset_y: 35
outline:
- - 5825.000245124101
- -5724.999554455281
- - 11525.00033006072
- -5724.999554455281
- - 11525.00033006072
- -1274.9994881451137
- - 5825.000245124101
- -1274.9994881451137
- id: '9'
icon:
name: mdi:broom
x: 3825.0002153217783
'y': -1524.999491870404
label:
text: Room9
x: 3825.0002153217783
'y': -1524.999491870404
offset_y: 35
outline:
- - 1575.000181794166
- -5074.999544769526
- - 6075.000248849391
- -5074.999544769526
- - 6075.000248849391
- 2025.0005610287185
- - 1575.000181794166
- 2025.0005610287185
- id: '10'
icon:
name: mdi:broom
x: -8349.999966099858
'y': -924.9994829297071
label:
text: Room10
x: -8349.999966099858
'y': -924.9994829297071
offset_y: 35
outline:
- - -10074.999991804361
- -2574.999507516623
- - -6624.999940395356
- -2574.999507516623
- - -6624.999940395356
- 725.0005416572087
- - -10074.999991804361
- 725.0005416572087
- id: '11'
icon:
name: mdi:broom
x: -2149.9998737126593
'y': -624.9994784593589
label:
text: Room11
x: -2149.9998737126593
'y': -624.9994784593589
offset_y: 35
outline:
- - -3174.9998889863496
- -1524.999491870404
- - -1124.999858438969
- -1524.999491870404
- - -1124.999858438969
- 275.00053495168623
- - -3174.9998889863496
- 275.00053495168623
title: rooms
map_locked: true
Have you also installed
Yes, i redownladed and update configuration.yaml and get “sucses”
but it didnt do nothing
This line is not correct.
Should be
I did it, not working any idea?
You can confirm vacuum.v66_8c51093 is the correct entity_id?
You checked in Settings > Entities ?
See if you can call service manually for a room in Developer Tools > Services > xiaomi_miot.call_action
It is the correct entity,
When trying manually i get notification code’: -4006
Hi Sagidam
Sorry just saw this message So have you managed to get it working?