RPi + KNXD + Selfbus FT1.2 HAT

Version 2.1 by Christian B. on 2018/01/10 23:31

Hier werden die notwendigen Schritte beschrieben, wie man auf einem RPi mit einem Raspbian Stretch / Jessie den knxd so aufsetzt, dass die ETS den RPi als KNX Schnittstelle erkennt.

Image oder Installskript verwenden

Fertiges Image mit knxd

Die einfachste Variante: dieses fertige Image mit Raspian Stretch lite und fertig intalliertem knxd verwenden: https://www.amazon.de/clouddrive/share/DrtE0xuvLclr7FxfR0KVj41ZiOwnxKHJ9pNwVsecX20

Datum der Erstellung: 09.01.2018
User: pi
Pass: raspberry
Unter WIndows z.B. mit dem Win32 DiskImager auf die SD Karte schreiben und nach dem Start mit raspi-config die Partition auf die gesamte Karte ausweiten.

Skript zur Installation durch laufen lassen

  1. Image für Raspian Stretch lite, Raspian Stretch oder Raspbian Jessie herunter laden
  2. Image auf SD Karte schreiben (z.B. mit Win32 Disk Imager)
  3. Ein leeres File mit dem Namen ssh im dann erstellten Laufwerk "boot" erstellen, das aktiviert SSH ohne, dass man die Tastatur am RPi anschließen muss
  4. SD Karte + Netzwerk in RPi stecken, dann Strom an den RPi
  5. Per Putty mit pi / raspberry auf den RPi zugreifen
  6. unten stehende Befehle per c&p (paste = rechte Maustaste im Putty) ins Putty
  7. ETS anwerfen, Kaffee trinken, hoffentlich nach ein paar Minuten den knxd in der ETS sehen

cd ~
wget https://github.com/selfbus/linux-bus-tools/raw/master/raspberry/Scripts/selfbus_knxd_installation.sh
chmod 700 ./selfbus_knxd_installation.sh
sudo ./selfbus_knxd_installation.sh

ACHTUNG: durch das Skript werden auch Einstellungen zur Zeitzone auf Europe/Berlin gemacht! Wer das nicht will, muss die Zeile entsprechend auskommentieren. Ansonsten sollte es ein guter Punkt sein, um einfach mal ein Stretch / Jessie mit einem knxd zu versehen.

Der KNXD läuft dann als Gerät 0.0.0. Es wird durch das Skript noch keine feste IP vergeben!

Skript im Git: https://github.com/selfbus/linux-bus-tools/blob/master/raspberry/Scripts/selfbus_knxd_installation.sh

Manuelle Installation von knxd

Testen der Installation

Ein systemctl status knxd.service zum Beispiel so eine Ausgabe erzeugen:

systemctl status knxd.service
â knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-01-10 22:08:50 CET; 1h 12min ago
 Main PID: 593 (knxd)
   CGroup: /system.slice/knxd.service
           ââ593 /usr/bin/knxd -e 0.0.0 -E 0.0.1:8 -D -R -T -S -i --trace=15 -b ft12:/dev/ttyKNX1

Hat man zum Beispiel eine Gruppenadresse 1.1.1 für einen Schaltvorgang vergeben, so kann man mit einem knxtool groupswrite ip:localhost 1/1/1 1 und einem knxtool groupswrite ip:localhost 1/1/1 0 ein- bzw. ausschalten.

Natürlich sollte das Schalten aus der ETS heraus genauso funktionieren.

Getestete Geräte / Software

Getestet wurde das ganze mit

  • ETS: ETS5
  • RPi Image: Stretch (lite), Jessie
  • RPi Version: 1B, 2B+, 3B