piątek, 29 września 2017

Czujnik zalania działający z RFLink

Dzisiaj, na dobranoc, szybki wpis.

Do kompletu czujników brakowało mi tego ostrzegającego o zalaniu. Zawsze jest jakaś szansa, że w razie pęknięcia węża od pralki zostanę o tym powiadomiony. Okazało się, że i takie można aktualnie dostać niewielkim kosztem kilkunastu złotych. Na 'popularnym chińskim portalu aukcyjnym' można znaleźć je pod hasłem 'Wireless water leakage system'. Ja akurat kupowałem w Polsce, zależało mi na czasie. Są to czujniki działające na częstotliwości 433MHz, czyli świetnie integrujące się z RFLink.


Po zezwoleniu Domoticz na wykrycie nowych czujników i zalaniu czujki wodą, pojawiła się na liście urządzeń. Wystarczyło później dodać ją na listę.


Dodałem ją jako czujnik dymu, ponieważ ma możliwość resetowania po wzbudzeniu, co akurat w tym przypadku jest logiczne. Nie bardzo jednak wiem jak zmienić ikonę, taka więc zapewne pozostanie...

poniedziałek, 25 września 2017

RFLink

Jednym z celów, dla których zakupiłem Raspberry Pi była prosta automatyka domowa. Na początku próbowałem wszystko zrobić własnoręcznie, na breadboard, lutować kable, próbować uruchomić nadajnik i odbiornik. Działało.


Później znalazłem mały system Pilight, który obsługiwał moje nadajniki/odbiorniki. Zasięg był jednak kiepski a odczytywanie sygnałów zabierało większość mocy Raspberyy Pi.

Apetyt rośnie jednak w miarę jedzenia, dlatego przeszedłem później do Domoticz i RFLink (alternatywa dla RFXCom), obsługujący urządzenia nadające i odbierające na 433MHz (głównie, chociaż nie tylko - w ostatnich aktualizacjach dodano również obsługę Philips, Milight oraz sprzętów Ikea). Co ważne - to on zajmuje się filtrowaniem sygnałów przychodzących z nadajników 433MHz (np. w termometrach, mierniku energii), także Raspberry Pi nie dostaje zadyszki przy obsłudze protokołu.

Ja osobiście z powodu braku talentu do lutowania zakupiłem wersję zmontowaną na https://www.nodo-shop.nl/nl/rflink-gateway/127-rflink-arduino-antenne-.html. Przyszedł błyskawicznie, porządnie zlutowany. Jedyne co zrobiłem to zapakowałem zmontowany moduł do przezroczystej obudowy.











Liczba urządzeń jest ogromna i naprawdę jest w czym wybierać. Dostępna pod adresem: http://www.rflink.nl/blog2/devlist.

W Domoticz wystarczy dodać nowe urządzenie w sekcji Hardware:

Nasze gadżety pojawią się automatycznie po chwili na liście Devices:



Osobiście używam:
- czujniki temperatury różnych marek




- czujniki dymu w domu



- gniazdka 433MHz - tutaj OGROMNY minus - nie ma statusu zwrotnego, więc w sumie nie wiemy czy coś jest włączone, czy nie. Coś za coś jednak... Cena robi swoje, tej wady nie da się usunąć, bo same urządzenia takiego statusu nie wysyłają.



- czujniki otwarcia drzwi/okien
- miernik energii elektrycznej

Co pewien czas pojawiają się na stronie projektu aktualizacje firmware (http://www.nemcon.nl/blog2/download), które wgrywamy za pomocą załączonego w pakiecie programu: RFLinkLoader (pod Windows, można to zrobić bezpośrednio na Raspberry Pi używając avrdude).

Trzeba wskazać plik RFLink.cpp.hex i przycisnąć przycisk opisany jako Upload/Program Firmware to device.

WAŻNE! Czasem Windows nie był na tyle łaskawy aby zainstalować sterowniki od ręki, pomogła u mnie w tym przypadku instalacja pakietu do obsługi Arduino: https://www.arduino.cc/en/Main/Software




Aby zrobić to samo od razu na Raspberry Pi:
sudo apt-get install avrdude

Skopiować plik hex na przykład do katalogu pi, następnie WYŁĄCZYĆ, NIE KASOWAĆ RFLink w Domoticz i zaktualizować poleceniem:
avrdude -v -p atmega2560 -c stk500 -P /dev/ttyACM0 -b 115200 -D -U flash:w:/home/pi/RFLink.cpp.hex:i

WŁĄCZYĆ RFLink w Domoticz


Xiaomi Mijia Smart Home - nowe gadżety przyszły :D

Może żadna to nowość, ale cieszę się niezmiernie. 

Dwa zestawy Xiaomi Mijia znalazły się u mnie w domu. Z pewnych względów jeden pozostanie w aplikacji MiHome i to opiszę dzisiaj.


Czujniki po wyjęciu z pudełek zaskakują rozmiarem. Nie są podobne do tych monstrów, które stoją często w naszych domach. Czujnik temperatury jest niewiele większych od kciuka. Przynajmniej mojego :)



