Support For Xiaomi Robot Vacuum S20 EU - xiaomi.vacuum.d106gl
The problem
Hello, Is it possible to add support for the Xiaomi Robot Vacuum S20 EU (xiaomi.vacuum.d106gl)?
What version of Home Assistant Core has the issue?
2024.9.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Xiaomi Miio
Link to integration documentation on our website
https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-mi-robot-vacuum
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
Hey there @rytilahti, @syssi, @starkillerog, mind taking a look at this issue as it has been labeled with an integration (xiaomi_miio) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of xiaomi_miio can trigger bot actions by commenting:
@home-assistant closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign xiaomi_miioRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.
(message by CodeOwnersMention)
xiaomi_miio documentation xiaomi_miio source (message by IssueLinks)
Please, I ask the same: could you please add support for “S20” and “S20+” ? 🙏
Would love to see support for this as well
+1
Hi, same here, the S20+ would be great as well.
Btw, a HACS adddon added support 2 weeks ago : https://github.com/al-one/hass-xiaomi-miot/commit/85f1e9aaecda21df77ec8eae12e6251cf134caca
However not sure how it works. If needed I can help for the S20+ since I have a device.
Hi, I had the same issue. You can use https://github.com/al-one/hass-xiaomi-miot.
works perfect :)
Hi, I had the same issue. You can use https://github.com/al-one/hass-xiaomi-miot.
works perfect :)
It works but it isn't as good as MIIO in terms of buttons, sensors and simplicity.
For the S20+, the specs can be found here (used for miot) : https://home.miot-spec.com/spec/xiaomi.vacuum.b108gl
+1 for S20+ Would love to switch to this integration.
Me too for S20+
Please add support for s20+
+1 for S20+ 🙏
+1 for S20 support. Successfully connected via xiaomi-miot, but looking forward using your broader function range.
+1 for S20 / S20+
+1 for S20+ 🙏
+1 would love this.
- S20
+1 for Xiaomi X20 Max EU (xiaomi.vacuum.d109gl) Reference: https://home.miot-spec.com/spec/xiaomi.vacuum.d109gl
+1 for Xiaomi S20 With this integration, it would be possible to make the S20 clean a specific room? I lost one day trying to make this work tried dozens of things and integrations
+1 for S20+ please
+1 for S20 please. Thanks
+1 for S20 please! Thank Youuuuuuu!
S20 would be great
integracion para la s20 please, o bien alquien me dice como debo agregarla por favor?
+1 for Xiaomi S20 With this integration, it would be possible to make the S20 clean a specific room? I lost one day trying to make this work tried dozens of things and integrations
have you managed to get it working, to clean specific room?
+1 for S20
+1 S20
S20 rooms functionality would bei awesome. S20+ has it already
The main issue is that miot spec has no way to get room-ids, at least none that I could find. However it's not like it's not doable - just not in automated way. I got my room ids by looking at logs of unofficial mi home app, if someone knows of a automated way I'll contribute the functionality soon after.
This is the script I am currently using:
rooms:
name: Rooms to Select
description: Choose one or more rooms to include in the ID string
required: true
selector:
select:
options:
- label: Bedroom
value: "16"
- label: Hallway
value: "17"
- label: Living Room
value: "14"
- label: Kitchen
value: "13"
- label: Hallway 2
value: "11"
- label: Kids Room
value: "10"
multiple: true
default:
- "14"
- "17"
- "16"
- "10"
- "13"
- "11"
sequence:
- variables:
selected_room_ids: "{{ rooms | map('string') | join(',') }}"
- data:
name: Vacuum Script
message: "Generated Room IDs: {{ selected_room_ids }}"
action: logbook.log
- data:
entity_id: vacuum.xiaomi_d106gl_641f_robot_cleaner
siid: 7
aiid: 3
params:
- "{{ selected_room_ids }}"
- 0
- 1
action: xiaomi_miot.call_action
alias: Vacuum per Room
description: ""
Are you using the Miio integration? How did you add the S20(+) there? It's still not working for me and I have to use the Xiaomi Home-integration.
The main issue is that miot spec has no way to get room-ids, at least none that I could find. However it's not like it's not doable - just not in automated way. I got my room ids by looking at logs of unofficial mi home app, if someone knows of a automated way I'll contribute the functionality soon after.
This is the script I am currently using:
rooms: name: Rooms to Select description: Choose one or more rooms to include in the ID string required: true selector: select: options: - label: Bedroom value: "16" - label: Hallway value: "17" - label: Living Room value: "14" - label: Kitchen value: "13" - label: Hallway 2 value: "11" - label: Kids Room value: "10" multiple: true default: - "14" - "17" - "16" - "10" - "13" - "11" sequence: - variables: selected_room_ids: "{{ rooms | map('string') | join(',') }}" - data: name: Vacuum Script message: "Generated Room IDs: {{ selected_room_ids }}" action: logbook.log - data: entity_id: vacuum.xiaomi_d106gl_641f_robot_cleaner siid: 7 aiid: 3 params: - "{{ selected_room_ids }}" - 0 - 1 action: xiaomi_miot.call_action alias: Vacuum per Room description: ""
@cvele Cool that you managed to do it. I have an S20 (xiaomi.vacuum.d106gl), and I downloaded the rooms from Xiaomi Home using another vacuum cleaner that I have on the same account. The problem I have is that I copied the above script. I selected a room, but the vacuum started cleaning the entire area anyway. Am I right in understanding that you only use https://github.com/al-one/hass-xiaomi-miot for communication? What do the parameters -0 and -1 after the room numbers mean? Does room selection work correctly for you?