|
<< Click to Display Table of Contents >> Navigation: Komponenten > Treiber > Treiber Gateway |
Die Gateway Funktion dient dazu, eine direkte bidirektionale Kommunikation zwischen Treibern herzustellen. Dadurch müssen nicht mehr die einzelnen Kanäle miteinander verknüpft werden. Folgende Treiber unterstützen diese Funktion:
Verbindungs-Schema:

Verknüpfungs-Datenpunkte
Sendender Treiber |
Datenpunkt |
Typ |
Datenpunkt |
Empfangender Treiber |
Funktion |
|---|---|---|---|---|---|
KNX |
Treiber Gateway - MQTT Client |
Bidirektional |
Treiber Gateway - KNX |
MQTT Client oder Broker |
Verbindungsdatenpunkt zwischen KNX und MQTT |
KNX |
Treiber Gateway - BACnet Server |
Bidirektional |
Treiber Gateway - KNX |
BACnet Server |
Verbindungsdatenpunkt zwischen KNX und BACnet Server |
BACnet Server |
Treiber Gateway - MQTT Client |
Bidirektional |
Treiber Gateway - BACnet Server |
MQTT Client oder Broker |
Verbindungsdatenpunkt zwischen BACnet Server und MQTT |
Modbus Master |
Treiber Gateway - BACnet Server |
Bidirektional |
Treiber Gateway - Modbus Master |
BACnet Server |
Verbindungsdatenpunkt zwischen Modbus Master und BACnet Server |
Modbus Master |
Treiber Gateway - MQTT Client |
Bidirektional |
Treiber Gateway - Modbus Master |
MQTT Client oder Broker |
Verbindungsdatenpunkt zwischen Modbus Master und MQTT |
BACnet Client |
Treiber Gateway - MQTT Client |
Bidirektional |
Treiber Gateway - BACnet Client |
MQTT Client oder Broker |
Verbindungsdatenpunkt zwischen BACnet Client und MQTT |
Import
Name |
Funktion |
|---|---|
KNX (CSV) |
Damit die KNX-Datenpunkte im MQTT oder dem BACnet-Server erzeugt werden, ist ein Export als "CSV (TAB)" aus der Datenpunktliste des KNX-Treibers und anschließendem "KNX (CSV)"-Import in der Kanalliste des MQTT oder BACnet-Servers nötig. |
KNX (XML) |
Damit die KNX-Datenpunkte im MQTT-Client oder dem BACnet-Server erzeugt werden, ist ein XML-Export aus dem Gruppenadressfenster der ETS und anschließendem "KNX (XML)"-Import in der Kanalliste des MQTT-Clients oder BACnet-Servers nötig. |
Modbus Master |
Damit die Modbus-Master-Datenpunkte im MQTT oder dem BACnet-Server erzeugt werden, ist einmal ein Export als xml aus der Datenpunktliste des Modbus-Master-Treibers und anschließendem "Modbus"-Import in der Kanalliste des MQTT oder des BACnet-Servers nötig. |
BACnet Server |
Damit die BACnet-Server-Datenpunkte im MQTT erzeugt werden, ist ein Export als XML aus der Datenpunktliste des BACnet-Server-Treibers und anschließendem "BACnet (Server)"-Import in der Kanalliste des MQTT nötig. |
BACnet Client |
Damit die BACnet-Client-Datenpunkte im MQTT erzeugt werden, ist ein Export als XML aus der Datenpunktliste des BACnet-Client-Treibers und anschließendem "BACnet (Client)"-Import in der Kanalliste des MQTT nötig. |
Beispiel KNX-Import aus EisBär KNX-Treiberexport im Bacnet Kanal-Editor:

Beispiel KNX-Import aus ETS-Gruppenadressexport im MQTT Kanal-Editor:
(siehe auch KNX 2 MQTT)

Hinweise:
Datenimport und / oder manuelle Datenpunkteingabe
Im "Normalfall" (alle benötigten Objekte wurden importiert und die Verbindung geht nur über den Gateway Datenpunkt) können Steuerelemente z.B. mit der KNX Komponente verbunden werden. Wird dort ein Befehl ausgelöst, so geht der zum einen auf den KNX Bus und wird zum anderen über den Gateway-DP an BACnet gesendet. Analog könnte das Steuerelement auch mit dem korrespondierenden BACnet Datenpunkt verbunden werden -> in dem Falle sendet der Bacnet direkt und parallel den Wert über das GW an den KNX.
Im Bacnet-Kanal gibt es eine Spalte "DriverGatewayReference" die beim Gateway-Import mit einer eindeutigen Referenz des Fremdsystems gesetzt wird. Im Falle von KNX ist das die physikalische Adresse (csv) bzw der Name (xml).
Kommt eine Änderung über den Gateway-Datenpunkt, so wird anhand der DriverGatewayReference geschaut welcher Bacnet-Kanal dem entspricht. Diese DriverGatewayReference hat keine sichtbare Spalte im Kanaleditor und wird nur durch einen Import gesetzt. Nachträglich manuell angelegte Bacnet-Kanäle werden nicht auf KNX-Objekte gemappt, da die Eingabemöglichkeit fehlt (Workaround über Export - Edit - Import der Kanalliste ist möglich). Werden solche Kanäle manuell angelegt und diese ein Gegenstück auf KNX Seite haben, müssen die entsprechenden Datenpunkte explizit verknüpft werden.
Wenn auf KNX Seite oder durch ein Steuerelement, das mit beiden Datenpunkten (KNX und Bacnet) verknüpft ist eine Aktion ausgelöst wird, so wird diese sowohl auf KNX-Seite, als auch auf Bacnet-Seite nur einmal auf den jeweiligen Bus gesendet.
Werden KNX-Werte zweimal gesendet (z.B. einmal beim Triggereingang und dann vom Bus zurück), wird das auf Bacnet-Seite entprellt. Es wird nach Wertänderung geprüft. Falls gleiche Wert zyklisch gesendet werden, müssen mindestens 500ms dazwischen liegen, bevor diese auf Bacnetseite erneut gesendet werden.