RFLink Gateway (für Home Assistant)

Wie kam es bei mir dazu, dieses Gateway zu bauen und wie sind die einzelnen Schritte? Ich erkläre es Euch im folgenden Beitrag:

Ich habe im Haus 2 Markisen mit Somfy RTS Übertragungsprotokoll. Dieses etwas proprietäre Protokoll galt es im Home Assistant über RFLink zur Verfügung zu stellen. Lange war ich auf der Suche nach einer guten Anleitung und dachte, ich stelle Euch hier meine Ergebnisse zusammengefasst zur Verfügung.

RFLink wird nativ von HA unterstützt. RFLink – Home Assistant (home-assistant.io)

Um es damit zu verbinden benötigen wir jedoch ein auf ATMega 2560 und RFLink Gateway basierendes System, welches wir im WLAN platzieren können. Je nach Einsatz kann man es auch direkt mit dem Home Assistant verbinden. Dabei spart man sich das Flashen des ESP8266!


Zunächst einmal benötigen wir diverse Hardware:

Nachdem wir diese Komponenten bekommen haben, gilt es das RFLink nach beiliegender Anleitung zu verlöten. Wer sich damit nicht auseinander setzen will, kann bei der Bestellung den Soldering Service nutzen und es vom RFlink Shop für ein paar Euro für Euch machen zu lassen.

Flashen der Hardware

Alles zusammen gelötet? Dann wartet noch mit dem Zusammenstecken. Wir flashen als erstes den ATMega 2560. Im 2. Schritt wird der ESP8266 geflasht und dann verbinden wir alles zusammen.

Benötigte Software:

Ich bin als IT-ler grundsätzlich ein großer Freund von aktueller Software. ESP Easy wird auch kontinuierlich weiterentwickelt, jedoch konnte ich in späteren Versionen den „Serial Server“ nicht mehr so konfigurieren, wie benötigt und die richtigen GPIO’s damit addressieren. Daher verwende ich die relativ alte Version von Ende 2020.

Flashen der RFLink Firmware

OK, ihr habt alles runtergeladen, dann können wir jetzt endlich flashen.

Nehmt den ATMega 2560 und stellt die im Bild rot dargestellten DIP Switches wie folgt ein:

Den TX/RX Switch auf „3“. Den großen Dip Switch wie folgt:

DIP12345678
SettingOFFOFFONONOFFOFFOFFOFF
  • Schließt nun den Arduino an den Rechner an.
  • Entpackt die runtergeladene RFLink Zip Datei und öffnet den darin enthaltenen RFLinkLoader.exe
  • Wählt über „Select File“ die enthaltene RFLink.cpp.hex aus.
  • wählt den richtigen Serial Port aus oder wenn nicht bekannt drückt „Scan Available Ports“
  • Letzter Schritt ist der „Upload/Program Firmware to device“ Button. Nachdem dieser Schritt abgeschlossen ist, kann der Arduino zunächst entfernt werden.
  • RFLinkLoader benötigen wir nicht mehr und können auch dieses schließen.

Für diejenigen, die direkt per USB an HomeAssistant anschließen wollen, können von hier zum „Setzen der Finalen Dip-Switches“ springen.

Wenn Ihr jedoch wie ich den ATMega irgendwohin stellen wollt, gehts hier mit dem ESP8266 Part weiter:

Flashen des ESP8266

Erneut müssen wie an den großen Dip Switch:

DIP12345678
SettingOFFOFFOFFOFFONONONOFF

Damit laden wir auf den ESP8266 Part des Arduino hoch.

  • Wir schließen den Arduino wieder per USB an den Rechner an.
  • Anschließend entpacken wir das heruntergeladene ESPEasy 20201130.
  • Öffnet das enthaltene Tool ESP.Easy.Flasher.exe
  • Wählt wieder den entsprechenden COM Port aus und die Firmware „ESP_Easy_mega_20201130_normal_ESP8266_4M1M.bin“.
  • Alles gesetzt, dann wählen wir „Flash ESP Easy FW“ unten rechts aus.
  • Der Upload beginnt. Bitte trennt das Gerät nicht währenddessen.
  • Resettet den Arduino einmalig und findet Ihn anschließend als neues WLAN. Ihr könnt Euch mit dem Passwort „configesp“ verbinden.
  • Es öffnet sich ein neues Fenster, in dem Ihr den Arduino mit Eurem WLAN verbinden könnt. Wenn dies erfolgreich ist, seht Ihr die neue IP in Eurem Hausnetz.
  • Verbindet Euch wieder mit dem Hausnetz und öffnet im Browser die IP, die angezeigt wurde.

Super, damit wäre die Grundlage gelegt.

  • Wir wechseln zu „Devices“ und klicken „Add“ beim ersten Eintrag.
  • Im Dropdown wählen wir folgendes:

Nun konfigurieren wir den Serial Server wie folgt:

Nachdem Ihr Submit geklickt habt, könnt Ihr den Arduino wieder stromlos machen.

Setzen der Finalen Dip-Switches

  • RX/TX wird nun auf RX0 gesetzt. Der große Dip wie folgt:
DIP12345678
SettingONONONONOFFOFFOFFOFF
  • Setzt nun die RFLink Antenne auf den Arduino.
  • Verbindet den Arduino mit dem externen Netzteil.
  • Er sollte nach ein paar Sekunden im WLAN verfügbar sein.

Einrichtung in Home Assistant:

Tragt diese Zeilen in Eure Configuration.yaml ein, um Euch mit dem RFLink Gateway zu verbinden:

rflink:
  host: ipaddress of the ESP8266 
  port: TCP port you added in the devices tab of the ESP8266

Hinweis: Durch die Nutzung der obigen Links erhalte ich unter Umständen eine kleine Provision.