Forum

Bitte oder Registrieren, um Beiträge und Themen zu erstellen.

Einbindung in Home Asisstant mit Broadlink RM Pro

12

(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:

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

 

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

Hier ist die zweite jarolift.py

MSB/LSB: ihr braucht nur die richtigen Lottozahlen, einfach Kommentare zum Beitrag durchlesen 😉

Hochgeladene Dateien:

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.

 

 

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!

@alexborn78

Würde das auch mit dem RF-Link funktionieren?

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.

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 alexborn78 am 17. Mai 2019, 22:43 Uhr

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.

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.

12