Describe the bug
The new Xiaomi X20 Max robot vacuum (model: xiaomi.vacuum.d109gl) is currently unsupported by the library. When attempting to integrate it via Home Assistant (using the xiaomi_cloud_map_extractor custom component which relies on python-miio), the device is not recognized, throwing an "unsupported model" warning, followed by authentication and timeout errors.
Version information (please complete the following information):
- OS: Home Assistant OS (Logs indicate Python 3.13 environment)
- python-miio: N/A (Running via Home Assistant custom integrations)
Device information:
If the issue is specific to a device [Use miiocli device --ip <ip address> --token <token> info]:
- Model: xiaomi.vacuum.d109gl
- Hardware version:
Not displayed in Mi Home app
- Firmware version: 4.5.6_0406
To Reproduce
Steps to reproduce the behavior:
- Setup a
xiaomi.vacuum.d109gl device on the local network.
- Attempt to connect or extract data (like the map) using its IP, Token, and Xiaomi cloud credentials.
- Observe the logs.
Expected behavior
The device should be recognized as a valid vacuum model, and the local token/cloud authentication should allow successful data extraction without timing out.
Console output
Here is the output from the Home Assistant logs showing the failure:
2026-04-08 09:18:45.482 ERROR (SyncWorker_6) [custom_components.xiaomi_cloud_map_extractor.camera] Unable to log in, check credentials
2026-04-08 09:18:45.556 WARNING (SyncWorker_6) [miio.device] Found an unsupported model 'xiaomi.vacuum.d109gl' for class 'RoborockVacuum'.
2026-04-08 09:19:01.647 ERROR (SyncWorker_6) [miio.miioprotocol] Got error when receiving: {'code': -9999, 'message': 'user ack timeout'}
2026-04-08 09:19:01.649 WARNING (SyncWorker_6) [custom_components.xiaomi_cloud_map_extractor.camera] Got exception while fetching the state: Unable to recover failed command
Describe the bug
The new Xiaomi X20 Max robot vacuum (model:
xiaomi.vacuum.d109gl) is currently unsupported by the library. When attempting to integrate it via Home Assistant (using thexiaomi_cloud_map_extractorcustom component which relies on python-miio), the device is not recognized, throwing an "unsupported model" warning, followed by authentication and timeout errors.Version information (please complete the following information):
Device information:
If the issue is specific to a device [Use
miiocli device --ip <ip address> --token <token> info]:Not displayed in Mi Home app
To Reproduce
Steps to reproduce the behavior:
xiaomi.vacuum.d109gldevice on the local network.Expected behavior
The device should be recognized as a valid vacuum model, and the local token/cloud authentication should allow successful data extraction without timing out.
Console output
Here is the output from the Home Assistant logs showing the failure:
2026-04-08 09:18:45.482 ERROR (SyncWorker_6) [custom_components.xiaomi_cloud_map_extractor.camera] Unable to log in, check credentials
2026-04-08 09:18:45.556 WARNING (SyncWorker_6) [miio.device] Found an unsupported model 'xiaomi.vacuum.d109gl' for class 'RoborockVacuum'.
2026-04-08 09:19:01.647 ERROR (SyncWorker_6) [miio.miioprotocol] Got error when receiving: {'code': -9999, 'message': 'user ack timeout'}
2026-04-08 09:19:01.649 WARNING (SyncWorker_6) [custom_components.xiaomi_cloud_map_extractor.camera] Got exception while fetching the state: Unable to recover failed command