Jeśli planujecie wyjść poza schemat z waszymi urządzeniami Xiaomi i dołączyć je do świata Home Assistant, HomeBridge lub Domoticz pojawia się pytanie – jak wyciągnąć z nich token? W tym poradniku pokażemy Wam sposób zarówno dla urządzeń działających po WiFi jak i Bluetooth.
Czym jest token? Token to unikalny kod jaki dostaje urządzenie Xiaomi, kiedy je sparujecie z aplikacją Mi Home. Nie jest to przypisane na stałe adres MAC! Jeśli usuniecie urządzenie z aplikacji i dodacie je na nowo, wtedy na nowo zostanie wygenerowany token!
Dodawanie Custom Component do Home Assistant
Żeby dodać urządzenie do jednego z otwartych systemów wymienionych powyżej potrzebujecie Token oraz adres IP. Dobra rada, dla wszystkich urządzeń, które tak działają przypiszcie stały adres IP. Dzięki temu komunikacja nie przestanie działać po tym, jak np. zrestartujecie router.
WiFi
Zacznijmy od tych urządzeń, które działają po WiFi. Należą do nich oczyszczacze, nawilżacze lub roboty odkurzające. Kiedyś można było w prosty sposób poznać token wchodząc w ich ustawienia sieciowe. Z czasem jednak Xiaomi usunęło tą opcję i trzeba się bardziej pomęczyć. Na szczęście bardziej nie oznacza za bardzo.
Pierwszym co potrzebujecie jest emulator Androida. Ja Wam polecam Bluestacks. Działa on zarówno na PC jak i na Mac. Możecie go ściągnąć z tego miejsca.
Po zainstalowaniu emulatora należy w nim zainstalować specjalną aplikację Mi Home. Możecie ją ściągnąć z tego miejsca w wersji 5.5.4.
Następnie logujecie się do swojego konta Mi Home na serwer z którego chcecie pobrać token. Klikacie wybrane urządzenie, później informacje o sieci i na samym dole znajdziecie interesujący Was token oraz adres IP.
Bluetooth
Z urządzeniami Bluetooth może być trochę ciężej, bo nie mają one opcji „Informacje o sieci”. Na nie jednak też mamy sposób. Tutaj jednak konieczne będzie uruchomienie terminala na waszym serwerze na którym stoi Home Assistant, HomeBridge lub inny system.
Komenda, która Was interesuje to: [sudo] hcitool lescan
Dzięki niej będziecie mogli przeskanować sieć w poszukiwaniu urządzeń, które działają po Bluetooth. System powinien Was zasypać adresami Mac, więc musicie wiedzieć, czego szukacie.
Przykładowe nazwy dla kilku urządzeń Xiaomi:
- Smart Czajnik – MiKettle
- Mi Flower Care – Flower Care
- Czujnik temperatury – MJ_HT_V1
Jeśli komenda Wam nie działa, wtedy wykonajcie te dwie komendy. Jedna po drugiej.
[sudo] hciconfig hci0 down
[sudo] hciconfig hci0 up
A jeśli dalej macie problemy, to możecie zrestartować serwisy
[sudo] service bluetooth restart
[sudo] service dbus restart
Podsumowanie – Token Xiaomi
Dzięki powyższym sposobom powinniście być w stanie dostać upragnione tokeny i dodać urządzenia do Waszych smart systemów. Jeśli macie jakieś uwagi to piszcie je w komentarzach.
Witam, Próbuję jak w opisie, ale mogę tylko włączyć/wyłączyć oczyszczacz. Nie udaje się wejść w menu oczyszczacz, komunikat: „Nie udało się rozpocząć rozszerzenia, spróbuj poźniej”
U mnie to samo
Tym mi sie udalo:)
https://www.facebook.com/groups/130013164361315/?post_id=268700213825942
Mi się udało tak: https://www.home-assistant.io/integrations/vacuum.xiaomi_miio/#bluestacks
Czy jest jakies API za pomocą którego będe w stanie wyciągać dane z mojego Oczyszczacza używając wyciągniętego tokena?
Takie coś dajesz w configuration.yaml i masz encje gotowe do wstawiania na kartę (testowane na oczyszczaczu 2H)
# XIAOMI OCZYSZCZACZ
fan:
– platform: xiaomi_miio
host: 192.168.0.XXX
token: TWOJ_TOKEN
name: Air Purifier
sensor:
– platform: template
sensors:
mi_temperature:
friendly_name: „Air Purifier Temperature”
unit_of_measurement: '°C’
value_template: „{{ states.fan.air_purifier.attributes.temperature }}”
mi_humidity:
friendly_name: „Air Purifier Humidity”
unit_of_measurement: '%’
value_template: „{{ states.fan.air_purifier.attributes.humidity }}”
mi_aqi:
friendly_name: „Air Purifier Air Quality”
unit_of_measurement: 'µg/cm3′
value_template: „{{ states.fan.air_purifier.attributes.aqi }}”