Forum Smart'ny Dom

[Tutorial] Openhab ...
 

[Tutorial] Openhab binding broadlink  

  RSS
maras
(@maras)
Majster Donator 2019

Czas chyba dołożyć coś od siebie dla wszystkich forumowiczów 🙂 Przedstawiam wam instrukcję połączenia OH z broadlink'iem

1. Ściągamy binding z strony https://github.com/themillhousegroup/openhab2-addons/tree/master/addons/binding/org.openhab.binding.broadlink

lub najnowszą beta wersję z:

https://dl.bintray.com/themillhousegroup/generic/org.openhab.binding.broadlink-2.4.0-BETA-7.jar

Plik .jar umieszczamy w katalogu \openHAB-share\openhab2-addons

2. Wchodzimy do PaperUI > Inbox klikamy niebieski „+” i wybieramy Broadlink Binding.
Automatycznie OpenHab powinien wykryć naszego Bradlink’a co wygląda mniej więcej tak

[IMG] [/IMG]

UWAGA!
W moim przypadku Bradlink RMpro+ nie znajduje urządzenia automatycznie. Podobne problemy są z RM3 mini. W takim przypadku klikamy ADD MANUALLY wybieramy nasze urządzenie i dodajemy ręcznie wpisując odpowiednio:
ADRES IP
Network Port - 80
MAC Adres
Authentication Key = 097628343fe99e23765c1513accf8b02
Initialization Vector =562e17996d093d28ddb3ba695a2e6f58

  1. Teraz dodajemy sobie
    item file:
    String LgTVON "On/Off" <lg> {channel="broadlink:rm2:78-0f-77-5a-4a-2f:command"} // gdzie zmieniamy odpowiednio broadlink:… na swoje kopiując z PaperUI (numerki po nazwie to nic innego jak mac adres)

 

Sitemap file:
Switch item=LgTVON mappings=[LGTVON="ON"]

 

4. Na koniec tworzymy nasz plik broadlink.map z kodem pilota
ON=260058000001289213361336143514111411141114111436131213361312131213121336141114111435141114111412131213121336131213121336143514351436133613121336140005740001274913000c570001284814000d05

Uwaga! Musi być zainstalowany Map Transformation!
Add-ons > Transformations > Map Transformation

Jak wydobyć kody pilota? Tu zaczynają się schody. Większość urządzeń działa z aplikacją RM Bridge którą instalujemy na naszym smartfonie. Łączymy się z siecią wifi do której podłączony jest nasz Broadlink. Wchodzimy do aplikacji i naciskamy Start. Następnie przechodzimy do strony http://rm-bridge.fun2code.de/rm_manage/code_learning.html
gdzie po podłączeniu urządzenia możemy użyć funkcji Learn Code i odczytać kod.
Oczywiście w moim przypadku to nie działa(zawsze mam pod górkę!!).

Można poradzić sobie inaczej.
Instalujemy aplikację e-Control od Broadlink’a i uczymy urządzenie kodów z naszych pilotów.
Następnie instalujemy RM Plugin Lite (darmowa przez 7 dni)
W RM Plugin włączamy http Bridge i przechodzimy na podaną w aplikacji stronę np. http://192.168.0.167:9876
[IMG] [/IMG]

