Forum
Einbindung in Home Asisstant mit Broadlink RM Pro
Zitat von UnknownMan am 12. Dezember 2017, 23:47 Uhr(Achtung: da man hier keine .py und .txt Dateine hochladen kann, sind alle in .pdf umbenannt. Ihr müsst dann zurück umbenennen)
Falls jemand Interesse hat: ich habe basierend auf den Infos hier meine Jarolift Rolladen in Home Assistant Software (alternative zu FHEM) integriert. Als Sender nutze ich den für ca. 30 € verfügbaren (ebay, aliexpress etc.) Broadlink RM Pro (WLAN zu IR/RF Universalsender).
Hier ist die Beschreibung, man müsste sich aber etwas in Home Asisstant software asukennen. Das ganze ist in Python3 implementiert.
- Broadlink RM Pro ist bereits in Home Assistant unterstützt.
-zusätzlich habe ich zwei "custom components" implementiert. Eine (leider müssen beide Dateien gleich jarolift.py heisen, dahr untercsheidung in Größe) mit ca. 151 Zeilen muss im Verzeichniss
<config_dir>/custom_components/
abgespeichert werden. Die andere (mit ca. 90 Zeilen) im<config_dir>/custom_components/cover/
. Beide Verzechnisse muss man selber erstellen, da normalerweise nicht existieren. Mit<config_dir>
ist das Verzeichnis gemeint, wo ihre Konfigurationsdateien (.yaml) sich befinden. (Achtung: ab HomeAssistant Version 0.89 ist es geändert - siehe mein Beitrag von März 2019 unten)- Man muss auch die Konfigurationsdatei anpassen, etwa so (Werte nach eigenen Wünschen ändern, IP adresse von Broadlink korrekt eingeben, MSB und LSB richtig reinschreiben etc.)
jarolift:
broadlink_host: 192.168.22.41
MSB: '0x12345678'
LSB: '0x12345678'cover:
- platform: jarolift
covers:
- name: 'Zimmer 1'
group: '0x0001'
serial: '0x118ac00'
- name: 'Zimmer 2'
group: '0x0002'
serial: '0x118ac01'
- name: 'Zimmer alle'
group: '0x0003'
serial: '0x118ac00'Vorher müsst ihr natürlich Brodlink RM Pro richtig einbinden und prüfen, dass es an sich funktioniert (z.B. versuchen eine TV Fernbedingung damit kopieren etc.)
Zum Anlernen steht ein Service "jarolift.learn" (über Home Assistant Oberfläche -> Developer Tools->Services) zur Verfügung. Als Datensatz muss er ein JSON datensatz bekommen, etwa so: {"group":"0x0001","serial":"0x117ac00"}
Außerdem steht "clear" service zur Verfügung und noch anderes. Wer Python kann, wird aus Dateien das verstehen.
Angepasst habe ich noch die Sync Teil der RF Codes. Anscheinend bei mir war das anders als in original Beschreibung hier. Anscheinend gibt es unterschiedliche Modelle je nach Jahr.
Anbei auch noch ein script decode_codes.py, mit dem man die über Broadlink empfangene RF sequenzen von jarolift Fernbedingungen decodeiren kann. Nützlich zum debuggen (da müsst ihr auch richtige MSB/LSB reinschreiben!). Die sequenzen werden aus Datei codes_from_homeass.txt gelesen (Beispiel anbei, man kann die sequenzen über Home Assitant broadlink learn service einlesen und in diese txt Datei reinkopieren).
(Achtung: da man hier keine .py und .txt Dateine hochladen kann, sind alle in .pdf umbenannt. Ihr müsst dann zurück umbenennen)
Falls jemand Interesse hat: ich habe basierend auf den Infos hier meine Jarolift Rolladen in Home Assistant Software (alternative zu FHEM) integriert. Als Sender nutze ich den für ca. 30 € verfügbaren (ebay, aliexpress etc.) Broadlink RM Pro (WLAN zu IR/RF Universalsender).
Hier ist die Beschreibung, man müsste sich aber etwas in Home Asisstant software asukennen. Das ganze ist in Python3 implementiert.
- Broadlink RM Pro ist bereits in Home Assistant unterstützt.
-zusätzlich habe ich zwei "custom components" implementiert. Eine (leider müssen beide Dateien gleich jarolift.py heisen, dahr untercsheidung in Größe) mit ca. 151 Zeilen muss im Verzeichniss <config_dir>/custom_components/
abgespeichert werden. Die andere (mit ca. 90 Zeilen) im <config_dir>/custom_components/cover/
. Beide Verzechnisse muss man selber erstellen, da normalerweise nicht existieren. Mit <config_dir>
ist das Verzeichnis gemeint, wo ihre Konfigurationsdateien (.yaml) sich befinden. (Achtung: ab HomeAssistant Version 0.89 ist es geändert - siehe mein Beitrag von März 2019 unten)
- Man muss auch die Konfigurationsdatei anpassen, etwa so (Werte nach eigenen Wünschen ändern, IP adresse von Broadlink korrekt eingeben, MSB und LSB richtig reinschreiben etc.)
jarolift:
broadlink_host: 192.168.22.41
MSB: '0x12345678'
LSB: '0x12345678'
cover:
- platform: jarolift
covers:
- name: 'Zimmer 1'
group: '0x0001'
serial: '0x118ac00'
- name: 'Zimmer 2'
group: '0x0002'
serial: '0x118ac01'
- name: 'Zimmer alle'
group: '0x0003'
serial: '0x118ac00'
Vorher müsst ihr natürlich Brodlink RM Pro richtig einbinden und prüfen, dass es an sich funktioniert (z.B. versuchen eine TV Fernbedingung damit kopieren etc.)
Zum Anlernen steht ein Service "jarolift.learn" (über Home Assistant Oberfläche -> Developer Tools->Services) zur Verfügung. Als Datensatz muss er ein JSON datensatz bekommen, etwa so: {"group":"0x0001","serial":"0x117ac00"}
Außerdem steht "clear" service zur Verfügung und noch anderes. Wer Python kann, wird aus Dateien das verstehen.
Angepasst habe ich noch die Sync Teil der RF Codes. Anscheinend bei mir war das anders als in original Beschreibung hier. Anscheinend gibt es unterschiedliche Modelle je nach Jahr.
Anbei auch noch ein script decode_codes.py, mit dem man die über Broadlink empfangene RF sequenzen von jarolift Fernbedingungen decodeiren kann. Nützlich zum debuggen (da müsst ihr auch richtige MSB/LSB reinschreiben!). Die sequenzen werden aus Datei codes_from_homeass.txt gelesen (Beispiel anbei, man kann die sequenzen über Home Assitant broadlink learn service einlesen und in diese txt Datei reinkopieren).
Hochgeladene Dateien:Zitat von virtualangel am 22. Dezember 2017, 12:39 Uhrhi alexborn78
dir ist leider ein fehler unterlaufen
du hast 2x gleiche jarolift.pdf verlinkt
könntest es vielleich mal korrigieren ? könnte es gut brauchen
und auch an den keys wäre ich sehr interresiert (kaspid7@gmail.com)
danke im vorraus
virtualangel
hi alexborn78
dir ist leider ein fehler unterlaufen
du hast 2x gleiche jarolift.pdf verlinkt
könntest es vielleich mal korrigieren ? könnte es gut brauchen
und auch an den keys wäre ich sehr interresiert (kaspid7@gmail.com)
danke im vorraus
virtualangel
Zitat von heish am 2. Januar 2018, 20:38 UhrHallo,
ich habe gerade die Hardware für die Kombination Home Assistent in Kombination mit der Brodlink RM bestellt. Leider habe ich auch nicht die Hardware einen Dump zu erstellen. Wäre jdn so nett mir den Dumb oder MSB/LSB an heish@byom.de zu senden?
Besten Dank!
heish
Hallo,
ich habe gerade die Hardware für die Kombination Home Assistent in Kombination mit der Brodlink RM bestellt. Leider habe ich auch nicht die Hardware einen Dump zu erstellen. Wäre jdn so nett mir den Dumb oder MSB/LSB an heish@byom.de zu senden?
Besten Dank!
heish
Zitat von UnknownMan am 3. Januar 2018, 0:13 UhrHier ist die zweite jarolift.py
MSB/LSB: ihr braucht nur die richtigen Lottozahlen, einfach Kommentare zum Beitrag durchlesen 😉
Hier ist die zweite jarolift.py
MSB/LSB: ihr braucht nur die richtigen Lottozahlen, einfach Kommentare zum Beitrag durchlesen 😉
Hochgeladene Dateien:Zitat von UnknownMan am 29. Januar 2018, 23:30 UhrWenn sich jeamnnd dafür interessiert. Seit 0.62 Update von Home Asisstant wurde was geändert. Damit es wieder funktionier, muss man in der jarolift.py Datei überall folgendes
hass.services.call('broadlink', 'send_packet
durch
hass.services.call('switch', 'broadlink_send_packet
ersetzen. Dann geht es wieder.
Wenn sich jeamnnd dafür interessiert. Seit 0.62 Update von Home Asisstant wurde was geändert. Damit es wieder funktionier, muss man in der jarolift.py Datei überall folgendes
hass.services.call('broadlink', 'send_packet
durch
hass.services.call('switch', 'broadlink_send_packet
ersetzen. Dann geht es wieder.
Zitat von Mezzanine am 26. April 2018, 10:22 Uhr
Ich habe mir den Artikel und die Kommis glaube ich schon 110 mal durchgelesen, aber ich musste feststellen dass ich wohl das Auslesen bzw. Dumpen einer FB nicht hinbekommen werden… ?
Und die Lottozahlen wurden wohl, bis auf wenige Stellen (0x2xxxxxxb, 0x1xxxxxx5) "geschwärzt"...
Hab ich da evtl. was übersehen?
Ich weiß, ich bin schon gefühlt der 1000ste, aber vielleicht hat ja jemand von den Cracks erbarmen. ?
Meine Mail Addy: manuel_metzger@gmx.de
Schonmal vielen Dank!
Ich habe mir den Artikel und die Kommis glaube ich schon 110 mal durchgelesen, aber ich musste feststellen dass ich wohl das Auslesen bzw. Dumpen einer FB nicht hinbekommen werden… ?
Und die Lottozahlen wurden wohl, bis auf wenige Stellen (0x2xxxxxxb, 0x1xxxxxx5) "geschwärzt"...
Hab ich da evtl. was übersehen?
Ich weiß, ich bin schon gefühlt der 1000ste, aber vielleicht hat ja jemand von den Cracks erbarmen. ?
Meine Mail Addy: manuel_metzger@gmx.de
Schonmal vielen Dank!
Zitat von UnknownMan am 16. März 2019, 16:12 UhrIn Home Assistant ab Version 0.89 gabs einige Änderungen. Damit die Komponente Jarolift weiterhin funktioniert (in 0.89 funktioniert wie oben beschrieben immer noch, wird aber später nicht mehr gehen), muss man die zwei Dateien anders benennen und auch den Verzeichnis anders benennen, als oben beschrieben.
Verzeichnis "<config_dir>/custom_components/cover/" muss in "<config_dir>/custom_components/jarolift/" umbenannt werden. Die darin befindete datei jarolift.py (kleinere) muss in cover.py umbenannt werden. Die größere Datei aus jarolift.py aus dem Verzeichnis "<config_dir>/custom_components" muss in __init__.py umbenannt und dann in "<config_dir>/custom_components/jarolift/" verschoben werden.
In Home Assistant ab Version 0.89 gabs einige Änderungen. Damit die Komponente Jarolift weiterhin funktioniert (in 0.89 funktioniert wie oben beschrieben immer noch, wird aber später nicht mehr gehen), muss man die zwei Dateien anders benennen und auch den Verzeichnis anders benennen, als oben beschrieben.
Verzeichnis "<config_dir>/custom_components/cover/" muss in "<config_dir>/custom_components/jarolift/" umbenannt werden. Die darin befindete datei jarolift.py (kleinere) muss in cover.py umbenannt werden. Die größere Datei aus jarolift.py aus dem Verzeichnis "<config_dir>/custom_components" muss in __init__.py umbenannt und dann in "<config_dir>/custom_components/jarolift/" verschoben werden.
Zitat von UnknownMan am 17. Mai 2019, 22:43 UhrNoch einige Ändeurngen ab Home Assistant Version 0.92.1:
Alle Zeilen mit
hass.services.call('switch', 'broadlink_send_packet_'+host.replace('.','_'), {'packet':[packet]})
in der datei __init__.py müssen jetzt durch:hass.services.call('broadlink', 'send', {'packet':[packet], 'host': host})
ersetzt werden. Außerdem muss man eine leere datei services.yaml in dem gleichen Verzeichnis anlegen.
Noch einige Ändeurngen ab Home Assistant Version 0.92.1:
Alle Zeilen mit
hass.services.call('switch', 'broadlink_send_packet_'+host.replace('.','_'), {'packet':[packet]})
in der datei __init__.py müssen jetzt durch:
hass.services.call('broadlink', 'send', {'packet':[packet], 'host': host})
ersetzt werden. Außerdem muss man eine leere datei services.yaml in dem gleichen Verzeichnis anlegen.
Zitat von fili1979 am 8. Juni 2019, 8:00 UhrZitat von alexborn78 am 17. Mai 2019, 22:43 UhrNoch einige Ändeurngen ab Home Assistant Version 0.92.1:
Alle Zeilen mit
hass.services.call('switch', 'broadlink_send_packet_'+host.replace('.','_'), {'packet':[packet]})
in der datei __init__.py müssen jetzt durch:hass.services.call('broadlink', 'send', {'packet':[packet], 'host': host})
ersetzt werden. Außerdem muss man eine leere datei services.yaml in dem gleichen Verzeichnis anlegen.Guten Morgen Alex,
hatte das ganze in eine alte Version am laufen und hab gestern nun Home assistant auf die neueste Version upgedated. Die Änderungen der Dateinamen und Befehle etc habe ich gemäss deine Infos hier erledigt. Aber ich blicke diese ganz neue Version nicht... Mein Cover usw in der configurations.yaml ist nicht sichtbar. Ich glaube ich muss wohl noch etwas machen zusätzlich... Hatte etwas von manifest.json Datei die man wohl anlegen muss gelesen... Ist es das was wir für diesen custom component zusätzlich brauchen? Evtl. kannst du eine kleine Hilfestellung mir geben. Danke dir.
Zitat von alexborn78 am 17. Mai 2019, 22:43 UhrNoch einige Ändeurngen ab Home Assistant Version 0.92.1:
Alle Zeilen mit
hass.services.call('switch', 'broadlink_send_packet_'+host.replace('.','_'), {'packet':[packet]})
in der datei __init__.py müssen jetzt durch:hass.services.call('broadlink', 'send', {'packet':[packet], 'host': host})
ersetzt werden. Außerdem muss man eine leere datei services.yaml in dem gleichen Verzeichnis anlegen.
Guten Morgen Alex,
hatte das ganze in eine alte Version am laufen und hab gestern nun Home assistant auf die neueste Version upgedated. Die Änderungen der Dateinamen und Befehle etc habe ich gemäss deine Infos hier erledigt. Aber ich blicke diese ganz neue Version nicht... Mein Cover usw in der configurations.yaml ist nicht sichtbar. Ich glaube ich muss wohl noch etwas machen zusätzlich... Hatte etwas von manifest.json Datei die man wohl anlegen muss gelesen... Ist es das was wir für diesen custom component zusätzlich brauchen? Evtl. kannst du eine kleine Hilfestellung mir geben. Danke dir.