poniedziałek, 26 marca 2018

Gniazdko Sonoff S20 i Tasmota - na dzień dobry rozwiązanie problemu

Blogowanie ma wiele plusów. Raz, że można przelać własne myśli na 'papier', a dwa - poznaje się fajnych i ambitnych ludzi. I jedna taka osoba (Maciej - Ty wiesz ;)) zmotywowała mnie do wypróbowania innego softu do ESP8266, który jest wykorzystywany w urządzeniach firmy Sonoff. Czy to Sonoff Basic, czy też Sonoff S20. Wcześniej opierałem się głównie na na ESPEasy, teraz Maciej zasugerował Tasmota. To będzie również przyczynkiem do skonfigurowania i zapoznania się z MQTT, który - było nie było - jest standardem w IoT.

UWAGA. Jak się sam na swojej skórze przekonałem - są różne gniazdka dedykowane na Europę. W Polsce trzeba wybrać typ https://www.worldstandards.eu/electricity/plugs-and-sockets/e/. Ja, żeby było zabawniej i niezbyt prosto - kupiłem oczywiście wersję F - czyli wtyczka nie pasuje do gniazdek z bolcem. Cóż... Człowiek się czasem uczy na własnych błędach...


Gniazdko jakie jest - każdy widzi. Tutaj wielkich różnic nie ma w stosunku do gniazdek na RF lub Xiaomi. No, Xiaomi jest mniejsze, ale wymaga przejściówki.

UWAGA 2! Dużo ważniejsza niż poprzednio. Gniazdko pracuje na 230 Volt. Czyli, przy nieodpowiedniej pracy można zginąć albo spalić na ten przykład mieszkanie. Zalecam daleko idącą ostrożność, obserwowanie działania i zachowania - czy zbytnio się nie grzeje, czy nie ma przebić, źle dokręconych lub dolutowanych kabli.




Po rozkręceniu, w lewym dolnym rogu, widać cztery otwory. Teoretycznie wypadałoby tam wlutować piny. Ale akurat w przypadku tego gniazdka nie ma takiej potrzeby. Przy odrobinie sprytu można przeprogramować układ samemu.

Najnowsza wersja Tasmota zawsze pod adresem: https://github.com/arendst/Sonoff-Tasmota/releases. Pobieramy i przygotowujemy się do programowania. Ja napisałem krótki skrypt, wykorzystałem esptool z ESPEasy. Jest nawet polska wersja Tasmota (wtedy musicie zmienić nazwę z sonoff.bin na Waszą, albo odwrotnie ;)).


Połączenia pinów to (w Sonoff S20 liczę od żółtego elementu. Wstyd się przyznać, ale nie wiem co to...):
RXI -> 2
TX0 -> 3
VCC -> 4
GND -> 1

Czyli jakby 'odwrotnie' do tego co jest w Sonoff Basic.


I teraz wymagana odrobina zręczności pawiana. Prawą ręką przytrzymujemy kable oraz wciskamy przycisk. Po podłączeniu programatora to on wprowadzi ESP w tryb programowania. Gdy zaświeci się niebieskie światło - możemy puścić przycisk. Moje kable działają nawet jeżeli ich nie trzymam...



Uruchamiamy nasz przygotowany skrypt. Programowanie przebiega identycznie jak w przypadku ESPEasy.

I teraz kolejny problem. Wgrałem. Drżącymi ręcami włożyłem do przedłużacza. No, jak już znalazłem taki bez bolca...

I nic. Zamrugał na zielono i tyle. Standardowego Access Pointa ani widu, ani słychu. Tyle, że wiedziałem, że dobrze wgrałem, ponieważ przycisk działał, a to znaczyło, że Tasmota od razu zamapowała sobie GPIO. Ogromny plus. Dla przypomnienia, w ESPEasy i Sonoff Basic - musieliśmy pisać kod w Rules, aby obsłużyć GPIO. Tutaj zasada jest taka sama - w przypadku ESPEasy musielibyśmy tak zrobić. Tasmota obsługuje ten przypadek 'od strzału'.

'Spaliłem WiFi' - pomyślałem. 

Dla pewności wgrałem znane mi już ESPEasy. Żadnej sieci ESP, jakiej wersji bym nie wgrywał.

'Cóż, wejdzie w koszty nauki. Ładnie świeci, to chociaż tyle'.

