Einrichten knxd mit MDT SCN-IP000.02: Unterschied zwischen den Versionen
K (Typos/Spelling) |
K (→Konfiguration von knxd: Definitionen korrigiert) |
||
Zeile 61: | 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 75: | 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 eib-Adresse (1.0.240) in der letzten Zeile stehen. | Wichtig ist, dass die IP-Adresse des Gateways und die eib-Adresse (1.0.240) in der letzten Zeile stehen. | ||
Zeile 93: | Zeile 93: | ||
* 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'' EIB-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. |
Version vom 27. November 2022, 09:58 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 eib-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 eib-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 EIB-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 EIB-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 EIB-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 EIB-Geräte angezeigt werden. Voraussetzung ist ein aktiviertes AutoCreate in fhem.cfg
define autocreate autocreate
- 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