, ,

Smart Home mit KNX – ETS Inside Server auf Raspberry Pi installieren

Wir beschäftigen uns seit ein paar Wochen sehr intensiv mit dem Thema KNX und haben hier auch schon in mehreren Kundenprojekten die Vorteile dieses Systemes zu schätzen gelernt. Ein großer Faktor für Privatpersonen ist aber immer noch die sehr teure Software zum Programmieren des Systems! Für eine größere Installation wird normalerweise eine ETS5 Professional benötigt, um das System zu konfigurieren und auch später zu Programmieren. Doch hier gibt es seit einiger Zeit durch das ETS Inside Tool eine echte Alternative für KNX Anhänger! In meinen Augen ist ETS Inside gerade für den privaten Sektor eine kleine Revolution um kostengünstig seine eigene KNX Installation aufzubauen und nachher auch zu programmieren.

Was ist ETS Inside

ETS Inside ist ein Programm das von der KNX Association seit ein paar Jahren vertrieben wird. Diese Software existiert neben der ETS5 parallel und richtet sich anders als die ETS direkt an den Endkunden. Mit dieser Software wird es dem Endkunden ermöglicht, eine komplette KNX Installation zu programmieren, ohne dass eine teure ETS5 Lizenz nötig ist. Ich will in diesem Artikel gar nicht zu sehr auf die Details eingehen, da Niklas Euch in den nächsten Tagen den kompletten Funktionsumfang der ETS Inside vorstellen möchten. Er wird Euch in einem Beispielprojekt zeigen, wie Ihr damit ein Haus (Räume, Etagen usw..) anlegt und wir Ihr Verknüpfungen zwischen Sensoren (Tastern) und Aktoren (z.B. KNX Lichtaktoren oder Jalousien) herstellen könnt.

Wie läuft ETS Inside

ETS Inside gibt es in zwei unterschiedlichen Varianten. Eine Version ist für Windows Rechner gedacht und eine weitere für Linux Systeme. Ich habe beide Varianten getestet und konnte bisher keinen Unterschied feststellen. Wenn Ihr die ETS Inside für die einmalige Programmierung Eurer Anlage benötigt, dann kann diese ganz unkompliziert auf Eurem Rechner installiert und genutzt werden. Meine Idee hier ist es aber, einen dauerhaften Server aufzusetzen, der direkt im Schaltschrank in einem Hutschinengehäuse eingebaut ist, sodass wir jederzeit die Möglichkeit haben auf die Anlage zuzugreifen.

Bei komplexeren Projekten, die wir bei unserem Kunden von smartfabrik durchführen, nehmen wir die Programmierung der Anlage über eine ETS5 Professional vor, der Kunde erhält dann auf Wunsch diesen kleinen Server, mit dem er dann selber die Anlage umprogrammieren und Änderungen vornehmen kann.

Was kostet die ETS Inside Lizenz

Leider ist die ETS Inside nicht kostenlos erhältlich. Damit Ihr die Software nutzen könnt, müsst Ihr Euch ein Konto bei my.knx.org anmelden. Dort könnt Ihr die Software inkl. Dongle, der später am Server verbleiben muss, kaufen. Der Preis beträgt 160€ (exkl. MwSt) zusätzlich kommen noch Versandkosten von ca. 25€ auf Euch zu. Das ist leider auch keine wirklich günstige Variante, aber für mein Empfinden ein guter Weg um bei privaten Anlagen die Notwendigkeit einer ETS5 Professional Lizenz auszuweichen. Beim Kauf ist es egal, ob Ihr Euch für die ETS Inside oder die Linux Version entscheidet, der Stick kann später für beide Versionen genutzt werden.

Welche Software wird noch benötigt?

Leider klappt der Zugriff nicht über den Browser bei Windows – hier muss aus dem Microsoft Store das ETS Inside Tool heruntergeladen werden. Dieses findet dann den Server (egal ob auf dem gleichen Rechner oder unseren Pi) und verbindet sich zu diesem. Der Server kann aber auch über ein Android oder iOS Smartphone (oder Tablet!) genutzt werden. Für beide Betriebssysteme findet Ihr die Software im jeweiligen Store „ETS Inside“.

Welche Hardware benötigen wir für den Server und die Anbindung?

Wie schon erwähnt will ich das komplette System auf einem Raspberry Pi4 mit 4 GB RAM installieren. Dieser soll dann in einem Hutschinengehäuse (4TE breit) verbaut werden. Dafür wird noch ein 5V Netzteil (1TE breit) und ein Verbindungskabel (USB-C) benötigt. Die Software wird auf eine microSD-Karte geschrieben, die sollte ca. 16GB groß sein.

Für die Kopplung mit der KNX Anlage kann entweder eine USB Schnittstelle, die dann an den Pi angeschlossen wird verwendet werden oder aber direkt ein TP/Ethernet Gateway, das sich im gleichen Netzwerk befindet.

