Home Das KNX-IP-Gateway

Tor zur Welt

Das KNX-IP-Gateway

Bild 1: Erweiterter Testaufbau mit dem KNX-IP-Gateway »BAOS 777« von Weinzierl (rechts)
Bild 1: Erweiterter Testaufbau mit dem KNX-IP-Gateway »BAOS 777« von Weinzierl (rechts)

Ein IP-Gateway wird vorwiegend dazu eingesetzt, um aus einem IP-Netzwerk heraus Zugriff auf den KNX-Bus zu erlangen. Es ist aber auch möglich, dass vom KNX-Bus aus Dienste der IP-Welt verwendet werden. Der E-Mail Versand ist hier ein prominentes Beispiel.

Grundlegende Funktionsweise

Üblicherweise stellt ein Gateway eine »REST-API« bereit, die als Schnittstelle zu anderen Produkten dient. Im Bereich der Gebäudeautomation können das zum Beispiel der IO-Broker, FHEM oder OpenHab  sein. Über die APIs werden auch verschiedene mobile Endgeräte in die Installation eingebunden. Eine weitere Funktion von KNX-Gateways ist die Möglichkeit zur Fernwartung von KNX-Installationen über IP Netze. Oft bieten die Gateways auch zusätzliche Funktionen wie zum Beispiel ein eigenes Web Frontend, um auf den KNX-Bus zuzugreifen. Weitere Informationen zum Thema REST-API finden Sie im Kasten »REST-API«.

REST-API

Die englische Abkürzung REST-API steht für »Representational State Transfer – Application Program Interface«. Eine REST-API ist eine allgemeine Schnittstelle, mit der man von außen auf definierte Funktionen eine Applikation zugreifen kann. Dabei ist es vollkommen unerheblich um welche Art Applikation es sich handelt. Die REST-API hat sich über die Jahre zu einem De Facto Standard bei der Applikationskommunikation im Internet entwickelt. Dabei ist allerdings zu beachten, dass die Schnittstelle zustandslos arbeitet. Die Daten werden über HTTPS (Hypertext Transfer Protocol) mit Hilfe von JSON (JavaScript Object Notation) übertragen.

 

Meist werden dabei die folgenden Aufrufe verwendet:

 

  • GET – Abrufen einer bestimmten Ressource
  • POST – Erstellen einer neuen Ressource
  • PUT – Aktualisieren einer vorhandenen Ressource
  • DELETE – Löschen einer vorhandenen Ressource

 

Ein einfacher Weg REST-APIs zu testen ist das »advanced-rest-client«-Plugin für den Chrome Browser. Die REST-API des  KNX IP BAOS 777 Gateways ist unter der URL »https://<YOUR_GATEWAY_IP>/rest/device« zu erreichen.

Verwendetes Gerät

Wir verwenden in diesem Artikel das KNX IP BAOS 777 Gateway der Firma Weinzierl (Bild 1 rechts), um die Funktionen eines KNX-Gateways zu erläutern. Die Abkürzung BAOS steht für »Bus Access and Object Server«. Das BAOS stellt unter anderem auch die REST-API bereit. Eine ausführliche Dokumentation zu diesem Thema finden Sie unter https://weinzierl.de/images/download/documents/baos/knx_ip_baos_restservices.pdf.

Das Gateway verfügt über ein Display, auf dem Statusinformationen wie zum Beispiel die aktuelle IP-Adresse angezeigt werden. Über vier Tasten lassen sich einige Grundeinstellungen direkt am Gerät vornehmen. Darüber hinaus erfolgt die komplette Konfiguration des Gateways über die ETS6 und den integrierten Webserver. Der Webserver des KNX IP BAOS 777 hat eine Web-Visualisierung, mit der es auch möglich ist, die KNX-Installationen anzusteuern. Dabei können bis zu 2000 Datenpunkte verwendet werden. Funktionen wie E-Mail Versand und Zeitserver Synchronisation (NTP) sind ebenfalls vorhanden.

Die Spannungsversorgung des KNX IP BAOS 777 erfolgt über die gelbe und weiße Klemme (extern, nicht über den KNX-Bus). Dabei kann die Spannung zwischen 12 V und 30 V liegen. Die Leistungsaufnahme beträgt dabei weniger als 1,5 W. Alternativ dazu kann die Spannungsversorgung auch über POE (Power Over Ethernet) erfolgen. Eine Zusammenfassung aller technischen Daten findet sich im Datenblatt.

Falls Sie sich nicht so gerne durch Dokumente arbeiten und lieber entspannt Videos anschauen, ist die folgende Youtube-Playlist  genau das Richtige für Sie. Hier werden die Funktionen und Anwendungsbereiche des BAOS 777 detailliert erklärt. Über ein eingebautes KNX-Programmierinterface kann die Programmierung der Installation vorgenommen werden. Dadurch spart man sich, eine zusätzliche Programmierschnittstelle zu installieren. Falls Sie noch weitere Informationen zu dem Weinzierl-Gateway benötigen, ist die Produkthomepage https://weinzierl.de/de/products/777 ein guter Einstiegspunkt.

 

