Files
ebusd/contrib/etc/ebusd/knx.cfg
T
2022-10-01 13:39:05 +02:00

80 lines
4.2 KiB
INI

# Configuration file for ebusd KNX integration with KNXnet/IP or [knxd](https://github.com/knxd/knxd).
# Use this file with ebusd to establish a bridge between KNX and eBUS for a set of messages.
# The commandline options to ebusd need to include "--knxurl=..." in order to activate KNX handling.
# Setting the group associations and the individual address via ETS is not (yet) possible.
# This is done in here and/or via "--knxvar=" arguments to ebusd.
# ## INDIVIDUAL ADDRESS
# Depending on the connection to KNX, the individual address either has to be set here for KNXnet/IP mode as stated
# below, or in knxd mode depends on how knxd is configured and as such might change each time ebusd and/or knxd is
# restarted when a range of possible addresses were configured on knxd side (which is recommended when there is more
# than one client using knxd).
# the own individual address (only necessary and relevant when running in KNXnet/IP mode)
# address = 1.1.1
# ## GROUP ASSOCIATIONS
# Currently only reading from and writing to group addresses as defined here is supported.
# All entries below are set to group address flags as follows:
# - for read and passive write messages: "Read", "Transmit"
# - for active write messages: "Write", "Read" (only answered when value was written before via KNX or eBUS), no "Update"
# the global value group assignments for running, version, signal, uptime, updatecheck, and scan.
# running: 1 bit, 1=running, DPT 1.002
global/running = 9/0
# version: 2 octets, major in MSB, minor in LSB, DPT 217.001 "DPT_Version"
global/version = 9/1
# signal: 1 bit, 1=signal acquired, DPT 1.002
global/signal = 9/2
# uptime: 4 octets int, seconds since start, sent once every hour, DPT 12.100
global/uptime = 9/3
# updatecheck: 1 bit, 1=update available, DPT 1.002
global/updatecheck = 9/4
# scan: 1 bit, 1=running, DPT 1.002
global/scan = 9/5
# the message field value group assignments by circuit/message/field name.
# the value coding depends on the field data type and currently only numeric data types are supported.
# the mapping is as follows:
# - BI0:1 - BI7:1, length 1: 1 bit, DPT 1
# - without divisor:
# - BI0 - BI6, length >1: 1 octet, unsigned, DPT 5.010
# - UCH: 1 octet, unsigned, DPT 5.010
# - SCH, D1B: 1 octet, signed, DPT 6.010
# - UIN, UIR, PIN: 2 octet, unsigned, DPT 7.001
# - SIN, SIR: 2 octet, signed, DPT 8.001
# - U3N, U3R, ULG, ULR: 4 octet, unsigned, DPT 12.001
# - U3N, U3R, SLG, SLR: 4 octet, signed, DPT 13.001
# - with divisor:
# - BI0 - BI6, length >1: 2 octet, signed float, DPT 9.*
# - UCH, SCH, D1B, UIN, UIR, SIN, SIR: 2 octet, signed float, DPT 9.*
# - U3N, U3R, ULG, ULR, SLG, SLR: 4 octet, signed float, DPT 14.*
# - with or without divisor:
# - D1C, D2B, D2C, FLT, FLR: 2 octet, signed float, DPT 9.*
# - EXP, EXR: 4 octet, signed float, DPT 14.*
#
# note: the float conversion from eBUS to KNX may lose precision due to the KNX DPT 9 not being able to carry more than
# two digits after the decimal point and having a mantissa of only 11 bits.
# Consequently, when writing a 2-octet float to ebusd, a consecutive read on the same group address is likely to reveal
# a different value if it was using more than two digits after the decimal point or exceeding the KNX float mantissa
# range, e.g.:
# - an eBUS D2B value of 10.004 will read as 10.00 2-octet float on KNX,
# - an eBUS UIN with divisor 100 (like heating curve) value of 655.34 will read as 655.04 2-octet float on KNX,
# - writing a KNX 2-octet float value of 12.34 to an eBUS UIN with divisor 10 will actually write 12.3 and read as 12.3.
#
# note: writing to eBUS via KNX currently is only possible if the eBUS message contains a single field respectively at
# most one non-ignored field. this is due to otherwise the value to be set for the other fields would have to be
# determined first which is mostly not possible. Group associations to write messages not fulfilling this requirement
# are silently ignored.
#
# note: the mapping for reads/writes from KNX is done as follows:
# - for KNX read, the precedence on picking the eBUS message is: active read, passive read+write.
# - for KNX write, the precedence on picking the eBUS message is: active write only.
broadcast/datetime/outsidetemp = 9/10