Integracja Xiaomi Smart Air Purifier 4 Pro z openHab
Mam nadzieję, że za jakiś czas ten artykuł straci na czytalności, bo powietrze, które będzie nas otaczać będzie świetnej jakości i nie będzie potrzeby stosowania różnego typu filtrów i oczyszczaczy powietrza. Dzisiaj energia głównie pozyskiwana jest ze spalania paliw kopalnych. W chłodne dni bywa, że palone jest wszystkim, samochodów i spalin przybywa, a to wszystko istotnie i znacząco pogarsza powietrza, którym oddychamy.
Stosowanie oczyszczaczy powietrza na dzień dzisiejszy jest zasadne, szczególnie w lokalizacjach, gdzie średnie stężenie zawieszonych pyłów jest wysokie.
W tym artykule zamierzam pokazać, jak zintegrować filtr powietrza z systemem do automatyki oraz napisać bardziej zaawansowaną automatyzację.
Wersja artykułu do oglądnięcia
Sprzęt
Filtry, które używam to Xiaomi Smart Air Purifier 4 Pro
Dlaczego wybrałem te filtry:
- filtry tej marki zostały mi polecone przez użytkowników Forum Smart’ny Dom
- mają stosunkowa duża wydajność, bo do około 60m2 pomieszczenia
Nie należy zakładać, że jeden filtr przefiltruje mieszkanie o takiej powierzchni. Cyrkulacja powietrza między pomieszczeniami jest utrudniona i według mnie, aby uzyskać przyzwoite rezultaty należy mieć odpowiednio dobrany filtr w każdym pomieszczeniu
- oczyszcza ma wbudowany czujniki pyłów PM2.5 i PM10μm, temperatury oraz wilgotności
- posiada wbudowany jonizator powietrza
- spory wielowarstwowy filtr wyłapujący cząstki od 0,1 mikrometra, również pyłki, sierść, zapachy zwierząt, dym z papierosów oraz zapachy docierające z kuchni.
Oczyszczaczem steruje mikrokontroler ESP32, czyli oczywistym jest, że komunikacja z urządzeniem odbywa się z wykorzystaniem standardowej sieci WiFi 2.4GHz
Filtrem można sterować dedykowaną aplikacją Mi Home Xiaomi dostępną na smartfonie. Natomiast dla mnie korzystanie z wielu różnych aplikacji jednej do oczyszczacza, drugiej to sterowania światłem, trzeciej do rolet itd to daleko od systemu do automatyki. Uważam, że dobra automatyka to zintegrowana automatyka, gdzie wszystko komponenty w domu sterowane są z jednego centralnego systemu, jednej aplikacji bez konieczności sterowania każdym urządzeniem inna aplikacją.
Oczyszczacz Xiaomi można zintegrować z openHab i pewnie z Home Assistant oraz Domoticz. Dodatkowo oczyszczacz może być sterowany z bezpośrednim do niego dostępem, czyli bez konieczności korzystania z chmury producenta.
Po kilku miesiącach użytkowania mam wciąż pozytywną opinię na temat tego oczyszczacza.
Problemy jakie zauważyłem, jak do tej porty to:
- jednego dnia straciłem kontakt z dwoma filtrami. Odłączenie od zasilania i ponowne włączenie rozwiązało problem. Będę to obserwował i zaktualizuję artykuł jeśli ponownie wystąpi
- cena
W poniższym opisie integruję oczyszczać Xiaomi z openHab’em. Należy wziąć pod uwagę, że OpenHab, jak inne open-source’owe systemy ciągle rozwijają się, więc pewnie, za jakiś czas, pokazana przeze mnie integracja może zmieni się, natomiast przedstawione tutaj ogólne koncepcje są uniwersalne.
Informacje i komendy sterujące Xiaomi Smart Air Purifier 4 Pro
Poniższa lista została wyciągnięta z openHab i zawiera wszystkie dostępne informacje oraz komendy sterujące oczyszczaczem Xiaomi Smart Air Purifier 4 Pro w momencie pisania tego artykułu.
Actions | Komenda, którą możemy między innymi przełączać filtr między trybami włącz/wyłącz |
Air Purifier – Switch Status | Włącznik, którym możemy włączać i wyłączać filtrowanie powietrza |
Air Purifier – Device Fault | Informacja o błędach w działaniu urządzenia |
Air Purifier – Mode | Przełącznik jednego z czterech trybów pracy oczyszczacza: automatyczny, ręczny, nocny lub własny/ulubiony |
Air Purifier – Fan Level | Przełącznik jednego z trzech predefiniowanych trybów filtrowania powietrza |
Air Purifier – Anion | Włącznik jonizacji powietrza |
Environment – PM2.5 Density | Poziom zawieszonych pyłów 2.5μm |
Environment – PM10 Density | Poziom zawieszonych pyłów 10μm |
Environment – Temperature | Temperatura |
Environment – Relative Humidity | Wilgotność |
Temperature Display Unit | Przełączanie jednostki temperatury między C, a F |
FIlter – Filter Life Level | Poziom zużycia filtra, gdzie wraz ze zużyciem filtru wartość maleje od 100 do 0 |
FIlter – Filter Used Time | Czas użycia filtru |
FIlter – Filter Left Time | Pozostały czas do wymiany filtru |
Alarm | Włączanie / Wyłączanie sygnałów dźwiękowych |
Physical Control Locked | Blokada przed dziećmi |
Screen Brightness | Pozwala ustawić poziom jasności wyświetlacza: [„0″=”Jasny”,”1″=”Przyciemniony”,”2″=”Wyłączony”] |
Custom Service – Moto Speed RPM | Aktualna liczba obrotów wentylatora |
Custom Service – Favorite Speed | Ilość obrotów wentylatora dla ulubionego poziomu filtrowania |
Custom Service – Motor Set Speed | Aktualnie ustawiona ilość obrotów wentylatora |
Custom Service – Favorite Level | Umożliwia ustawienie ulubionego poziomu filtrowania od 0 (wył) do 11 (max) |
Custom Service – Buttom Door | Czujnik otwarcia pokrywy od filtra |
Custom Service -Reboot Cause | Powód ponownego uruchomienia oczyszczacza |
Custom Service – Manual Level | To samo co: Air Purifier – Fan Level |
Custom Service – Country Code | Ustawienie kraju, regionu |
Filter Time – Filter Used Debug | ? |
AQI – Purify Volume | ? |
AQI – Average AQI | Średnia jakość powietrza |
AQI – AQI State | Jakość powietrza: [„0″=”AQI_GOOD_L”,”1″=”AQI_GOOD_H”,”2″=”AQI_MID_L”,”3″=”AQI_MID_H”,”4″=”AQI_BAD_L”,”5″=”AQI_BAD_H”] |
AQI – AQI Update Heardbeat | ? |
RFID – Tag | Tag: filtra |
RFID – Factory Id | ? |
RFID – Product Id | Filtr: ID |
RFID – Time | ? |
RFID – Serial Num | Numer seryjny filtra |
Z tabeli powyżej widać, że mamy dostęp do wielu różnych informacji i akcji z poziomu systemu do automatyki i dzięki temu możemy realizować całkiem sporo ciekawych pomysłów
Poniższy screenshot to przykład jak można zorganizować panel w habPanel sterujący oczyszczaczami Xiaomi oraz informujący o stanie filtrów oraz parametrach jakości powietrza niektórych komend oraz informacji wymienionych w liście powyżej.
Automatyzacja
Filtry Xiaomi, które wybrałem są dość wydajne i w kilka minut są w stanie zrobić robotę, dlatego stwierdziłem, że nie ma konieczności, żeby pracowały non-stop nawet w trybie automatycznym, bo w tym trybie oczyszczacz cały czas pracuje i jedynie co automatyzuje, to dobiera moc filtrowania do jakości powietrza w pomieszczeniu.
Ponadto co wcześniej wspomniałem, nie chcę używać wielu aplikacji do sterowania urządzeniami i mimo, że oryginalna aplikacja Mi Home Xiaomi umożliwia zdefiniowanie podstawowych reguł do automatyzacji oczyszczacza, to ja chce mieć wszystkie reguły w ramach systemu do sterowania automatykę – w moim przypadku openHab
Jeśli chodzi o filtrowanie powietrza to w tym zakresie zależało mi, aby filtry pracowały tylko kiedy ma to sens. To znaczy jeśli jakość powietrza jest zła, to filtr uruchamia się, jeśli jakość powietrza jest okay to oczyszczać wyłącza się, oszczędzając przy tym energię elektryczną oraz czas zużycia filtru.
Dodatkowo, chciałem żeby filtrowanie powietrza uwzględniało, czy w domu przebywają jego użytkownicy.
Pod tym linkiem można znaleźć zestaw moich reguł do jednego z oczyszczaczy. W skład pakietu wchodzi:
- konfiguracja items
- konfiguracja transformacji
- reguły
- reguła przeliczania PM2.5 do przekroczeń w ramach norm WHO
- przeliczanie zużycie filtra od 0% do 100%, gdzie 100% oznacza filtr do wymiany
- ustawianie automatycznego włączania automatyzacji oczyszczania powietrza w zależności od czasu
- automatyczne sterowanie oczyszczaniem powietrza z zdefiniowanych progach PM2.5
Integracja oczyszczacza z openHab
Oczyszczacz obsługuje protokół Mi IO, który używany jest w większości urządzeń Xiaomi WiFi. Proces integracji tego oczyszczacza, polega na
- instalacji odpowiedniego binding’a w OH,
- konfiguracji binding’a
- dodania urządzenia (thing)
- włączenie dodatkowych opcji umożliwiających przeskanowanie urządzenia oraz uruchomienie możliwości eksperymentalnych
- restart OH
Instalacja i konfiguracja openHAB Xiaomi Binding
- instalacja binding OpenHab wspierający ten typ urządzeń: Xiaomi Wifi devices (Mi IO) Binding
- Konfiguracja binding’a
- wpisanie konta, hasła do aplikacji Mi Home – Xiaomi Smart
- wprowadzenia kraju serwera Xiaomi, dla Polski będzie to de
- wybranie opcji: Discover all online devices from Xiaomi cloud
Po zapisaniu OpenHab powinien mieć możliwość łączenia się z serwerem Xiaomi, pobrać informacje o urządzeniach obsługujących protokół Mi IO skojarzonych z naszym kontem Xiaomi, którymi możemy sterować z openHab.
Pobranie konfiguracji oraz dodanie oczyszczacza do openHab
Dodanie oczyszczacza Xiaomi w moim przypadku było bezproblemowe. Wystarczyło
- wejść w openHab do opcji dodawania nowych Things
- dodać nowego urządzenie na podstawie zainstalowanych bindings
- a następnie wykonać skanowanie
Jeśli konfiguracja binding’a została zrobiona poprawnie to powinny zostać pobrane z serwera Xiaomi wszystkie urządzenia przypisane do konta obsługujące protokół MiIO
Włączenie opcji eksperymentalnych
W chwili kiedy to piszę, oczyszczacz Xiaomi Smart Air Purifier 4 Pro, nie jest jeszcze oficjalnie wspierany przez Xiaomi Wifi devices (Mi IO) Binding. Prawdopodobnie jest za nowy i dopóki to nie zmieni się konieczne jest wykonanie dodatkowych kroków w OpenHab dla tego konkretnego oczyszczacza.
- Wchodzimy do Thing tego nowododanego urządzenia
- Wchodzimy do Channels
- Dla poniższych kanałów tworzymy item’y
- execute test to find supported channels oraz
- create experiential support for new MIOT protocole devices.
- po utworzeniu item’ów należy przełączyć je na pozycję ON, a następnie
- ponownie uruchomić openHab’a
Po tej operacji zostaną automatycznie przeprowadzone dodatkowe testy przez openHab, które umożliwią dostęp do wszystkich informacji i akcji dostępnych z tym oczyszczaczem.
Jeśli będziemy mieli kilka oczyszczaczy powietrza Xiaomi Smart Air Purifier 4 Pro, to te dodatkowe kroki wykonuje się tylko raz dla jednego z oczyszczaczy. Wszystkie kolejne dodawane oczyszczacze będą automatycznie skanowane przez openHab i dodawane z kompletną listą akcji.
Teraz możemy przeprowadzić standardową konfigurację, czyli dodawanie item’ów do dostępnych i interesujących nas kanałów, czyli channels w nomenklaturze OpenHab.
Dodatkowe parametry konfiguracyjne
Jednym z powodów dla którego warto rozważyć integrację oczyszczacza Xiaomi z system do automatyki jest możliwość sterowania nim bezpośrednio bez konieczności łączenia się z chmura Xiaomi. Aby mieć taką możliwość musimy upewnić się, że opcja Communication Method w konfiguracji Thing oczyszczacza jest ustawiona na Direct.
Ten parametr konfiguracyjny widoczny jest po zaznaczeniu check-box’a Show advanced.
W ramach zaawansowanych parametrów, mamy również do rozważenia odpowiednie ustawienie parametru konfiguracyjnego: Refresh Interval.
Tym parametrem ustawia się częstotliwość odczytywać dane z oczyszczacza. Wartość należy ustawić optymalnie dla własnych potrzeb. Nie za często, aby nadmiernie nie obciążyć sieci WiF oraz oczyszczacz, ale również w dość rozsądnych interwałach, aby mieć ciągle w miarę aktualne informacje. Moja sugestia to między 30, a 60 sekund.
Timeout powinien zostać ustawiony na wartość mniejszą niż częstotliwość odczytów, aby w razie problemów z odczytem danych nie zbombardować oczyszczacz żądaniami, które urządzenie nie będzie w stanie zrealizować
W razie pytań lub sugestii zapraszam do komentarzy.
Super instrukcja! Brakuje takich instrukcji w języku polskim .