Toto je starší verze dokumentu!
Xiaomi Mi Robot Vacuum - Mop 2 Ultra
Na internet jsem se inspiroval některýma knihovnama, které ukazují, že lze můj robotický vysavač ovládat skrze příkazy v Pythonu. Tak jsem se pustil, co je na tom pravdu s vidinou, že bych nepotřeboval oficiální aplikaci, ale mohl využívat scénáře v Node Red.
Nejprve k samotnému binárnímu protokolu Xiaomi. Dle příspěvku Xiaomi's MiHome Binary protocol to vypadá, že komunikace probíhá skrz protokol UDP na portu 54321. Tady je popsána struktura packetu: Xiaomi Mi Home Binary Protocol
získání šifrovacího tokenu
Pro instalaci robotického vysavače jsem si musel vytvořit účet v aplikaci od Xiaomi. A přihlašovací údaje do aplikace jsou cestou, jak získat šiforvací token. Tady jsou popsány cesty, jak token získat: Obtain Mi Home device token. Cesty jsou sice komplikované, nicméně článek jsem dal pro úplnost, protože může sloužit jako návod, jak protokol odposlouchávat a vyhledat konkrétní příkazy.
Nicméně pak jsem našel jednodušší cestu pro získání tokenu. A byl to projekt python-miio.
Zde je popis instalace:
pip3 install python-miio
Později jsem potřeboval i aktuální verzi z repozitáře, kterou jsem rozběhal ve virtuálním stroji takto:
git clone https://github.com/rytilahti/python-miio.git cd python-miio/ pip3 install poetry poetry install poetry run miiocli --help
K získání tokenu mi pak stačil tento příkaz:
miiocli cloud list
Zadal jsem přihlašovací jméno do účtu Mi Home a heslo a měl jsem jako výstup token a IP adresu, na které mi robot naslouchá.