2017-01-27T22:48:29+00:00 Programmierung

KNX Programmierung über ein Netzwerk mit eibd

https://knx-blogger.de/wp-content/uploads/2014/09/pixabay/4/laptop_man_1411503531-150x150.jpg

Heute wird es etwas kryptisch, ich zeige dir wie die KNX Programmierung mit Hilfe von eibd funktioniert. Eibd ist eine Software für Linux, mit der du über ein Netzwerk auf den Bus zugreifen kannst. Damit bist du also mit der ETS beweglich und kannst von überall deine Geräte programmieren. Natürlich kannst du über eibd auch den Bus belauschen und sogar auf den Bus schreiben. Der schöne Nebeneffekt ist, dass alle Sicherheitsmechanismen von Linux benutzt werden können, zum Beispiel Zugang über

SSH.

Achtung! Dieser Artikel ist veraltet und nur noch aus Archivgründen hier. Eibd wird nicht mehr weiter entwickelt.

KNX Programmierung über ein Netzwerk

Im Normalfall hast du an deinem Bus eine Schnittstelle zum Computer, zum Beispiel USB. In heutigen Projekten wird meist ein IP-Router als Schnittstelle eingesetzt. Dieser ermöglicht es mehrere Bereiche über ein IP-Netzwerk miteinander zu verbinden. Der Homeserver kann relativ einfach über so einen IP-Router mit dem Bus kommunizieren. Auch die ETS Software kann über den IP-Router die einzelnen Geräte programmieren.
Bist du stolzer Besitzer einer USB Schnittstelle oder, so wie mein Testbrett, sogar einer RS232 Schnittstelle, ist es nicht mehr so bequem. Entweder der Rechner muss für eine Programmierung an die Schnittstelle, vielleicht ist die sogar im Schaltschrank, oder die Schnittstelle muss an den Rechner. Es geht auch anders. Man nehme einen Computer, das Linux Betriebssystem und eibd. Eibd ist quasi ein IP-Router als Software. Ist der Rechner erstmal mit dem Bus verbunden, zum Beispiel über USB, und mit deinem Netzwerk, kannst du von überall in der Welt deine Geräte programmieren.

Fernzugriff auf die KNX Geräte über eibd

Ich gehe hier einfach mal davon aus, dass du weißt wie man Ubuntu startet, die Konsole öffnet und eine Textdatei editiert. Du kannst den eibd auch mit einer Live Distribution ausprobieren. Sollten Anfragen zu mehr Details kommen, kann ich die gerne in einem weiteren Blogartikel beantworten.

Zuerst wird eibd auf installiert. Wie das geht steht auf dieser Seite.

Wenn alles gut gegangen ist, kannst du jetzt mit dem Befehl

eibd

die Software starten. Es sollte eine Fehlermeldung alla :“URL expected“ kommen. Du musst der Software nämlich noch beibringen, wie sie auf den Bus zugreifen kann. Im Falle einer Seriellen Uraltschnittstelle, wie meiner, geht das mit dem bcu1 Protokoll. Dazu muss erst der Kernel Treiber installiert werden.

Kernel Treiber hier herunter laden und installieren und mit

make

bauen. Nun muss noch die Schnittstelle für den Treiber freigegeben:

setserial /dev/ttyS0 uart none

und die Module geladen werden:

insmod eib-common.ko
insmod eib-8250.ko
insmod eib-pei16.ko

Gestartet wird der Router mit:

eibd bcu1:/dev/eib0

Damit greift die Software über den COM Port auf den Bus zu. Das Protokoll ist wirklich alt, und erfordert noch Treiber die in den Kernel einkompiliert werden müssen. Für alle aktuelleren Protokolle kannst du dir die Aktion mit den zusätzlichen Treibern sparen. Wahrscheinlich wird dein Zugriff eher so aussehen:

eibd usb:/dev/usb0

damit die Software über die USB Schnittstelle auf den Bus zugreift.

Testen der eibd Verbindung mit dem KNX Bus

Wenn du den Parameter –t1023 an den eibd übergibst, zeigt er dir etwas mehr Informationen. Unter anderem sollte nun eine Meldung wie „OpenL2“ auftauchen. Falls die Verbindung nicht funktioniert, läuft wahrscheinlich bis in alle Ewigkeiten ein Log über dein Fenster.

