Einrichten knxd mit MDT SCN-IP000.02: Unterschied zwischen den Versionen
Klinki (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Vorwort = Im Rahmen einer Machbarkeitsstudie ging es um das Thema Zählererfassung im betrieblichen Umfeld. Dazu sollten diverse Techniken und Bus-Systeme m…“) |
Krikan (Diskussion | Beiträge) K (Gliederungsebenen an FHEMWiki-Standard angepasst) |
||
Zeile 1: | Zeile 1: | ||
= Vorwort = | == 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. | 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 | 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. | 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 = | == Voraussetzungen == | ||
==Hardware== | ===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== | ===Software=== | ||
* | :* FHEM 5.7 Installation auf Raspberry Pi 3, gemäß Anleitung (folgt!), '''Raspian 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] | |||
:* Katalog-Datei für die ETS vom Binär-Eingang. Quelle: [http://www.mdt.de/Downloads_Produktdatenbanken.html MDT-Homepage] | |||
=Installation= | ==Installation== | ||
* KNX-Daemon für Linux. Als Leitfaden diente [http://www.fhemwiki.de/wiki/Knxd Fhem-Wiki] | * KNX-Daemon für Linux. Als Leitfaden diente [http://www.fhemwiki.de/wiki/Knxd Fhem-Wiki] | ||
:* Zusätzliche Pakete installieren (als root oder sudo benutzen) | |||
<pre> | <pre> | ||
apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd | apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd | ||
</pre> | </pre> | ||
:* lib pthsem herunterladen und installieren | |||
<pre> | <pre> | ||
wget https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz | wget https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz | ||
Zeile 29: | Zeile 29: | ||
sudo dpkg -i libpthsem*.deb | sudo dpkg -i libpthsem*.deb | ||
</pre> | </pre> | ||
:* KNXD herunterladen und installieren | |||
<pre> | <pre> | ||
git clone https://github.com/knxd/knxd.git | git clone https://github.com/knxd/knxd.git | ||
Zeile 37: | Zeile 37: | ||
sudo dpkg -i knxd_*.deb knxd-tools_*.deb | sudo dpkg -i knxd_*.deb knxd-tools_*.deb | ||
</pre> | </pre> | ||
:* ''/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> | ||
# configuration for knxd.service | # configuration for knxd.service | ||
Zeile 85: | Zeile 85: | ||
Die ''192.168.0.88'' ist exemplarisch für die IP-Adresse eures KNX-Gateways. | 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: | Der Status des KNX-Dienstes kann mit ''systemctl status knxd.service'' geprüft werden. Die Ausgabe sollte so ähnlich aussehen: | ||
<pre> | <pre> | ||
Zeile 108: | Zeile 108: | ||
systemctl stop knxd.socket | systemctl stop knxd.socket | ||
</pre> | </pre> | ||
Achtung! wird der Dienst beendet während | Achtung! wird der Dienst beendet während FHEM in benutzt, '''hängt sich FHEM auf''' und muss neu gestartet werden. | ||
* Definition des IP-Gateways in | * Definition des IP-Gateways in FHEM: | ||
<pre> | <pre> | ||
define KNX TUL eibd:192.168.0.1 1.0.240 | define KNX TUL eibd:192.168.0.1 1.0.240 | ||
Zeile 118: | Zeile 118: | ||
''1.0.240'' EIB-Adresse für FHEM/KNXD | ''1.0.240'' EIB-Adresse für FHEM/KNXD | ||
Nach dem | Nach dem FHEM-Neustart sollte das neue Device "KNX" den Status "Initialized" haben. | ||
= Installation/Konfiguration ETS= | == Installation/Konfiguration ETS== | ||
Die ETS wird benötigt um KNX-Sensoren/Aktoren zu parametrieren und ihnen EIB-konforme Adressen zuzuweisen. | 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 [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. | ||
==Einrichtung des Binäreingangs BE-04000-01 in ETS== | ===Einrichtung des Binäreingangs BE-04000-01 in ETS=== | ||
* Bevor der Binär-Eingang benutzt werden kann, muss dieser in ETS konfiguriert werden. | * 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. | Dazu wird in ETS zunächst ein Projekt angelegt. Als "Linientyp" wird TP (Twisted Pair) definiert. | ||
Zeile 145: | Zeile 145: | ||
* 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 | === Installation/Konfiguration FHEM=== | ||
* In | * In FHEM sollten jetzt die neu erzeugten EIB-Geräte angezeigt werden. Voraussetzung ist ein aktiviertes AutoCreate in ''fhem.cfg'' | ||
<pre> | <pre> | ||
define autocreate autocreate | define autocreate autocreate |
Version vom 18. April 2016, 15:44 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!), Raspian 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
- KNX-Daemon für Linux. Als Leitfaden diente Fhem-Wiki
- Zusätzliche Pakete installieren (als root oder sudo benutzen)
apt-get install debhelper cdbs automake libtool libusb-1.0-0-dev git-core build-essential libsystemd-daemon-dev dh-systemd
- lib pthsem herunterladen und installieren
wget https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz tar xzf pthsem_2.0.8.tar.gz cd pthsem-2.0.8 dpkg-buildpackage -b -uc cd .. sudo dpkg -i libpthsem*.deb
- KNXD herunterladen und installieren
git clone https://github.com/knxd/knxd.git cd knxd dpkg-buildpackage -b -uc cd .. sudo dpkg -i knxd_*.deb knxd-tools_*.deb
- /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 -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 -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 in benutzt, hängt sich FHEM auf und muss neu gestartet werden.
- Definition des IP-Gateways in FHEM:
define KNX TUL eibd:192.168.0.1 1.0.240
192.168.0.1 Adresse des KNX-Daemons, i.d.R. localhost
1.0.240 EIB-Adresse für FHEM/KNXD
Nach dem FHEM-Neustart sollte das neue Device "KNX" den Status "Initialized" haben.
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 Drag N Drop 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