Zum Inhalt springen
Nur ganz kurz für unglaubliche 0 Euro (sonst 39,99€)
4 ETS Projekte als Vorlagen zum vergleichen
Ich habe damals nirgendwo ein kurzes ETS Beispiel gefunden.
Am liebsten hätte ich mein Projekt mit anderen verglichen.
Ich war neugierig, "Wie machen es die anderen?"
Deshalb habe ich für dich diese 4 ETS Projekte zusammen gestellt.
Du kannst die Projekte direkt in der ETS öffnen und sehen,
wie ich es gemacht habe.
  • 1. Rollladensteuerung
  • 2. Präsenzmelder benutzen
  • 3. Licht schalten mit einem Taster
  • 4. Fensterkontakte richtig parametrieren
Startseite » 3. Vor dem Einzug, oder danach » 3.4 Luxus Funktionen » KNX Programmierung über ein Netzwerk mit eibd

KNX Programmierung über ein Netzwerk mit eibd

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.

Nur ganz kurz für unglaubliche 0 Euro (sonst 39,99€)
4 ETS Projekte als Vorlagen zum vergleichen
Ich habe damals nirgendwo ein kurzes ETS Beispiel gefunden.
Am liebsten hätte ich mein Projekt mit anderen verglichen.
Ich war neugierig, "Wie machen es die anderen?"
Deshalb habe ich für dich diese 4 ETS Projekte zusammen gestellt.
Du kannst die Projekte direkt in der ETS öffnen und sehen,
wie ich es gemacht habe.
  • 1. Rollladensteuerung
  • 2. Präsenzmelder benutzen
  • 3. Licht schalten mit einem Taster
  • 4. Fensterkontakte richtig parametrieren

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

6 Gedanken zu „KNX Programmierung über ein Netzwerk mit eibd“

    1. 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. 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. 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?

    4. Wieso veraltet? eibd funktioniert auch auf aktuellen Systemen prächtig und kann auch mit KNX IP Routern arbeiten.
      Bei mir läuft eibd mit den Parametern:
      -d -D -R -T -i -S ipt:
      Insbesondere, wenn man verschiedene Dienste laufen hat, die alle eine „direkte“ KNX Verbindung haben wollen, ist eibd wohl die schnellste und kostengünstigste Variante. Bei den meisten IP Routern ist bei 5 gleichzeitigen Verbindungen Schluss.

      @Bert: das könnte auch dein Problem lösen, da eibd hier selbst einen TCP Listen Port öffnet über den du dich per SSH Tunnel verbinden kannst.

Schreibe einen Kommentar

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

Damian Sulewski

Der Blogger auf KNX-Blogger. Ich bin einfach ein KNX-Fanboy. Mein Ziel: aus dir auch einen KNX-Fanboy zu machen. Mehr ist hier nicht zu sagen. ;-)
Wenn du mich besser kennenlernen möchtest, folge mir auf Facebook oder Instagram.


KNX Blogger Freebies alle!
Nur heute: Das große KNX Bundle!
✓ E-Book – „Smarthome oder nicht?“ ✓
✓ A4 Spickzettel – KNX auf einer Seite
✓ 4 ETS Projekte – ETS sofort verstehen


Die Datei wird sofort an die angegebene E-Mail gesendet.