Pack de voix française pour aspirateur Xiaomi Roborock V1

Si vous possédez un aspirateur Xiaomi Mi Vacuum V1 vous n’avez le choix qu’entre des langues asiatiques ou la langue anglaise pour les messages énoncés par le robot. Si la plupart d’entre vous ont choisi la langue anglaise, faute de mieux, sachez que ces messages ne sont que des fichiers audio au format wav enregistrés dans la mémoire flash de l’aspirateur. Je me suis donc lancé dans la création d’un pack de messages en français pour cet appareil.

Roborock V1
L’aspirateur Roborock V1 de Xiaomi

L’opération que je vous propose ici ne nécessite ni de modifier le firmware ni d’ouvrir l’aspirateur au risque de perdre la garantie (si toutefois il est possible de faire fonctionner la garantie en France, où cet appareil n’est pas officiellement commercialisé). Ce tutoriel est fourni ‘tel quel’ et c’est sous votre unique responsabilité que vous décidez de le suivre ou pas.

Pour y parvenir vous aurez besoin de 3 choses : un ordinateur avec connexion au même réseau que l’aspirateur robot, le language python installé sur cet ordinateur et le pack de langue en français que vous pouvez télécharger à la fin de cet article.

Je décrit la procédure à suivre sous windows mais la procédure sous mac ou sous linux est similaire (et peut-être même plus simple).

Installation de python et des outils pour dialoguer avec l’aspirateur

Téléchargez et installez la version 3 de python depuis son site officiel : https://www.python.org/downloads/

Sous windows lors de l’installation cochez la case « Add python to PATH » sur la première fenêtre de l’installateur. Sous windows 10 à la fin de l’installation, l’installateur va vous proposer d’augmenter la limite de la taille du PATH, acceptez.

Une fois installé, ouvrez un invite de commandes cmd et tapez les deux commandes suivantes et dans cet ordre (important!) :

pip3 install python-mirobo
pip3 install python-miio

Ces deux commandes vont télécharger et installer des librairies et packages additionnels de python qui vont vous permettre de communiquer en ligne de commande avec l’aspirateur. Attention, si vous ne respectez pas cet ordre d’installation, bizarrement, la commande mirobo ne fonctionnera pas.

Si vous êtes connecté au même réseau que votre aspirateur vous pouvez tester que l’installation fonctionne en tapant la commande suivante qui permet de trouver le robot sur le réseau (adresse et ID seront différents) :

C:\Users\myname> mirobo discover --handshake 1
INFO:miio.device:Sending discovery to with timeout of 5s..
INFO:miio.device: IP 192.168.0.146 (ID: 03c2b100) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done

Vous remarquerez le token composé de 32 caractères f, ce qui nous arrange pas. Pour dialoguer et commander le robot à distance il faudra récupérer le véritable token. C’est une suite de 32 caractères hexadécimaux qui est unique pour chaque aspirateur. Si vous connaissez déjà le token de votre robot sautez l’étape suivante.

Récupération du token

Il existe plusieurs méthodes pour récupérer le token. Je ne décrirai pas ces méthodes ici. Je vous renvoie à la partie « Récupérer le Token » du site domo-attitude pour le faire, c’est assez fastidieux. Sachez juste que le token change à chaque fois que vous réinitialisez le wifi de l’aspirateur.

Dans cet exemple le token sera 814e59653964f5374a347575b4684b49, notez le votre sans faire d’erreur et conservez le précieusement.

Installation du pack de voix françaises

Téléchargez le « french language pack » ici. J’ai créé les messages avec la fonction synthèse vocale de mon MacIntosh en utilisant le voix Audrey. Ce pack est compatible avec le firmware 3.3.9_003468 du robot aspirateur. Si vous l’installez sur une version de firmware plus récente il est possible que certains nouveaux messages ne soient pas traduits car absents du pack.

Lien:

Télécharger “fr.pkg” fr.pkg – Téléchargé 926 fois – 9 Mo

Ouvrez un invite de commande cmd et placez vous dans le répertoire où vous avez enregistré le fichier pkg. Commencez par obtenir l’adresse IP du robot dans votre réseau :

C:\Users\myname> mirobo discover --handshake 1
INFO:miio.device:Sending discovery to with timeout of 5s..
INFO:miio.device: IP 192.168.0.146 (ID: 03c2b100) - token: b'ffffffffffffffffffffffffffffffff'
INFO:miio.device:Discovery done

En vous munissant de l’adresse IP et du token tapez la commande qui va envoyer le pack de langue au robot.

C:\Users\myname\Downloads>mirobo --ip 192.168.0.146 --token 814e59653964f5374a347575b4684b49 install-sound fr.pkg
Installing from fr.pkg (md5: None) for id 10000
INFO:miio.updater:Serving on 0.0.0.0:49424, timeout 10
INFO:miio.updater:Using local fr.pkg (md5: be02cc6faa1f4d8674202c6c58fe8cdd)
Hosting file at http://192.168.0.141:49424/fr.pkg

