Bonne nouvelle pour les utilisateurs de Domoticz : il est possible d’y ajouter le robot aspirateur Xiaomi grâce à un plugin Python. On peut ensuite le lancer, le renvoyer à sa base et l’intégrer à des scénarios, par exemple pour faire le ménage lorsque l’on quitte la maison.
Attention : ce tutoriel date de 2017. Mi Home, les téléphones et Domoticz ont depuis évolué : certaines étapes peuvent ne plus fonctionner avec les versions récentes. Pensez à consulter la documentation du plugin avant de vous lancer.
Ce qu’il vous faut
- Un robot aspirateur Xiaomi déjà configuré dans Mi Home ;
- Une installation Domoticz accessible en SSH ;
- L’adresse IP locale du robot ;
- Son token, une clé de 32 caractères qui permet de communiquer avec lui.
Gardez votre token pour vous : il joue un peu le rôle d’un mot de passe.
Récupérer le token sur Android
Pour Android, le tutoriel d’origine utilisait MiToolkit, un petit programme Windows. Il fallait télécharger la version 1.5 et installer Java sur le PC.
- Activez le débogage USB sur votre téléphone, puis branchez-le au PC.
- Lancez MiToolkit. Si le programme s’affiche en allemand, cliquez sur le drapeau pour le passer en anglais.
- Cliquez sur Extract Token.
- Sur le téléphone, acceptez la sauvegarde des données sans définir de mot de passe.
- Une fois la sauvegarde terminée, recherchez votre robot dans la liste : son token est la suite de 32 caractères associée à l’appareil.
Cette méthode s’appuie sur une ancienne fonction de sauvegarde Android. Si elle ne fonctionne pas sur votre téléphone, vérifiez les solutions proposées dans la documentation du projet.
Récupérer le token sur iPhone ou iPad
Sur iOS, la méthode de l’époque consistait à créer une sauvegarde de l’appareil avec iTunes, puis à l’ouvrir avec un lecteur de sauvegarde. Il fallait retrouver le fichier Documents/xxxxxxxxxx_mihome.sqlite dans le domaine de l’application Mi Home et l’exporter.
Une fois le fichier ouvert dans un logiciel compatible SQLite, le tutoriel utilisait cette requête en remplaçant l’adresse par celle du robot :
SELECT ZTOKEN FROM ZDEVICE WHERE ZLOCALIP = 'IP_DU_ROBOT';
Le token obtenu devait ensuite être décodé pour retrouver la clé de 32 caractères. Les formats ayant changé depuis, cette manipulation n’est pas garantie sur les appareils récents. Évitez de transmettre votre sauvegarde ou votre token à un service en ligne.
Installer le plugin dans Domoticz
Connectez-vous en SSH à votre serveur. Le plugin utilisé est disponible sur GitHub. Voici les commandes indiquées dans le guide d’origine, à adapter selon votre installation :
Installez d’abord Python et les dépendances :
sudo apt-get install python3 python3-dev
pip3 install -U setuptools
sudo apt-get install libffi-dev libssl-dev
Allez ensuite dans le dossier des plugins Domoticz et récupérez le plugin :
cd domoticz/plugins
git clone https://github.com/mrin/domoticz-mirobot-plugin.git xiaomi-mirobot
cd xiaomi-mirobot
pip3 install python-mirobo -t .vendors
Enfin, redémarrez Domoticz. Sur l’installation utilisée à l’époque, la commande était :
sudo service domoticz.sh restart
Ajouter le robot dans Domoticz
Le plus gros est fait ! Retournez dans l’interface Domoticz, puis dans Réglages → Matériel. Ajoutez un matériel de type Xiaomi Mi Robot Vacuum.
- IP : l’adresse locale de votre robot.
- Token : la clé de 32 caractères récupérée précédemment.
- Update interval : la fréquence à laquelle Domoticz vérifie son état.
- Fan Level Type : le mode de sélection de la puissance d’aspiration.
- Python Path : à renseigner si votre installation Python n’utilise pas le chemin standard.
- Debug : à activer si vous avez besoin de consulter les journaux.
Le plugin crée ensuite les commandes dans l’onglet Interrupteurs et un indicateur de batterie dans Mesures. Vous pouvez également programmer le nettoyage aux jours et aux heures de votre choix.
Un scénario : lancer l’aspirateur avec l’alarme
Voici un exemple de script Lua : l’aspirateur démarre lorsque l’alarme est activée et retourne à sa base lorsqu’elle est désactivée.
commandArray = {}
if devicechanged['Alarme'] == 'On' then
commandArray['Xiaomi Robot - Control'] = 'Set Level: 10' -- nettoyage
elseif devicechanged['Alarme'] == 'Off' then
commandArray['Xiaomi Robot - Control'] = 'Set Level: 20' -- retour à la base
end
return commandArray
Adaptez les noms des dispositifs et vérifiez les niveaux associés aux commandes avant de l’utiliser. Un petit test manuel permet de s’assurer que tout fonctionne !

Notre avis sur le robot Xiaomi
À l’époque de ce test, le robot nous avait convaincus par sa puissance, sa rapidité et sa cartographie. Il retrouvait facilement sa base et entretenait efficacement les sols au quotidien.
Il avait aussi ses petites limites : ses capteurs pouvaient lui faire éviter les rideaux et certains passages sous les meubles. À garder en tête selon l’aménagement de votre maison.



0 commentaires
Une question ou une expérience à partager ? Participez à la discussion.
Soyez le premier à poser une question ou à partager votre expérience.