Weiter geht es mit einem einfachen Busmonitor. Gib also dem eibd noch den Parameter –i mit auf den Weg und es öffnet einen Port an dem sich andere Programme andocken können. Der vollständige Befehl lautet nun also bei meiner Schnittstelle:

eibd –t1023 –i bcu1:/dev/eib0

Hiermit läuft der eibd und hört auf dem Port 3761 auf eine Verbindung. Startest du nun in einem anderen Terminal den vbusmonitor mit

vbusmonitor1 ip:localhost

solltest du die Nachrichten, die über den Bus geschickt werden angezeigt bekommen. Drücke einfach mal einen Taster und schau ob etwas passiert.

Konfiguration der ETS4

Damit die ETS4 mit dem eibd und dann mit dem KNX Bus kommunizieren kann, muss die Software als Server gestartet werden. Das geht mit dem Parameter -S, zusätzlich musste ich die Parameter für Router und Tunneling hinzufügen. Dann hat es funktioniert. Der ganze Aufruf lautet also:

eibd -t1023 -S -R -T -i bcu1:/dev/eib0

Meine IP des Rechners auf dem der eibd läuft, lautet 192.168.1.104, also habe ich die ETS wie folgt konfiguriert. Du musst natürlich deine IP-Adresse eintragen.

ETS_Verbindung_EIBD

Konfiguration der ETS zur Kommunikation über den eibd.

Wenn du nun auf "Test" klickst sollte die Schnittstelle ein "OK" zurückgeben.

ETS_Verbindung_eibd_Einstellungen

Eine korrekt konfigurierte Schnittstelle in der ETS.

Nun solltest du mit deiner ETS von überall in deinem Netzwerk Zugriff auf den Bus haben. Natürlich nur so lange der Computer läuft. Ich hoffe du musst nun mit Hilfe des Artikels nicht mehr mit dem Laptop neben dem Schaltschrank hocken.

Viel Spaß mit KNX!

Beitragsbild von kropekk_pl / Pixabay

Aktualisiert: 27. Januar 2017

5 Kommentare zu KNX Programmierung über ein Netzwerk mit eibd

  1. says:

    Ich bin etwas irritiert, denn auf der EIBD-Website (http://www.auto.tuwien.ac.at/~mkoegler/index.php/eibd) steht, dass die Website und die darauf beschriebene Software nicht mehr „maintained“ werden.
    Das würde imho bedeuten, das das Projekt und alles, was damit vielleicht geplant ist, früher oder später tot ist.

    Gruß,
    Andreas.

    • Hallo Andreas, danke für deinen Kommentar.
      Ist nicht alles was wir aufbauen irgendwann tot? Der eigentliche Programmierer hat auf der Seite die Entwicklung eingestellt, das stimmt. Es gibt allerdings noch das Sourceforge Projekt: http://sourceforge.net/projects/bcusdk/ Da kann jeder, der sich berufen fühlt weiter machen. Sollte es irgendwann ein Linux geben, mit dem der Eibd nicht mehr läuft, wird man sich Gedanken machen müssen. Im Moment geht es ja auch nicht mehr über die serielle Schnittstelle. Dann werden aber auch andere Probleme auf dich zukommen. In einer KNX Installation ist der Eibd ja auch nur ein kostenloser Ersatz für einen Hardware Router. Wenn es so weit ist, kann man ja immer noch umsteigen.
      Ob es den GIRA Homeserver ewig geben wird, kann dir auch keiner sagen, oder hättest du 2010 gedacht, das NOKIA Handys vom Markt verschwinden?
      Grüße, Damian

  2. says:

    mal eine kurze frage habe jetzt hier noch eine alte serielle schnittstelle kan ich die nun über einen seperaten rechner mit debian so konfig das ich übers netzwerk als eibd drauf zugreifen kann ? Sollte doch eigentlich gehn wenn ich denn artiekl richtig gelsen habe oder.

  3. says:

    Hallo,
    ich möchte zur Fernwartung auf Anlagen über einen reversen ssh-Tunnel zugreifen. Für alle Geräte mit tcp-Protokoll funktioniert das wunderbar.
    (Gira HS, Wago-Controller etc). Nur das KNX-Tunneling geht nicht, da udp.
    Habe dann das Setup nach zarb.org/~gc/html/udp-in-ssh-tunneling.html durchgeführt, geht aber trotzdem nicht.
    Hat da irgendjemand eine Lösung?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Optimization WordPress Plugins & Solutions by W3 EDGE