Vorbereitung der Speicherkarte – Rasbian

Für meine Anleitung verwende ich Raspian. Es ist auch möglich Ubuntu oder andere Distributionen zu nutzen.

Nachdem wir das Rasbian Buster Image heruntergeladen haben, müssen wir dieses entpacken. Dieses Image können wir nun mit z.B. Win32DiskImager auf die Speicherkarte schreiben. Das Image ist ca. 2,5 GB groß.

SSH für Raspian aktivieren

Nachdem das Image geschrieben worden ist, müssen wir zuerst SSH aktivieren, damit wir per Console die ersten Einstellungen auf dem Pi vornehmen können.

Um SSH zu aktivieren, verbleibt die Speicherkarte im Rechner – über den Explorer navigieren wir zum SD-Kartenleser und legen auf der Speicherkarte eine neue Textdatei an. Diese nennen wir SSH und löschen die „.txt“ Endung. Windows will hierfür eine Bestätigung. Diese quittieren wir mir ja. Nachdem dieser Schritt vollzogen ist, können wir die Speicherkarte in unserem Pi einsetzen.

IP-Adresse vom Pi herausfinden / mit Putty verbinden

Ich verwende hierfür sehr gerne das kleine Tool SoftPerfect Network Scanner, Ihr könnt aber auch über Euren Router die aktuelle IP-Adresse herausfinden. Nachdem die IP-Adresse bekannt ist, können wir uns via Putty mit dem Pi verbinden. Der Benutzer lautet „pi“ und das Passwort „raspberry“.

ETS Inside herunterladen

Nun laden wir zuerst das ETS Inside Image herunter, damit wir die nötigen Dateien auf dem Pi installieren können. Die Datei entpacken wir in ein temporäres Verzeichnis, da wir später einzele Dateien per FTP zum Pi übertragen müssen.

Jetzt gehen wir zurück in die Konsole und geben folgenden Befehl ein: sudo apt-get install libc6-dev libunwind8

Dann muss für unseren Server ein Benutzer knx angelegt werden. Das machen wir über folgenden Befehl: sudo adduser –disabled-password –home /usr/share/KNX knx

Ordner für ETS-Inside anlegen

Für den nächsten Schritt müssen wir zuerst einen Ordner für die ETS Inside anlegen. Das erledigen wir über folgenden Befehl: sudo mkdir -p /opt/KNX/ETSInside

FTP Server einrichten

Die nötigen Daten, die wir soeben heruntergeladen haben, müssen nun auf den Pi übertragen werden. Das machen wir am einfachsten über einen FTP-Server auf dem Pi. Um diesen einzurichten, geben wir folgende Befehlen ein: sudo adduser piftp –no-create-home

Abschließend wir der Nutzer noch einer Gruppe zugewiesen: sudo usermod -G www-data piftp

Es wird ein Name und ein Passwort für diesen Nutzer vergeben. beide Informationen benötigen wir im nächsten Schritt, wenn wir die Dateien per FTP übertragen.

Rechte für Ordnerzugriffe setzen

Damit wir später die nötigen Dateien für den Server kopieren können, müssen noch Rechte auf die Ordner gesetzt werden. Das erledigen wir mit folgenden Befehlen: sudo chown piftp:www-data -R /opt/KNX/ und dann sudo chmod 775 -R /opt/KNX/

Das gleiche müssen wir noch für zwei andere Ordner machen – dazu folgende Befehle in der Konsole ausführen: sudo chown piftp:www-data -R /etc/udev/ und anschließend sudo chmod 775 -R /etc/udev/rules.d

Jetzt folgt der Befehl: sudo chown piftp:www-data -R /etc/init.d und anschließend: sudo chmod 775 -R /etc/init.d

Daten via FTP-Server übertragen

Jetzt können wir die zuvor heruntergeladenen Dateien via FTP Übertragen. Dazu verwende ich gerne den FileZilla. Mit diesem FTP-Client können wir uns direkt zum Pi verbinden und die erforderlichen Dateien übertragen. Es müssen an drei unterschiedliche Speicherorte Dateien kopiert werden. Die IP-Adresse ist die gleichen, die wir auch für die Konsole verwendet haben.

Als Nutzer haben wir piftp erstellt, das Passwort haben wir im oberen Schritt selber festgelegt, dieses müssen wir an dieser Stelle verwenden. Der nötige Port für die Verbindung lautet 22.

Folgende Dateien müssen kopiert werden:

Alle Dateien aus dem Verzeichnis /ets-inside/ müssen auf den Pi in den Ordner /opt/KNX/ETSInside kopiert werden.

Folgende Datei muss kopiert werden: /udev/10-ets-inside.rules in den Ordner /etc/udev/rules.d/ vom Pi.

Dann folgt die letzte Datei: /init.d/wts-inside in den Ordner /etc/init.d/ets-inside/ vom Pi.