Wzmiankowany tutaj Maciej zasugerował mi coś innego - 'Wbijaj do niego przez COM'a i ustaw sieć WiFi ręcznie. Może się uda'. Podał mi następujący sposób:
- instalujemy Termite (Putty nie podołał - ekran przy tych samych parametrach był 'rozjechany')
- wprowadzamy nasz port COM (u mnie jak widać COM8) i prędkość
- łączymy się z Sonoff
- na samym dole jest pasek z możliwością wpisania komendy
- SSId <WaszeIDSieciBezprzewodowej>, Enter
- Password <WaszeHasłoDoSieciBezprzewodowej>, Enter


ZA DZIA ŁA ŁO! Podłączył się do sieci od razu, włączenie przełącznika również zadziałało. Dobrze posłuchać mądrego.

Na dzisiaj tyle. Dłuższy opis Tasmota w kolejnym wpisie. I przy okazji na pewno MQTT aby dostać się do Domoticz.

czwartek, 22 marca 2018

Aktualizacja HABridge

Kilka dni temu wszedłem na stronę habridge i zauważyłem, że jest nowa wersja. Wypadałoby w takim razie zaktualizować to, co już mam. Nasunęło się pytanie - Jak?

Po pierwsze - najnowsza wersja jest tutaj: https://github.com/bwssytems/ha-bridge/releases

Zatrzymujemy habridge.

Jeżeli trzymaliście się instrukcji (po poprawkach!) przedstawionej tutaj: https://cezarowy.blogspot.com/2017/11/serwis-alexa-integracja-z-domoticz.html

to wystarczy zrobić poniższe czynności.

sudo systemctl stop habridge

cd habridge

Powyższe - zależnie od tego gdzie zainstalowaliście habridge. U mnie w /home/pi/.

wget https://github.com/bwssytems/ha-bridge/releases/download/v{VERSION}/ha-bridge-{VERSION}.jar

Czyli w przypadku wersji 5.2 będzie to:

wget https://github.com/bwssytems/ha-bridge/releases/download/v5.2.0/ha-bridge-5.2.0.jar

mv ha-bridge-{VERSION}.jar ha-bridge.jar

sudo systemctl start habridge

I mamy aktualizację gotową.

Aktualizacja! Jeżeli z jakiegokolwiek powodu stracicie połączenie na linii Alexa <-> HABridge - w pierwszej kolejności sprawdźcie jaki macie podany adres UPNP w konfiguracji HABridge. Czasem dopisuje się tam inny adres Raspberry Pi - u mnie tak jest w przypadku podania sztywnego adresu IP. Nie wiem czemu Malina zgłasza się pod dwoma - ale to podobno znany błąd.

środa, 21 marca 2018

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...

wtorek, 20 marca 2018

Pilot uniwersalny Broadlink RM Mini 3. Używanie, Domoticz i ogólne wnioski

Kolejny gadżet na tapecie. Tym razem 'uniwersalny' pilot IR. 

Jako że nie byłem pewien Logitech Harmony Remote (czy aby na pewno się przyda, czy będzie leżał jak inne pomysły...) - postanowiłem spróbować z czymś tańszym na początek. Wybór padł na Broadlink RM Mini 3. Cena do zaakceptowania bez problemu (około 40 PLN), nawet jeżeli 
eksperyment się nie sprawdzi.


Jak na razie jednak jest dobrze :) Może nie perfekcyjnie (zapewne kwestia dalszych testów), ale dobrze.


Nie jest to może najprzyjemniejsze w użytkowaniu urządzenie, ale się sprawdza. Zacznijmy od pewnego faktu, który wprowadził mnie w konsternację. Aplikacja, która podpowiada się na podstawie RF code z opakowania nie jest jedyną oficjalną. Co gorsza - nie jest akurat tą 'lepszą'. Nazywa się 'ihc' i w sumie umożliwia mapowanie klawiszy z pilotów które mamy w domu, tworzenie scen, itp. Nie jest źle, ale szału również nie ma. Schludna, ładna, szybka. W sumie powinna wystarczyć na początek.





Broadlink e-control jest lepsza. No, przynajmniej teraz mi się tak wydaje. Kto wie, czy zdanie się nie zmieni.



Po zdefiniowaniu swojego pilota (jak w innych podobnych systemach, przez dostanie się do sieci WiFi pilota, podanie danych swojej sieci Wifi), mamy możliwość wybrania jakie urządzenia chcemy dodać. Klimatyzacja, telewizor, sprzęt audio, rolety - jeżeli są sterowane przez IR (czyli standardowa podczerwień jak we wszystkich pilotach).


