Plugin ‚knx‘ Konfiguration
Im folgenden sind etwaige Anforderungen und unterstützte Hardware beschrieben. Danach folgt die Beschreibung, wie das Plugin knx konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann. [1]
Es handelt sich bei diesem Plugin um ein gateway Plugin.
Beschreibung
Anbindung von KNX Bussystemen via EIBD/KNXD Daemon
Anforderungen
Minimum SmartHomeNG Version: 1.9.0
Konfiguration
Im folgenden ist beschrieben, wie das Plugin knx konfiguriert wird. Außerdem ist im folgenden beschrieben, wie das Plugin in den Item Definitionen genutzt werden kann.
Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/plugin.yaml konfiguriert werden:
busmonitor
Wenn auf ‚on‘/‘true‘ gesetzt, wird jedes KNX-Paket im Standard-Logger protokolliert. Wenn ‚logger‘ eingestellt ist, werden alle KNX-Meldungen in einem separaten Logger ‚knx_busmonitor‘ protokolliert.
Datentyp: str
Standardwert: off
Mögliche Werte:
on
off
logger
true
false
True
False
date_ga
Gruppenadresse, um das Datum an den Knx-Bus zu senden
Datentyp: knx_ga
enable_stats
Wenn diese Option auf „True“ gesetzt ist, werden die Statistikfunktionen aktiviert um Daten erfassen
Datentyp: bool
Standardwert: True
host
IP Adresse oder Hostname des KNX Schnittstellen Dienstes
Datentyp: ip
Standardwert: 127.0.0.1
log_own_packets
Wenn der Wert auf „True“ gesetzt ist, loggt der Busmonitor auch Pakete, die vom Plugin selbst geschrieben werden.
Datentyp: bool
Standardwert: False
loglevel_knxd_cache_problems
Beim Start von SmartHomeNG werden Items mit dem Attribut knx_cache direkt vom knxd eingelesen. Wenn die Werte der Gruppenadressen nicht verfügbar sind, liefert der knxd ein fehlerhaftes Paket. Mit dem hier festgelegten Loglevel wird dieses Paket protokolliert.
Datentyp: str
Standardwert: INFO
Mögliche Werte:
DEBUG
WARNING
INFO
ERROR
NOTSET
port
Port, der bei der Kommunikation mit dem KNX Schnittstellen Dienst verwendet wird
Datentyp: int
Standardwert: 6720
Minimalwert: 0
Maximalwert: 65535
project_file_password
Legt optional ein Passwort für den Zugriff auf eine knxproj Datei fest
Datentyp: str
projectpath
Legt den Pfad fest, wo das Plugin eine hochgeladene ETS Projektdatei speichert. Wenn der Pfad relativ ist, wird dazu als Basis das Startverzeichnis von SmartHomeNG genommen
Datentyp: str
Standardwert: var/knx
provider
Dienst, der die Schnittstelle zum KNX bereitstellt. Das kann der eibd/knxd sein, aber auch eine IP Schnittstelle oder ein IP Router
Datentyp: str
Standardwert: knxd
Mögliche Werte:
knxd
IP Interface
IP Router
readonly
Wenn der Wert auf „True“ gesetzt ist, liest das Plugin nur den KNX-Bus und sendet keine Nachrichten an den Bus.
Datentyp: bool
Standardwert: False
send_time
Zeitintervall (in Sekunden) zum Senden von Uhrzeit und Datum an den KNX-Bus
Datentyp: int
Standardwert: 0
Minimalwert: 0
time_ga
Gruppenadresse, um die Uhrzeit an den Knx-Bus zu senden
Datentyp: knx_ga
use_project_file
Wenn diese Option auf „True“ gesetzt ist, kann eine ETS Projektdatei hochgeladen und die enthaltenen Gruppenadressen angezeigt werden
Datentyp: bool
Standardwert: False
Item Attribute
Das Plugin unterstützt folgende Item Attribute, die in den Dateien im Verzeichnis ../items verwendet werden:
knx_cache
Gruppenadresse für die Initialisierung des Items. Der Wert wird aus dem Cache von KNXD/EIBD gelesen. Wenn kein Cache-Wert vorhanden ist, wird der KNX-Bus nach dem Wert abgefragt. Die Angabe impliziert knx_listen, also muss knx_listen nicht für diese Gruppenadresse angegeben werden.
Datentyp: knx_ga
knx_dpt
Dieses Attribut setzt den Typ des KNX-Datenpunktes, der für die Konvertierung der KNX-Nachrichten in das interne SmartHomeNG-Format verwendet wird. Die Angabe ist zwingend erforderlich ist. Wenn Sie keinen Wert angeben, wird das Element vom Plugin ignoriert. Der DPT muss dem Typ des Artikels entsprechen!
Datentyp: str
Mögliche Werte:
1
2
3
4002
4.002
5
5001
5.001
5003
5.003
5999
5.999
6
7
8
9
10
11
12
13
14
16000
16
16001
16.001
17
17001
17.001
18001
18.001
20
24
229
232
251
275.100
hex
knx_init
Gruppenadresse für die Initialisierung des Items. Der KNX-Bus wird nach dem Wert abgefragt. Die Angabe impliziert knx_listen, also muss knx_listen nicht für diese Gruppenadresse angegeben werden.
Datentyp: knx_ga
knx_listen
Gruppenadresse (oder Liste von Gruppenadressen), auf die gehört werden soll. KNX-Nachrichten an diese Gruppenadresse(n) ändern den Wert des Items
Datentyp: list(knx_ga)
knx_poll
Geben Sie eine abzurufende Gruppenadresse und das Zeitintervall in Sekunden für eine automatisierte Abfrage vom KNX Bus in Form einer Liste an. Der erste Eintrag ist die Gruppenadresse, der zweite Eintrag ist das Pollintervall in Sekunden. Dies kann für Aktoren oder Sensoren verwendet werden, die keine regelmäßige Übermittlung von Werten unterstützen.
Datentyp: list(2,knx_ga,int)
knx_reply
Eine oder mehrere Gruppenadressen angeben, um den Objektwert vom KNX-Bus aus lesen zu können.
Datentyp: list(knx_ga)
knx_send
Gruppenadresse, an die gesendet werden soll, wenn das Element geändert wird. Sie können eine oder mehrere Gruppenadressen angeben.
Datentyp: list(knx_ga)
knx_status
Ähnlich wie bei knx_send, sendet aber auch bei Änderungen über KNX, wenn sich der knx_status GA vom Ziel-GA unterscheidet. Sie können eine oder mehrere Gruppenadressen angeben.
Datentyp: list(knx_ga)
Item-Structs
Das Plugin stellt die folgenden Item-Structs zur Verfügung. Diese Informationen sind aus der plugin.yaml entnommen und möglicherweise nicht vollständig.
Keine
Logik Parameter
Das Plugin verfügt über folgende Parameter, die in der Datei ../etc/logic.yaml konfiguriert werden:
Keine Logik Parameter in den Metadaten beschrieben - Bitte in der README nachsehen (siehe Fußnote)
Plugin Functions
Das Plugin verfügt über folgende öffentliche Funktionen, die z.B. in Logiken aufgerufen werden können.
encode(data, dpt)
Diese Funktion codiert Ihre Daten entsprechend dem angegebenen Datenpunkt - Beispiel: data = sh.knx.encode(data, 9)
Ergebnistyp der Funktion: foo
- data
Zu codierende Daten
Datentyp: foo
- dpt
KNX Datenpunkttyp
Datentyp: foo
groupread(ga, cache=False)
Diese Funktion löst eine Leseanforderung für die angegebene Gruppenadresse aus. Da KNX ereignisgesteuert ist wird der empfangene Wert nicht zurückgegeben!
Ergebnistyp der Funktion: foo
- ga
Gruppenadresse von der gelesen werden soll
Datentyp: knx_ga
- cache
Versuchen den Wert aus dem Cache von KNXD zu lesen?
Datentyp: bool
Standardwert: False
groupwrite(ga, data, dpt)
Mit dieser Funktion könnten Sie die Daten an die angegebene Gruppenadresse senden - Beispiel: sh.knx.groupwrite(‚1/1/10‘, 10.3, ‚9‘)
Ergebnistyp der Funktion: foo
- ga
Gruppenadresse an die der Wert gesendet werden soll
Datentyp: knx_ga
- data
Zu sendende Daten. Der Datentyp wird durch den Parameter ‚dpt‘ bestimmt.
Datentyp: foo
- dpt
KNX Datenpunkttyp
Datentyp: str
Mögliche Werte:
1
2
3
4002
4.002
5
5001
5.001
5003
5.003
5999
5.999
6
7
8
9
10
11
12
13
14
16000
16
16001
16.001
17
17001
17.001
18001
18.001
20
24
229
232
251
275.100
send_time(time_ga, date_ga)
Diese Funktion sendet die aktuelle Uhrzeit und/oder das aktuelle Datum an die angegebene Gruppenadresse. Hinweis: Anstelle dieser Funktion können Sie das Plugin-Attribut ‚send_time‘ wie oben beschrieben verwenden - Beispiele: sh.knx.send_time(‚1/1/1‘, ‚1/1/2‘) # sendet die Zeit zu 1/1/1 und das Datum zu 1/1/2; sh.knx.send_time(‚1/1/1‘) # sendet nur die Zeit zu 1/1/1; sh.knx.send_time(data_ga=‘1/1/2‘) # Sendet nur das Datum zu 1/1/2
Ergebnistyp der Funktion: foo
- time_ga
Gruppenadresse an die die Uhrzeit gesendet wird
Datentyp: knx_ga
- date_ga
Gruppenadresse an die das Datum gesendet wird
Datentyp: knx_ga