Bild 2: Schaltplan zum Versuchsaufbau
Bild 2: Schaltplan zum Versuchsaufbau

Das ETS-6-Projekt

Mittlerweile haben wir im Rahmen dieser Reihe schon einige ETS-Projekte aufgesetzt, daher gehen wir jetzt nicht mehr auf jedes Detail ein. Für unseren  heutigen Versuch benötigen wir ein ETS-Projekt mit den folgenden Geräten:  

  • Weinzierl KNX IP BAOS 777
  • MDT-Glastaster »II Smart«
  • KNX IO 511.1 secure (1O2I)
  • KNX IO 532 (1D1O).

Das Projekt ist so aufgebaut, dass der  Glastaster MDT II Smart eine Lampe dimmt (KNX IO 532) und die zweite schaltet (KNX IO 511.1 secure). Die Temperatur des Tasters soll später in der Visualisierung angezeigt werden. Die zusätzlich im Testaufbau vorhandenen Taster werden nicht extra ausgebaut. Wir nehmen sie in das Projekt auf und parametrieren diese einfach nicht. So verursachen die Taster keine Störungen. Beim Hinzufügen des BAOS 777 achten Sie bitte darauf, nicht das generische Gerät mit in das Projekt aufzunehmen (Bild 3).

Bild 3: Das KNX IP BAOS 777 hinzufügen
Bild 3: Das KNX IP BAOS 777 hinzufügen

Bevor wir das KNX IP BAOS 777 sinnvoll nutzen können, müssen wir uns erst einmal mit der IP-Konfiguration des Gerätes beschäftigen. Wie Sie in Bild 4 sehen können, haben Sie die Möglichkeit eine feste oder eine dynamische IP-Adresse zu verwenden. Beide Verfahren haben ihre Vor- und Nachteile. Um und ein wenig Arbeit zu sparen, verwenden wir hier die dynamische Konfiguration. Um auf die Weboberfläche des KNX IP BAOS 777 zugreifen zu können, benötigen wir allerdings die konkrete IP des Gerätes. Glücklicherweise wird diese im Display eingeblendet. Falls der Bildschirmschoner gerade aktiv ist, drücken Sie bitte einfach eine beliebige Taste am Gerät, um das Display wieder zu aktivieren.

Bild 4: IP-Konfigurationsmöglichkeiten des Gateways
Bild 4: IP-Konfigurationsmöglichkeiten des Gateways

Die Visualisierung des  Gateways ist ähnlich aufgebaut wie die KNX-Gebäudestruktur. Wir definieren uns Gebäude und Räume, in denen wir Geräte (Funktionen) platzieren. Diese finden sich dann später in der Visualisierung wieder. Die Funktionen können unterschiedliche KNX-Geräte abbilden (Schalter, Dimmer usw.). Auf der Gebäudeebene können wir für die Funktionen einige zusätzliche Parameter wie zum Beispiel die Zeit auswählen. Anhand der Definitionen in der ETS wird die Visualisierung in der Weboberfläche aufgebaut.  In Bild 5 ist eine Beispielparametrierung für unseren Testaufbau zu sehen.

Sobald wir die Funktionen definiert haben, stehen die entsprechenden Kommunikationsobjekte auf dem Gateway bereit. Diese müssen jetzt noch den entsprechenden Gruppenadressen zugewiesen werden, damit wir die unterschiedlichen Funktionen zusätzlich über die Webvisualisierung auslesen/steuern können. Für die Temperatur wird eine eigene Gruppenadresse zur Kommunikation benötigt. Beim Dimmer müssen Sie darauf achten, dass Sie das richtige Kommunikationsobjekt für den Status verwenden und das dieses auch immer mit aktualisiert wird.

Bild 5: Beispiel einer Parametrierung für die Visualisierung
Bild 5: Beispiel einer Parametrierung für die Visualisierung

Programmieren des Projekts

Nachdem wir unser Projekt vollständig aufgesetzt haben, kommen wir jetzt zum Programmieren. Hier kann sich allerdings ein kleines Problem auftun. Die verwendeten Geräte haben schon aus unseren vorherigen Versuchen physikalische Adressen. Wenn wir diese in einem neuen Projekt verwenden, kann es vorkommen, dass Adressen, die wir programmieren möchten, bereits an Geräte vergeben sind. Die ETS merkt das und gibt uns eine entsprechende Fehlermeldung. Das Programmieren wird dadurch unmöglich gemacht. Um dieses Problem in den Griff zu bekommen, gibt es gleich mehrere Wege. Der pragmatische Ansatz wäre, alle Geräte in den Auslieferungszustand zu versetzen und danach komplett neu zu programmieren. Das ist allerdings nur in einer kleinen Testumgebung machbar.