Zugriffsrechte setzen

Nachdem alle Dateien erfolgreich via FTP kopiert worden sind, kann die FTP-Verbindung geschlossen werden. Nun müssen noch folgende Zugriffsrechte gesetzt werden:

chmod a+x /opt/KNX/ETSInside/Knx.Ets.Osprey

chmod a+x /etc/init.d/ets-inside

Auch diese beiden Befehle müssen in die Konsole eingegeben werden.

Konfiguration laden

Damit unsere Konfiguration erfolgreich geladen werden kann, müssen noch folgende Befehle ausgeführt werden:

sudo udevadm control –reload-rules
sudo systemctl daemon-reload
sudo update-rc.d ets-inside defaults

Server starten und testen

Nachdem wir erfolgreich alle Schritte dieser Anleitung durchgeführt haben, können wir den Server manuell über die Konsole starten – der Server startet nach einem Spannungsausfall des Pis automatisch und kann dann via App erreicht werden.

Um den Server zu starten, geben wir folgenden Befehl ein: service ets-inside start wir werden nun nach Option 1 oder 2 gefragt. Hier wählen wir „1“ und geben danach das Passwort „raspberry“ ein.

Status vom Server überprüfen

Ihr könnt ganz einfach den Zustand vom Server überprüfen – das macht Ihr über folgenden Befehl: service ets-inside status

Jetzt sehr Ihr auch, dass der Server über den Port 8081 erreicht werden kann. In Putty seht Ihr auch, wenn ein USB-Dongle erfolgreich angeschlossen ist.

Auf ETS Inside zugreifen via Windows

Auf ETS Inside zugreifen via iPhone

Im Store findet Ihr ebenfalls die ETS Inside Software. Dieser verhält sich ähnlich wie die Version für Windows. Hier ein paar Screenshots.

Aussicht – Was folgt?

Wir wollen Euch in weiteren Artikel zeigen, wie Ihr Projektdateien von der ETS5 übertragen könnt. Wir wollen Euch außerdem vorstellen, wie Ihr Euer komplettes System über die ETS Inside Oberfläche konfigurieren und Programmieren könnt. Also sied gespannt auf weitere interessante Artikel zum Thema KNX, ETS5, ETS Inside und KNX Hardware!

5 Kommentare
  1. Herbert
    Herbert sagte:

    Hi,

    danke für die Anleitung. Konnte soweit alles nachvollziehen, bis zum letzten Schritt:

    Wenn ich den service ets-inside starte, dann hab ich nicht die Wahlmöglichkeit zwischen User 1 und zwei, es kommt Authenticating as: root, und das Passwort raspberry funktioniert hier nicht.

    Kann hier jemand helfen? Hab ich einen Schritt vergessen?

    Danke!

    Antworten
  2. Markus
    Markus sagte:

    Hallo Sebastian, vielleicht kannst du mir noch eine Hilfestellung geben? Wie bekomme ich denn die ETS Inside Lizenz Datei auf den PI bzw. warum findet die ETS Inside App keine Lizenz z.B. auf einem zweiten angeschlossenen USB Stick. Gemäß Anleitung von ETS sollte das doch funktionieren-die Lizenz Datei darf nur nicht in einem Ordner sein.

    Vielleicht magst du ja deine Super Anleitung damit sogar ergänzen?

    Gruß

    Antworten
  3. Markus
    Markus sagte:

    Die Formatierug der Befehle hat mir paar Probleme bereitet, da ich diese hier nicht einfach in die Console einfügen konnte. z.B.:
    sudo adduser piftp –no-create-home heißt eigentlich sudo adduser piftp –no-create-home also vor dem no zwei –

    Wenn man das weiß funktioniert das mit der Programmierung ganz gut-sollte man glauben. Ich vermisse aber den Befehl der auf dem Pi den Ordner ets-inside unter /etc/init.d/ anlegt und somit auch die Verknüpfung. Am Ende wenn ich den Server starte zeigt er mir nämlich gerade folgenden Fehler an:

    ==== AUTHENTICATION COMPLETE ===
    Failed to start ets-inside.service: Unit ets-inside.service not found.
    pi@raspberrypi:~ $ service ets-inside status
    Unit ets-inside.service could not be found.

    Wäre grandios wenn ich diesen Fehler noch irgendwie behoben bekommen. Danke bis hier hin für die Anleitung.

    Antworten
  4. Ralf
    Ralf sagte:

    Danke für die interessante Info.

    Aber wozu der FTP Server? Man kann doch über SSH mit Filezilla die Daten zum Pi übertragen.

    Antworten
    • Sebastian
      Sebastian sagte:

      … kann man auch machen, finde es so aber etwas übersichtlicher. Leider kann die Datei nicht direkt herunterladen, da der Zugang über einen Login bei KNX läuft

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar zu Herbert Antworten abbrechen

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