Przełącznik Blue50 w Domoticzu.

Dzięki uprzejmości sklepu houseiq otrzymałem do przetestowania ciekawy przełącznik marki Blue50. Urządzenie to posiada wszystkie zalety sytemu Sonoff i jest z nim w 100 % kompatybilne, zapewniając kompaktowe gabaryty i równie łatwą integrację z Domoticzem. Wymiary urządzenia 7.6*5.2*2.4 cm. Do wyboru mamy różne wersje maksymalnego natężenia prądu – od 10A do nawet 30A. Możemy wybrać też model z dodatkowa obsługą  RF 433 MHz. Przełącznik wyposażony jest w skręcane śrubą złącza, diodę stanu oraz przycisk sterowania/resetowania/ustawiania. Podłączenie urządzenia jest banalnie proste.

 

Możemy tym przełącznikiem sterować przy pomocy dedykowanej do Sonoff aplikacji eWelink, jednak  można też wgrać inne oprogramowanie lecz nie jest to takie proste jak w przypadku SonoffPOW. Polecam zamówić urządzenie z wgraną np. Tasmotą aby dodać je do Domoticza. Usługą taka można zamówić od ręki w houseiq Jakby ktoś chciał spróbować samodzielnego falshowania, wygląda to mniej więcej tak.

image001

Tasmotę konfigurujemy w standardowy sposób ( jak tu ). Wybieramy Sonoff Basic i cieszymy kolejnym urządzeniem w systemie.

Programowanie przełączników Sonoff POW

Z uwagi na to, iż coraz częściej dostaje pytania jak wgrać alternatywne oprogramowanie do Sonoff POW, postanowiłem opisać to w jednym miejscu jako przewodnik, oraz ściągę dla siebie na przyszłość. Sprawa jest bardzo łatwa, jednakże zawsze przychodzi chwila zawahania, który kolor kabelka, do którego podłączyć pinu. Oczywiście można zamówić gotowy produkt, z wgranym już wybranym oprogramowaniem np. w sklepie https://www.houseiq.pl , z którym od jakiegoś czasu współpracuje testując różne zabawki. Dla tych, którzy nie chcą iść na na łatwiznę powstał poniższy tekst.

Na początku powstaje problem wybory odpowiedniego programatora. Wersji i możliwości jest kilka. Ja przetestowałem dwa urządzenia:

Znalezione obrazy dla zapytania CP2102

Oba działają bez zarzutu. HW-417-V1.2 oprócz kabelków wymaga także przejściówki mini USB. Poza tym proces flashowania jest taki sam dla obu urządzeń. W instrukcji skupię się na tym pierwszym.

Podłączamy kabelki go odpowiednich pinów. Wykorzystujemy 4 z nich: 5V ( VCC), GND, RX, TX.

Znalezione obrazy dla zapytania hw-417 pin

Analogicznie podpinamy piny do Sonoff POW jak na obrazkach poniżej.

IMG_20181202_105734.jpg

 

W przypadku Sonoff POW nie ma konieczności lutowania. Piny są otwarte. Wystarczy włożyć do nich przewody i podczas wgrywania softu lekko pochylić na zewnątrz aby być pewnym, że dobrze przylegają do krawędzi.

Pobieramy i instalujemy oprogramowanie. Ja stosuje:

Obsługa SonoffPOW w ESPEasy jest jak na razie w wersji eksperymentalnej i sprawia trochę problemów, zwłaszcza z prawidłowym stworzeniem RULES.

Oprogramowanie wgrywam esptool.py.  Tak w Linuxie jak i w Windowsie powinniśmy mieć zainstalowanego Pythona w wersji Python 2.7 lub Python 3.4 lub nowszej. W aktualnych dystrybucjach Linuxa jest już Python w wymaganej wersji, dla Windowsa możemy ściągnąć go  z tej strony. U mnie w najnowszym Mincie:

$ python3 –version
Python 3.6.6

