Einrichten knxd mit MDT SCN-IP000.02: Unterschied zwischen den Versionen
Krikan (Diskussion | Beiträge) K (Intrawiki-Links korrigiert) |
K (EIB durch KNX ersetzt) |
||
(4 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
Im Rahmen einer Machbarkeitsstudie ging es um das Thema Zählererfassung im betrieblichen Umfeld. Dazu sollten diverse Techniken und Bus-Systeme mit einbezogen werden. | Im Rahmen einer Machbarkeitsstudie ging es um das Thema Zählererfassung im betrieblichen Umfeld. Dazu sollten diverse Techniken und Bus-Systeme mit einbezogen werden. | ||
Als eine Art (halb privates) Nebenprojekt kam auch die Verknüpfung zwischen FHEM und einem KNX-Zählerbaustein zum Einsatz. | Als eine Art (halb privates) Nebenprojekt kam auch die Verknüpfung zwischen FHEM und einem KNX-Zählerbaustein zum Einsatz. | ||
Es gibt hier im Wiki zwar schon die Beschreibung [[Einrichten_von_eibd_für_das_Weinzierl_IP_730_Interface]], aber diese beschäftigt sich mit anderer Hardware und dem | Es gibt hier im Wiki zwar schon die Beschreibung [[Einrichten_von_eibd_für_das_Weinzierl_IP_730_Interface]], aber diese beschäftigt sich mit anderer Hardware und dem knx-daemon. | ||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 10: | Zeile 10: | ||
:* MDT Spannungsversorgung STV-0160.01. Achtung! Es kann keine Standard 24V Spannungsversorgung verwendet werden, da diese nicht die für KNX benötigte Drossel enthält | :* MDT Spannungsversorgung STV-0160.01. Achtung! Es kann keine Standard 24V Spannungsversorgung verwendet werden, da diese nicht die für KNX benötigte Drossel enthält | ||
===Software=== | ===Software=== | ||
:* FHEM 5.7 Installation auf Raspberry Pi 3, gemäß Anleitung (folgt!), ''' | :* FHEM 5.7 Installation auf Raspberry Pi 3, gemäß Anleitung (folgt!), '''Raspbian Jessie''' | ||
:* ETS 5.0 wird für die Konfiguration der KNX-Komponenten benötigt. Kostenfreie Demo-Lizenz. Beschränkt auf 5 Geräte. Download von [https://knx.org/knx-de/software/ets/herunterladen/index.php KNX.org] | :* ETS 5.0 wird für die Konfiguration der KNX-Komponenten benötigt. Kostenfreie Demo-Lizenz. Beschränkt auf 5 Geräte. Download von [https://knx.org/knx-de/software/ets/herunterladen/index.php KNX.org] | ||
:* Katalog-Datei für die ETS vom Binär-Eingang. Quelle: [http://www.mdt.de/Downloads_Produktdatenbanken.html MDT-Homepage] | :* Katalog-Datei für die ETS vom Binär-Eingang. Quelle: [http://www.mdt.de/Downloads_Produktdatenbanken.html MDT-Homepage] | ||
==Installation== | ==Installation von knxd== | ||
KNX-Daemon für Linux installieren: [[Knxd#Installation]] | |||
==Konfiguration von knxd== | |||
:* ''/etc/knxd.conf'' anlegen. Relevant ist nur die letzte Zeile. Die originale Datei enthält eine für das System nicht funktionierende Konfiguration. Daher wird der gesamte Inhalt der Datei hier dokumentiert. | :* ''/etc/knxd.conf'' anlegen. Relevant ist nur die letzte Zeile. Die originale Datei enthält eine für das System nicht funktionierende Konfiguration. Daher wird der gesamte Inhalt der Datei hier dokumentiert. | ||
<pre> | <pre> | ||
Zeile 80: | Zeile 61: | ||
# This file is ignored when NOT using systemd: edit /etc/default/knxd instead # | # This file is ignored when NOT using systemd: edit /etc/default/knxd instead # | ||
############################################################################### | ############################################################################### | ||
KNXD_OPTS="-e 1.0.240 | KNXD_OPTS="-e 1.0.240 -E 1.0.241:8 -b ipt:192.168.0.88" | ||
</pre> | </pre> | ||
Zeile 94: | Zeile 75: | ||
Main PID: 1258 (knxd) | Main PID: 1258 (knxd) | ||
CGroup: /system.slice/knxd.service | CGroup: /system.slice/knxd.service | ||
└─1258 /usr/bin/knxd -e 1.0.240 -b ipt:192.168.0.88 | └─1258 /usr/bin/knxd -e 1.0.240 -E 1.0.241:8 -b ipt:192.168.0.88 | ||
</pre> | </pre> | ||
Wichtig ist, dass die IP-Adresse des Gateways und die | Wichtig ist, dass die IP-Adresse des Gateways und die KNX-phy-Adresse (1.0.240) in der letzten Zeile stehen. | ||
Der Dienst kann auch manuell gestartet und gestoppt werden: | Der Dienst kann auch manuell gestartet und gestoppt werden: | ||
Zeile 108: | Zeile 89: | ||
systemctl stop knxd.socket | systemctl stop knxd.socket | ||
</pre> | </pre> | ||
Achtung! wird der Dienst beendet während FHEM | Achtung! wird der Dienst beendet während FHEM ihn benutzt, '''hängt sich FHEM auf''' und muss neu gestartet werden. | ||
* Definition des IP-Gateways in FHEM: | * Definition des IP-Gateways in FHEM: | ||
<pre> | <pre> | ||
define | define myKNXGW KNXIO T 192.168.0.1:6720 1.0.241 | ||
</pre> | </pre> | ||
''192.168.0.1'' Adresse des KNX-Daemons, i.d.R. localhost | ''192.168.0.1'' Adresse des KNX-Daemons, i.d.R. localhost | ||
''1.0. | ''1.0.210'' KNX-Adresse für FHEM/KNXD | ||
Nach dem FHEM-Neustart sollte das neue Device "KNX" den Status "Initialized" haben. | Nach dem FHEM-Neustart sollte das neue Device "KNX" den Status "Initialized" haben. | ||
Falls ihr Probleme mit der systemd socket activation habt könnt ihr diese mit "systemctl disable knxd.socket" ausschalten. Dann müsst ihr aber wieder -u und -i einfügen! | |||
== Installation/Konfiguration ETS== | == Installation/Konfiguration ETS== | ||
Die ETS wird benötigt um KNX-Sensoren/Aktoren zu parametrieren und ihnen | Die ETS wird benötigt um KNX-Sensoren/Aktoren zu parametrieren und ihnen KNX-konforme Adressen zuzuweisen. | ||
Ich empfehle an dieser Stelle das Dokument "Grundlagenwissen zum KNX Standard", welches von [https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwi9w-O74ojMAhVBfxoKHeXKByAQFggkMAA&url=http%3A%2F%2Fwww.knx.org%2Ffileadmin%2Fdownloads%2F08%2520-%2520KNX%2520Flyers%2FGrundlagenwissen%2520zum%2520KNX%2520Standard%2FGrundlagenwissen_zum_KNX_Standard_German.pdf&usg=AFQjCNETdgrIp23RbSTx-E8Q0qFuNH1hBw&cad=rja KNX.org] heruntergeladen werden kann. | Ich empfehle an dieser Stelle das Dokument "Grundlagenwissen zum KNX Standard", welches von [https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwi9w-O74ojMAhVBfxoKHeXKByAQFggkMAA&url=http%3A%2F%2Fwww.knx.org%2Ffileadmin%2Fdownloads%2F08%2520-%2520KNX%2520Flyers%2FGrundlagenwissen%2520zum%2520KNX%2520Standard%2FGrundlagenwissen_zum_KNX_Standard_German.pdf&usg=AFQjCNETdgrIp23RbSTx-E8Q0qFuNH1hBw&cad=rja KNX.org] heruntergeladen werden kann. | ||
Zeile 142: | Zeile 125: | ||
Hier kann jetzt für jeden Eingang des Bausteins die entsprechende Funktion eingestellt werden, z.B. Schalter, Zähler, usw. | Hier kann jetzt für jeden Eingang des Bausteins die entsprechende Funktion eingestellt werden, z.B. Schalter, Zähler, usw. | ||
* Aus dem unteren Fenster werden nun per | * Aus dem unteren Fenster werden nun per DragNDrop die erstellten Gruppenadressen auf die jeweiligen Eingänge des Geräts gezogen. Damit wird auch die KNX-Adresse für jeden Eingang festgelegt. | ||
* Jetzt muss das Gerät noch programmiert werden. Dazu Programmieren -> Physikalische Adresse und Applikationsprogramm | * Jetzt muss das Gerät noch programmiert werden. Dazu Programmieren -> Physikalische Adresse und Applikationsprogramm | ||
=== Installation/Konfiguration FHEM=== | === Installation/Konfiguration FHEM=== | ||
* In FHEM sollten jetzt die neu erzeugten | * In FHEM sollten jetzt die neu erzeugten KNX-Geräte angezeigt werden. Voraussetzung ist ein aktiviertes AutoCreate in ''fhem.cfg und das die KNX Geräte eine bestimmte Anzahl Messages / Zeiteinheit senden! (siehe autocreate definition)..'' | ||
<pre> | <pre> | ||
define autocreate autocreate | define autocreate autocreate | ||
</pre> | </pre> | ||
*Meist ist es sinnvoller, die Geräte manuell in FHEM zu definieren, da kann dann auch ein "sprechender" Name vergeben werden:<syntaxhighlight lang="text"> | |||
define WohnzimmerLampe KNX 1/1/1:dpt1 | |||
</syntaxhighlight> | |||
*[[Datei:Fhem eib.png]] | *[[Datei:Fhem eib.png]] | ||
* Der Schalteingang wird als Glühbirne dargestellt | * Der Schalteingang wird als Glühbirne dargestellt | ||
* Beim Zählereingang steht nur der Zählerstand als HEX-Zahl. In der ETS lässt sich für den Zähleingang festlegen, wie oft er Counter-Werte übertragen soll, z.B. alle 30 Impulse sollen übermittelt werden | * Beim Zählereingang steht nur der Zählerstand als HEX-Zahl. In der ETS lässt sich für den Zähleingang festlegen, wie oft er Counter-Werte übertragen soll, z.B. alle 30 Impulse sollen übermittelt werden | ||
[[Kategorie: Examples]] | [[Kategorie: Examples]] | ||
[[Kategorie:EIB/KNX]] | [[Kategorie:EIB/KNX]] |
Aktuelle Version vom 28. November 2022, 09:50 Uhr
Vorwort
Im Rahmen einer Machbarkeitsstudie ging es um das Thema Zählererfassung im betrieblichen Umfeld. Dazu sollten diverse Techniken und Bus-Systeme mit einbezogen werden. Als eine Art (halb privates) Nebenprojekt kam auch die Verknüpfung zwischen FHEM und einem KNX-Zählerbaustein zum Einsatz. Es gibt hier im Wiki zwar schon die Beschreibung Einrichten_von_eibd_für_das_Weinzierl_IP_730_Interface, aber diese beschäftigt sich mit anderer Hardware und dem knx-daemon.
Voraussetzungen
Hardware
- MDT IP-Interface SCN-IP000.02. Wird später als IP-Tunneling-Device verwendet. Adresse wird über DHCP bezogen. Sollte geändert werden
- MDT 4fach Binäreingang BE-04000.01. Dient als Zählermodul
- MDT Spannungsversorgung STV-0160.01. Achtung! Es kann keine Standard 24V Spannungsversorgung verwendet werden, da diese nicht die für KNX benötigte Drossel enthält
Software
- FHEM 5.7 Installation auf Raspberry Pi 3, gemäß Anleitung (folgt!), Raspbian Jessie
- ETS 5.0 wird für die Konfiguration der KNX-Komponenten benötigt. Kostenfreie Demo-Lizenz. Beschränkt auf 5 Geräte. Download von KNX.org
- Katalog-Datei für die ETS vom Binär-Eingang. Quelle: MDT-Homepage
Installation von knxd
KNX-Daemon für Linux installieren: Knxd#Installation
Konfiguration von knxd
- /etc/knxd.conf anlegen. Relevant ist nur die letzte Zeile. Die originale Datei enthält eine für das System nicht funktionierende Konfiguration. Daher wird der gesamte Inhalt der Datei hier dokumentiert.
# configuration for knxd.service #KNXD_OPTS="-u /tmp/eib -b ip:" # The default options are "-u /tmp/eib -b ip:" # which tell knxd to route between all of # /tmp/eib (legacy socket (-u)) # multicast client (-b ip:). # The knxd.socket file also tells knxd to listen to # /run/eib (socket activation via systemd) # TCP port 6720 (socket activation via systemd) # *** DO NOT use "-u" / "-u /run/knx" or "-i" / "-i 6720" here. # Systemd already does that on behalf of knxd, via 'knx.socket'. # If you have KNX hardware on a serial port or USB, add the appropriate # "-b TYPE:…" option. In this case, you probably want to set up a multicast # server, not a client (i.e. use "-D -T -R -S", not "-b ip:"). # DO NOT use both. # # If your KNX hardware is a KNX/IP gateway that doesn't do multicast, # use "-b ipt:192.168.1.2" (or its DNS name) to talk to it. # # KNX MUST NOT have more than one path between any two devices. Thus, # you need to make sure that the KNX/IP gateway does not route multicast # before you use both "-S" and "-b ipt:". # The default bus address of knxd is 0.0.1. If that's in use in your KNX # network (or if you run more than one knxd on your network), set a # different address (-e 15.0.99). # Run `knxd --help` to get a complete list of available options and drivers. ## DO NOT use the following options: ## -i -- /lib/systemd/system/knxd.socket does this for us ## -u /run/knx -- likewise ## -d -- /lib/systemd/system/knxd.service expects knxd to run in the foreground ############################################################################### # This file is ignored when NOT using systemd: edit /etc/default/knxd instead # ############################################################################### KNXD_OPTS="-e 1.0.240 -E 1.0.241:8 -b ipt:192.168.0.88"
Die 192.168.0.88 ist exemplarisch für die IP-Adresse eures KNX-Gateways.
- Der Daemon sollte auch einem Jessie-System mit dem System starten.
Der Status des KNX-Dienstes kann mit systemctl status knxd.service geprüft werden. Die Ausgabe sollte so ähnlich aussehen:
root@rasspi-fhem99:~# systemctl status knxd.service ● knxd.service - KNX Daemon Loaded: loaded (/lib/systemd/system/knxd.service; enabled) Active: active (running) since Mo 2016-04-11 13:35:53 CEST; 14s ago Main PID: 1258 (knxd) CGroup: /system.slice/knxd.service └─1258 /usr/bin/knxd -e 1.0.240 -E 1.0.241:8 -b ipt:192.168.0.88
Wichtig ist, dass die IP-Adresse des Gateways und die KNX-phy-Adresse (1.0.240) in der letzten Zeile stehen.
Der Dienst kann auch manuell gestartet und gestoppt werden: Start:
systemctl start knxd.service
Beenden:
systemctl stop knxd.service systemctl stop knxd.socket
Achtung! wird der Dienst beendet während FHEM ihn benutzt, hängt sich FHEM auf und muss neu gestartet werden.
- Definition des IP-Gateways in FHEM:
define myKNXGW KNXIO T 192.168.0.1:6720 1.0.241
192.168.0.1 Adresse des KNX-Daemons, i.d.R. localhost
1.0.210 KNX-Adresse für FHEM/KNXD
Nach dem FHEM-Neustart sollte das neue Device "KNX" den Status "Initialized" haben.
Falls ihr Probleme mit der systemd socket activation habt könnt ihr diese mit "systemctl disable knxd.socket" ausschalten. Dann müsst ihr aber wieder -u und -i einfügen!
Installation/Konfiguration ETS
Die ETS wird benötigt um KNX-Sensoren/Aktoren zu parametrieren und ihnen KNX-konforme Adressen zuzuweisen. Ich empfehle an dieser Stelle das Dokument "Grundlagenwissen zum KNX Standard", welches von KNX.org heruntergeladen werden kann.
Einrichtung des Binäreingangs BE-04000-01 in ETS
- Bevor der Binär-Eingang benutzt werden kann, muss dieser in ETS konfiguriert werden.
Dazu wird in ETS zunächst ein Projekt angelegt. Als "Linientyp" wird TP (Twisted Pair) definiert. Das IP-Gateway wird von der ETS selbstständig gefunden.
- Bevor das Gerät selbst in ETS angezeigt werden kann, muss eine Struktur für das Gerät erzeugt werden:
1 Gebäudestruktur: Haus -> Keller -> Unterverteilung
2 Adressstruktur: "1 Haupt" -> "1/1 Mittel" -> "1/1/1 Schalter" 1.1.1 ist demnach die spätere Adresse für Schalteingang A des 4fach Geräts
3 Katalog-Import: Hier wird der Katalog für das Gerät importiert. Dieser wird dann per DragNDrop auf die erstellte Struktur "Unterverteilung" gezogen
- Jetzt kann das Gerät "Binäreingang 4-fach..." parametriert werden. Dazu im mittleren Fenster den Reiter "Parameter" wählen
Hier kann jetzt für jeden Eingang des Bausteins die entsprechende Funktion eingestellt werden, z.B. Schalter, Zähler, usw.
- Aus dem unteren Fenster werden nun per DragNDrop die erstellten Gruppenadressen auf die jeweiligen Eingänge des Geräts gezogen. Damit wird auch die KNX-Adresse für jeden Eingang festgelegt.
- Jetzt muss das Gerät noch programmiert werden. Dazu Programmieren -> Physikalische Adresse und Applikationsprogramm
Installation/Konfiguration FHEM
- In FHEM sollten jetzt die neu erzeugten KNX-Geräte angezeigt werden. Voraussetzung ist ein aktiviertes AutoCreate in fhem.cfg und das die KNX Geräte eine bestimmte Anzahl Messages / Zeiteinheit senden! (siehe autocreate definition)..
define autocreate autocreate
- Meist ist es sinnvoller, die Geräte manuell in FHEM zu definieren, da kann dann auch ein "sprechender" Name vergeben werden:
define WohnzimmerLampe KNX 1/1/1:dpt1
- Der Schalteingang wird als Glühbirne dargestellt
- Beim Zählereingang steht nur der Zählerstand als HEX-Zahl. In der ETS lässt sich für den Zähleingang festlegen, wie oft er Counter-Werte übertragen soll, z.B. alle 30 Impulse sollen übermittelt werden