Niestety, trzeba wspomnieć o minusach. Bez przejściówki z gniazdek typu chińskiego na polski nie uruchomimy zestawu...

WAŻNE - przejściówki często NIE SĄ załączone w zestawach. Ja kupiłem różne, całkiem ciekawe można znaleźć w Leroy Merlin.


Po podłączeniu centralka przemówi do nas w pięknym, chińskim języku. Niestety, ni w ząb nie rozumiałem co chce mi przekazać ;)

Po włączeniu aplikacji MiHome wybrałem lokalizację Mainland i mogłem wybrać jakie urządzenie chcę sparować - na początek Gateway.


Parowanie jest proste - postępujemy zgodnie z instrukcjami aplikacji - trzy kroki, zgodnie z kolorami na centralce.



Po udanym procesie parowania oraz aktualizacji oprogramowania mamy od razu dostęp do różnych funkcji centralki, które nie są tak ubogie jakby się mogło wydawać:
- nocne światło RGB z możliwością dopasowania koloru oraz jasności
- głośnik i radia internetowe. Da się załadować inne niż chińskie, ale o tym albo w innym wpisie, albo zaktualizuję ten.
- zdarzenia, zegar, ustawianie czasu włączenia/wyłączenia


Sama centralka jako taka w docelowym miejscu interesuje mnie dużo mniej niż termometr, dlatego od razu zabrałem się do połączenia Temperature and humidity sensor. Tutaj również wystarczyło przycisnąć stylowy przycisk na 5 sekund i automatycznie został dodany.


W efekcie mam na bieżąco temperaturę dostępną z każdego miejsca w którym jestem a możliwością przeglądania historii. Cel osiągnięty!


Dodatkowo można dodawać automatykę do centralki:
- gdy pojawimy się w domu
- gdy wychodzimy
- gdy wstajemy
- gdy śpimy
- wyzwalanie alarmu czujnikami - na przykład w przypadku otwarcia drzwi gdy śpimy

Wszystkie urządzenia od Xiaomi integrują się ze sobą, możemy więc na przykład włączyć światło w centralce gdy opaska Mi Band wykryje, że wstaliśmy.





Powodzenia w używaniu i instalowaniu!

W kolejnych wpisach zaawansowany Dashticz oraz podpinanie pozostałych elementów Xiaomi do Domoticz.

środa, 20 września 2017

Dashticz - spełnienie marzeń maniaka gadżetów ;)

W jednym z poprzednich postów opisałem front-end do Domoticz - framb0ise.

Jest on bajecznie prosty w instalacji i konfiguracji, co jest także jego minusem - możliwości są ograniczone. Warto zająć się innym, potężnym już w moim mniemaniu, narzędziem - Dashticz.

Instalacja i uruchomienie jest proste, osadzenie Ulubionych i automatyczne ułożenie ikonek również. Ciekawie zaczyna się robić, gdy chcemy dashboard dostosować do naszych potrzeb. I to opiszę w tym i kolejnym poście. Temat jest na tyle bogaty, że lepiej rozbić go na dwa osobne - dla amatorów i zaawansowanych :)

Po zalogowaniu się do terminala przechodzimy do domoticz/www

git clone https://github.com/robgeerts/dashticz_v2

cd domoticz/www/<dashticzv2 folder>/custom/
cp CONFIG_DEFAULT.js CONFIG.js

Aby zaktualizować wersję, wystarczy dać polecenie.
git pull

WAŻNE aby wcześniej zrobić kopię zapasową swojej konfiguracji.

W najprostszej konfiguracji wystarczy usunąć linie komentarzy /* */ z pliku CONFIG.js i powinniśmy już cieszyć się pulpitem z naszymi Ulubionymi (czyli urządzeniami dodanymi do Ulubionych w Domoticz) elementami.

