Knxd: Unterschied zwischen den Versionen
F Klee (Diskussion | Beiträge) |
K (Sichtung / Überarbeitung der letzten Änderung; Schreibweise teilweise "entpersonalisiert") |
||
Zeile 1: | Zeile 1: | ||
= knxd mit einem IP Gateway einrichten = | == knxd mit einem IP Gateway einrichten == | ||
Damit FHEM auf den KNX Bus zugreifen kann, | Damit FHEM auf den KNX Bus zugreifen kann, wird ein passendes Interface benötigt. Es gibt: | ||
Es gibt: | |||
* RS232 | * RS232 | ||
* USB | * USB | ||
* IP | * IP | ||
Im Folgenden wird die Einrichtung von knxd mit einem IP Gateway auf einem Raspberry Pi2 mit Wheezy oder Jessie beschrieben. | |||
=== Installation === | |||
'''1. als erstes müssen folgende Pakete installiert werden (Referenz Debian Jessie):''' | '''1. als erstes müssen folgende Pakete installiert werden (Referenz Debian Jessie):''' | ||
<syntaxhighlight lang="bash">sudo apt-get update | <syntaxhighlight lang="bash"> | ||
sudo apt-get update | |||
sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd libev-dev cmake | sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd libev-dev cmake | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''1.1 als erstes müssen folgende Pakete installiert werden (Referenz Debian Stretch & Buster):''' | '''1.1 als erstes müssen folgende Pakete installiert werden (Referenz Debian Stretch & Buster):''' | ||
<syntaxhighlight lang="bash">sudo apt-get update | <syntaxhighlight lang="bash"> | ||
sudo apt-get update | |||
sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-dev dh-systemd libev-dev cmake | sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-dev dh-systemd libev-dev cmake | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''2. knxd herunterladen und installieren''' | '''2. knxd herunterladen und installieren''' | ||
Achtung: Wenn Abhängigkeiten fehlen, dann | Achtung: Wenn Abhängigkeiten fehlen, dann müssen diese nachinstalliert werden. Nicht einfach mittels "-d" diese übergehen! | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git clone https://github.com/knxd/knxd.git | git clone https://github.com/knxd/knxd.git | ||
Zeile 35: | Zeile 31: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Konfiguration == | === Konfiguration === | ||
'''1. Ohne systemd''' | '''1. Ohne systemd''' | ||
Es muss als nächstes die Konfigurationsdatei editiert werden, das geht mit: | |||
das geht mit: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo nano /etc/default/knxd | sudo nano /etc/default/knxd | ||
Zeile 52: | Zeile 46: | ||
START_KNXD=YES | START_KNXD=YES | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''2. Mit systemd z. B. für Debian Jessie''' | '''2. Mit systemd z. B. für Debian Jessie''' | ||
Zeile 66: | Zeile 61: | ||
START_KNXD=YES | START_KNXD=YES | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== knxd Status überprüfen == | |||
=== knxd Status überprüfen === | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
/etc/init.d/knxd status | /etc/init.d/knxd status | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= knxd als IP-Gateway einrichten = | |||
== knxd als IP-Gateway einrichten == | |||
Der knxd kann auch gleich als IP-Gateway eingerichtet und sowohl mit FHEM als auch parallel mit der ETS genutzt werden. Dazu ist, neben einem Raspberry Pi, ein Interface zum KNX-Bus erforderlich. Geeignet sind z.B.: | Der knxd kann auch gleich als IP-Gateway eingerichtet und sowohl mit FHEM als auch parallel mit der ETS genutzt werden. Dazu ist, neben einem Raspberry Pi, ein Interface zum KNX-Bus erforderlich. Geeignet sind z.B.: | ||
* ROT | |||
* PIGATOR mit PIM-TPUART | |||
* TUL | |||
der Fa. http://busware.de . Wer einen Rasperry Pi3 benutzen möchte, der sollte zum TUL greifen, da die serielle Schnittstelle UART0 das Bluetooth-Modul des Pi3 bedient und wieder auf die GPIO-Pins umgeleitet werden muss. Der TUL bringt seine eigene serielle Schnittstelle mit, so dass Bluetooth erhalten bleibt. | der Fa. [http://busware.de Busware]. Wer einen Rasperry Pi3 benutzen möchte, der sollte zum TUL greifen, da die serielle Schnittstelle UART0 das Bluetooth-Modul des Pi3 bedient und wieder auf die GPIO-Pins umgeleitet werden muss. Der TUL bringt seine eigene serielle Schnittstelle mit, so dass Bluetooth erhalten bleibt. | ||
== Vorbereiten des TUL == | |||
=== TUL flashen === | === Vorbereiten des TUL === | ||
Der TUL wird ohne Software geliefert | ==== TUL flashen ==== | ||
Der TUL wird ohne Software geliefert und kann über den Raspberry Pi programmiert werden: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo apt-get install dfu-programmer | sudo apt-get install dfu-programmer | ||
Zeile 87: | Zeile 85: | ||
sudo reboot | sudo reboot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Soll der TUL unter Windows programmiert werden, so geht das mit [https://www.microchip.com/developmenttools/ProductDetails/FLIP FLIP]. Die HEX-Datei kann [http://files.busware.de/TUL/Transparent/ hier] herunter geladen werden. | |||
Der TUL hat an der Unterseite einen winzigen Button. Dieser muss gedrückt werden, während der TUL in die USB-Buchse gesteckt wird. | Der TUL hat an der Unterseite einen winzigen Button. Dieser muss gedrückt werden, während der TUL in die USB-Buchse gesteckt wird. | ||
In FLIP | In FLIP nun als ''Device=>Select'' ATmega32U4 auswählen und über ''Settings=>Communication=>USB'' die Verbindung herstellen. *.hex-Datei laden und im Rahmen ''Operation-Flow'' auf ''Run'' klicken. Fertig. | ||
=== TUL einen dauerhaften Namen geben === | |||
Linux bindet USB-Geräte beim Boot in einer eher zufälligen Reihenfolge ein. | ==== TUL einen dauerhaften Namen geben ==== | ||
Linux bindet USB-Geräte beim Boot in einer eher zufälligen Reihenfolge ein. Werden mehrere USB-Geräte betreiben, so ist es sinnvoll, dem TUL einen festen Namen zuzuordnen. Dazu wird der TUL zunächst mit dem Befehl | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ls -la /dev/serial/by-id/ | ls -la /dev/serial/by-id/ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Das Ergebnis sollte ungefähr so aussehen | identifiziert. Das Ergebnis sollte ungefähr so aussehen | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
usb-busware.de_TPUART_8543934393935171B1C1-if00 -> ../../ttyACM0 | usb-busware.de_TPUART_8543934393935171B1C1-if00 -> ../../ttyACM0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Die Seriennummer ( 8543934393935171B1C1) | Die Seriennummer (8543934393935171B1C1) wird später benötigt. Der Befehl | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
lsusb | lsusb | ||
Zeile 107: | Zeile 106: | ||
Bus 001 Device 005: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project | Bus 001 Device 005: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project | ||
</syntaxhighlight> | </syntaxhighlight> | ||
03eb ist dabei die Herstellerkennung, 204b die Produktkennung. Nun | 03eb ist dabei die Herstellerkennung, 204b die Produktkennung. Nun muss die Datei /etc/udev/rules.d/99-usb-serial.rules | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo nano /etc/udev/rules.d/99-usb-serial.rules | sudo nano /etc/udev/rules.d/99-usb-serial.rules | ||
</syntaxhighlight> | </syntaxhighlight> | ||
mit der Zeile | erstellt oder ergweitert werden mit der Zeile | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
SUBSYSTEM=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204b", ATTRS{serial}=="8543934393935171B1C1", SYMLINK+="knx", OWNER="knxd" | SUBSYSTEM=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204b", ATTRS{serial}=="8543934393935171B1C1", SYMLINK+="knx", OWNER="knxd" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Der TUL wird dann unter /dev/knx erreichbar sein. Der knxd läuft als Benutzer knxd und hat damit die Berechtigung, auf den TUL zuzugreifen. | Der TUL wird dann unter /dev/knx erreichbar sein. Der knxd läuft als Benutzer knxd und hat damit die Berechtigung, auf den TUL zuzugreifen. | ||
== Vorbereiten des Raspberry Pi für ROT oder PIGATOR == | |||
=== Vorbereiten des Raspberry Pi für ROT oder PIGATOR === | |||
Der Raspberry Pi nutzt standardmäßig die serielle Schnittstelle als Terminal. Dies muss deaktiviert werden: | Der Raspberry Pi nutzt standardmäßig die serielle Schnittstelle als Terminal. Dies muss deaktiviert werden: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Zeile 123: | Zeile 123: | ||
P6 Serial | P6 Serial | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Die Raspberry Pi 3 | Die Raspberry Pi 3 und 4 nutzen für die serielle Schnittstelle einen mini UART, der nicht mit dem knxd zusammenarbeitet. Der Hardware UART wird für Bluetooth verwendet. Bluetooth muss deaktiviert werden, damit der Hardware UART wieder unter ttyAMA0 zur Verfügung steht. In der /boot/config.txt muss die Zeile | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
dtoverlay=disable-bt | dtoverlay=disable-bt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
am Ende | am Ende eingefügt werden. Nun muss noch der Dienst hciuart deaktiviert werden (initialisiert das Bluetooth-Modem): | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo systemctl disable hciuart | sudo systemctl disable hciuart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Nach einem anschließenden Reboot ist der TPUART unter ttyAMA0 ansprechbar. | |||
== Andere BCU's (BusCouplerUnit) == | === Andere BCU's (BusCouplerUnit) === | ||
Natürlich sind auch andere BCU's geeignet. Wer weiß, an welchem Ende er einen Lötkolben anzufassen hat, ist mit der [https://knx-user-forum.de/forum/projektforen/konnekting/1045398-microbcu-sehr-kleiner-knx-transceiver MicroBCU] gut bedient. Sie kann z.B. über einen ADUM1201 mit dem UART des Raspberry Pi verbunden werden (Tx->Rx, Rx->Tx, Konfiguration wie unter [[Knxd#Vorbereiten_des_Raspberry_Pi_f.C3.BCr_ROT_oder_PIGATOR|ROT]] beschrieben) oder über einen USB2Seriell-Konverter (Konfiguration ähnlich [[Knxd#TUL_einen_dauerhaften_Namen_geben|TUL]]).{{Hinweis|Die MicroBCU wird vom Bus gespeist und liefert auch zwei Spannungen, wovon die 3,3V auch für den ADUM genutzt werden kann. Wer den Raspi aus dem KNX-Netzteil versorgen möchte, sollte sich [https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1597469-dualknx-microbcu-hat-f%C3%BCr-raspberrypi-mit-dc-dc-netzteil das hier] mal ansehen.}} | Natürlich sind auch andere BCU's geeignet. Wer weiß, an welchem Ende er einen Lötkolben anzufassen hat, ist mit der [https://knx-user-forum.de/forum/projektforen/konnekting/1045398-microbcu-sehr-kleiner-knx-transceiver MicroBCU] gut bedient. Sie kann z.B. über einen ADUM1201 mit dem UART des Raspberry Pi verbunden werden (Tx->Rx, Rx->Tx, Konfiguration wie unter [[Knxd#Vorbereiten_des_Raspberry_Pi_f.C3.BCr_ROT_oder_PIGATOR|ROT]] beschrieben) oder über einen USB2Seriell-Konverter (Konfiguration ähnlich [[Knxd#TUL_einen_dauerhaften_Namen_geben|TUL]]).{{Hinweis|Die MicroBCU wird vom Bus gespeist und liefert auch zwei Spannungen, wovon die 3,3V auch für den ADUM genutzt werden kann. Wer den Raspi aus dem KNX-Netzteil versorgen möchte, sollte sich [https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/knx-eib-forum/diy-do-it-yourself/1597469-dualknx-microbcu-hat-f%C3%BCr-raspberrypi-mit-dc-dc-netzteil das hier] mal ansehen.}} | ||
== Installieren des knxd == | |||
=== Installieren des knxd === | |||
Die Installation erfolgt nun wie oben unter [[Knxd#Installation|Installation]] beschrieben. Hier noch mal der dringende Hinweis, fehlende Abhängigkeiten nicht mit -d zu überspringen. Jede Abhängigkeit, die als Fehlend moniert wird, nachinstallieren und Kompilierung neu starten. Prozedur notfalls mehrfach wiederholen. Das Kompilieren dauert und manchmal geht es scheinbar nicht weiter. Also Geduld. | Die Installation erfolgt nun wie oben unter [[Knxd#Installation|Installation]] beschrieben. Hier noch mal der dringende Hinweis, fehlende Abhängigkeiten nicht mit -d zu überspringen. Jede Abhängigkeit, die als Fehlend moniert wird, nachinstallieren und Kompilierung neu starten. Prozedur notfalls mehrfach wiederholen. Das Kompilieren dauert und manchmal geht es scheinbar nicht weiter. Also Geduld. | ||
== Konfiguration == | === Konfiguration === | ||
Die Konfiguration erfolgt wieder in der knxd.conf mit | Die Konfiguration erfolgt wieder in der knxd.conf mit | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Zeile 156: | Zeile 157: | ||
START_KNXD=YES | START_KNXD=YES | ||
</syntaxhighlight> | </syntaxhighlight> | ||
um knxd beim Systemstart sofort zu starten. | um knxd beim Systemstart sofort zu starten. | ||
-e definiert die physikalische Adresse des knxd, -E definiert einen Adressbereich für ETS5 etc. (hier einen Bereich aus acht Adressen). Diese Adressen müssen an das eigene Netz angepasst werden. In FHEM sieht das dann so aus | -e definiert die physikalische Adresse des knxd, -E definiert einen Adressbereich für ETS5 etc. (hier einen Bereich aus acht Adressen). Diese Adressen müssen an das eigene Netz angepasst werden. In FHEM sieht das dann so aus | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Zeile 177: | Zeile 179: | ||
sollte der knxd dann laufen. | sollte der knxd dann laufen. | ||
= FAQ = | == FAQ == | ||
'''Wie wird eibd vorher deinstalliert?''' | '''Wie wird eibd vorher deinstalliert?''' | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Zeile 200: | Zeile 202: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Links = | == Links == | ||
[[Benutzer:Marthinx]] | * [[Benutzer:Marthinx]] | ||
* [https://github.com/knxd/knxd Github knxd] | |||
[https://github.com/knxd/knxd Github knxd] | * [https://knx-user-forum.de/forum/projektforen/knxd/1049547-grundlagen-zum-knxd-mit-installationsanleitung-vor-dem-schreiben-lesen Forums-Thread zu knxd. Sehr informativ.] | ||
[https://knx-user-forum.de/forum/projektforen/knxd/1049547-grundlagen-zum-knxd-mit-installationsanleitung-vor-dem-schreiben-lesen Forums-Thread zu knxd. Sehr informativ.] | |||
[[Kategorie:Examples]] | [[Kategorie:Examples]] | ||
[[Kategorie:EIB/KNX]] | [[Kategorie:EIB/KNX]] |
Version vom 19. Oktober 2021, 13:50 Uhr
knxd mit einem IP Gateway einrichten
Damit FHEM auf den KNX Bus zugreifen kann, wird ein passendes Interface benötigt. Es gibt:
- RS232
- USB
- IP
Im Folgenden wird die Einrichtung von knxd mit einem IP Gateway auf einem Raspberry Pi2 mit Wheezy oder Jessie beschrieben.
Installation
1. als erstes müssen folgende Pakete installiert werden (Referenz Debian Jessie):
sudo apt-get update
sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd libev-dev cmake
1.1 als erstes müssen folgende Pakete installiert werden (Referenz Debian Stretch & Buster):
sudo apt-get update
sudo apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-dev dh-systemd libev-dev cmake
2. knxd herunterladen und installieren Achtung: Wenn Abhängigkeiten fehlen, dann müssen diese nachinstalliert werden. Nicht einfach mittels "-d" diese übergehen!
git clone https://github.com/knxd/knxd.git
cd knxd
git checkout deb
dpkg-buildpackage -b -uc
cd ..
sudo dpkg -i knxd_*.deb knxd-tools_*.deb
Konfiguration
1. Ohne systemd
Es muss als nächstes die Konfigurationsdatei editiert werden, das geht mit:
sudo nano /etc/default/knxd
dann folgende Einträge anpassen:
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ipt:192.168.188.XX"
und
START_KNXD=YES
2. Mit systemd z. B. für Debian Jessie
Die Konfigurationsdatei bei Jessie hat sich wegen der Nutzung von systemd geändert:
sudo nano /etc/knxd.conf
dann folgende Einträge anpassen:
KNXD_OPTS="-u /tmp/eib -u /var/run/knx -b ipt:192.168.188.XX"
und
START_KNXD=YES
knxd Status überprüfen
/etc/init.d/knxd status
knxd als IP-Gateway einrichten
Der knxd kann auch gleich als IP-Gateway eingerichtet und sowohl mit FHEM als auch parallel mit der ETS genutzt werden. Dazu ist, neben einem Raspberry Pi, ein Interface zum KNX-Bus erforderlich. Geeignet sind z.B.:
- ROT
- PIGATOR mit PIM-TPUART
- TUL
der Fa. Busware. Wer einen Rasperry Pi3 benutzen möchte, der sollte zum TUL greifen, da die serielle Schnittstelle UART0 das Bluetooth-Modul des Pi3 bedient und wieder auf die GPIO-Pins umgeleitet werden muss. Der TUL bringt seine eigene serielle Schnittstelle mit, so dass Bluetooth erhalten bleibt.
Vorbereiten des TUL
TUL flashen
Der TUL wird ohne Software geliefert und kann über den Raspberry Pi programmiert werden:
sudo apt-get install dfu-programmer
wget -O TPUARTtransparent.hex http://busware.de/tiki-download_file.php?fileId=54
sudo dfu-programmer atmega32u4 erase
sudo dfu-programmer atmega32u4 flash TPUARTtransparent.hex
sudo dfu-programmer atmega32u4 reset
sudo reboot
Soll der TUL unter Windows programmiert werden, so geht das mit FLIP. Die HEX-Datei kann hier herunter geladen werden. Der TUL hat an der Unterseite einen winzigen Button. Dieser muss gedrückt werden, während der TUL in die USB-Buchse gesteckt wird. In FLIP nun als Device=>Select ATmega32U4 auswählen und über Settings=>Communication=>USB die Verbindung herstellen. *.hex-Datei laden und im Rahmen Operation-Flow auf Run klicken. Fertig.
TUL einen dauerhaften Namen geben
Linux bindet USB-Geräte beim Boot in einer eher zufälligen Reihenfolge ein. Werden mehrere USB-Geräte betreiben, so ist es sinnvoll, dem TUL einen festen Namen zuzuordnen. Dazu wird der TUL zunächst mit dem Befehl
ls -la /dev/serial/by-id/
identifiziert. Das Ergebnis sollte ungefähr so aussehen
usb-busware.de_TPUART_8543934393935171B1C1-if00 -> ../../ttyACM0
Die Seriennummer (8543934393935171B1C1) wird später benötigt. Der Befehl
lsusb
sollte u.a. diese Zeile liefern
Bus 001 Device 005: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
03eb ist dabei die Herstellerkennung, 204b die Produktkennung. Nun muss die Datei /etc/udev/rules.d/99-usb-serial.rules
sudo nano /etc/udev/rules.d/99-usb-serial.rules
erstellt oder ergweitert werden mit der Zeile
SUBSYSTEM=="tty", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204b", ATTRS{serial}=="8543934393935171B1C1", SYMLINK+="knx", OWNER="knxd"
Der TUL wird dann unter /dev/knx erreichbar sein. Der knxd läuft als Benutzer knxd und hat damit die Berechtigung, auf den TUL zuzugreifen.
Vorbereiten des Raspberry Pi für ROT oder PIGATOR
Der Raspberry Pi nutzt standardmäßig die serielle Schnittstelle als Terminal. Dies muss deaktiviert werden:
sudo raspi-config
5 Interfaceoption
P6 Serial
Die Raspberry Pi 3 und 4 nutzen für die serielle Schnittstelle einen mini UART, der nicht mit dem knxd zusammenarbeitet. Der Hardware UART wird für Bluetooth verwendet. Bluetooth muss deaktiviert werden, damit der Hardware UART wieder unter ttyAMA0 zur Verfügung steht. In der /boot/config.txt muss die Zeile
dtoverlay=disable-bt
am Ende eingefügt werden. Nun muss noch der Dienst hciuart deaktiviert werden (initialisiert das Bluetooth-Modem):
sudo systemctl disable hciuart
Nach einem anschließenden Reboot ist der TPUART unter ttyAMA0 ansprechbar.
Andere BCU's (BusCouplerUnit)
Natürlich sind auch andere BCU's geeignet. Wer weiß, an welchem Ende er einen Lötkolben anzufassen hat, ist mit der MicroBCU gut bedient. Sie kann z.B. über einen ADUM1201 mit dem UART des Raspberry Pi verbunden werden (Tx->Rx, Rx->Tx, Konfiguration wie unter ROT beschrieben) oder über einen USB2Seriell-Konverter (Konfiguration ähnlich TUL).
Installieren des knxd
Die Installation erfolgt nun wie oben unter Installation beschrieben. Hier noch mal der dringende Hinweis, fehlende Abhängigkeiten nicht mit -d zu überspringen. Jede Abhängigkeit, die als Fehlend moniert wird, nachinstallieren und Kompilierung neu starten. Prozedur notfalls mehrfach wiederholen. Das Kompilieren dauert und manchmal geht es scheinbar nicht weiter. Also Geduld.
Konfiguration
Die Konfiguration erfolgt wieder in der knxd.conf mit
sudo nano /etc/knxd.conf
Nun die Konfiguarionszeile anpassen
(serielle Schnittstelle)
KNXD_OPTS="-e 1.2.202 -E 1.2.203:8 -u /tmp/eib -c -DTRS -b tpuarts:/dev/ttyAMA0"
(USB)
KNXD_OPTS="-e 1.2.202 -E 1.2.203:8 -u /tmp/eib -c -DTRS -b tpuarts:/dev/knx"
Und dann noch
START_KNXD=YES
um knxd beim Systemstart sofort zu starten.
-e definiert die physikalische Adresse des knxd, -E definiert einen Adressbereich für ETS5 etc. (hier einen Bereich aus acht Adressen). Diese Adressen müssen an das eigene Netz angepasst werden. In FHEM sieht das dann so aus
define KNX TUL eibd:127.0.0.1 1.2.203
Spätestens jetzt sollte der KNX-Bus angeschlossen werden.
Wurde die BCU über die serielle Schnittstelle angeschaltet, so muss der knxd noch die Berechtigung bekommen, auf diese zuzugreifen. Dazu fügen wir den Benutzer knxd der Gruppe dialout hinzu.
sudo usermod -aG dialout knxd
Wer Multicast nutzen möchte, muss ab Buster dieses noch aktivieren (z.B. für Tasmota-KNX)
sudo nano /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
"1" durch "0" ersetzen
Nach einem
sudo reboot
sollte der knxd dann laufen.
FAQ
Wie wird eibd vorher deinstalliert?
sudo rm -r /usr/local/bin/{eibd,knxtool,group*} /usr/local/lib/lib{eib,pthsem}*.so* /usr/local/include/pth*
folgender Fehler: dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
sudo apt-get install git-core build-essential
oder
in der datei knxd/debian/rules die Zeile:
bash tools/test.sh auskommentieren
Fehler: dpkg-buildpackage: error: fakeroot not found, either install the fakeroot <....>
sudo apt-get install fakeroot dpkg-dev