Ich habe bei mir den KNX-Bus ausschließlich über Kabel realisiert. Lt Foren und meinen Elektriker funktioniert das am zuverlässigsten.
Doch nun habe ich ein Problem. Es ist Weihnachtszeit und es soll ein (beleuchteter) Weihnachtsbaum in den Vorgarten. Natürlich habe ich im Garten kein KNX und auch in der Garage (wo der Strom herkommen soll) habe ich keine schaltbaren Steckdosen und auch keine einfache Möglichkeit die Verdrahtung zu ändern.
Die einfachste Lösung war daher Funk. Nach kurzer Recherche viel meine Wahl auf das ELV FS20 System. Die Aktoren kosten nicht viel
Funksteckdose FS-20 (Funksteckdose, ca. 40,- €)
und es gibt einen Bausatz um FS20 per UART ansprechen zu können
http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html (FS20-UART, ca. 20,- €)
Wie? UART? Also seriell? Na, das wäre doch wieder eine Aufgabe für unseren PI, der sich auch schon um die Heizung, Solaranlage und um die Anwesenheits-Kontrolle kümmert!
Also flux den Bausatz bestellt und an die UART des PI angeschlossen. Im Moment unterstützt mein Script erstmal nur “senden”, also keine bidirektionale Kommunikation. Und, um auch möglichst viel Abwechslung in die Scripte zu bringen, habe ich das in Python umgesetzt. Das Script gibt es hier: FS20Listener
Es wird per Screen aufgerufen und läuft die ganze Zeit im Hintergrund. Natürlich hätte ich auch einen richtigen Dienst machen können, aber so ging es erstmal am schnellsten. Vor allem sieht man die Log-Ausgabe direkt in der Console, was das debuggen einfacher macht.
Das Script dient als transparenter Proxy. D.h. es empfängt Netzwerkpakete eine bestimmten Musters auf Port 22100 und leitet diese quasi 1zu1 an das FS20 Modul weiter.
Und natürlich, wie könnte es auch anders sein, erzeugt mein Homeserver wieder diese Pakete, die ich nun von überall aus, über den BUS, auslösen kann.
Natürlich muss ich für jede Aktion ein eigenes Telegramm machen, aber das ist ja nicht schlimm. In meinem Beispiel kann ich jetzt also eine Funksteckdose AN und AUS-Schalten. Und das über KNX!