Einrichten knxd mit MDT SCN-IP000.02: Unterschied zwischen den Versionen

Aus FHEMWiki
(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…“)
 
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 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 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 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 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
:* 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'''
:* 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]  
:* 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==
* 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)
:* 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
:*  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
:* 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.
:* ''/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 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 fhem in benutzt, '''hängt sich fhem auf''' und muss neu gestartet werden.
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:
* 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 fhem-Neustart sollte das neue Device "KNX" den Status "Initialized" haben.
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 fhem==
=== Installation/Konfiguration FHEM===
* In fhem sollten jetzt die neu erzeugten EIB-Geräte angezeigt werden. Voraussetzung ist ein aktiviertes AutoCreate in ''fhem.cfg''
* 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, 16: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:

Ets struktur.png

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

Geraet parametrieren.png

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
  • Fhem eib.png
  • 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