Powyższa zaznaczona część zdania jest bardzo ważna! Często wiele osób jest zaskoczona tym, że ich zmiany nie działają. Domyślnie cały CONFIG.js jest opatrzony komentarzem (tak to się , który powoduje, że Dasthicz NIE WIDZI zmian, które wprowadzacie).

Można też użyć najprostszego pliku:
var config = {}
config['language'] = 'pl_PL'; //lub: en_US
config['domoticz_ip'] = 'http://IP:Port';
config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';

Ale my jesteśmy ambitni i nasz początkowy ekran będzie wyglądał następująco:

Dla wyjaśnienia - na powyższym zrzucie ekranu wyłączyłem Ulubione, żeby nie zaśmiecić ekranu. Trochę zbyt dużo u mnie już tego jest :)

Tak dla pewności, aby dostać się do Dashticz po jego zainstalowaniu trzeba wejść na adres http://IP_Domoticz/dashticz_v2/index.html

Aby to osiągnąć musimy wrzucić do CONFIG,js następujący tekst

var config = {}
var _BACKGROUND_IMAGE = 'bg1.jpg'
config['domoticz_ip'] = 'http://IP:Port';
config['app_title'] = 'Dashticz';
config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';
config['language'] = 'en_US';
config['timeformat'] = 'DD-MM-YY HH:mm';
config['wu_api'] = 'xxxxxxxx';
config['wu_city'] = 'City';
config['wu_name'] = 0;
config['wu_country'] = 'PL';
config['auto_positioning'] = 1;
config['use_favorites'] = 1;
config['last_update'] = 1;
config['hide_topbar'] = 0;
config['hide_seconds'] = 1;
config['use_fahrenheit'] = 0;
config['use_beaufort'] = 0;
config['static_weathericons'] = 0;
config['hide_mediaplayer'] = 0;

var buttons = {} 
buttons.radio = {width:12, image: 'img/radio_on.png', title: 'Radio', url: 'http://rmf.fm'} 
buttons.news = {width:12, icon: 'fa-newspaper-o', title: 'News', url: 'http://news.gazeta.pl'} 
buttons.log = {key:'log', width:12, icon:'fa-microchip', title: 'Domoticz Log', log:true, level: 2}

Pozwolę sobie objaśnić poszczególne elementy, przyda się to do późniejszego (bardziej zaawansowanego) konfigurowania pulpitu.

var _BACKGROUND_IMAGE = 'bg1.jpg'
Zmienna opisująca nazwę pliku z tłem dla Dashticz. W folderze <dashticz>/img znajduje się wiele przykładowych plików z tłami do wykorzystania. Oczywiście nic nie stoi na przeszkodzie, aby użyć swoich, ale o tym w kolejnym wpisie

config['domoticz_ip'] = 'http://IP:Port';
Standard - IP i port Domoticz

config['app_title'] = 'Dashticz';
Tytuł aplikacji, który będzie wyświetlany na pasku tytułowym

config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';
Kolejno - interwał odświeżania danych z Domoticz oraz odświeżania samego Dashticz

config['language'] = 'en_US';
Język w jakim będzie się z nami komunikować Dashticz - na przykład en_US lub pl_PL

config['timeformat'] = 'DD-MM-YY HH:mm';
Format czasu używany w Dashticz

config['wu_api'] = 'xxxxxxxx';
config['wu_city'] = 'City';
config['wu_name'] = 0;
config['wu_country'] = 'PL';

Klucz API Weather Underground, dzięki któremu zobaczymy ikony z prognozą pogody

Dla jasności - klucz do API Weather Underground możemy uzyskać na ich stronie: https://www.wunderground.com/weather/api/. Darmowa subskrypcja powinna być dla nas wystarczająca (przy okazji - mam nadzieję, że dodaliście go w Domoticz, chociaż osobiście korzystam ostatnio częściej z DarkSky).


AKTUALIZACJA 2018-05-21!

Z tego co widzę to Weather Underground przestało udostępniać darmowe API z danymi pogodowymi! Postaram się zbadać temat i odpowiedni zmienić opis Dashticz.





config['auto_positioning'] = 1;
config['use_favorites'] = 1;
Dwie BARDZO ważne opcje, które na początku mogą sprawić trudności. Ważne jest aby były włączone, jeżeli chcecie uruchomić Dashticz 'na szybko'. Pierwsza poinformuje system, żeby automatycznie ułożyć ikony, druga, żeby użyć Ulubionych zdefiniowanych w Domoticz.