Najciekawszą jednak funkcją są zdefiniowane dane pilotów użytkowników. Nie ma tutaj niestety standardu, każdy wpisuje co chce i jak chce, ale jest. To się liczy. Znalazłem mniej więcej swój telewizor, amplituner.


Jeżeli jednak nie znajdziemy swojego odpowiednika pilota - możemy go sami zamapować.


W tym celu wybieramy przycisk na wirtualnym pilocie...


Uruchamia się funkcja mapująca, my przyciskamy przycisk na naszym pilocie, on jest zapamiętywany. I tak dla przycisków, które chcemy mieć sterowane z aplikacji.


Możemy dodać wiele urządzeń, które mamy w domu.


Można definiować sceny, które opisują powiązania pomiędzy urządzeniami, jakie wirtualne przyciski są włączane, kiedy, itp. Całkiem fajne, ale napracować się trzeba.


W aplikacji działa, można więc zabrać się do tego od strony Domoticz.

Nie jest o bardzo proste, ale finalnie zadziałało.

Po pierwsze, trzeba ze strony https://www.dropbox.com/sh/htyghey9e402u4y/AACeb1cXqaPd9gBVl5TL3H36a?dl=0 pobrać pliki z pluginem i wrzucić je do folderu /plugins/ w Domoticz. Jest ich więcej niż nam trzeba, ale nie zaprzątałem sobie głowy ich sortowaniem - wrzuciłem wszystkie.

Dla pewności - wrzucamy je do folderu plugins w domoticz.



Po restarcie Domoticz będziemy mieli możliwość konfiguracji pilota Broadlink. Lub innych urządzeń, jeżeli je macie.


Konfiguracja jak powyżej. Aby pozyskać adres IP i MAC naszego pilota Broadlink możecie użyć programu IPScan. Jest również możliwość wybrania w pluginie typu Discovery, uruchomienia pilota w Domoticz, później w logu Domoticz będziemy mieli informację o IP i adresie MAC Broadlink.


Do wyboru mamy kilka różnych typów urządzeń, które obsługuje plugin. Ja wybrałem to co mam :D Czyli Remote Control RM2/RM mini3. ZWRACAM UWAGĘ na parametr 'Folder to store ini files (RM2/RM mini3):'. To tam znajdą się pliki z konfiguracjami oraz kody przycisków pilota.

I tutaj należy się kilka słów wyjaśnienia. Parametry ogólne pluginu są zapisywane w pliku. KAŻDY przycisk pilota również znajdzie się w pliku, opisany różnymi parametrami - między innymi kodem sygnału IR.


W zależności od tego co wybraliście, pojawią się kolejne elementy na zakładce Switches oraz w zakładce Devices będziecie widzieli je wszystkie.

Teraz główny temat - jak nauczyć Domoticz kodów przycisków? Trzeba przejść na Switches i znaleźć <Nazwa Waszego pilota> - Command. U mnie Broadlink remote - Command. Tam są cztery przyciski. Jeden z nich to Learn. Przyciskamy, kierujemy naszego pilota w Broadlink, świeci się biała lampka mówiąca o tym, że pilot jest w fazie uczenia. Po 4-5 sekundach lampka powinna zgasnąć. Można od razu wybrać tą, która jest obok - Test aby sprawdzić jak działa zapamiętany kod z naszym sprzętem. Jeżeli się zgadza - dajemy Save. Jeżeli nie - Reset i ponownie próbujemy.


Tak będzie wyglądała zakładka Devices z zapamiętanym kodem - na przykład włączenia Tv.


Pojawi się kolejny przycisk na naszej zakładce Switches.


A do tego kolejny plik w folderze, który zdefiniowaliście. I tak po kolei.

Jest z tego co wyczytałem możliwość importu zdefiniowanych kodów z aplikacji Broadlink e-Control, jestem na etapie testowania tego rozwiązania - opiszę gdy tylko będę miał jakieś wnioski.

No i tak to sobie działa. Wpis na gorąco, dopiszę do niego jeszcze na pewno sposoby automatyzacji kilku urządzeń, aby mieć na przykład scenę - oglądamy film, która zrobi dla nas kilka rzeczy.

środa, 14 marca 2018

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 :D