Xiaomi Mi Band 3 – jest postęp, ale czy aż tak duży?

Opierałem się, opierałem, walczyłem, ale w końcu pękłem 🙂 Jako zdeklarowany fan Xiaomi Mi Band 2, ale człowiek bardzo racjonalizujący wszelkie zakupy (’A po co mi to?', 'Produkty zawsze na początku są niedopracowane') – czekałem z zakupem kilka tygodni. W sumie okazało się, że było warto odroczyć zakup. A czy warto zakupić/zamienić opaskę? O tym poniżej. Subiektywnie.
Opakowanie jak zwykle estetyczne, chociaż nastąpiła mała zmiana – nie są to już 'szarobure' pudła, a białe z plastikowym przezroczystym zamknięciem. Ładnie.

Pierwsze wrażenie – jest inaczej. Jeżeli interesowaliście się tematem, to wiecie, że wersja 3 zmieniła się pod kątem wyglądu i użytkowania. Jeżeli nie, to:
1. Wersja 3 ma zaokrąglony ekran. Niby wygląda ładniej, ale na pewno łatwiej będzie ją porysować. Szkła ochronne na zaokrąglonym ekranie prędzej czy później się odkleją.
2. Cała powierzchnia szkła jest dotykowa. Czyli można ją 'miziać' aby zmieniać informacje.
3. Jest dużo bardziej wodoodporna. Ciągle obawiam się z nią nurkować, ale pod prysznic czy na deszcz – nie ma problemu. Zresztą, i z wersją 2 nie było tak źle.
4. Mamy kilka nowych funkcji: pogoda, powiadomienia z aplikacji – sms/e-mail/What’s app, osoba dzwoniąca – pojawiają się teraz na ekranie. Czasem wyłącznie wysyłający, czasem treść wiadomości – zależy od aplikacji. Pokazywane jest ostatnie 5 powiadomień.
5. Wygląd ekranu zmieniamy teraz z poziomu opaski, nie aplikacji.
6. Wiele innych modyfikacji – stoper, animowane ikony, pomiar tętna nie po odczekaniu chwili a po naciśnięciu przycisku.

Ja zamawiałem wersję chińską, trochę po rozpakowaniu obawiałem się, jak uda mi się zmienić język, ale tutaj okazało się, że warto było poczekać. W internecie opisywano konieczność zmiany z nieoficjalnych aplikacji, wyłącznie na telefonach z systemem Android. Po aktualizacji aplikacji i oprogramowania opaski kilka tygodni temu poszło prosto, chociaż musiałem zmienić język iPhone na angielski aby opaska pobrała nowe oprogramowanie, później już język telefonu na polski i wszystko się 'ustabilizowało'.

Kilka zdjęć z samej opaski poniżej.

Mnie się podoba, chociaż nie ma aż takiego imperatywu do zmiany. Faktem jest, że ciągle tekst na ekranie jest słabo widoczny w słońcu, do tego – wersja 2 ma chyba bardziej wyrazisty ekran. W podobnej cenie do wersji otrzymujemy jednak powiadomienia (które coraz bardziej mnie przekonują) i kilka innych funkcji.

Jak zintegrować z Domoticz – na razie nie wiem 😉

Smart home, Domoticz, Raspberry – z czym się to je

Czytając swojego bloga (serio – czytam czasem co naskrobałem dwa lata temu, aby poprawiać 'warsztat') doszedłem do wniosku, że nie zrobiłem nawet małego wstępu dla amatorów tematów Smart house i Raspberry Pi. Odgórnie przyjąłem, że wszyscy już wiedzą o co chodzi i od razu, 'z grubej rury' przystąpiłem do opisywania tematów. Czasem dość trudnych.

Przy okazji rozpoczęcia strony na Facebook, dotarło do mnie, że nie mam co wrzucić jako początek, jak zainteresować ludzi, wytłumaczyć podstawy. Temu właśnie posłuży ten wpis.

Zaczynamy!

Designed by Freepik

Smart home, smart home, IoT, IoT. Bardzo głośne ostatnio tematy. Czyli tak zwane 'Inteligentne domy'. Osobiście wolę termin 'Sterowane', 'Odpowiednio sterowane' lub 'Automatyczne'. Inteligencję rezerwuję dla tworów żywych.

Dom taki na podstawie czujników czy też informacji z zewnątrz (na przykład pogodowych) potrafi odpowiednio się 'dostosować' do naszych potrzeb.

Dość często wymienia się tutaj przykłady:
– uruchomienia podlewania gdy prognozowany jest brak opadów przez kilka dni,
– automatyczne otwieranie rolet/markiz o poranku
– czy też domykanie ich, gdy słońce świeci akurat w konkretne okno,
– sterowanie ogrzewaniem w domu gdy nas nie ma
– lub ustawianie zadanej temperatury, bo akurat wcześniej wracamy z pracy/wyjazdu,
– inteligentne monitorowanie posesji – jeżeli kurier dzwoni wideofonem przy bramie – wyślij zdjęcie i jeżeli potrzeba – otwórz mu furtkę aby nie bawił się w ogrodową koszykówkę przesyłką,
– ustawianie natężenia świateł w zależności od potrzeb – czytanie/oglądanie filmu/pełna jasność
– łączenie powyższych elementów w sceny – jeżeli wybieram tryb Kino – rozwiń ekran, włącz amplituner, wyłącz światła
– sterowanie głosowe
– powiadamianie głosowe/sms/e-mail

Wszystkie te elementy można zrealizować 'na bogato' zlecając je wyspecjalizowanej firmie, lub hobbystycznie. Temu drugiemu podejściu dedykowany jest blog. Niestety, podczas budowy domu popełniłem kilka błędów, jednym z nich było pociągnięcie zbyt małej ilości kabli do przesyłania danych, 'bo przecież teraz wszystko po WiFi'. Wymusiło to (na ponowne kucie ścian i remonty nie mam ochoty) ustawienie zainteresowania na transmisję bezprzewodową.

Nie jestem profesjonalistą w tym temacie. Cały czas mnóstwo się uczę i wiele tematów jeszcze przede mną. Jeżeli coś jednak zaczynam i mnie wciągnie – 'nie ma zmiłuj' – nie będę spał, ale temat muszę rozgryźć a problemy usunąć. Kropka.

Dlatego zainteresowały mnie platformy Raspberry Pi, Wemos, Arduino. Stąd już krok do komunikacji 433MHz, WiFi, ZigBee, Z-Wave. Czujniki temperatury, wilgotności, zalania, dymu, monitorowanie zużycia energii. Internetowe prognozy pogody, dane w formacie JSON. Temat jest niesamowicie rozległy i ciężko powiedzieć: 'To jest jedyne dobre rozwiązanie'.

Są systemy płatne, kompleksowo zamykające temat przez autoryzowanych instalatorów – Fibaro, Grenton to tylko przykłady polskich rozwiązań, na rynku jest ich mnóstwo. Oferują sterowanie światłem, ogrzewaniem, bezpieczeństwem, czujnikami. Są jednak relatywnie drogie (oczywiście punkt widzenia każdej osoby będzie się różnił) oraz zamknięte, jeżeli chodzi o sposób zaimplementowanych rozwiązań.

Osobiście szukałem systemu darmowego aby sprawdzić, czy Smart home się w ogóle u mnie przyjmie, czy jest sensowny. Patrząc z perspektywy czasu – jak najbardziej tak! Do tego przydałoby się oprogramowanie, które to wszystko zepnie, odczyta dane z czujników, prześle do przekaźników, zapisze do bazy danych, umożliwi analizy, reakcję.

Mój wybór padł na Domoticz. Trzy lata temu 'próg wejścia' w jego przypadku był niższy niż w Home assistant. Aktualnie coraz częściej rozważam opuszczenie Domoticz, albo chociaż na pewien czas równoległe sprawdzenie Home assistant. Wydaje się platformą stabilniejszą, bardziej rozwojową ze względu na sposób jego budowy. Aktualnie jednak – Domoticz!

Dla osób początkujących ważna jest również kolejna informacja – oba systemy są darmowe, możliwe do zainstalowania na Raspberry Pi, komputerach/serwerach obsługujących Linux, Windows, MacOS. Nie nie ryzykujecie zaczynając przygodę ze Smart home.

Dlaczego akurat on?
– po zainstalowaniu na Raspberry Pi (i nie tylko) można go od razu używać, bez dodatkowych skryptów
– dla początkujących praktycznie wszystko da się wyklikać
– bogaty zbiór urządzeń, które są obsługiwane
– na tamten czas dość ładny interface użytkownika

Porównując koszty, są od 5 do 10 razy mniejsze niż przy rozwiązaniach dedykowanych, nadmieniam jednak, że spędziłem mnóstwo czasu ucząc się, dostrajając elementy do swoich potrzeb, instalując, testując. Nie każdy ma ochotę na takie hobby. Mnie akurat wciągnęło.

Kilka przykładów:

Dashboard (czyli główny pulpit). Z tego miejsca mogę sprawdzić status tego co się dzieje w domu – kamery, gniazdka, włączone urządzenia.

Przełączniki – światła, sterowanie IR (TV, wzmacniacz), gniazdka zdalnie włączane, LEDy, system audio multi room

Sceny – połączenie kilku elementów w łańcuch zdarzeń. Jeżeli oglądamy film, to wyłącz światła, włącz amplituner, subwoofer…

Temperatura – dane z każdego z czujników. Łącznie z wilgotnością.

Elementy użytkowe – status użycia Raspberry Pi, szybkość łącza internetowego, nawodnienie kwiatów, pobór prądu w domu

Domoticz umożliwia również robienie raportów w formie graficznej. Tutaj – wykres temperatury na zewnątrz

Ustawianie warunków włączenia/wyłączenia. Tutaj – Włącz światła przed domem godzinę po zachodzie słońca i wyłącz zawsze o 22:00.

Warunki powiadamiania. Tutaj – Jeżeli włączy się światło przed domem – wyślij e-mail na żądany adres

Jeżeli prezentacja danych w Domoticz nam nie odpowiada, zawsze można doinstalować dodatkowe systemy zbierające i prezentujące dane. Na przykład InfluxDB i Grafana.

Zachęcam do przeczytania poprzednich wpisów, postarałem się ułożyć opisane już tematy w pewne pakiety tematyczne:

– Przede wszystkim – Domoticz
– Systemy audio multi-room – Logitech media server, Max2Play
– Zdalny dostęp do Raspberry i Domoticz – Dataplicity
– Czujniki otwarcia/zamknięcia drzwi – Kerui
– Centralki obsługujące różne transmisje: RFLink, Xiaomi Mijia Smart Home
– Prezentacja danych/sterowania elementami domu: Dashticz, aplikacja Pilot, aplikacja MiHome
– Monitorowania zużycia energii: Owl Micro +
– Sterowanie głosem – Amazon Alexa – Echo Dot, Skille, Kalendarze
– Chipy ESP8266 – Wemos D1 Mini
– Instalacja, konfiguracja: Raspberry, Domoticz
– BLE – Bluetooth Low Energy – Mi flora
– Przełączniki Sonoff – Basic, POW, S20
– Sterowanie oświetleniem – włączniki Xiaomi, Milight
– Piloty uniwersalne IR – Broadlink
czujnik smogu
– Zdarzenia, powiadamianie – bezpośrednio w interface Domoticz, skrypty
pourlopowe wnioski

Nie twierdzę, że moja ścieżka jest jedyną dobrą. Ile osób, tyle możliwych rozwiązań, pomysłów, różnorakich podejść. Eksperymentujcie, sprawdzajcie!

Pozdrawiam, życząc miłej i przyjemnej lektury
Cezar

P.S. Życzę również dużo myślenia, potu, zastanawiania się czemu nie działa, szukania rozwiązań problemów.

Aktualizacja wersji Mi Home

Dobry wieczór!

Zostałem dzisiaj mile zaskoczony przez Xiaomi. 
Przemodelowali swoją (całkiem już moim zdaniem dobrą) aplikację Xiaomi Mi Home. Wersja 4.8.1 dostarcza kilka ciekawych zmian i nowości.
Pomiędzy nimi znajdują się:
– nowy pasek statusu
– podział urządzeń na typy (włączniki, światła, czujniki, itp.)
– usunięto Ulubione
– możliwość wyświetlania urządzeń w formie 'siatki' albo listy
– zmiany w wyglądzie, prezentowanie skrótów
Aktualnie prezentuje się to wszystko jak na zrzutach ekranu poniżej. 
Skoro nie mamy Ulubionych, to aktualnie pierwsza zakładka pokazuje nasze wszystkie urządzenia. Jak dla mnie jest czytelniej – ikonki są schludne (poniżej prezentowane jako Grid – 'Siatka'), prezentują wyraźnie status. Wcześniej aby dowiedzieć się jakie na przykład jest ciśnienie trzeba było wejść na konkretny termometr/barometr.

Z jakichś powodów w sekcji 'Security' znalazł się repeater sygnału WiFi i Wireless Switch 😉

Czujniki to na przykład temperatura, czujniki ruchu, otwarcia/zamknięcia drzwi, zalania.

W razie potrzeby możemy przejść szybko do żądanej sekcji.

A poniżej nowe Info Center, czyli informacje dostępne po rozwinięciu górnego paska z informacjami. Na razie nie widzę możliwości konfiguracji tego, co ma się tu pojawiać. Czyżby autorzy domyślnie wrzucili tam wyłącznie temperaturę? Zwróćcie uwagę na ładne ikony, ale i brak spacji po typie pomiaru. Czyli na przykład Humidity59%. Zapewne wkrótce zostanie wypuszczona mała poprawka.

Reasumując – coś się dzieje 🙂 Moim zdaniem zmiany na plus. Ale ja jestem mało obiektywny i raczej z tych nie marudzących.

Broadlink i Domoticz – walki ciąg dalszy

Taki wniosek na szybko – czasem nie warto oszczędzać 😉 W sumie nie żałuję zakupu pilota Broadlink RM Mini 3, ale sposób w jaki muszę podłączać go do Domoticz jest, delikatnie mówiąc, skomplikowany.

Zacznijmy od tego, że nauka kodów wszystkich pilotów nie jest tym, co tygrysy lubią najbardziej. Ja wiem, że można zamapować kilka głównych przycisków (chociaż i to działa spontanicznie), ale w sieci są kody do wielu różnych urządzeń, które można wykorzystać. Tak jest również w przypadku Broadlink, ale w aplikacji e-Control jest to zorganizowane bardzo nieporządnie. Jako że dodają je użytkownicy, to wielokrotnie mimo szczerych chęci opisy się powtarzają, nie ma żadnego standardu – trzeba celować na przykład w kilkanaście tych samych opisów w stylu 'Samsung TV'.

Powiedzmy jednak, że znaleźliśmy wzór pilota jaki chcieliśmy. W moim przypadku podstawowe funkcje działały na prawie każdym – włączenie/wyłączenie, głośniej/ciszej/wycisz.

Mamy w nich zamapowane kilkanaście przycisków. Szkoda robić to wszystko od nowa – tym bardziej, że z nieznanych mi powodów plugin Broadlink w Domoticz przestał mi odczytywać kody IR z pilotów – zawsze są tam zera. W aplikacji działa…

Jak w takim razie wyłuskać zapisane już dane? Jest możliwość. 
Po pierwsze – potrzebujemy telefonu z Androidem. iPhone sobie z plikami nie radzi, także na nim wiele w tym przypadku nie zdziałamy. Na nim instalujemy aplikację e-Control i łączymy się z naszym pilotem Broadlink. Konfigurujemy co chcemy, wyszukujemy albo robimy to sami klawisz po klawiszu.
Wchodzimy w Opcje (po lewej, na górze)
I Share
Następnie 'Share to other phones in WLAN'

I teraz zaczyna się ciekawe. Musimy znaleźć w strukturze plików (na szczęście Android przeglądarkę takowych udostępnia) folder

/broadlink/newremote/SharedData/

I stamtąd musimy pobrać trzy pliki:

jsonSubIr
jsonButton
jsonIrCode

Najważniejszy jest jsonIrCode, ale do zaimportowania w Domoticz potrzebujemy wszystkich trzech.

Poniżej opis funkcji, za pomocą których można zaimportować dane kodów IR do Domoticz.

Przycisk Webstart uruchamia serwis za pomocą którego będziemy mogli przesłać pliki z telefonu do Raspberry Pi. Możemy wtedy wpisać adres naszego Raspberry Pi w przeglądarkę na telefonie z portem 9000 (np. http://192.168.1.200:9000/import). Co ważne – serwis zakończy pracę ze względów bezpieczeństwa po 10 minutach.

Jeżeli wiemy jak to zrobić sami (np. FTP czy też Samba share), to ładujemy je do folderu /import wewnątrz folderu Broadlink. WAŻNE! NIE plików folderu pluginu, ale folderu, który podaliśmy w konfiguracji!

Generate odczyta i zapisze te pliki. Odczyta wszystko w formacie json i stworzy z nich pliki *.ini z kodami IR do poszczególnych pilotów.

I teraz zaczyna się zabawa… Ja osobiście nie chciałem mieć stu nowych przycisków w Domoticz, dlatego przeniosłem je do folderu roboczego…

…i jeden po drugim (czasem domyślając się po opisie, czasem testując samemu) ładowałem je do folderu /import i przyciskałem…

Import – przeniesie pliki z folderu Import do Broadlink i założy odpowiednie 'przyciski' w Domoticz.

Tralalala, działa. Żeby sprawdzić jak to wszystko będzie pracowało na 'żywym organizmie'.

Stworzyłem Scenę

i dodałem:

Po kolei:
1. Zapal delikatne światła (po co ma mnie od razu oślepić…) w salonie – to akurat Xiaomi
2. Podnieś ekran – tutaj RFLink
3. Daj sygnał IR z Broadlink do projektora aby się wyłączył
4. Potwierdź – taki wymóg projektora
5. Wyłącz wzmacniacz

Scenę przez HABridge połączyłem z Alexą i można już po filmie powiedzieć 'Alexa, after movie' i sprawdzić jak nasze sprzęty reagują. Magia!

Włączniki Xiaomi – aktualizacja po remoncie

Stało się ! Kolejny element 'smart home' zainstalowany.

Dzięki uprzejmości i talentowi mojego drogiego teścia – Xiaomi Aqara Wall Switch w ścianie i działa!

Pierwsze testy opisałem wcześniej: http://cezarowy.blogspot.com/2018/03/sterowane-przeaczniki-od-xiaomi-w-koncu.html

Od razu na początek ważna sprawa – włączniki nie pasują do standardowych, przeważnie montowanych u nas w kraju okrągłych puszek. Musiałem kupić kwadratowe, na szczęście udało się znaleźć takie w Castoramie:

https://www.castorama.pl/produkty/instalacja/instalacje-elektryczne/systemy-i-osprzet-instalacyjny/puszki/natynkowe/puszka-podwojna-ospel-impresja-antracyt.html

Odrobinę talentu w kuciu ścian – pozdrowienia dla teścia za wykonanie pracy, podłączenie i mamy jak poniżej.

Teraz już moja praca, całkiem raczej przyjemna, na pewno czystsza. Gniazdka parujemy wybierając z aplikacji Mi Home typ gniazdka (Aqara ZigBee) i przyciskając dowolny klawisz na przynajmniej 5 sekund. Później przypisanie do pokoju, opis i możemy szaleć.

W Domoticz wystarczy włączyć rozpoznawanie nowych sprzętów na 5 minut i włączyć każdy z przycisków. Później, standardowo, przenosimy je na listę aktywnych urządzeń.

To wszystko później do HABridge i już możemy się cieszyć komunikatami w stylu 'Alexa, big lights in living room on'.

Ja sobie je jeszcze dodatkowo połączyłem w grupę, aby włączyć i wyłączyć wszystko razem.

Kolejny ciekawy gadżet Xiaomi – czujnik zalania.

Chyba można powiedzieć, że jestem już nałogowym kupcem sprzętu Xiaomi 😉

Jakiś miesiąc temu znalazł się u mnie czujnik zalania wodą od Xiaomi. W sumie to przez dwa dni go nie otwierałem, bo myślałem, że poczta dostarczyła mi kolejny termometr. Po sprawdzeniu listy zakupów okazało się, że takowego nie zamawiałem, otworzyłem więc pudełko…

Jasnym stało się, że to jednak nowy gadżet od Xiaomi.

Wygląd – jak zwykle bezbłędny. O tyle szkoda, że – z racji jego wykorzystania – raczej nie będzie go widać…

Parowanie, jak na Xiaomi przystało, to 10 sekund. Wybór typu z aplikacji…

Ściśnięcie czujnika…

I wybranie pokoju oraz nazwy czujnika.

Później ściągniecie pluginu do aplikacji i można używać.

Wchodząc w opcje czujnika mamy domyślnie ustawione alarmy w przypadku wykrycia zalania – Xiaomi Gateway uruchamia syrenę z zadanym dźwiękiem i mruga światłem na czerwono.
Musicie mi już na słowo uwierzyć, że słychać ten alarm dość donośnie, a i kolory dobrane są tak, że rozświetla pół domu. Jedyny problem miałem z wyłączeniem alarmu. Nie udało mi się znaleźć sposobu na wyłączenie migającego światła i musiałem po prostu wyjąć centralkę z gniazdka i włączyć ponownie. Być może aplikacja nie zareagowała odpowiednio.

Co do Domoticz – czujnik działa jak na razie z wersją Beta, na którą się jeszcze nie zdecydowałem. W miarę możliwości postaram się ją sprawdzić i dopisać odpowiednie informacje. Wydaje się, że czekanie na kolejną wersję produkcyjną Domoticz może jeszcze potrwać. Pora chyba powoli myśleć nad przejściem do Home Assistant…

Sterowane przełączniki od Xiaomi – w końcu znalazłem swojego świętego Graala…

Jest! W końcu jest gniazdko, które jest zasilane z sieci, nie potrzebuje trzy-żyłowej instalacji elektrycznej, jest estetyczne i działa z Domoticz! Czyli taki trochę święty Graal, bo zawsze innym urządzeniom czegoś brakowało 😉
Opakowania Xiaomi jak zawsze proste i schludne. Wielkość włącznika, powiedziałbym, jest standardowa jak na polskie standardy.
Co ważne – nie są to typowe włączniki jak u nas zawsze spotykane – góra/dół. Bardziej na zasadzie 'klik'.
Jak widać – dwużyłowy. Trzy wejścia dlatego, że mamy dwa przełączniki.
Konfiguracja w aplikacji standardowa – wybieramy typ sprzętu i parujemy. Te są na ZigBee, jak termometry, gniazdka prądowe, itp.
Po podłączeniu od razu działa!
Przypisujemy do wybranego pokoju.
Wybieramy typ.
Można wybrać inny typ dla lewego, inny dla prawego przycisku.
W aplikacji możemy sterować każdym z przycisków osobno.
Działa! Ha! Fantastycznie!

Podłączenie w Domoticz jest już formalnością – wystarczy włączyć wykrywanie nowych urządzeń i gniazdka są widoczne.

Każdy przycisk osobno, można zacząć automatyzację 🙂

Co ważne! Gniazdka mają niestandardowy – kwadratowy – kształt z tyłu i nie pasują do ogólnie używanych, okrągłych puszek w Polsce. Ergo – trzeba kuć… Raport z kucia za dwa, trzy tygodnie, gdy zacznie się remont 😀

Czajnik Xiaomi z obsługą przez Bluetooth

Chyba powoli można mnie zacząć obwoływać fanem marki Xiaomi 😉
Teraz do kolekcji doszedł Xiaomi Mi Electric Kettle. Raz, że pora wymiany czajnika nadeszła, dwa, że ma kontrolę podtrzymywania ciepła wody, trzy – że ładny 😀
W ogóle ich pomysł z wejściem w start-upy był świetny…
Czajnik jaki jest – każdy widzi, jak to mówią… Ten dotarł dobrze zabezpieczony, w estetycznym, ale minimalistycznym – jak przystało na Xiaomi – opakowaniu. Dla mnie plus – nie potrzebuję krzykliwych 'Super, Newest release, Outstanding' na pudełkach.

Po wyjęciu z pudełka – podstawka, czajnik oraz przejściówka – to jest niestety ciągle bolączka przesyłek z Chin… Kabel jest zawinięty w podstawce, można go rozwinąć.

Plastik bardzo przyjemny w dotyku, dobrze spasowany, stal w środku wydaje się dobra jakościowo. Na pewno trzeba będzie często czyścić i odkamieniać, ze względu na termometr zamontowany na dnie. Mamy 'twardą' wodę, kamień się osadza dość szybko.

Ogólnie nie ma się co rozpisywać, włączamy Bluetooth w telefonie/tablecie, uruchamiamy aplikację i przechodzimy proces parowania. Ważną różnicą jest to, że (jak to z Bluetooth), sparować możemy z

Czajnik możemy w aplikacji przypisać do wybranego pokoju/miejsca w domu.
Aplikacja po jej włączeniu i podłączeniu do czajnika podaje bieżącą temperaturę oraz możliwość wyboru temperatury i czasu utrzymywania podgrzewania.

Dodatkowo kilka opcji konfiguracyjnych do wyboru – czy podgrzewać wodę tylko po wybraniu przycisku oraz czy podgrzewać po wyjęciu i ponownym włożeniu do bazy.

Cudów nie ma – woda jest gorąca albo ciepła, tak jak chcecie. Jesteśmy bardzo zadowoleni.

Jedynym minusem jak dla mnie są chińskie opisy przycisków (wolałbym już obrazki) na uchwycie – trzeba pamiętać, że wrzątek bliżej rączki, podgrzewanie bliżej czajnika 😉

Xiaomi Air Purifier 2 – integracja z Domoticz

W końcu dotarł do nas Xiaomi Air Purifier 2. Udało się znaleźć go w dobrej cenie, wystarczyło poczekać 2 miesiące i już jest 😉 Smog na wsi nie jest tym, co tygrysy lubią najbardziej. Głównie chodzi o zdrowie dzieci.

Sprzęt, jak na Xiaomi przystało – dotarł w zwykłym pudle, bez setki kolorów, ale dobrze zapakowany. Miła niespodzianka – dostarczył go kurier.

Osobiście jestem bardzo zadowolony ze sprzętów tej marki. Działają niezawodnie, cechują się świetnym designem i łatwo się z nimi integrować.

Z tym oczyszczaczem jest podobnie – otwierasz, mówisz 'Ładne to', włączasz, działa.

Po dodaniu do aplikacji (w standardowy dla nich sposób – podłączamy się do WiFi sprzętu i podajemy swoje dane WiFi) możemy od razu nim zarządzać.

Szybka aktualizacja 😉

I jesteśmy online!

Możemy oczywiście dodać widget do telefonu

Ale dobra, to było proste. Bardzo proste.

Teraz wypadałoby go zintegrować z Domoticz, to jest przecież moim głównym celem 😉

Według poradnika z forum Domoticz powinna zadziałać komenda jak poniżej.

sudo apt-get install npm sudo screen

Może i zadziałała, ale nie mogłem później zainstalować miio…

Jak się okazało – chodziło o wersję nodejs. Ruszamy więc z instalacją 'poprawnej' wersji.

sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash –

sudo apt-get install -y nodejs

I już można:

sudo npm install –save miio

sudo npm install -g miio

Teraz już zadziała 'discover' – czyli wyszukiwanie kompatybilnych sprzętów.

sudo miio –discover –sync

Po jej wydaniu musicie zobaczyć IP oczyszczacza i jego status, jak poniżej:

Skoro jest, to jedziemy dalej! Do odważnych świat należy.

Poradniki różnie radzą, niektóre są bardziej skomplikowane, inne mniej. U mnie zadziałało to co poniżej.

Dodajemy skrypt, który będzie wysyłał komendy do oczyszczacza. Ja się uparłem i wszystkie wrzuciłem do folderu /scripts, ponieważ jest archiwizowany co noc.

sudo nano /home/pi/domoticz/scripts/airpurifier.js

#!/usr/bin/node
/* eslint-disable */

// Set path to node modules miio
const miio = require(’miio');

// No need to change any lines in this section
var deviceip = process.argv[2];
var secondarg = process.argv[3];
var thirdarg = process.argv[4];
function exit() {
process.exit(-1);
}

// Power On (on / off specified as true or false)
if ( secondarg === „power” ) {
        setTimeout(exit, 7000);
        console.log(’Sending Power', thirdarg, 'command');
        miio.device({
        address: deviceip
}).then(device => {
                return device.setPower(JSON.parse(thirdarg));
})}

// Status
if ( secondarg === „status” ) {
        miio.device({
        address: deviceip
}).then(device => {
                stats = device.getProperties([ 'power', 'mode', 'aqi', 'temperature', 'humidity' ])
                console.log(stats);
                process.exit();
})}

// Specify favorite manual fan speed (1 to 16) eg usage: fanspeed 16
if ( secondarg === „fanspeed” ) {
        setTimeout(exit, 7000);
        console.log(’Setting manual fan speed to:', thirdarg);
        miio.device({
        address: deviceip
}).then(device => {
                return device.setFavoriteLevel(parseInt(thirdarg));
})}

// Set fan mode option, specify: idle, auto, silent or favorite which needs to be set for manual speed control
if ( secondarg === „fanmode” ) {
        setTimeout(exit, 7000);
        console.log(’Telling device to use', thirdarg, 'fan speed mode');
        miio.device({
        address: deviceip
}).then(device => {
                return device.call(’set_mode', [ thirdarg ])
})}

// Control the device led (specify as bright, dim or off)
if ( secondarg === „led” ) {
        setTimeout(exit, 7000);
        console.log(’Setting device led to:', thirdarg);
        miio.device({
        address: deviceip
}).then(device => {
                return device.setLedBrightness(thirdarg);
})}

// Switch the device buzzer on or off (specify as true or false)
if ( secondarg === „buzzer” ) {
        setTimeout(exit, 7000);
        console.log(’Setting device buzzer to:', thirdarg);
        miio.device({
        address: deviceip
}).then(device => {
                return device.setBuzzer(JSON.parse(thirdarg));
})}


Jeżeli wszystko zrobiliście poprawnie, komenda jak poniżej pokaże jego status:

node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 status

Próbować możecie z różnymi komendami:

node airpurifier.js 192.168.1.115 power true – Włączenie
node airpurifier.js 192.168.1.115 power false – Wyłączenie
node airpurifier.js 192.168.1.115 status – Wyświetlenie statusu
node airpurifier.js 192.168.1.115 led off – Wyłączenie diody led
node airpurifier.js 192.168.1.115 buzzer true – Włączenie sygnałów głosowych
node airpurifier.js 192.168.1.115 fanmode auto – Tryb Auto
node airpurifier.js 192.168.1.115 fanmode favorite – Tryb Ulubiony

node airpurifier.js 192.168.1.115 fanspeed 16 – Maksymalna prędkość wiatraka


No to teraz pora na Domoticz.

Mała aktualizacja!

Dla pewności i wyjaśnienia. Zaczynamy od zdefiniowania nowego Hardware!

Dopiero później na jego podstawie zakładamy dwa Virtual sensor’y.


Dla jakości powietrza – Custom Sensor

Dla temperatury i wilgotności – Temp + Hum


Zapisujemy ich (Devices) IDX
i wstawiamy do skryptu poniżej

sudo nano /home/pi/domoticz/scripts/xair2domoticz.sh

#!/bin/bash

# Get the data
data=$(node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 status)
# Sort it
temperature=$(echo „$data” | grep „temperature” | sed -e s/[^0-9.]//g)
humidity=$(echo „$data” | grep „humidity” | sed -e s/[^0-9.%]//g)
aqi=$(echo „$data” | grep „aqi” | sed -e s/[^0-9.]//g)

# Load it into Domoticz
curl -s „http://192.168.1.200/json.htm?type=command&param=udevice&idx=247&nvalue=0&svalue=${temperature};${humidity};0″
curl -s „http://192.168.1.200/json.htm?type=command&param=udevice&idx=248&svalue=${aqi}”

Nadajemy uprawnienia do uruchamiania:
sudo chmod +x /home/pi/domoticz/scripts/xair2domoticz.sh

I wrzucamy do crontab

crontab -e 
*/15 * * * * sudo ~/domoticz/scripts/xair2domoticz.sh
Działa. Łaski nie robi 🙂 U mnie nazywa się to Aqi (tak prawdę mówiąc to identycznie jak w  poradniku…). Temperatura i wilgotność w odpowiedniej zakładce.
Ok, dane już odbieramy. Teraz wypadałoby nauczyć się nim sterować.

Założyłem Selector Switch (na podstawie Hardware), zmieniłem wartości z domyślnych na:
– Off
– Auto
– Low
– Max
– Silent

Pozostało wpisać skrypt LUA. Nie będę cwaniakował – zmieniłem skrypt autora z forum Domoticz (http://www.domoticz.com/forum/viewtopic.php?t=15537)

Skrypt, na podstawie nazwy urządzenia i jego statusów w Domoticz, wysyła komendy do Xiaomi Air Purifier 2.

sudo nano /home/pi/domoticz/scripts/lua/script_device_xair.lua

commandArray = {}
if devicechanged[’Oczyszczacz powietrza'] == 'Auto' then
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 power true')
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanmode auto')
end
if devicechanged[’Oczyszczacz powietrza'] == 'Off' then
    os.execute (’sudo screen -S airpurifieroff -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 power false')
end
if devicechanged[’Oczyszczacz powietrza'] == 'Low' then
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanmode favorite')
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanspeed 3′)
end
if devicechanged[’Oczyszczacz powietrza'] == 'Max' then
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanmode favorite')
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanspeed 16′)
end
if devicechanged[’Oczyszczacz powietrza'] == 'Silent' then
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 power true')
    os.execute (’sudo screen -S airpurifieron -d -m node /home/pi/domoticz/scripts/airpurifier.js 192.168.1.115 fanmode silent')
end
return commandArray

I to by było na tyle. Działa, raportuje, oczyszcza. Mam mały problem z czasami nie działającymi ustawieniami Max i Low (komendy wysyłane z linii poleceń działają bez problemu, w powyższym skrypcie może muszę wstawić mały delay). Ale On, Off, Silent, Auto działa bez problemu.

Do tego wypadałoby jeszcze zrobić pobieranie statusu Włączony/Wyłączony i aktualizowanie w Domoticz – automatycznie się to nie dzieje.

Swoją drogą – warto było go nabyć.

Raspberry Pi, Raspbian, Domoticz – od zera do bohatera…

W kolejnym (długim!) poście pozwolę sobie zająć się przygotowaniem Raspberry Pi do działania.

Pomocy na różnych stronach jest mnóstwo, przesadą byłby kolejny szczegółowy poradnik, skupię się więc wyłącznie na esencji i najważniejszych tematach, ważnych dla mnie z punktu widzenia prostej automatyki domowej za pomocą Malinki. Z czasem wpis się może zmieniać, ponieważ ciągle coś nowego dochodzi. Ostatnio na przykład HABridge, skoro już Alexa się zadomowiła.

Wpis jest długi i opisuje wiele tematów, może znajdziecie coś dla siebie.

Kwestia wyboru sposobu instalacji Raspbiana zależy już od Was, swego czasu korzystałem z NOOBS LITE, który wszelkie potrzebne do instalacji komponenty pobiera na bieżąco z sieci.

Ostatnio wolę jednak mieć przygotowany obraz jako plik .img i za pośrednictwem Win32 Disk Imager szybko wrzucić go na kartę.

Chwila podstaw, która mam nadzieję pomoże innym wkroczyć w ten świat.

Instrukcja – jak szybko postawić system, zrobić podstawową konfigurację, zrobić kopię bezpieczeństwa na przyszłość.

Podstawowa strona: raspberrypi.org. Tam powinien się udać każdy początkujący. W zależności od potrzeb mamy:
1. Możliwości ściągnięcia instalatora Noobs
– wersja pełna z danymi systemów od razu dostępnymi
– wersja Lite, zajmująca 40 Mb, resztę danych potrzebnych dla różnych systemów ściąga bezpośrednio z sieci
2. w przypadku instalacji Raspbiana – ostatnia dostępna stabilna wersja (w czasie pisania posta – Stretch), pełna ze środowiskiem graficznym albo Lite

Ja opieram się na pełnym obrazie Jessie (czyli poprzednim do Stretch) – jest to dla mnie osobiście najwygodniejsze i w mojej opinii ta wersja jest najbardziej stabilna. Wszelkie opisane tutaj programy i instalacje działają na każdej z wersji. Oprócz SSL w Domoticz na wersji Stretch, bez czego nie uruchomimy go! Wszystkie obrazy Raspbiana można pobrać z: http://downloads.raspberrypi.org/raspbian/images/.

W tym wpisie zajmiemy się:
– ogólnymi komendami do wykonania
– raspi-config
– Interface sieciowy
– Mapowanie pendrive + ntfs-3g
– Konfiguracja Samba
– Instalacja FTP
– Win32DiskImager

Nie opisuję każdej komendy dokładnie – poradników w sieci jest na tyle dużo, że mija się to z celem.

Jak zaczynamy?

– Pobieramy obraz systemu ze strony Raspberry Pi
– rozpakowujemy
– ja używam Win32 Disk Imager aby wrzucić do na kartę SD
– po zgraniu podłączam klawiaturę i kabel HDMI do TV

Do pierwszych dwóch punktów musimy podpiąć klawiaturę bezpośrednio do Raspberry – ssh (do zdalnego połączenia) jest domyślnie wyłączone za względów bezpieczeństwa. Później możemy się przenieść na komputer – będzie bardziej komfortowo.

1. Najważniejsza sprawa zanim cokolwiek rozpoczniemy. Zawsze, gdziekolwiek – zmiana hasła!

passwd

2. Konfiguracja

sudo raspi-config

Domyślnie (od pewnego czasu, ze względów bezpieczeństwa) SSH jest wyłączone, musimy je włączyć. Przynajmniej jeżeli chcemy dostać się do Pi zdalnie, nie klęcząc przed telewizorem czy monitorem.

Następnie dobrze ustawić strefę czasową.

Wybieramy Europe -> Warsaw

Ja jeszcze osobiście ustawiam Memory split na minimum.

Oraz Hostname na swój.

3. Kolejny temat to aktualizacja Raspbiana i komponentów, które mamy zainstalowane. Oczywiście, z wpiętym kablem z routera.

sudo apt-get update
sudo apt-get upgrade

4. Następnie – konfiguracja sieci WiFi, bo głupio tak z kablami Malina wygląda 😉 …

Ja osobiście używam edytora nano. Przy wyjściu, w celu zapisu – Ctrl + X, Y(es), potwierdzamy nazwę pliku.

sudo nano /etc/network/interfaces

Ja chciałem mieć połączenie przez Wifi na stałym adresie IP (192.168.1.200, czyli warto to skonfigurować na routerze!), a w przypadku podłączenia kabla sieciowego adres z DHCP (czyli z automatu), wpakowałem tam więc:

auto wlan0

iface lo inet loopback

iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.100
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Konfiguracja połączenia z routerem odbywa się w pliku wpa_supplicant.conf.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

I tutaj:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid=”Cezar”
        psk=”TwojeHaslo”
        proto=RSN
        key_mgmt=WPA-PSK
}

5. Warto byłoby teraz zainstalować dodatkowe programy. Mnie się przydaje Samba (dostęp do udostępnionych plików), obsługa NTFS, FTP, Midnight Commander oraz (do Domoticz) arp-scan i speedtest.

sudo apt-get install samba samba-common-bin cifs-utils ntfs-3g mc proftpd arp-scan speedtest-cli -y

6. Skoro już mam czego potrzebuję – najwyższa pora na Domoticz! Przypominam, że instaluję na Jessie, także nie mam problemu z ssl na wersji Stretch!

sudo curl -L install.domoticz.com | bash

7. Tworzenie wirtualnych folderów. Mam podpięty pendrive, na który nie dość, że lądują backupy Domoticz, to jeszcze są piosenki córki i syna. Trzeba go podpiąć, jeżeli Raspbian sam go nie wykrywa.

Możemy się wspomóc:
sudo fdisk -l
oraz
df -h

Tworzenie wirtualnego folderu:

sudo mkdir /media/Dysk

U mnie pendrive pojawił się na sda, więc:

sudo mount -t auto /dev/sda /media/Dysk

Edycja fstab, gdzie znajdują się informacje o mapowanych dyskach, folderach.

sudo nano /etc/fstab

Dodaję na końcu

/dev/sda /media/Dysk ntfs-3g nofail,defaults 0 0

8. Konfiguracja Samba (czyli dostępu do plików)

Zainstalowaliśmy ją już wcześniej (punkt 5), teraz trzeba skonfigurować. Ot, taki prosty NAS. Bardzo prosty…

Dodajemy użytkownika/użytkowników:

sudo useradd Cezar
sudo smbpasswd -a Cezar

Uruchamiamy:

sudo nano /etc/samba/smb.conf

I konfigurujemy. Oczywiście wszelkie foldery, nazwy – dostosowujemy do siebie.

[global]

#PL znaki w SMB
display charset = utf-8
unix charset = utf-8
dos charset = 852

workgroup = DOM
server string = Serwer NAS
wins support = yes
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0

####### Authentication #######
security = user
map to guest = Bad User

[homes]
comment = Home Directories
browseable = no
read only = no
valid users = %S

[dysk_public]
comment = Server NAS 4 All
path = /media/Dysk/
public = yes
only guest = no
writable = yes

Ostatnie trzy parametry to: Publiczny – tak, Tylko goście – nie, Zapisywalny – tak.

Oczywiście dostosujcie go pod siebie, można definiować foldery dla użytkowników, nadawać uprawnienia, itp. itd. Dla mnie było ważne, aby każdy w domu mógł tam łatwo się dostać.

Restart serwisu i powinno działać:

sudo /etc/init.d/samba restart

8. Następnie nadanie praw do wykonania dla skryptu robiącego kopię baz i folderu www Domoticz.

sudo chmod +x /home/pi/domoticz/scripts/domoticz_backup.sh

9. Bez Dashticz sobie już życia nie wyobrażam…

10. Zdalny dostęp do Raspberry i Domoticz, czyli Dataplicity. Ale to już opisywałem wcześniej.

11. bluez – potrzebny do Xiaomi Mi Flora

12. Logitech, a dokładnie instalacja odtwarzacza Squeezelite

13. HABridge

Po około 1.5 godziny mamy kompletny system.

Teraz sudo poweroff, kopia karty w Win32 Disk Imager i jesteśmy bezpieczni. W razie rozsypania się danych na karcie – szybki restore i jesteśmy gotowi do działania.

WAŻNE! Komenda Czytaj zapisuje dane Z KARTY NA DYSK, Zapisz – odwrotnie – Z DYSKU NA KARTĘ, czyli Zapisz może Wam namieszać, jeżeli nie używacie jej rozważnie!