EIB/KNX


 

Der EIB/KNX Treiber ermöglicht es Datenpunkte im KNX auszulesen und zu manipulieren. Dabei kann der Treiber auf bereits im KNX-Netz vorhandene Datenpunkte zugreifen sowie eigene Datenpunkte lokal auf dem Gateway bereitstellen.

Bei Geräten mit integrierter KNX-Schnittstelle kann die physikalische Adresse (Default 15.15.255) auf einen beliebigen gültigen Wert eingestellt werden, dies erfolgt über die integrierte Weboberfläche.

Damit der Treiber beim hochfahren des Gateways für alle Datenpunkte aktuelle Werte erhält, müssen alle im Treiber definierte Datenpunkte ETS-seitig das Leseflag gesetzt haben. Andernfalls werden diese Datenpunkte erst bei Wertänderung zum Gateway übertragen und das Hochfahren des Gateways verzögert sich, da der Treiber missglückte Leseversuche diverse Male wiederholt. Sollte es nicht möglich sein, bei einem Datenpunkt das Leseflag zu setzten kann dem Treiber durch ein speziellen Formatzusatz mitgeteilt werden, dass dieser nicht lesbar ist. Für diese Datenpunkte überspringt der Treiber die initialen Leseversuche.

Bitte beachten Sie, dass für den Betrieb eine KNX Netzes in jedem Fall eine externe KNX-Spannungsversorgung vonnöten ist. Im Regelfall ist eine solche Spannungsversorgung in den bereits existierenden KNX Netzen vorhanden.

Der Name des EIB/KNX-Treibers lautet: eib
Die Routing-Adresse des ersten EIB/KNX-Treibers ist: 70
Die Datenpunktdatei für den ersten EIB/KNX-Treiber heißt: eib1.txt
Die Konfigurationsdatei für globale Einstellungen des ersten EIB/KNX-Treibers heißt: eib1.cfg

Bei dem EIB/KNX-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definition von Datenpunkten in der Datenpunktdatei:

Typ:Bedeutung
MGanzzahliger Wert (Binäre Datenpunkte, Zählwerte) der vom Gateway nur gelesen werden kann/soll.
SGanzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/soll.
XAnalogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/soll.
YAnalogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/soll.
AString, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten

Der Treiber kann sowohl zwei wie auch drei stellige KNX-Adressen verarbeiten. Die Adressen sind wie folgt aufgebaut.

Zweistellig: „<maj>/<min>[.<index>]„
Dreistellig: “<maj>/<mid>/<ext>[.<index>]„
Kommunikationsstatus mit EIB: „failure“

Dabei gilt folgende Definition:

ParameterWertebereichBeschreibung
<maj>0-31Obere Gruppenadresse
<min>0-2047Untere Gruppenadresse
<mid>0-7Mittlere Gruppenadresse
<ext>0-255Erweiterte Gruppenadresse
<index>1-255optionaler Index für Array Elemente

Die Adresse eines binären Quelldatenpunktes mit der dreistelligen Adresse „5/3/10“ wird demnach wie folgt in der Datei eibX.txt oder eibusbX.txt angegeben:

[M 5/3/10]

Um dem Treiber mitzuteilen wie er die unter einer Adresse abgelegten Informationen auswerten kann muss für jeden Datenpunkt das Format übergeben werden. Dies erfolgt anhand der Formatdefinition:

format = <format> [F:<fact>] [P:<poll>][U:<upd>] [I:<opt>] [L:<loc>] [H:<prio>] [R:<addr>] [D:<dly>]

Dabei kann <format> folgende Werte annehmen:

<format>Beschreibung
UINT11bit
UINT22bits
UINT33bits
UINT44bits
UINT55bits
UINT66bits
UINT77bits
UINT88bit unsigned (Vorzeichenlos)
SINT88bit signed
UINT1616bit unsigned
SINT1616bit signed
UINT2424bit unsigned
UINT3232bit unsigned
SINT3232bit signed (Vorzeichenbehaftet)
FLOAT32bit IEEE754 floating point (Fliesskommazahl)
DOUBLE64bit IEEE754 floating point
SFLOAT16bit IEEE754 floating point
DPT222Array mit 3x 16bit IEEE754 floating point

Zuordnungstabelle der EIB/KNX Standard-Datenpunkttypen zum UGW Format:

EIS TypDPT TypLängeBedeutungUGW Format
EIS-1DPT-11 BitSchaltenUINT1
EIS-2DPT-34 BitDimmenUINT4
EIS-3DPT-103 ByteZeitUINT24
EIS-4DPT-113 ByteDatumUINT24
EIS-5DPT-92 ByteFließkomma kurzSFLOAT
EIS-6DPT-5 DPT-61 ByteRelativwertUINT8 F:2.55
EIS-7DPT-11 BitAntriebssteuerungBIT1
EIS-8DPT-21/2 BitPrioritätskontrolleUINT1 / UINT2
EIS-9DPT-144 ByteFließkomma IEEE754 32BitFLOAT
EIS-10DPT-7 DPT-82 ByteZähler 16BitUINT16 / SINT16
EIS-11DPT-12 DPT-134 ByteZähler 32BitUINT32 / SINT32
EIS-12DPT-154 ByteZugangskontrolleUINT32
EIS-13DPT-41 ByteASCII/ISO8859-1 ZeichenUINT8
EIS-14DPT-5 DPT-61 ByteZähler 8BitUINT8 / SINT8
EIS-15DPT-1614 ByteText 14 Zeichen
8 ByteFließkomma IEEE 64BitDOUBLE
DPT-171 ByteSzeneUINT8
DPT-201 ByteHVAC ModeUINT8
DPT-211 ByteStatusUINT8
DPT-222 ByteStatusUINT16
DPT-232 BitAction on/off Alarm up/downUINT2
DPT-251 ByteDouble NibbleUINT8
DPT-261 ByteScene InfoUINT8
DPT-274 Bytecombined info on/offUINT32
DPT-2226 Byte3 SFLOAT Werte in einem ArrayDPT222
DPT-2323 ByteRGB FarbwertUINT24

EIS = EIB Interworking Standard, DPT = DatenPunktTyp

Bei Bedarf kann die Format-Angabe um weitere Parameter ergänzt werden, folgende Parameter stehen hierbei zur Verfügung:

WertWertebereichBeschreibung
F:<fact>Gültiger 32Bit floating point WertDivisor durch den der vom KNX-Bus übertragene Wert bei der Abbildung im Gateway dividiert wird bzw. Faktor mit dem der vom Gateway zum KNX-Bus übertagene Wert multipiziert wird. Wird kein Faktor angegeben so ist dieser „1.0“
P:<poll>0 - 216Zeit in Sekunden im dessen Intervall der Datenpunkt aktiv vom Bus gelesen wird. Wird keine Pollrate angegeben so ist diese „0“ d.h. es wird nicht zyklisch gelesen.
U:<upd>0 - 216Zeit in Sekunden im dessen Intervall der Datenpunkt aktiv auf den Bus geschrieben wird. Wird kein Updateintervall angegeben so ist dieses „0“ d.h. es wird nicht zyklisch geschrieben
I:<opt>0 - 7Bit0 Wertänderung:
„0“ Filtere Wertänderungen
„1“ Wertänderungen nicht filtern
Bit1 Wert Pollen:
„0“ Leseanfragen generieren
„1“ keine Leseanfragen generieren
Bit2 Lokales Schreiben:
„0“ keine Schreibanfragen generieren
„1“ Schreibanfragen generieren
Werden keine <opt>-Flags angegeben so werden diese als „0“ interpretiert.
Anmerkung: Für lokale Datenpunkte werden Bit0 und Bit1 intern immer auf „1“ gesetzt.
L:<loc>0 - 1„0“ Entfernter Datenpunkt
„1“ Lokaler Datenpunkt
H:<prio>0 - 1„0“ Niedrige Priorität (default)
„1“ Hohe Priorität
Definiert die Priorität mit der der Datenpunkt vom DP-Manager geschrieben wird. Datenpunkte hoher Priorität werden vor denen mit niedriger Priorität geschrieben.
R:<addr>Gültiger EIB-Datenpunkt ausgenommen: „failure“Diese Adresse wird gelesen nachdem der Datenpunkt zu dem diese Option gehört vom DP-Manager upgedated wurde. Der Treiber generiert diese Leseanfrage um <dly> Sekunden verzögert falls <dly> gesetzt ist.
D:<dly>0 - 216Zeit in Sekunden die der Treiber wartet bis der in <addr> definierten Datenpunkt gelesen wird nachdem der Datenpunkt zu dem diese Option gehört geschrieben wurde.

Typische Datenpunktdefinitionen können demnach sein:

[M 5/3/10]
name = digitale Betriebsmeldung
query = pe
format = UINT1

[S 2/10]
name = digitaler Sollwert
query = pe
format = UINT1
writecache = yes

[M 5/3/11]
name = multistate Meldung z.B. 0,1,2 für Aus,An,Auto
query = pe
format = UINT8

[S 5/3/12]
name = multistate Sollwert z.B. Stufenschalter 0,1,2 für Aus, An, Auto
query = pe
format = UINT8
writecache = yes

[X 5/3/13]
name = Temperatur Messwert
query = pe
format = SFLOAT

[Y 5/3/14]
name = Temperatur Sollwert
query = pe
format = SFLOAT
writecache = yes

# Prozentwerte 0-100% werden im EIB häufig auf 0-255 skaliert,
#deshalb muss in diesem Fall der Wert durch 2.55 dividiert werden.
[X 5/3/15]
name = Prozentwert
query = pe
format = UINT8 F:2.55

# Festkomma Wert (16 Bit, mit Faktor 10)
[X 13/3/222]
name = Festkomma
query = pe
format = UINT16 F:10

# Status der Verbindung zum EIB/KNX-Bus
[M failure]
name = Verbindung zum EIB-BUS, 0=OK 1=Ausfall
query = pe