Ostatnią wersję esptool.py można zainstalować poprzez pip ( dla Linuxa wydajemy polecenia w Terminalu dla Windowsa w Powershell-u, w katalogu gdzie zainstalowaliśmy esptools:

$ sudo pip install esptool

W razie trudności może pomóc:

$ sudo python -m pip install esptool 

$ sudo pip2 install esptool

Po zainstalowaniu esptool, przechodzimy do odpowiedniego katalogu ( u mnie linuxie ~/.local/bin ) i wydajemy polecenie, gdzie /dev/ttyUSB0  to port pod który podpięty jest programator a sonoff-PL.bin to ściągnięta binarka najnowszej Tasmoty.

$ sudo python esptool.py -p /dev/ttyUSB0 write_flash 0x000000 „sonoff-PL.bin”

Jeżeli prawidłowo podpięliśmy kabelki, pochylamy je na zewnątrz i wciskamy biały przycisk aby przestawić urządzenie w tryb flashowania. Wymaga to trochę wprawy ale da się zrobić jedna ręką. Następnie podłączamy programator do portu USB, wydajemy jedno z powyższych poleceń i już. Jeżeli widzimy tak jak poniżej to mamy wgrany wybrany soft.

Zrzut ekranu z 2018-12-02 12-54-23

Odpinamy urządzenie od komputera. Podłączamy do prądu i konfigurujemy Tasomotę. Jak to zrobić opisywałem tu.

Jak flashować, podłączyć i obsłużyć przełączniki Shelly1 w Domoticzu.

Od jakiegoś czasu przełączniki Shelly cieszą się coraz większą popularnością. Na pewno nie bez znaczenia jest ich atrakcyjna cena ( aktualnie 9,90 Euro za wersję 1 ) oraz obietnica i nadzieja, że będą działały w Domoticzu czy HomeAssistant. W portfolio firmy są również przełączniki w wersji 2 obsługujące dodatkowo pomiar zużycia energii ( wersja 1 nie ma tej funkcjonalności ), ale ich cena ( choć nadal atrakcyjna ) to 19.90 Euro plus niewielkie koszty przesyłki. Do testów kupiłem wersję 1 i na niej się skupię.

Od razu zaznaczam, iż nie testowałem oryginalnego oprogramowania Shelly. Staram, się mieć wszystko w jednym Domoticzu, więc przeszedłem od razu do sedna. Sam proces flashowania jest oficjalnie wspierany. Niezbędne informacje można znaleźć na oficjalnej stronie.

shelly1_pinout-800x433.jpg

Zgodnie z zawartą tam informacją wewnątrz urządzenia znajduje się  2 megabajtowy ESP8266. Do całej procedury potrzebujemy adapter USB-UART ( ja wykorzystałem standardowy CP2102 ), płytkę stykową i garść przewodów. Bardzo przydatną informacją jest, że do flashowania nie musimy rozbierać urządzenia. Niezbędne piny wyprowadzone są na zewnątrz obudowy. Aby nie mordować się z podłączeniem proponuje skorzystać ze schematu, który znalazłem w sieci.

shellyuart.jpg

W momencie podania zasilania na urządzenie ( podłączenia adaptera do portu USB ) pin GPIO 0 i GND musza być zwarte ( stąd pomarańczowy mostek ). Pozostałe wyjścia podłączamy zgodnie ze schematem. Pamiętajmy o krzyżowym podłączeniu TX i RX.

Jako soft alternatywny wybrałem Tasmotę. Nic nie stoi na przeszkodzie aby użyć ESPEasy. Działa również doskonale. Jeżeli będą pytania w komentarzach chętnie pomogę, lub uaktualnię posta. Mam na razie jedno urządzenie i jest już w puszcze pod włącznikiem światła, więc musiałem się na coś zdecydować. Ściągamy więc aktualna wersję Tasmota. Do falshowania użyłem esptool. Dla odmiany poszedłem w konsolę i był to strzał w dziesiątkę. Wszystko poszło od strzału. Na początku instalujemy narzędzie:

sudo pip install esptool

U mnie na Ubuntu zainstalowało się w katalogu domowym w loklalizacji /.local/bin. Przechodzimy do rzeczonego katalogu. Przenosimy tam plik z oprogramowaniem sonoff-PL.bin i wydajemy polecenie:

sudo python esptool.py -p /dev/ttyUSB0 write_flash 0x000000 „sonoff-PL.bin”

I tyle. Jeżeli urządzenie zostało rozpoznane na porcie /dev/ttyUSB0 ( a mnie dzieje się tak w 100 % ) proces flashowania przebiega bez zakłóceń. Z jednym małym zastrzeżeniem. Shelly1 nie zadziała prawidłowo. Nie będziemy mieli możliwości sterowania nim przy pomocy włącznika światła, jedynie poprzez Domoticza. Tak być nie może. Okazuje się, że przyczyną takiego stanu rzeczy jest nieprawidłowe ustawienie stanu wysokiego na wyjściu SW. Nie wdając się w szczegóły, aby uruchomić przełącznik, należy edytować plik sonoff.ino i  użyć „input” pinmode zamiast „input_pullup” i przeprogramować oprogramowanie układowe. Brzmi trochę trudno, ale autor bloga TheHookUp na szczęście udostępnił zaktualizowaną binarkę. Najnowsze ESPEasy_mega ma możliwość zmiany tych ustawień z poziomu interface, ale nie zostało to przeze mnie przetestowane. Pobieramy więc zaktualizowaną wersję. Wydajemy jeszcze raz komendę:

sudo python esptool.py -p /dev/ttyUSB0 write_flash 0x000000 „shelly1tasmota.bin”

i mamy wgrana odpowiednią wersję Tasmoty. Przełącznik podpinamy do włącznika zgodnie ze schematem z oryginalnej instrukcji lub dla takich elektryków jak ja z drugiego schematu. Jeszcze raz dziękuję autorowi przytoczonego wcześniej bloga.

 

Następnie konfigurujemy Tasmotę. Logujemy się standardowo do naszej sieci jak było opisane w poście o Sonoff POW2. Ustawiamy odpowiednie wartości. Najważniejsza jest konfiguracja modułu.

FireShot Capture 20 - Sonoff - Configure Module - http___192.168.2.74_md_.png

oraz ustawienia MQTT ( odsyłam jeszcze raz do posta ). W Domoticz konfigurujemy ( jeżeli jeszcze nie mamy)  broker Mosquitto i zakładamy standardowy przełącznik. Zapamietujemy jego idx. Po tym ustawiamy MQTT.

FireShot Capture 21 - Sonoff - Configure MQTT - http___192.168.2.74_mq_.png

oraz integracje z Domoticzem w Tasmocie.

FireShot Capture 22 - Sonoff - Configure Domoticz - http___192.168.2.74_dm_.png

I tyle. Mamy obsługę Shelly 1 poprzez klawisz na ścianie i przełącznik w Domoticzu.

FireShot Capture 23 - Domoticz - http___192.168.2.214_9009_#_LightSwitches

Z uwagi na małe rozmiary Shelly wciśnięcie go do puszki jest bardzo łatwe choć tak nie wygląda. Oczywiście instalacja elektryczna musi mieć przewód neutralny N.

IMG_20181031_170714.jpg

Reasumując, jestem bardzo zadowolony z Shelly. Na razie nie potrzebuje monitoringu prądu więc zostanę przy wersji 1. W drodze są już kolejne. Przy tej cenie dodanie ich pod wszystkie włączniki światła w domu nie jest już tak dramatycznym wydatkiem.

PS. Jako, że na boku, od jakiegoś czasu dłubię też w Home Assistant, w którymś z kolejnych postów piszę jak się Shelly 1 sprawuje ( włącznie z innymi sonoffami ) w HA.

 

Odczyt danych z licznika prądu Eastron SDM630 Modbus.

Sposobów na monitoring zużycia prądu w domu jest na prawdę wiele. Kilka z nich opisywałem już na blogu. Można to zrobić poprzez odczyt z migającej diody np. wykorzystując INODE lub przy użyciu klamer zapinanych na przewodach jak w systemie OWL Micro +. Cały czas jednak chciałem uzyskać wiarygodne dane prosto z licznika prądu. Jako, że ma w domu istalacje 3-fazową problem był bardziej skomplikowany, raz ze względu na koszty zakupu odpowiedniego podlicznika, dwa ciężko było mi znaleźć odpowiednie skrypty i biblioteki do obsługi tego typu liczników. Dla liczników jednofazowych np. SDM120 poradników, łącznie z filmami na youtube jest cała masa, słusznie jednak podejrzewałem, że mogą być nieprzydatne dla liczników trójfazowych. Przepisanie kodu jak dla mnie to za wysokie progi. Aktualnie pracuje nad tematem związanym z monitoringiem zużycia energii  i powyższy problem stał się elementem większego projektu, ale o tym pewnie będzie za jakiś czas. Stałem się więc posiadaczem owego licznika i zmuszony byłem do podjęcia walki z nim. Uprzedzając pytanie, dlaczego wybrałem protokół Modbus zamiast analizy z wyjścia impulsowego. Założenie jest takie, aby odczyty były jak najbardziej wiarygodne i cały projekt został oparty na tym protokole. Nie będę oczywiście rozpisywał się o charakterystyce protokołu komunikacji, jego wadach i zaletach, oraz wklejał linków do Wikipedii. Ma być praktycznie, czyli jak najszybciej do celu.

Przygotowanie środowiska pracy.

Co było potrzebne:

  1. Licznik prądu Eastron SDM630 Modbus
  2. Raspberry Pi B+
  3. Konwerter USB/RS485
  4. … trochę kabli i żarówka

Na Raspberry Pi zainstalowałem czystego, najnowszego Raspiana i wgrałem na nim Domoticza, klasyczna komendą:

 sudo curl -L install.domoticz.com | bash 

Podłączenie licznika do Rasberry Pi

Na początek podłączamy licznik zgodnie z instrukcją. U mnie do testów wykorzystywana jest jedna faza. Jako odbiornik prądu posłużyła żarówka. Przy podłączeniu trójfazowym, w rozdzielni skorzystam z pomocy elektryka i to wszystkim polecam.

FireShot Capture 11 - - https___cemm.nl_wp-content_uploads_2017_12_Eastron-SDM630D-Modbus.pdf

 

Podłączyłem tak.

1- Zasilanie, przewód fazowy – L1

4- Zasilanie, przewód neutralny – N

5- Wyjście na żarówkę, przewód fazowy – L1

8- Wyjście na żarówkę, przewód neutralny – N

Do portu USB Raspberry podłączamy konwerter USB/RS485 i łączymy go z wyjściem danych licznika.

  • A+ licznika z D+ konwertera
  • B- licznika z D- konwertera

IMG_20181028_111528.jpg

Instalacja oprogramowania.

Wychodzą z założenia, iż wszystko czego mi do szczęścia, w temacie elektroniki potrzeba zostało już dawno odkryte przekopałem fora i znalazłem kilka skryptów w pythonie, które powinny obsłużyć ten licznik. Okazało się, że jest też plugin do Domoticza, więc na nim się skupiłem. W najnowszy Raspbianie mamy już Pythona w wersji 3, lecz niezbędne jest doinstalowanie python3-dev.

sudo apt-get install -y python-dev 

Instalujemy plugin i restartujemy Domoticza

 cd ~/domoticz/plugins git clone https://github.com/MFxMF/SDM630-Modbus 

Po restarcie pojawił się nam nowy /Sprzęt

FireShot Capture 12 - Domoticz - http___192.168.2.130_8080_#_Hardware.png

I tu sprawa bardzo ważna. Należy ustawić prawidłową szybkości transmisji danych – Baud rate. Domyślnie jest 9600, natomiast mój licznik pracuje z prędkością 4800. W instrukcji licznik można znaleźć informację jak i gdzie ją ustawić.

W zakładce /Urządzenia pojawia nam się kilka – dokładnie 86 odczytów

FireShot Capture 13 - Domoticz - http___192.168.2.130_8080_#_Devices.png

a w logach ( jeżeli ustawimy szybkości Debug: True ). Nie polecam ustawiać na stałe debugowania. Po jakimś czasie zaczyna się dusić.

FireShot Capture 14 - Domoticz - http___192.168.2.130_8080_#_Log.png

Dla mnie praktycznie potrzebne są jest tylko dwa odczyty.

FireShot Capture 15 - Domoticz - http___192.168.2.130_8080_#_Utility.png

I to byłoby na tyle. Wygląda banalnie prosto, ale rozgryzienie tego zajęło kilka wieczorów. Jeżeli coś poszłoby nie tak warto doinstalować

sudo apt-get install python-pip
pip install pyserial 
pip install minimalmodbus

ponieważ skrypt korzysta z tych bibliotek.

Projekt w zamyśle ma być rozbudowany o odczyty z innych liczników więc zachęcam do śledzenia wątku. Będę starał się go na bieżąco aktualizować.

Sterowanie dekoderem NC+ z Domoticza

Jakiś czas temu postanowiłem dodać do mojego systemu telewizor Sony Bravia.  Po wielu próbach podałem się. Mój model ma już swoje lata i  niestety nie ogarnia „złożoności protokółów komunikacji” z Domoticzem. Wpadłem jednak na plan aby spróbować zmusić do współpracy dekoder nc+. I tu już poszło lepiej. Może nie idealnie, ponieważ mam świadomość, że jest to trochę prowizorka, ale moje umiejętności na razie nie pozwalają na nic więcej. Idea jest taka, aby zmapować przyciski pilota i poprzez skrypty w pythonie wysłać je z Domoticza do dekodera. Aby nawiązać komunikację pomiędzy urządzeniami potrzebujemy skryptu w pythonie, który znalazłem na GitHub. Skrypt nie jest oczywiście mojego autorstwa. Znalazłem go tu. Autorem jest HubertReX, dla którego dziękuję. W pliku mamy zmapowane przyciski pilota nc+. Uzupełniamy dane:

HOST = „ip dekodera nc+”
PORT = 8080
UUID = „12341234-1234-1234-1234-abcabcabc”

Zagadkowe wydawać się może UUID. Aby je znaleźć należy, po podłączeniu dekodera do sieci, w przeglądarce internetowej wpisać komendę:

http://<ip dekodera nc+>:8080/upnpdev

Otrzymamy taki mniej więcej log:

FireShot Capture 15 - UPnP devices list - http___192.168.2.77_8080_upnpdev_.png

Mając już wszystkie niezbędne dane możemy przejść do najważniejszego, czyli konfiguracji Domoticza. Ja dodałem sobie 2 kafelki. W pierwszym ustawiłem typ przełącznika na selektor i wybrałem opcje wyłączenia dekodera, wyciszania i zmiany głośności.

FireShot Capture 16 - Domoticz - http___91.245.83.80_9009_#_Devices_153_LightEdit

FireShot Capture 14 - Domoticz - http___91.245.83.80_9009_#_LightSwitches

Miałem duże problemy aby wpisać jako akcje wyborów polecenia pythona. Obszedłem to w taki sposób, że napisałem oddzielne skrypty w bashu dla każdej akcji i ich lokalizacje podałem w Domoticzu. Poniżej skrypt o nazwie mute.sh wyciszający dźwięk.

#! /bin/sh
/usr/bin/python /home/domoticz/domoticz/scripts/send_key2ncplus.py MUTE

Dobrze byłoby jeszcze dodać sterowanie programami. Robimy to analogicznie. Jako, że skrypt emuluje naciśnięcie przycisków pojawia się mały problem przy programach o wielocyfrowych numerach. Z tym poradziłem sobie modyfikując skrypt w bashu. Poniżej skrypt uruchamiający program DOMO+.

 
#! /bin/sh 
/usr/bin/python /home/domoticz/domoticz/scripts/send_key2ncplus.py 2
/usr/bin/python /home/domoticz/domoticz/scripts/send_key2ncplus.py 3

FireShot Capture 17 - Domoticz - http___91.245.83.80_9009_#_Devices_154_LightEditFireShot Capture 15 - Domoticz - http___91.245.83.80_9009_#_LightSwitches

Powyżej obraz selektora z dodanymi programami tvn24, HGTV i DOMO+.

Sterowanie działa bardzo fajnie. Cała jego siła tkwi w zbudowanych scenach i zdarzeniach.  Pomimo delikatnej prowizorki tego rozwiązania na razie ze mną zostaje. Jeżeli, ktoś ma pomysł jak wyeliminować skrypty w bash i dodać bezpośrednio polecenia pythona w selektorze proszę o radę w komentarzach.

Domoticz jako wirtualny termostat sterujący komfortem cieplnym w domu

Sezon grzewczy za pasem, więc coraz częściej myślę o rozbudowie Domoticza o jakiś kompletny system starowania ogrzewaniem. Jako, że głównym źródłem ciepła jest u mnie piec elektryczny sprawa wydaje się niezbyt skomplikowana.  Można pójść w rozwiązania wysoce komercyjne jak np. termostaty NEST czy ECOBBE albo głowice termostatyczne na z-wave, ale rozmawiamy tu o wydatku przetaczającym tysiące złotych. Od czego jest jednak społeczność Domoticza ? Skoro mam już czujniki temperatury w każdym pokoju, to wystarczy podpiąć piec do przełącznika i skonfigurować Domoticza aby czuwał nad włączeniem pieca w określonym zakresie temperatur. Można zrobić to na tzw. piechotę i zbudować zdarzenia w LUA ale fajnie byłoby mieć coś w miarę kompletnego. Okazuje się, że nie ma nic prostszego. Ameryka została już odkryta i powstał Smart Virtual Thermostat python plugin for Domoticz napisany przez użytkownika Logread.

Plugin możemy zainstalować poprzez Python Plugin Manager. Jak to zrobić pisałem tu, albo bezpośrednio z github.com.

cd plugins
mkdir SVT
sudo apt-get update 
sudo apt-get install git 
git clone https://github.com/999LV/SmartVirtualThermostat.git SVT 
cd SVT 
sudo chmod +x plugin.py 
sudo /etc/init.d/domoticz.sh restart

Przechodzimy do katalogu z pluginami, tworzymy katalog SVT, aktualizacja i instalujemy git ( jeżeli jeszcze go nie mamy ). Następnie ściągamy skrypt z githuba, przechodzimy do katalogu ze skryptem i nadajemy mu odpowiednie prawa do wykonywania. Restart Domoticza i mamy sprawę załatwioną.

W zakładce /Sprzęt możemy wybrać już Smart Virtual Thermostat.

FireShot Capture 1 - Domoticz - http___192.168.2.214_9009_#_Hardware.png

Konfiguracja jest banalnie prosta ( na początku ). Podajemy kolejno: adres IP Domoticza, port, użytkownika i hasło ( jeżeli mamy ustawione ), idx czujnika temperatury wewnętrznej, idx czujnika temperatury zewnętrznej oraz idx przełącznika uruchamiającego piec. Bardzo praktyczną rzeczą jest fakt, iż możemy dodać kilka czujników temperatury np. w salonie, sypialni, łazience itp. oddzielając je przecinkiem a ich wartości będą uśredniane. Tak samo z czujnikiem zewnętrznym. Uwaga, bez czujnika temperatury wewnętrznej skrypt nie zadziała, natomiast bez czujnika zewnętrznego będzie działał. Skrypt próbuje naśladować tzw. starowanie pogodowe, które jest dostępne w nowszych piecach centralnego ogrzewania.

Sprawa ustawień komplikuje się znacznie przy dwóch ostatnich parametrach.

Wartość Apply minimum heating per cycle określa zachowanie termostatu, gdy podano minimalny parametr ogrzewania na cykl.

  1. Jeśli jest ustawione na „only when heating required” (opcja domyślna), wówczas minimalne ogrzewanie zostanie zastosowane tylko wtedy, gdy nie zostanie osiągnięta żądana temperatura. Jest to przydatne na przykład podczas napełniania kotłów centralnego ogrzewania, które mają określoną bezwładność.
  2. Jeśli ustawione na „always„, to zawsze będzie stosowane minimalne ogrzewanie w każdym cyklu ogrzewania, niezależnie od tego, czy osiągnięta zostanie żądana temperatura. Jest to na przykład przydatne w systemach ogrzewania podłogowego o bardzo wysokiej bezwładności cieplnej, gdzie lepiej jest unikać zbytniego chłodzenia podłogi, nawet jeśli ogrzewanie nie jest faktycznie potrzeb

Linia Calculation cycle, Minimum Heating time per cycle, Pause On delay, Pause Off delay, Forced mode duration  zawiera zaawansowane parametry, które mogą mieć kluczowe znaczenie dla prawidłowego działania inteligentnego termostatu wirtualnego.

  1. Calculation cycle ( cykl obliczeniowy) – jest to czas w minutach między dwoma obliczeniami termostatu. Należy go ustawić w zależności od bezwładności cieplnej fizycznego pomieszczenia i systemu grzewczego. Domyślnie 30 min.
  2. Minimum Heating time per cycle ( minimalne ogrzewanie na cykl ) – jest to minimalny %, w którym grzejnik musi być włączony w danym okresie obliczeniowym. Wartość może wynosić od 0 do 100.
  3. Pause On delay ( opóźnienie włączenia pauzy ) – jest to liczba minut, przez którą musi być włączony przełącznik „Pauza”, zanim termostat rzeczywiście wyłączy ogrzewanie. Jest to bardzo przydatne, aby umożliwić krótkie otwarcie drzwi, a następnie ich ponowne zamknięcie bez żadnego wpływu na termostat, a pozostawienie otwartych drzwi przez dłuższy czas spowodowałoby wyłączenie ogrzewania przez termostat, aby uniknąć marnowanego ciepła.
  4. Pause Off delay ( opóźnienie wyłączenia pauzy ) – parametr odwrotny od poprzedniego, liczba minut, przez którą przełącznik „Pause” musi być wyłączony, zanim termostat powróci do normalnego działania.
  5. Forced mode duration ( czas trwania trybu wymuszonego) – to czas w minutach, w którym termostat wymusi ogrzewanie po wybraniu trybu „forced”. Po tym czasie aktywny będzie tryb „Auto”.

Na początku zostawiłem domyślne ustawienia.

Po uruchomieniu skryptu zostanie utworzonych 6 urządzeń:

  • Thermostat Control ( Kontrola termostatu ) – ustawia status termostatu (wyłączony, tryb automatyczny, tryb wymuszony)

FireShot Capture 2 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Mode ( Tryb termostatu ) – ustawia tryb sterowania temperaturą (normalny, oszczędny) za pomocą odpowiedniej wartości zadanej. Można to wykorzystać do przestawiania termostatu na tryb dzienny i nocny.

FireShot Capture 3 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Pause ( Pauza termostatu ) – jeśli jest ustawionyana” Wł. „, wymusi pracę termostatu w trybie pauzy po zadanym czasie  i odwrotnie, wznowi normalną pracę, jeśli jest ustawiona na” Wył.” Może to być przydatne, aby zatrzymać ogrzewanie, gdy okno lub drzwi są otwarte.

FireShot Capture 4 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Setpoint Normal – ustawia temperaturę docelową dla trybu normalnego. Panel ustawień temperatury wyświetla się po naciśnięciu płomyka.

FireShot Capture 5 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

FireShot Capture 9 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Setpoint Economy – ustawia temperaturę docelową dla trybu ekonomicznego.

FireShot Capture 6 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

FireShot Capture 8 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

  • Thermostat Temp – wyświetla bieżącą temperaturę otoczenia (średnia z wartości wewnętrznych czujników temperatury, podana w parametrach sprzętowych) To urządzenie jest domyślnie” ukryte ” i można je dodać do panelu Domoticza z menu /Urządzenia.

FireShot Capture 7 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

U mnie wygląda to tak.

FireShot Capture 10 - Domoticz - http___192.168.2.214_9009_#_Dashboard.png

Jak dla mnie genialna robota. Nic więcej mi nie potrzeba. Termostat przetestowany, robi co ma robić. Pobawię się i potestuje parametry pracy i myślę, że przeżyje zimę we względnym komforcie cieplnym.

Jeszcze tańsza wersja odtwarzacza sieciowego mediów na bazie Raspberry Pi.

Na moim blogu coraz rzadziej pojawiają się wpisy dotyczące bezpośrednio RasberryPi. Wynika to z tego, że dosyć mocno poszedłem w rozwój automatyki domowej i Domoticza i malinka jest dla mnie tylko bazą do dalszego rozwoju mojego systemu. Nadal zajmuje eksponowane miejsce i z ochotą wracam do zaniechanych z braku czas projektów. Jeden z nich, o roboczej nazwie „Muzyka w każdym pokoju” cały czas rozwijam. W poprzednich wpisach o Volumio i HiFiBerry już pisałem. Jak można w nich przeczytać wyjście dźwięku z mini jack w raspberry jest za słabe i potrzebne są aktywne głośniki, a dobry DAC kosztuje od 100 zł w górę. Dla kilku pokoi robią się nie małe pieniądze. Ceny raspberrypi nie liczę ponieważ przez poprzedni rok nazbierałem ich „kilka” i czekają na wykorzystanie. Po kilku nieudanych próbach znalezienia tańszego wzmacniacza znalazłem w końcu coś takiego.

htb1nwt1zkcwbunjy0faq6xulxxaj.jpg

Jest to dwukanałowy 6W wzmacniacz z wyjściem mini jack. Kupiłem go tu. Cena poraża. Nie wierzyłem szczerze powiedziawszy że zadziała. Podłączenie jest dziecinnie proste. Zasilanie 5V i GDN z RaspberryPi do gniazda obok czerwonej diody, głośniki do zacisków z lewej i wyjście dźwięku z malinki do wejścia w urządzeniu. Musi działać. Potencjometr reaguje bardzo płynnie, nie słychać trzasków i przeskoków. Miałem stare głośniki od wieży i doczekały się w końcu swojej drugiej szansy. Wersja na roboczo wygląda tak.

Do budowy mojego projektu wykorzystałem Logitech Media Server z odtwarzaczami  piCorePlayer. Jako że miałem już 2 odtwarzacze na bazie RaspberryPi Zero i HiFiBerry MiniAmp działające w oparciu o Volumio postanowiłem ten najnowszy wpiąć w sieć i stworzyć multi-room. Logitech Media Server zainstalowałem na tej samej maszynie na której chodzi Domoticz. Na razie nic się nie gryzie. Zobaczymy jak będzie dalej. Dla tych, którzy stawiają LMS na Raspbianie polecam wpis Cezara . Tam są wszystkie szczegóły. U mnie Domoticz chodzi na Ubuntu Server, więc instalacja Logitech Media Server sprowadzała się do pobrania i zainstalowania paczki ze strony http://downloadsorigin.slimdevices.com/LogitechMediaServer_v7.9.0/ . Po restarcie odpalamy server podając nasze IP i port 9000. Na malinkach, które będą odtwarzaczami wypalamy piCorePlayer. I tyle.

FireShot Capture 4 - Logitech Media Server - http___192.168.2.214_9000_

FireShot Capture 5 - Logitech Media Server - http___192.168.2.214_9000_

Oczywiście możemy użyć aplikacji Squeezer oraz obsłużyć wszystko z Domoticza.

Screenshot_20180909-142451.jpg

FireShot Capture 7 - Domoticz - http___192.168.2.214_9009_#_LightSwitches

Audiofilski system to to nie jest, ale nie taki nie taki miał być. Myślę, że pomysł może się przydać dla tych, u których w szufladzie przewalają się zapomniane malinki a nie ma pomysłu a zwłaszcza funduszy na ich zagospodarowanie. Moim zdaniem zakup tego wzmacniacza to jeden z lepszych pomysłów na wydanie 2.5 $.

 

 

 

 

 

 

 

Monitoring zużycia energii. Sonoff POW R2 – Tasmota i Domoticz.

Znalezione obrazy dla zapytania sonoff pow r2

Rodzina urządzeń Sonoff cały czas się powiększa. Na szybko doliczyłem się 25 urządzeń, z których większość ładnie współgra z Domoticzem. Klasyczne przełączniki Sonoff Basic były już wielokrotnie opisywane. Moim zdaniem najlepiej wykorzystać do nich firmware ESPEasy. Nie licząc nieszczęsnego lutowania pinów sprawa dodania do Domoticza jest banalnie prosta. Jak już pisałem nie mam do tego cierpliwości, więc do przetestowania Sonoff POW R2 zabierałem się dosyć długo.

Jest to bardzo zmyślne urządzenie, które oprócz funkcjonalności zwykłego przełącznika mierzy także zużycie energii. U mnie będzie sterować bojlerem. Poprzednie wersje Basic po kilku tygodniach się przepalały. Moja grzałka na 2000 W więc teoretycznie powinno dać radę ( Sonoff Basic 10 A czyli 2200 W ), ale jednak nie dawało. Sonoff POW R2 ma 16 A czyli maksymalną moc obciążenia:  3500W. Powinno być w porządku. Zobaczymy za miesiąc.

Inspiracją do zabawy z POW R2 był post Cezara o firmware Tasmota i MQTT w Domoticzu. Postanowiłem w tym przypadku odejść od EspEasy, choć nowa wersja beta oprogramowania ma już testową integracje z tym Sonoffem, i pobawić się Tasomtą. Instalacja Mosquitto i MQTT jest bardzo jasno opisana w cytowanym poście, więc nie będę powielał informacji. U siebie musiałem tylko w komendzie:

mosquitto_sub -h localhost -t „#” -u „username” -P „password” -v

podać adres Raspberry Pi, na localhost nie działało.

Najciekawsze poniżej.

Sonoffa kupiłem już z wgranym oprogramowaniem Tasmota. Usługa kosztuje kilka złotych, więc uznałem, że nie będę się mordował. Wiem, że to wstyd, ale czas też ma swoją cenę. Urządzenie kupiłem w sklepie houseiq. W ofercie mają wiele interesujących urządzeń np. testowany Sonoff POW R2 czy nową wersje Sonoff Dual R2. Znajdziemy tam również czujniki Xiaomi, żarówki Yeelight, urządzenia na 433 Mhz, wtyczki z-Wave itp. Zachęcam do zapoznania się z ofertą tego sklepu.

Przełącznik dodajemy do naszej sieci WiFi tak jak klasyczną wersję BASIC. Jak już nasze urządzenie otrzyma adres w sieci lokalnej, logujemy się na nie w przeglądarce i gotowe. Przechodzimy do konfiguracji.

FireShot Capture 10 - Sonoff - Configuration - http___192.168.2.180_cn_

Na początku wybieramy odpowiednie urządzenie w Configure Module.

FireShot Capture 2 - Sonoff - Configure Module - http___192.168.2.180_md_

Teraz konfigurujemy MQTT. Przechodzimy do Configure MQTT. Podajemy adres Raspberry Pi, port musi być 1883 oraz użytkownika i hasło ustawione podczas konfiguracji mosquitto.

FireShot Capture 3 - Sonoff - Configure MQTT - http___192.168.2.180_mq_

Efekt finalny wygląda tak.

FireShot Capture 8 - Sonoff - Main Menu - http___192.168.2.180__

W między czasie dodajemy urządzenia w Domoticzu. Wybieramy sprzęt:

FireShot Capture 2 - Domoticz - http___91.245.83.80_9009_#_Hardware

Następnie wirtualne sensory. Na początek najważniejsze Przełącznik i Licznik energii.

Zapamiętamy ich IDX i wstawiamy w zakładce  Configure Domoticz.

FireShot Capture 4 - Sonoff - Configure Domoticz - http___192.168.2.180_dm_.png

IDX przełącznika wpisujemy jako 1, kolejne zgodnie z tabelką. Dołożyłem jeszcze sobie napięcie.

Działa. Potrzeba jednak dodać kilka uwag. Na początku Sonoff może pokazywać dziwne dane. Nic dziwnego, urządzenie wymaga kalibracji. Można do tego wykorzystać multimetr i bawić się w aptekarza, ale jest na to łatwiejszy sposób. Wykorzystamy żarówkę 60 W.  ( Ciekawostka, na żarówce LED 7 W czujnik nie pokazuje danych. ). Przechodzimy do konsoli

FireShot Capture 6 - Sonoff - Console - http___192.168.2.180_cs_.png

i wydajemy po kolei poniższe komendy w polu ENTER command ( oczywiście przy podłączonej żarówce 60 W )

PowerSet 60
VoltageSet 240
CurrentSet 250

Teraz odczyty powinny być prawidłowe.

 

 

Obsługa zdarzeń w Domoticzu przez SMS

Możliwości komunikacyjnych Domoticz ma bardzo dużo, od maila, poprzez powiadomienia na telefon Pushbullet czy Pushover, kombajn IFTTT czy komunikator Telegram. W takiej ilości możliwości komunikacja SMS wydaje się już trochę archaiczna,  jednakże jak dla mnie warta zastosowania. Mam np. piec centralnego ogrzewania działający na GSM, który ma możliwość obsługi przy użyciu komend SMS. Dzięki temu mogę z głównego Domoticza uruchamiać i wyłączać urządzenie jednym przyciskiem, korzystając z planów czasowych i zdarzeń.

W Domoticzu domyślnie jest dodana usługa SMS Clickatell, która powinna odpowiadać za powyższą komunikację. Jednak jak to często bywa, nie jest tak łatwo. Po długich zmaganiach  i braku sukcesu w uruchomieniu doczytałem, że po zmianie API, od jakiegoś czasu usługa nie jest dostępna dla nowych użytkowników. Pozostawiono ją w systemie, iż podobno cały czas działa ze starymi kluczami. Tak łatwo nie można się jednak poddawać. Z pomocą oczywiście przychodzi LUA.

  1. Zakładanie konta w usłudze SMS Clickatell.

Bez tego się oczywiście nie obejdzie. Przechodzimy na https://www.clickatell.com/. Rejestrujemy się i logujemy.  Po zalogowaniu się w pierwszej kolejności musimy dostać się do API.

Screenshot_2018-07-23 https portal clickatell com.png

2. Uruchomienie usługi

Wchodzimy w zakładkę CONNECT.

Bez tytułu

Otrzymaliśmy API key. To jednak tylko początek. Usługa jest oczywiście płatna. Na szczęście jest też opcja testowa. Pozwala na wysłanie chyba 30 SMS dziennie i jak na razie nie zauważyłem, żeby była ograniczona czasowo. Mam ją już uruchomioną 2 miesiące i nadal działa. Ilość SMS jest dla mnie wystarczająca, więc nie planuję przejścia na wersję płatną. Dodajemy więc nasz telefon testowy.

Bez tytułu1.png

Bez tytułu2

Na podany numer telefonu dostaniemy kod SMS, który wpisujemy w kolejnym oknie, wpisujemy i mamy dodany nasz testowy numer telefonu. Następnie ustawiamy nową integracje.

Bez tytułu3

Przeklikujemy do końca, jeżeli domyślne ustawienia nam pasują. I już możemy przetestować czy wszystko działa.

Bez tytułu12.png

Testujemy naszą integracje.

Bez tytułu6.png

Wybieramy podaną wcześniej integracje, numer testowy telefonu ( doda nam się automatycznie ) i wpisujemy tekst wiadomości. Bez tytułu7.png

I pięknie. Przyszedł SMS o treści TEST, na podany wcześniej numer. Jesteśmy w domu. Teraz przechodzimy do Domoticza.

3. Konfiguracja Domoticza.

Pozostaje mam tylko napisać skrypt LUA, który wyślę nam SMS po zmianie stanu przełącznika. Tworzymy standardowy przełącznik w systemie.

Bez tytułu8

W Zdarzeniach tworzymy skrypt LUA.

 
commandArray = {}
if (devicechanged['SMS'] == 'On') then
os.execute ('curl "https://platform.clickatell.com/messages/http/send?apiKey=xxxxxxxxxxxxxxxxxxx==&to=48xxxxxxxx&content=Przełacznik włączony"')
end
return commandArray 

Pamiętajmy aby nazwa urządzenia była prawidłowa. A skąd wziąć „curl” ? Wygenerował nam się w okienku CURL podczas testowania integracji ( 3 obrazy wyżej ).

Teraz po naciśnięciu przełącznika, zmienia się jego stan na ON i wykonywana jest komenda curl wysyłająca SMS na testowy numer telefonu o treści podanej za &content=. Oczywiście możemy treść modyfikować już ze skrypcie. Nie ma konieczności testowania integracji za każdym razem.

Przełącznik możemy wykorzystać w bardziej złożonych zdarzeniach np. jeżeli temp. w salonie spadnie poniżej 18 st. to włącz przełącznik SMS. Ustawiamy tylko odpowiednią treść „Temperatura w salonie za niska” i mamy powiadomienie SMS o zmianie temperatury w salonie.

Dla mnie bomba.

Monitor prawdopodobieństwa opadów deszczu w Domoticzu.

Na blogu u Cezara wyczytałem swego czasu świetny wpis o zaimplementowaniu w Domoticzu radaru burzowego z serwisu https://burze.dzis.net/. Działa znakomicie.

FireShot Capture 60 - Domoticz - http___91.245.83.80_9009_#_Utility.png

Nie chcąc dublować wpisu postanowiłem poszukać rozwinięcia i ewentualnego uzupełnienia tematu. Znalazłem na forum Domoticza skrypt, który na podstawie danych z http://www.wunderground.com podaje prawdopodobieństwo opadów i w zależności od wyniku ustawia przełącznik w odpowiedniej pozycji. Sprawdzałem kilkanaście dni ( aktualnie u nas co jakiś czas pada ) i działa prawidłowo. Przydaje się do np. do planowania podlewania ogródka.

Sprawa jest bardzo prosta. Tworzymy 3 wirtualne czujniki ( przełącznik prognozowanych opadów w danym dniu,  przełącznik prognozowanych opadów w aktualnej godzinie i kafelek tekstowy z procentowym prawdopodobieństwem opadów ). Skrypt jest napisany w języku dzVents. Jest to kolejna generacja LUA. Swoją drogą bardzo intuicyjny język. Aktualnie trochę się im bawię i jestem pod wrażeniem. Na początku musimy włączyć jego obsługę w Domoticzu. Przechodzimy do /Konfiguracja/Ustawienia/Inne

FireShot Capture 61 - Domoticz - http___91.245.83.80_9009_#_Setup.png

Dobrze jest ustawić poziom zapisywania do logów aby wiedzieć co aktualnie zwraca skrypt. Aby zapobiec błędom w kopiowaniu skryptu na blog proponuje pobrać kod bezpośrednio z forum Domoticza. Wątek jest tu.

Uzupełniamy dane:

FireShot Capture 62 - Domoticz - http___91.245.83.80_9009_#_Events

Najlepiej wkleić poniższy skrypt w kreatorze zdarzeń Domoticza /Konfiguracja/Więcej opcji/Zdarzenia. Nie będzie problemu ze ścieżką dostępu.

FireShot Capture 64 - Domoticz - http___91.245.83.80_9009_#_Events

Wstawiamy nazwę swojej lokalizacji, kraj, klucz API z www.wunderground.com. Jak pobrać klucz pisałem w poście Prognoza pogody z serwisów internetowych w Raspberry Pi i systemie DOMOTICZ. Tworzymy teraz 3 wirtualne czujniki, o których pisałem wcześniej.

Albo nadajemy im nazwy jak w skrypcie, albo własne, pamiętając o aktualizacji skryptu. Ważne, aby sprawdzić poprawność ścieżki do lua.  ( 21 linijka kodu ). Powinno być OK, ale u mnie musiałem poprawić. W linijce 8 kodu ustawiamy odświeżanie ( u mnie co 1 minuta – tak dla testów ). Oczywiście restart i w logach powinniśmy zobaczyć coś takiego. Pamiętamy o zaznaczeniu Event active.

FireShot Capture 63 - Domoticz - http___91.245.83.80_9009_#_Log

Efekt finalny jest taki. W zakładce przełączniki zobaczymy.

FireShot Capture 65 - Domoticz - http___91.245.83.80_9009_#_LightSwitches.png

Natomiast w zakładce /Użytkowe mamy nasz wynik procentowy.

FireShot Capture 66 - Domoticz - http___91.245.83.80_9009_#_Utility.png

 

Jeżeli w Waszej lokalizacji aktualnie nie pada ( jak u mnie ) proponuje znaleźć miasto z opadami i dla testu zmienić w skrypcie.

PS. Ikonki w przełącznikach nie są domyślne. Proponuje poszukać na forum fajnych ikonek np. tu i zaktualizować w przełącznikach.

FireShot Capture 70 - Domoticz - http___91.245.83.80_9009_#_LightSwitches

Wchodzimy w /Konfiguracja/Więcej opcji/Własne ikony wybieramy *.zip i przesyłamy. Możemy już wybierać swoje ikony.

PS2. Jeżeli będzie ktoś miał problemy ze skryptem proszę o info w komentarzach a prześlę mailem.

Teraz oczekiwanie na deszcz nabrało innego sensu 🙂