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...
I teraz zaczyna się ciekawe. Musimy znaleźć w strukturze plików (na szczęście Android przeglądarkę takowych udostępnia) folder
/broadlink/newremote/SharedData/
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!
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:
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!
Ten komentarz został usunięty przez autora.
OdpowiedzUsuńW e-mailu pytanie pozostało, nie trzeba resetować. Może adres IP nieodpowiedni?
Usuńmiałem sieć 2,4 i 5 jak wyłączyłem tą 5Ghz to poszło bez problemu
Usuńjednak mam problem z dodaniem do domoticza:
(BroadlinkRM2) failed to load 'plugin.py', Python Path used was '/home/serfer/domoticz/plugins/Broadlink/:/usr/lib/python35.zip:/usr/lib/python3.5:/usr/lib/python3.5/plat-arm-linux-gnueabihf:/usr/lib/python3.5/lib-dynload'.
2018-05-01 13:48:52.164 Error: (Broadlink RM2) Module Import failed, exception: 'ImportError'
2018-05-01 13:48:52.164 Error: (Broadlink RM2) Module Import failed: ' Name: broadlink'
2018-05-01 13:50:00.650 Error: Broadlink RM2 hardware (9) thread seems to have ended unexpectedly
poradziłem sobie z tym błędem ale nadal nie widzę nic w domoticzu w urządzeniach chociaż już nie ma żadnych błędów. Natomiast po usunięciu ze sprzętu Broadlink i dodaniu na nowo jest takie coś w logach 2018-05-01 20:25:31.437 (Broadlink RM2) Exiting work loop...
Usuń2018-05-01 20:25:31.439 (Broadlink RM2) Stopped.
hmm dziwne że od razu stopuje :(
ten katalog w BrodlinkRM2 to trzeba samemu stworzyć na serwerze czy on sam go powinien stworzyć ? bo go nie mam
Z tego co pamiętam folder tworzyłem sam, później dodałem link do niego w konfiguracji.
Usuńmasakra tyle godzin nad tym już spędziłem i nadal du.. postawiłem czysty rpi na jessi i domoticz po wielu próbach pojawiły mi się 2 przyciski w domoticzu ale nie mam tego import tylko te 2 pierwsze i nie mogę zaimportować kodów pilotów :(
UsuńPrzepraszam, że tak późno odpisuję, majówka...Po pierwsze gratuluję wytrwałości, to ważne. Po drugie - postaram się wyczyścić dane pluginu i postawić go od nowa. Może mi się jakiś niuans przypomni. Naprawdę nie robiłem żadnych magicznych rzeczy...
Usuńnie mogę zmusić domoticza żeby używał Pythona 3.5 to chyba jest problem
UsuńJacek Slawinski: napisałeś że miałeś problem z biblioteką pythona
Usuń(BroadlinkRM2) failed to load 'plugin.py', Python Path used was '/home/serfer/domoticz/plugins/Broadlink/:/usr/lib/python35.zip:/usr/lib/python3.5:/usr/lib/python3.5/plat-arm-linux-gnueabihf:/usr/lib/python3.5/lib-dynload'.
Czy mógłbyś opisac jak sobie z tym problemem poradziłeś u mnie jest chyba problem z dwoma wersjami pythona3 mam 3.4 i 3.6 poprostu wywalic jedna ? Czy można odgórnie ścieżke przypisać prawidłową ?
Cezar jest szansa na udostępnienie przez Ciebie obrazu gołego rpi z domoticzem i broadlinkiem ? :) chyba już całe forum o brodlinku przeczytałem i zawsze mam problem
OdpowiedzUsuńW sumie to chyba jakoś mógłbym to zrobić :) Mam taki przygotowany na wypadek awarii - czyli mniej więcej raz na dwa tygodnie ;)
UsuńO! ja też jestem zainteresowany :)
UsuńWitam
OdpowiedzUsuńMiałem te same problemy.Zbudowałem domoticza ze źródła i wgrałem broadlink 0.6 i odpowiednie pliki do tej wersji. Działa mi wszystko poza stroną WWW.
mógłbyś instrukcję napisać ? :)
UsuńInstalacja Domoticza z tej strony
OdpowiedzUsuńhttp://flytomcio.pl/raspberry-pi/instalacja-domoticza/
a potem
Instalujemy Pip3
sudo apt-get install python3-pip
Instalujemy broadlink
sudo pip3 install Crypto
kopiujemy rozpakowany katalog python-broadlink-master-0.6 do katalogu który sobie zrobisz np. download
z 0.8 jest problem u mnie
sudo pip3 install Crypto
Przechodzimy do katalogu z do katalogu gdzie skopiowaliśmy broadlink i instalujemy
sudo pip3 install .
sudo cp -r /usr/local/lib/python3.4/dist-packages/Crypto/ /usr/lib/python3.4/
sudo cp -r /usr/local/lib/python3.4/dist-packages/ broadlink /usr/lib/python3.4/
kopiujemy
do katalogu /domoticz/plugins/BroadlinkRM2
plugin.py
plugin_http.py
plugin_http.sh
plugin_send.py
i nadajemy prawa
chmod +x plugin.py
chmod +x plugin_http.py
chmod +x plugin_http.sh
Trochę mi zajęło zanim udało mi się wgrać dlatego polecam przed wgranie broadlinka zrobić sobie kopie bo kompilacja trochę trwa.
Pliki konfiguracyjne pobrać do wersji 0.6.
Pozdrawiam
dzięki to już jest jakiś postęp jednak domoticz nie widzi mojego broadlinka mam RM2 pro+ tak jakby błedne ip ale ip na 100% dobre
OdpowiedzUsuń2018-05-11 20:15:03.692 Error: (Broadlink) Error Connecting to Broadlink device....192.168.1.31
2018-05-11 20:15:03.692 (Broadlink - Discovery) Updating device from 0:'' to have values 0:'Off'.
2018-05-11 20:15:03.696 (Broadlink) Update 0:'Off' (Broadlink - Discovery)
2018-05-11 20:15:03.701 (Broadlink) No ini file :BroadlinkRM2/remote/plugin_remote_2.ini
2018-05-11 20:15:03.701 (Broadlink) Custom Commands for Remote not managed
2018-05-11 20:15:03.701 (Broadlink) Device Number begin to : 2
Jakieś sugestie ?
Hej
OdpowiedzUsuńPewnie nie ta wersja pluginów, na któreś wersji też tak miałem.
Mogę ci podesłać moje na maila.
Jak masz ftpa to mogę ci wysłać moją kopie domoticza.
Janie - bardzo dziękuje za udział w temacie - w sumie nie wiem czemu udało mi się uniknąć tych wszystkich problemów
OdpowiedzUsuńChyba miałeś szczęście. A tak z ciekawości działa ci serwer www broadlinka ?
OdpowiedzUsuńCezar jak będzie możliwe to udostępnij swój backup domoticza.
OdpowiedzUsuńPozdrawiam
Jasne, jasne. Staram się to zrobić, tylko czasu brak. Przepraszam...
Usuńja również poczekam bo nie mam pojęcia jak to zrobiłeś :) tyle razy już stawiałem to wszystko od zera na wszystkie sposoby i zawsze klops :)
UsuńSpokojnie poczekam.
OdpowiedzUsuńudało mi się zainstalować jakimś cudem tego brodlinka na domoticzu V3.9458
OdpowiedzUsuńjednak nadal jest pod górkę jak Tworzę scenę to nie mogę dodawać do niej tych kodów (przycisków z brodlinka) lipa
no i w logach jakiś śmietnik cały czas :
) Pushing 'onHeartbeatCallback' on to queue
2018-05-23 22:57:20.388 (Br) Processing 'onHeartbeatCallback' message
2018-05-23 22:57:20.388 (Br) Calling message handler 'onHeartbeat'.
2018-05-23 22:57:50.365 (Br) Pushing 'onHeartbeatCallback' on to queue
2018-05-23 22:57:50.394 (Br) Processing 'onHeartbeatCallback' message
2018-05-23 22:57:50.394 (Br) Calling message handler 'onHeartbeat'.
2018-05-23 22:58:20.370 (Br) Pushing 'onHeartbeatCallback' on to queue
2018-05-23 22:58:20.399 (Br) Processing 'onHeartbeatCallback' message
2018-05-23 22:58:20.399 (Br) Calling message handler 'onHeartbeat'.
Panowie, przepraszam bardzo za zwłokę, ale chwilowo nie dam rady pomóc, bo się mój Broadlink Mini wziął i spalił :/ Znaczy nie tak dosłownie, ale moduł WiFi grzeje się niemiłosiernie i sprzęt się nie włącza w ogóle. Kupiłem nowy i czekam na przesyłkę.
UsuńTe komunikaty też tak mam.
OdpowiedzUsuńhttp://www.domoticz.com/forum/viewtopic.php?f=65&t=21645&start=200
tu masz opisane jak dodać kod.
Pozdrawiam
Poniżej jak zainstalowałem dooticz + broadlink
OdpowiedzUsuńDodajemy adres repozytorium JESSIE do raspbiena STRETCH
~ sudo nano /etc/apt/sources.list
wklej
deb http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
SSL1.0.0
~ sudo apt-get update
~ sudo apt-get install libssl1.0.0
~ sudo apt-get install libcurl4-gnutls-dev
~ curl -L install.domoticz.com | sudo bash
~ cd domoticz
~ ./updatebeta
Restar (sudo shutdown -r now)
~ sudo apt-get install python3-pip
~ 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/
kopiowanie plikow do katalogu /home/pi/domoticz/plugins/BroadlinkRM2:
plugin_send.py
plugin_http.py
plugin.py
plugin_http.sh
~ cd plugins
~ cd BroadlinkRM2
~ sudo chmod +x plugin.py
~ sudo chmod +x plugin_send.py
~ sudo chmod +x plugin_http.py
~ sudo chmod +x plugin_http.sh
~ sudo service domoticz restart
Bardzo dziękuję w imieniu użytkowników za dokładną instrukcję!
Usuńi tak mam ;-) tylko jak wciskam Learn to w logach: Error: (tv) Error Connecting to Broadlink device.....192.168.x.xx
Usuńnie wiem czy powodem nie jest ze zamiast RM4mini przysłali mi RM4mini a tego to z apek tylko BroadLink obsługuje nic więcej. Jakaś porada?
AVE Cezar!
OdpowiedzUsuńŚwietny blog! Twoje opisy są niesamowicie pomocne w nierównej walce z Domoticzem i moimi szalonymi pomysłami ;) .
Wracając do tematu - zainstalowałem obsługę RM PRO+ wg instrukcji kol. @mee i bez problemu bramka dodała się do Domoticza. niestety nie mam albo nie potrafię dodać, znaleźć przycisku do uczenia bramki :( - podpowiecie coś?
Czy da się też korzystać z tej bramki z urządzeń sterowanych RF 433MHz z poziomu Domoticza? Na razie nie mam jeszcze nadajnika i odbiornika RF do Raspberry ale ta bramka RM PRO+ obsługuje RF.
Pozdrawiam!
Witam ponownie.
UsuńPogrzebałem trochę w sieci i udało mi się to skonfigurować tzn. pojawił się przycisk "Learn".
Ta wtyczka ma też możliwość automatycznego wykrycia IP, MAC i typ naszej bramki.
Opis dla potomnych.
1. Usunąć z Domoticza z Broadlinka ( nie trzeba przywracać sytemu ani odinstalowywać wtyczki).
2. Sparować bramkę z aplikacją e-Control na telefonie ( wcześniej miałem sparowana bramkę z ihc i w Domoticzu coś nie działało tak jak chciałem).
3. Wracamy do Domoticza - wykrywamy bramkę:
Konfiguracja-> Sprzęt
Nazwa: Wykryj
Typ: Broadlink RM2 with Kodi Remote
Reszta ustawień bez zmian
4. Zapisujemy.
5. W zakładce przełączniki pojawi się przycisk Wykryj - klikamy na niego i czekamy około 1min. ( ja musiałem kliknąć 2 razy )
6. Na przycisku pojawi się info, że znaleziono 1 Devices.
7. W zakładce Użytkowe będzie kolejny przycisk ( widget?) na którym będą wyświetlone parametry bramki IP, Mac i typ.
8. Wyłączamy tą bramkę w Konfiguracja-> Sprzęt i dodajemy nową z właściwym IP, Mac i Typ. (np. wg opisu Cezara).
9. Autor tej wtyczki zaleca (o ile nie jest nam to potrzebne) wyłączyć opcje DEBUG.
Pozdrawiam.
Niezwykle cenne wskazówki.
OdpowiedzUsuń