Obrazek wpisu

Dzisiejszy wpis będzie pierwszym poświęconym tzw. DIY. Zajmiemy się w nim, jak wynika z tytułu, problemem poprawnej instalacji pluginu pozwalającego na obsługę popularnych urządzeń Broadlink bezpośrednio z interfejsu systemu Domoticz. Motywacją dla tego wpisu jest fakt, że właściwie brakuje kompletnej i zrozumiałej instrukcji wykonania tego niezbyt prostego, jak się okazuje, zadania, a problemy, które mogą wyniknąć podczas prób instalacji na podstawie dostępnych materiałów są w stanie szybko zniechęcić początkujących majsterkowiczów. Informacje niezbędne do napisania tego wpisu czerpałem z wielu źródeł internetowych, polsko- i anglojęzycznych, a sam wpis dokumentuje rzeczywisty proces instalacji. Tyle tytułem wstępu, a teraz do dzieła!

Ustalmy warunki początkowe. Żeby kontynuować potrzebujesz:

  • Raspberry Pi z systemem Raspbian Stretch i zainstalowanym kontrolerem automatyki Domoticz w wersji co najmniej 3.90xx,
  • Zdalnego dostępu do Raspberry przez VNC lub SSH, przy wrzucaniu plików do katalogu Domoticza pomocny może okazać się program WinSCP,
  • Właściwie dowolnego urządzenia Broadlink (my użyliśmy Broadlink RM pro+),
  • Skonfigurowanej aplikacji mobilnej wedle własnego uznania (ihc lub e-control), chociaż można natrafić na opinie, że e-control jest lepsza,
  • Podstawowego pojęcia na temat posługiwania się linuxowym terminalem,
  • Sporo wolnego czasu i nieco więcej samozaparcia.

Zacznijmy od prostych rzeczy.

Umieść odpowiednie pliki w odpowiednim miejscu

Pobierz stąd następujące pliki:

plugin_send.py
plugin_http.py
plugin.py
plugin_http.sh
bug-fix in Timeout.txt

Umieść je w nowo utworzonym folderze plugins/BroadlinkRM2 w katalogu domoticz. Pełna ścieżka u mnie wygląda tak:

/home/pi/domoticz/plugins/BroadlinkRM2

W konsoli należy nadać folderowi uprawnienia:

~cd domoticz/plugins
~sudo chmod +x BroadlinkRM2

Zainstaluj wymagane komponenty

Na początek należy dodać do Raspbiana Stretch adres repozytorium starszego Raspbiana, Jessie. W konsoli otwieramy plik tekstowy:

~sudo nano /etc/apt/sources.list

I wklejamy do niego następujący tekst:

deb http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi

Zanim przejdziemy dalej, należy wykonać standardową procedurę w przypadku Raspbiana, czyli wywołać komendy:

~sudo apt update
~sudo apt upgrade

Teraz czas na instalację bibliotek ssl:

~ sudo apt install libssl1.0.0
~ sudo apt install libcurl4-gnutls-dev

Przechodzimy do instalacji narzędzia pip dla Python 3. Potrzebne to będzie do instalacji pakietów bezpośrednio z Python Package Index:

~ sudo apt install python3-pip

Teraz instalacja właściwa:

~ sudo pip3 install Crypto
~ sudo pip3 install broadlink
~ sudo pip3 install pyaes
~ sudo cp -r /usr/local/lib/python3.5/dist-packages/crypto/ /usr/lib/python3.5/
~ sudo cp -r /usr/local/lib/python3.5/dist-packages/broadlink /usr/lib/python3.5/

U mnie wystąpiły w tym miejscu problemy z instalacją Cryptografy i cffi (elementy pakietu broadlink). Można sobie z tym poradzić wpisując następującą komendę:

~sudo apt install build-essential libssl-dev libffi-dev python-dev

Dzięki temu w systemie powinny się pojawić wszystkie niezbędne biblioteki.

Na koniec pozostaje nam już tylko zrestartować Domoticza:

~ sudo service domoticz restart

Skonfiguruj Domoticza

W zakładce Konfiguracja→Sprzęt powinna się pojawić opcja dodania nowego urządzenia Broadlink RM2 with Kodi Remote. Poprawna konfiguracja jak na zdjęciu poniżej:

Broadlink - poprawna konfiguracja

Adres IP i MAC ustalamy korzystając z dowolnego programu do skanowania sieci lokalnej, np. wnetwatcher. Wybieramy właściwy typ urządzenia, lub zostawiamy domyślne Discovery. Domyślny port: 9000. Debug, po gorącym okresie instalacji, zmieniamy na false.

Jeśli wszystkie poprzednie kroki przebiegły pomyślnie, w urządzeniach powinny pojawić się następujące instancje:

Broadlink - urządzenia

Oznacza to, że instalacja zakończyła się sukcesem. Gratuluję! 🙂 Teraz można zacząć korzystać z nowo zintegrowanego urządzenia, a na to instrukcji w sieci jest już sporo, więc w tym miejscu kończę. Powodzenia!

*Gdyby w Twojej instalacji pojawiły się nieopisane wyżej trudności, opisz je w komentarzu. Pomoże to innym znaleźć rozwiązanie.