192.168.0.146 - - [27/Jan/2019 13:33:21] "GET /fr.pkg HTTP/1.1" 200 -
INFO:miio.updater:Got a request, should be downloading now.
Downloading (0 %)
Downloading (50 %)
Downloading (94 %)
Installing (100 %)
Installing (100 %)
Installed (100 %)
Installation of sid '10000' complete!

Si vous restez coincé à la ligne « Hosting file at… » c’est que votre token n’est pas le bon. Et voila, votre aspirateur robot parle français. Pour vous en assurer retirer le bac à poussière !

Le fichier pkg est chiffré. Il n’est pas possible de l’ouvrir simplement pour en extraire le contenu. En bonus voici une archive en clair avec son contenu pour écouter tous les messages sur votre ordinateur.

Lien:

Télécharger “fr.tar.gz” fr.tar.gz – Téléchargé 503 fois – 9 Mo

La commande mirobo permet bien plus d’opérations. Pour un aperçu des commandes possibles, tapez la commande suivante :

mirobo --help

32 réflexions sur « Pack de voix française pour aspirateur Xiaomi Roborock V1 »

  1. Ça ne fonctionnera pas. La manip est spécifique à la v1. Les versions suivantes n’ont probablement pas le même système d’exploitation et un format de fichiers audio différent. Je n’ai pas de V7. Il est possible qu’au niveau configuration un pack de langue en français soit proposé par le constructeur si c’est un modèle en vente en Europe. S’il a été importé en passant par un site de vente chinois il y a peu de chances.

    • Je viens de faire un test et ça fonctionne. Après la confirmation il envoie un second mail à conserver pour retrouver facilement comment se désabonner. Ces mails ne sont pas envoyés par le site mais par WordPress.com qui centralise les abonnements.

  2. Salut, je voulais installer ton pack de langue (top!!) mais lors de l’exécution de la commande : « pip3 install python-miio » j’obtiens ca écrit en rouge !
    Peux tu m’aider à résoudre le problème ?

    Running setup.py install for netifaces … error
    ERROR: Command errored out with exit status 1:
    command: ‘C:\Program Files (x86)\Python\Python310\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘ »‘ »‘C:\\Users\\rosam\\AppData\\Local\\Temp\\pip-install-tx0_7voz\\netifaces_69fb9c53a9aa466ba26505a4d228a54c\\setup.py' »‘ »‘; __file__=' »‘ »‘C:\\Users\\rosam\\AppData\\Local\\Temp\\pip-install-tx0_7voz\\netifaces_69fb9c53a9aa466ba26505a4d228a54c\\setup.py' »‘ »‘;f = getattr(tokenize, ‘ »‘ »‘open' »‘ »‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘ »‘ »‘from setuptools import setup; setup()' »‘ »‘);code = f.read().replace(‘ »‘ »‘\r\n' »‘ »‘, ‘ »‘ »‘\n' »‘ »‘);f.close();exec(compile(code, __file__, ‘ »‘ »‘exec' »‘ »‘))’ install –record ‘C:\Users\rosam\AppData\Local\Temp\pip-record-wm0i0w0r\install-record.txt’ –single-version-externally-managed –user –prefix= –compile –install-headers ‘C:\Users\rosam\AppData\Roaming\Python\Python310\Include\netifaces’
    cwd: C:\Users\rosam\AppData\Local\Temp\pip-install-tx0_7voz\netifaces_69fb9c53a9aa466ba26505a4d228a54c\
    Complete output (5 lines):
    running install
    running build
    running build_ext
    building ‘netifaces’ extension
    error: Microsoft Visual C++ 14.0 or greater is required. Get it with « Microsoft C++ Build Tools »: https://visualstudio.microsoft.com/visual-cpp-build-tools/
    —————————————-
    ERROR: Command errored out with exit status 1: ‘C:\Program Files (x86)\Python\Python310\python.exe’ -u -c ‘import io, os, sys, setuptools, tokenize; sys.argv[0] = ‘ »‘ »‘C:\\Users\\rosam\\AppData\\Local\\Temp\\pip-install-tx0_7voz\\netifaces_69fb9c53a9aa466ba26505a4d228a54c\\setup.py' »‘ »‘; __file__=' »‘ »‘C:\\Users\\rosam\\AppData\\Local\\Temp\\pip-install-tx0_7voz\\netifaces_69fb9c53a9aa466ba26505a4d228a54c\\setup.py' »‘ »‘;f = getattr(tokenize, ‘ »‘ »‘open' »‘ »‘, open)(__file__) if os.path.exists(__file__) else io.StringIO(‘ »‘ »‘from setuptools import setup; setup()' »‘ »‘);code = f.read().replace(‘ »‘ »‘\r\n' »‘ »‘, ‘ »‘ »‘\n' »‘ »‘);f.close();exec(compile(code, __file__, ‘ »‘ »‘exec' »‘ »‘))’ install –record ‘C:\Users\rosam\AppData\Local\Temp\pip-record-wm0i0w0r\install-record.txt’ –single-version-externally-managed –user –prefix= –compile –install-headers ‘C:\Users\rosam\AppData\Roaming\Python\Python310\Include\netifaces’ Check the logs for full command output.
    WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
    You should consider upgrading via the ‘C:\Program Files (x86)\Python\Python310\python.exe -m pip install –upgrade pip’ command.

    • Bonjour Arnaud.
      Je ne vais pas trop pouvoir t’aider sur ce point. Je vois que tu utilises windows et en ce qui me concerne j’ai abandonné ce système depuis déjà 10 ans. En interprétant les messages d’erreur je vois qu’il se plaint d’une librairie manquante « Microsoft Visual C++ 14.0 » il te donne le lien pour la télécharger et l’installer. Tu peux ignorer le warning sur PIP.

  3. Salut ! J’ai, après avoir galéré avec C++, réussi a passer l’etape 2.
    Par contre j’ai ce message :

    WARNING: The scripts miio-extract-tokens.exe, miiocli.exe and mirobo.exe are installed in ‘C:\Users\rosam\AppData\Roaming\Python\Python310\Scripts’ which is not on PATH.
    Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.

    et du coup ca ne fonctionne pas. Si je comprends bien il faut que j’ajoute ces exe au path (mon dossier d’installation de python n’est pas celui par defaut) mais comment je fais ca ??

    • Il semble que tu as besoin d’ajouter le répertoire ‘C:\Users\rosam\AppData\Roaming\Python\Python310\Scripts’ à la liste des répertoires du PATH pour qu’il soit capable de trouver les exécutables en question même quand tu n’est pas dans ce répertoire.
      En ligne de commande tu dois pouvoir taper
      set PATH="%PATH;C:\Users\rosam\AppData\Roaming\Python\Python310\Scripts"
      Ca ne sera pas enregistré et valable uniquement dans la session de ligne de commande en cours. Pour le conserver entre deux sessions utilise
      setx PATH "%PATH;C:\Users\rosam\AppData\Roaming\Python\Python310\Scripts"

      • Merci pour ton aide et ta réactivité.
        Bon effectué la commande mais malheureusement il me dit que « mirobo » n’est pas reconnu en tant que commande interne donc en gros ca n’a rien changé, c blasant !!

        Y’a t’il un commande pour vérifier ce que contient le PATH ? Y’a t’il une priorité dans celui ci ? (Désolé j’y connais rien mais j’aime pas abandonner!)

        • Pour container le contenu de la variable PATH, juste taper echo %PATH%
          Le séparateur de chemins est le point virgule.
          Les chemins sont évalués dans l’ordre d’apparition. Si deux exécutables avec le même nom existent dans deux chemins du PATH, c’est le premier qui sera choisi.

          • Le dossier est bien présent dans le PATH… Dans le début de ton tuto tu parles d’un problème de communication lorsque tu fais pas les commande dans le bon ordre.
            Tu penses que mon problème peut être similaire à ca ? J’ai vérifié l’appli est Mirobo est bien présente dans le dossier… 🙁

          • Mon erreur dans cet article a été de décrire une procédure Windows, que j’ai testé à l’époque, mais pour laquelle je ne suis plus en mesure d’apporter de réponses car ce n’est pas celle que j’utilise. Pour résumer, si tu as installé les packages nécessaires, tu devrais avoir la commande mirobo installée dans un répertoire et c’est ce répertoire qui doit se trouver dans le PATH. En choisissant de ne pas installer python dans le répertoire par défaut tu as choisi la procédure la plus compliquée et c’est un choix qui a des conséquences sur les chemins puisqu’ils ne sont pas standard. Je ne fait que mettre à disposition le pack de langue que j’ai créé. La procédure d’installation n’est pas de moi. Il faut peut-être chercher du support du côté de la communauté qui a écrit mirobo. Une fois que cette commande fonctionne, l’installation du pack de langues est très simple (à condition d’avoir récupéré le tocken, unique à chaque aspirateur et qui change à chaque reconfiguration du wifi).

          • Edit : Ah je retenté et il lance bien la découverte de réseau, bon il ne le trouve pas ( c bizarre pq mon anti virus, ma box et mon home assistant le trouve bien) mais ca doit venir de chez moi j’imagine. Si t’as une idée je veux bien mais sinon merci pour ton aide !

          • On parle bien de la commande mirobo discover ? C’est bien le bon modèle de robot aspirateur ? Il est déjà plutôt ancien, on peut encore en acheter mais les site marchands mettent en avant des modèles plus récents (et plus chers). Ce modèle est vraiment costaud par rapport aux plus récents mais il est plus lent et légèrement moins efficace. Pour le prix ça reste une excellente affaire. Tu peux regarder au niveau de la configuration réseau windows. Si ton réseau est déclaré public il est possible qu’il active des règles de firewall au niveau Windows qui empêcheront de communiquer avec l’aspirateur.

Répondre à ifeelfree Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *