core icon indicating copy to clipboard operation
core copied to clipboard

Support For Xiaomi Robot Vacuum S20 EU - xiaomi.vacuum.d106gl

Open YeeYek opened this issue 1 year ago • 1 comments

The problem

Hello, Is it possible to add support for the Xiaomi Robot Vacuum S20 EU (xiaomi.vacuum.d106gl)?

1

2

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

YeeYek avatar Sep 16 '24 18:09 YeeYek

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 close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign xiaomi_miio Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove 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)

home-assistant[bot] avatar Sep 16 '24 18:09 home-assistant[bot]

Please, I ask the same: could you please add support for “S20” and “S20+” ? 🙏

alc7328 avatar Sep 25 '24 02:09 alc7328

Would love to see support for this as well

Rhizix avatar Sep 26 '24 12:09 Rhizix

+1

mrtiborvarga avatar Sep 26 '24 20:09 mrtiborvarga

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.

Matssa56 avatar Sep 27 '24 19:09 Matssa56

Hi, I had the same issue. You can use https://github.com/al-one/hass-xiaomi-miot.

works perfect :)

cybertruck avatar Sep 30 '24 19:09 cybertruck

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

Matssa56 avatar Oct 02 '24 19:10 Matssa56

+1 for S20+ Would love to switch to this integration.

beatschubser avatar Nov 17 '24 20:11 beatschubser

Me too for S20+

martusi61 avatar Nov 20 '24 16:11 martusi61

Please add support for s20+

progressevakos avatar Nov 21 '24 08:11 progressevakos

+1 for S20+ 🙏

picassoruiz avatar Nov 29 '24 13:11 picassoruiz

+1 for S20 support. Successfully connected via xiaomi-miot, but looking forward using your broader function range.

grkpi avatar Dec 01 '24 13:12 grkpi

+1 for S20 / S20+

s-oehding avatar Dec 01 '24 19:12 s-oehding

+1 for S20+ 🙏

jumate avatar Dec 05 '24 20:12 jumate

+1 would love this.

danieljcroberts avatar Dec 05 '24 22:12 danieljcroberts

  • S20

fuzzznet avatar Dec 08 '24 18:12 fuzzznet

+1 for Xiaomi X20 Max EU (xiaomi.vacuum.d109gl) Reference: https://home.miot-spec.com/spec/xiaomi.vacuum.d109gl

pvojar avatar Dec 17 '24 13:12 pvojar

+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

rodrigomdomingos avatar Dec 28 '24 14:12 rodrigomdomingos

+1 for S20+ please

Spampa avatar Jan 02 '25 13:01 Spampa

+1 for S20 please. Thanks

vojta-vojta avatar Jan 12 '25 07:01 vojta-vojta

+1 for S20 please! Thank Youuuuuuu!

ajscheid avatar Jan 17 '25 08:01 ajscheid

S20 would be great

ElixyrPl88 avatar Feb 10 '25 07:02 ElixyrPl88

integracion para la s20 please, o bien alquien me dice como debo agregarla por favor?

maximr377 avatar Feb 14 '25 03:02 maximr377

+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?

lboy avatar Feb 15 '25 08:02 lboy

+1 for S20

Homeboy05 avatar Mar 07 '25 13:03 Homeboy05

+1 S20

derrodi avatar Mar 07 '25 13:03 derrodi

S20 rooms functionality would bei awesome. S20+ has it already

jaschonx avatar Mar 13 '25 00:03 jaschonx

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 avatar Mar 13 '25 06:03 cvele

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.

beatschubser avatar Mar 13 '25 07:03 beatschubser

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?

Guzi1985 avatar Mar 13 '25 11:03 Guzi1985