config['last_update'] = 1;
Czy pokazywać czas aktualizacji naszych czujników?

config['hide_topbar'] = 0;
Ukrycie górnego paska

config['hide_seconds'] = 1;
Pokazanie sekund na zegarze

config['use_fahrenheit'] = 0;
config['use_beaufort'] = 0;
Czy używać stopni Celsjusza i skali Beauforta?

config['static_weathericons'] = 0;
Czy ikony pogody powinny być animowane?

config['hide_mediaplayer'] = 0;
Czy ukrywać ikony odtwarzacza multimedialnego, jeżeli nic nie jest odtwarzane?

var buttons = {} 
buttons.radio = {width:12, image: 'img/radio_on.png', title: 'Radio', url: 'http://rmf.fm'} 
buttons.news = {width:12, icon: 'fa-newspaper-o', title: 'News', url: 'http://news.google.pl'} 
buttons.log = {key:'log', width:12, icon:'fa-microchip', title: 'Domoticz Log', log:true, level: 2}

Pierwszy - pozwoli wyświetlić po naciśnięciu stronę z radiem internetowym, drugi stronę z wiadomościami, trzeci - log Domoticz. To tak w ramach ciekawostki.

To tyle na początek. Dopiero zaczynamy się jednak rozkręcać, bo możliwości są ogromne!

Edit: Część druga
Oraz Cześć trzecia

wtorek, 19 września 2017

Yeelight LED Bulb - żarówka sterowana WiFi

Właśnie dotarła. Jeszcze ciepła, ledwo co wyjęta z pudełka. Yeelight - niby zbyteczny bajer, ale przecież o takich gadżetach piszę na tym blogu :)


Połączenia z aplikacją nie ma sensu opisywać, bo się praktycznie robi samo - instalacja aplikacji, parowanie, działa. Sprawdźmy jednak jak będzie z podłączeniem do Domoticz. Wiki jest w tym temacie dość optymistyczne, sprawdzimy jednak sami...

Po pierwsze - w aplikacji trzeba włączyć Developer mode. Na początek mały problem. Nie w aplikacji MiHome, ale w Yeelight! Czyli tu już standardowo - logujemy się na konto Xiaomi, łączymy się z WiFi żarówki i wracamy do aplikacji. Podłączona, działa.

Wybieramy naszą żarówkę i w prawym górnym rogu wybieramy Settings. Tam jest możliwość włączenia Developer Mode.




Następnie Domoticz, sekcja Hardware, jak poniżej. Wiki sugeruje używanie stałych adresów IP, co w końcu muszę ustawić u siebie...



Czekamy dwie, trzy minuty i nasza żarówka pokaże się na zakładce Devices:

Dodajemy do wykorzystywanych urządzeń i cieszymy się zabawą! Brawo!



poniedziałek, 18 września 2017

OWL Micro +

Tym razem zajmę się urządzeniem, które jest mniej popularne, ale bardzo przydatne.

Owl Micro + jest miernikiem zużycia energii elektrycznej o bardzo prostej instalacji i ciekawej dla nas zasadzie przekazywania informacji.






Montujemy go dość prosto - w zależności od potrzeb i instalacji w domu zakładamy na żyłę prądową specjalną klemę. Ja, z powodu podzielenia instalacji na trzy fazy - zakupiłem dwie dodatkowe. W standardowym pakiecie jest tylko jedna klema plus czytnik oraz wyświetlacz.


Co ważne! Aby analizować każdą fazę osobno trzeba zakupić trzy centralki! W moim przypadku jednak chodziło o sumaryczne zużycie w domu, nie było więc to dla mnie problemem.

Reasumując - jednostka centralna do której podłączamy trzy czujniki podaje zużycie prądu jako sumę. Z nią, bezprzewodowo, kontaktuje się wyświetlacz. Fortunne okazało się to, że używa do tego pasma 433MHz. Protokół jest rozpoznawany bez problemu przez RFLink, instalacja okazała się więc formalnością i czystą przyjemnością.

Sprzęt został od razu rozpoznany przez RFLink i dodany do Domoticz na zakładce Devices.


Następnie odczyt z Domoticz pięknie wyświetlił wartość aktualną.


Oraz po pewnym czasie pokazał wykresy...


Kolejnym krokiem może być dodanie obsługi zdarzeń związanych z poborem prądu - wartości minimalne, maksymalne, powiadamianie o większym zużyciu gdy jesteśmy poza domem (co może znaczyć, że żelazko nie jest wyłączone) i inne podobne.