W sekcji Codes List ( http://192.168.0.167:9876/codes ) znajdują się wszystkie nasze kody zaimportowane z  e-Control.

Dodatkowo możemy użyć Learn a code i nauczyć urządzenie nowego kodu z pllota.
W każdym przypadku interesuje nas linijka:
code "260058000001289213361435143514111411141114111436131213361411141114111435141114111435141114111412131213361312133614111435143514361336131214351411140005770001284814000c560001284814000d05"

[IMG] [/IMG]

 Tutorial Powstał w oparciu o temat:
https://community.openhab.org/t/broadlink-binding-for-rmx-a1-spx-and-mp-any-interest/22768/56

Cytuj
Dodane : 01/12/2018 9:23 pm
isom i adrian polubień
isom
 isom
(@isom)
Dyrektor Moderator Zasłużony dla Forum, Donator 2019

Mimi że nie znam OH to uważam , że odwaliłeś kawał dobrej roboty kolego @maras

OdpowiedzCytuj
Dodane : 02/12/2018 7:02 pm
adrian polubień
Dziabarra
(@dziabarra)
Nowy

@maras jesteś super 🙂 Wreszcie ktoś to opisał w sposób rozumiem. Binding zainstalowany, działa. Zgubiłem się jednak na kroku 3

Teraz dodajemy sobie
item file:
String LgTVON "On/Off" <lg> {channel="broadlink:rm2:78-0f-77-5a-4a-2f:command"} // gdzie zmieniamy odpowiednio broadlink:… na swoje kopiując z PaperUI (numerki po nazwie to nic innego jak mac adres)

Z racji tego, że jestem początkujący to nie bardzo wiem co to znaczy. Pewnie to jakiś skrót myślowy, ale niestety go nie czaję. Rozpiszesz trochę szerzej?

OdpowiedzCytuj
Dodane : 22/12/2018 9:14 pm
maras
(@maras)
Majster Donator 2019

Jeśli korzystasz z Basic UI to otwórz swój plik items i wklej przykładowo taką linijkę

String Lgwłacztv "On/Off" {channel="TU_WKLEJ_nazwę_twojego_broadlinka:command"}

Spójrz na zdjęcie z podpunktu dwa - nazwa twojego urządzenia to trzecia linijka.
Pierwsza to nazwa urządzenia z Adresem IP
Druga model
Trzecia która cię interesuję nazwa z adresem mac

 

OdpowiedzCytuj
Dodane : 23/12/2018 5:06 pm
sdsi
 sdsi
(@sdsi)
Młodzik

@maras - dzięki za Twój poradnik

Czy da się w ten sposób obsłużyć sekwencję kodów? Np. włącz dekoder->zmień kanał na 10->włącz TV

Będę wdzięczny za informację jak to zrobić.

OdpowiedzCytuj
Dodane : 22/04/2019 8:55 am
maras
(@maras)
Majster Donator 2019

Oczywiście robisz to w rules. Tu masz moją regułę, która włącza kino domowe i zmienia źródło na wejście Coaxial
Musisz sobie tylko po testować odstępy czasowe między komendami.

// Funai Coaxial ON
rule "Funai Coaxial ON"
when
Item FunaiCoaxial changed to ON
then
FunaiON.sendCommand("ON")
Thread::sleep(25000)
FunaiSource.sendCommand("SOURCE")
Thread::sleep(1000)
FunaiSource.sendCommand("SOURCE")
Thread::sleep(1000)
FunaiSource.sendCommand("SOURCE")
Thread::sleep(2000)
Funaienter.sendCommand("ENTER")
end
OdpowiedzCytuj
Dodane : 22/04/2019 11:36 am
sdsi
 sdsi
(@sdsi)
Młodzik

@maras - dzięki

czy te:

Authentication Key = 097628343fe99e23765c1513accf8b02
Initialization Vector =562e17996d093d28ddb3ba695a2e6f58

to dokładnie takie mam wpisać?

drugie pytanie - wiesz może jaki port otwiera broadlink do komunikacji? chodzi o to, że broadlinka mam w innej sieci, niż serwer openhab i chciałbym przekierować port(y).

OdpowiedzCytuj
Dodane : 22/04/2019 9:30 pm
maras
(@maras)
Majster Donator 2019

Tak klucze dokładnie takie więc sobie przekopiuj tylko.
Jaki port - chyba 80, ale głowy nie daję. Możesz prześledzić ten wątek na forum openhaba:
https://community.openhab.org/t/broadlink-binding-for-rmx-a1-spx-and-mp-any-interest/22768

OdpowiedzCytuj
Dodane : 23/04/2019 7:17 am
sdsi
 sdsi
(@sdsi)
Młodzik
Dodane przez: maras

Tak klucze dokładnie takie więc sobie przekopiuj tylko.
Jaki port - chyba 80, ale głowy nie daję. Możesz prześledzić ten wątek na forum openhaba:
https://community.openhab.org/t/broadlink-binding-for-rmx-a1-spx-and-mp-any-interest/22768

Dzięki. W Twoim poradniku jest:

ADRES IP
MAC Adres
Authentication Key = 097628343fe99e23765c1513accf8b02
Initialization Vector =562e17996d093d28ddb3ba695a2e6f58

tymczasem w skrypcie TRZEBA podać Network Port,  o którym nie piszesz (bez podania nie zapisze się Things w PaperUi

OdpowiedzCytuj
Dodane : 23/04/2019 5:35 pm
edass
(@edass)
Stażysta

Witam

Mam problem z wydobyciem kodów z RM pro+ 🙁 . Niestety sposób z RM Bridge u mnie nie działa :(.

Znalazłem jeszcze skrypty pythona, które umożliwiają wydobycie kodów z bazy e-Control ale cały czas dostaję błędy 🙁

https://github.com/NightRang3r/Broadlink-e-control-db-dump

 

[quote] C:\Users\PC>C:\Python27\python.exe C:\Python\Lib\Broadlink-e-control-db-dump-master\econtrol-db-dump.py
Traceback (most recent call last):
File "C:\Python\Lib\Broadlink-e-control-db-dump-master\econtrol-db-dump.py", line 16, in <module>
cur.execute("SELECT id, name FROM subIRTable")
sqlite3.OperationalError: no such table: subIRTable [/quote]

Macie może jakieś pomysły jak to ruszyć? 

OdpowiedzCytuj
Dodane : 09/05/2019 8:54 pm
maras
(@maras)
Majster Donator 2019

Jak masz zapisane piloty w e-control to zainstaluj sobie RM Plugin Lite tam wyciągniesz kod pilota

OdpowiedzCytuj
Dodane : 10/05/2019 9:08 am
edass
(@edass)
Stażysta

Ok. Tak zrobiłem - dzięki!

OdpowiedzCytuj
Dodane : 14/05/2019 8:39 pm
edass
(@edass)
Stażysta

Podbijam temat.

Mam taki fajny stary amplituner Onkyo - lata 90-te z obsługą z pilota. Ampli ma funkcję Sleep timer z której często korzystam. Chciałbym aby  po naciśnięciu 1 przycisku w OH sam ustawił Timer na np. 60min (w tym celu muszę nacisnąć 4 razy przycisk Timer (sam przycisk timer już skopiowałem).

Jak zrobić aby Broadlink wysłał np.3 razy ten sam kod ?

 

OdpowiedzCytuj
Dodane : 22/05/2019 9:16 pm
marlon
(@marlon)
Majster

Witam,

Świetnie opisana konfiguracja broadlinka. Zastanawiam się czy kupić Broadlink RM Pro + czy samo RM Mini 3 ? Różnica cenowa to drugie tyle przy kupnie wersji Pro. 

Jaka jest różnica pomiędzy Pro a Mini w takim razie.

OdpowiedzCytuj
Dodane : 26/06/2019 6:39 pm
tikooo
(@tikooo)
Młodzik
  • Czyli z aplikacji ihc broadlinka kodów wyciągnąć sie nie da? 

 

OdpowiedzCytuj
Dodane : 10/08/2019 5:04 pm
shaevtchac
(@shaevtchac)
Młodzik

Cześć

Super, że dodałeś poradnik - bardzo mi pomógł w podłączeniu mojego RM3 mini do openHABa, ale w obecnej formie to nie działa!. Zrobiłem wszystko dokładnie jak opisałeś i dupa. Binding się zainstalował, automatycznie wykrył urządzenie, które po skonfigurowaniu weszło w stan ONLINE, ale po wciśnięciu przycisku w sitemapie nic się nie dzieje.

Dobrze, że zostawiłeś linka do oryginalnego wątku twórcy bindingu i tam znalazłem, co jest nie tak. Błąd jest tutaj:

Dodane przez: @maras

Sitemap file:
Switch item=LgTVON mappings=[LGTVON="ON"]

 

W tym przypadku powinno być:

Switch item=LgTVON mappings=[ON="LGTVON"]

A tak w ogóle to lepiej zrobić uniwersalny item:

String KomendaIR "Komenda IR" <player> {channel="broadlink:rm3:BroadlinkRM3:command"}

Oczywiście w "channel=" wkleić nazwę kanału do swojego urządzenia i ikonę <player> można dać inną.

Tego itema można później używać też do innych komend IR podstawiając w sitemapie różne kody zamiast robić niepotrzebnie kolejne itemy do innych kodów.

Druga sprawa, to nie napisałeś w poradniku, że plik broadlink.map należy utworzyć w folderze \conf\transform. Mnie jako początkującemu openhaberowi bardzo zabrakło tej informacji :).

Tak generalnie to piszę to wszystko nie po to, żeby się czepiać, tylko po to, żebyś poprawił dla następnych pokoleń :).

Pozdrawiam

OdpowiedzCytuj
Dodane : 04/11/2019 2:10 pm
edass
(@edass)
Stażysta

Cześć

Mam problem z item i sitemap wykorzystujące ten binding. Mam gniazdka RF , które są sterowane oddzielnymi komendami ON oraz OFF. Mam to ustawione w OH w taki sposób

MAP

TvLGRFON = b20734000a0001300a1e1e0a0a1e1d0b0a1e1e0a0a1f1e0a0a1e1e0b0a1e1e0a0a1e1d0b0a1e0a1f0a1e1e0a0a1e1e0a0a1e0a1f0a1e1e0a00000000
TvLGRFOFF = b20734000a0001310a1f1e0b0a1e1e0b0a1f1e0b0a1e1e0b0a1e1e0b0a1e1e0b0a1f1e0b0a1f0a1e0a1f1d0b0a1f1d0b0a1e1d0b0a1f0a1f00000000

ITEM

String  TvLGRFON        "TV ON []"          <broadlink>         (Mulimedia_sypialnia)   {channel="broadlink:rm2:78-0f-77-18-08-06:command"}
String  TvLGRFOFF       "TV OFF []"         <broadlink>         (Mulimedia_sypialnia)   {channel="broadlink:rm2:78-0f-77-18-08-06:command"}

SITEMAP
Switch item=TvLGRFON label="TV Sypialnia ON/OFF" mappings=[TvLGRFON="ON", TvLGRFOFF="OFF"]

Efektem tego zabiegu jest przełącznik podpisany TV Sypialnia ON/OFF z dwoma polami do wyboru a chciałbym uzyskać taki przełącznik jak jest przy Zasilanie komputera ( nie chodzi mi o ikony ani o opis).
Może ktoś podpowie jak to osiągnąć? 
OdpowiedzCytuj
Dodane : 16/11/2019 5:17 pm
shaevtchac
(@shaevtchac)
Młodzik

@edass

Cześć

Rozwiązanie twojego problemu jest zaraz nad twoim postem, ale rzadko kto czyta wszystkie wpisy w danym temacie dlatego chciałem, żeby kolega @maras poprawił poradnik.

W twoim przypadku zamiast

Dodane przez: @edass

String  TvLGRFON        "TV ON []"          <broadlink>         (Mulimedia_sypialnia)   {channel="broadlink:rm2:78-0f-77-18-08-06:command"}
String  TvLGRFOFF       "TV OFF []"         <broadlink>         (Mulimedia_sypialnia)   {channel="broadlink:rm2:78-0f-77-18-08-06:command"}

daj jedną linię:

String KomendaRF "Komenda RF" {channel="broadlink:rm2:78-0f-77-18-08-06:command"}

Nie są potrzebne 2 identyczne itemy z różną nazwą w tym przypadku przynajmniej. W sitemap zamiast

Switch item=TvLGRFON label="TV Sypialnia ON/OFF" mappings=[TvLGRFON="ON", TvLGRFOFF="OFF"]

daj

Switch item=KomendaRF label="TV Sypialnia ON/OFF" mappings=[ON ="TvLGRFON", OFF="TvLGRFOFF"]

Ale to nie zmieni wyglądu włącznika (chyba). Jeżeli chcesz normalny przełącznik to zrób tak:

utwórz sobie przełącznik (w pliku items), który nie będzie do niczego podlinkowany, ale ładnie opisany i z ikonką (pójdzie do sitemaps) np taki:

Switch WlacznikTelewizora "TV Sypialnia ON/OFF" <television>

i dodaj regułę (w pliku rules):

rule "Wlacznik_telewizora" 
when
   Item WlacznikTelewizora received command
then
   if (receivedCommand == ON) {
       KomendaRF.sendCommand(TvLGRFON)
   } 
   else {
    KomendaRF.sendCommand(TvLGRFOFF)
   } 
end

W sitemap daj:

Switch item=WlacznikTelewizora 

To trochę bardziej skomplikowane, ale rozwiązuje też problem z wyglądem włącznika o którym pisałeś. Może jest prostsze rozwiązanie, ale ja nie znam.

OdpowiedzCytuj
Dodane : 16/11/2019 10:42 pm
Udostępnij:



Udostępnij
  • 1
    Share

Proszę Zaloguj Się lub Zarejestruj