Bild 6: Mit der Diagnosefunktion den KNX-Bus scannen
Bild 6: Mit der Diagnosefunktion den KNX-Bus scannen

Der bessere Weg ist, mit Hilfe der Diagnose Funktion (Bild 6) den Bus zu scannen, um zu sehen, welche Adressen bereits in Verwendung sind. Geben Sie den Geräten, die Sie verwenden möchten, einfach andere Adressen. Um Probleme dieser Art zu vermeiden, ist eine gute Dokumentation das A und O bei KNX. Es ist sinnvoll, die physikalischen Adressen direkt auf den Geräten zu vermerken. Wir verwenden hier das im KNX IP BAOS 777 integrierte Programmierinterface (Bild 7).

Bild 7: Das IP-Programmierinterface wird automatisch von der ETS gefunden
Bild 7: Das IP-Programmierinterface wird automatisch von der ETS gefunden

Visualisierung konfigurieren

Geben Sie jetzt im Browser die IP des KNX IP BAOS 777 ein. Sie werden hier nach den Benutzerdaten gefragt. Der Standardnutzer ist »admin«, er hat das Passwort: »admin«. Sie können diese Benutzerdaten in der ETS in den Parametern des Gerätes ändern. Nach dem erfolgreichen Login sehen Sie die Visualisierung wie auf Bild 8.

Wenn alles so zusammen passt, wie es soll, können Sie jetzt die KNX Installation komplett über die Weboberfläche steuern. In der Visualisierung wird die Temperatur des Sensors angezeigt. Falls es nicht auf Anhieb klappt, sollten Sie allerdings bedenken, dass wir hier uns nicht mehr auf den Anfängerlevel befinden. Selbst bei einem so kleinen Projekt wie diesem kann einiges schief gehen. Zum Beispiel sind Dimmer schnell ungeschickt konfiguriert und funktionieren dann nicht wie erwartet.

Bild 8: Die Weboberfläche des KNX IP BAOS 777
Bild 8: Die Weboberfläche des KNX IP BAOS 777

Einstellung der Uhr

Wir haben uns im vorherigen Artikel mit dem  MDT-Glastaster »II Smart« beschäftigt. Er kann die aktuelle Urzeit anzeigen, wenn diese über den KNX-BUS eingespeist wird. Wir beschreiben hier kurz welche Schritte nötig sind, um das zu erreichen. Als erstes benötigen wir eine Gruppenadresse, über die die Zeit an verschiedene Geräte verteilt werden kann. In diese Gruppe wird das entsprechende Kommunikationsobjekt des Tasters eingefügt. Dieser muss jetzt noch so parametriert werden, dass er die Zeit anzeigt. In der ETS erzeugen wir jetzt im KNX IP BAOS 777 auf den Gebäuden eine Funktion mit dem Parameter »Zeit«. Das dadurch erzeugte Kommunikationsobjekt kommt mit in die Gruppenadresse. Wir merken uns welche Datenpunktnummer das Objekt hat.

Jetzt müssen wir das Projekt in die Installation schreiben. Im nächsten Schritt loggen wir uns in das Web Frontend des  Gateways ein (Bild 9). Hier konfigurieren wir den Timeserver (Settings → Date/Time). Hierbei ist wichtig die Datenpunktnummer aus der ETS in das Feld »Datapoint ID’s« einzutragen. In der Visualisierung taucht der Datenpunkt bei den Gebäuden auf. Diesen Aufwand müssen wir nur beim ersten Einrichten der Uhrzeit treiben. Alle weiteren Geräte die eine Zeit benötigen, können wir jetzt einfach in der ETS mit ihren Kommunikationsobjekten in die entsprechende Gruppenadressen aufnehmen.

Bild 9: Konfiguration der Zeitfunktion
Bild 9: Konfiguration der Zeitfunktion

Fazit

Wir haben heute nur wenige ausgesuchte Funktionen des KNX IP BAOS 777 gezeigt. Das Gerät selbst kann allerdings noch viel mehr. Das Gateway verbleibt im Testaufbau und wird in Zukunft immer wieder bei Erweiterungen verwendet werden. Gateways dieser Art sind mittlerweile essenziell, um die Funktionen von anderen KNX-Geräten zu unterstützen. Sie sind das Bindeglied zwischen dem KNX-Bus und smarten Diensten im Internet. Das bringt allerdings auch einiges an Komplexität in das ETS-Projekt.

Artikel als PDF herunterladen

Sollte es Probleme mit dem Download geben oder sollten Links nicht funktionieren, wenden Sie sich bitte an kontakt@elektro.net

Über den Autor
Autorenbild
Dipl.-Inf. (FH) Martin Mohr

Newsletter

Das Neueste von
elektro.net direkt in Ihren Posteingang!