Opis: Adapter pozwalający na komunikację z urządzeniami wspiarającymi protokół miIO (protokół komunikacyjny używany przez niektóre urządzenia Xiaomi)
Link: miio

Lista wspieranych urządzeń jest dostępna na stronie projektu i na ten moment (wersja adapter 0.0.13) jest następująca
W moim przypadku adapter łączy się z oczyszczaczem powietrza xiaomi air purifier 2. Ponieważ wcześniej używałem innego adaptera, który wymagał znajomości tokena to dodanie oczyszczacza do adaptera miio odbyło się bardzo sprawnie po przez podanie adresu IP oczyszczacza i jego tokena. Po zapisaniu ustawień w zakładce Objects pojawiła się jego struktura:

Opisywany adapter posiada również tryb auto wykrywania urządzeń, jednak nigdy z niego nie kożystałem.
Jak widać adapter dostarcza nam sporo informacji z oczyszczacza. Daje nam również sporo możliwości sterowania jego pracą np. zablokowanie fizycznych przycisków na obudowie oczyszczacza (childLock), wyłączenie dźwięku (buzzer), wyłączenie wskaźników LED (led) oraz inne. Najważniejszą funkcją, którą możemy sterować jest tryb pracy oczyszczacza (mode) oraz jego 2 najważniejsze tryby czyli auto i silent.
W moich automatyzacjach tryb pracy z auto na silent (czyli tryb cichej pracy) przełączam w dwóch przypadkach.
1 – kiedy aktywuje się tryb ciszy nocnej
2 – kiedy uruchomiony jest szumiś córki, to oczyszczacz przechodzi w tryb cichy. Szumiś to urządzenie “generujące” biały szum, który pomaga dziecku usnąć. Ponieważ nie byłem zadowolony z szumisiów dostępnych w sklepach postanowiłem zbudować swój własny, który można włączyć zdalnie oraz ustawić pożądaną głośność. Do komunikacji używa protokołu MQTT. Jak go zrobić opiszę w przyszłości.
//Skrypt działa tylko między godziną 08:00 a 22:00 //uruchamia tryb cichy w oczyszczaczu jak włączy się szumisia //jak szumiś jest OFF to oczyszczacz wraca do auto on({id: 'mqtt.0.szumis.play', change: 'ne'}, function(obj){ if(obj.state.val == true){ if (compareTime("08:00:00", "22:00:00", "between")) { setState('linkeddevices.0.salon.oczyszczacz.mode', "silent"); } }else{ if (compareTime("08:00:00", "22:00:00", "between")) { setState('linkeddevices.0.salon.oczyszczacz.mode', "auto"); } } });
Jeżeli ktoś się zastanawia czemu w nazwach obiektów znajduje się linkeddevices, a nie miio to zapraszam do lektury.
W swoim domu posiadam więcej urządzeń znanej i lubianej firmy Xiaomi, jednak do komunikacji z nimi używam innego adaptera (zigbee).