Difference between revisions of "KNX"
Line 547: | Line 547: | ||
|+ 24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1 | |+ 24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1 | ||
|- | |- | ||
− | | width="4. | + | | width="4.175%" align="center" | 0 |
− | | width="4. | + | | width="4.175%" align="center" | 0 |
− | | width="4. | + | | width="4.175%" align="center" | 0 |
| width="20.9%" align="center" | day | | width="20.9%" align="center" | day | ||
− | | width="4. | + | | width="4.175%" align="center" | 0 |
− | | width="4. | + | | width="4.175%" align="center" | 0 |
− | | width="4. | + | | width="4.175%" align="center" | 0 |
− | | width="4. | + | | width="4.175%" align="center" | 0 |
| width="16.8%" align="center" | month | | width="16.8%" align="center" | month | ||
− | | width="4. | + | | width="4.175%" align="center" | 0 |
| align="center" | year | | align="center" | year | ||
|} | |} |
Revision as of 11:53, 16 December 2013
The KNX I/O Server provides for the control of a KNX installation compliant with the KNX Standard version 2.0.
The communication between HSYCO and the KNX network must employ a KNXnet/IP gateway supporting the Tunneling service.
The KNX framework must be programmed to work properly using the ETS tool.
Each defined KNX group is seen as a datapoint whose value is formatted with respect to its DPT type. Supported DPT types range from DPT 1 to DPT 18. Moreover, it is possible to have virtual datapoints that link a set of datapoints used for the control of devices such as lights, dimmers, automations and thermostats which require several KNX groups for commands and feedback.
Contents
- 1 Options
- 2 Configuration
- 3 Datapoints
- 3.1 Datapoint types and values
- 3.1.1 Datapoint Type 1 (1 bit, Boolean)
- 3.1.2 Datapoint Type 2 (2 bits, Control)
- 3.1.3 Datapoint Type 3 (4 bits, Dimming, Blinds)
- 3.1.4 Datapoint Type 4 (8 bit, Character set)
- 3.1.5 Datapoint Type 5 (8 bits, Unsigned Value)
- 3.1.6 Datapoint Type 6 (8 bits, Signed Value)
- 3.1.7 Datapoint Type 7 (2 Bytes, Unsigned Value)
- 3.1.8 Datapoint Type 8 (2 Bytes, Signed Value)
- 3.1.9 Datapoint Type 9 (2 Bytes, Float Value)
- 3.1.10 Datapoint Type 10 (3 Bytes, Time)
- 3.1.11 Datapoint Type 11 (3 Bytes, Date)
- 3.1 Datapoint types and values
Options
ID | Default | Values | Description |
---|---|---|---|
gui | true | true | enable automatic support of Web GUI objects to show the system status and intercept control buttons |
false | disable support for the Web GUI | ||
startupevents | false | true | generate IO events also during the driver’s start-up phase |
false | start generating events only after HSYCO is aligned with the current status of the system | ||
discovery | true | true | automatically creates the list of all detected datapoints with type DPT 1 and the defined virtual datapoints in the systemtopo.txt file |
false | auto-detect for devices is disabled | ||
fromevents | false | true | generates events for commands sent on the KNX BUS reporting the source address and the value of the command |
false | disable command events | ||
readaftercommand | false | true | forces the driver to read the value of a datapoint after a command is sent to it |
false | the driver will assume that commands detected on the BUS are always successful, thus no re-reading is performed to set the value of a datapoint | ||
localport | <port_number> | specifies the port used locally by HSYCO to communicate with the KNXnet/IP gateway. This option might be necessary when employing network address translation (NAT) |
Configuration
HSYCO needs to know the KNX framework configuration, which can be imported from an ETS4 project file or manually defined.
Refer to KNX Utility page for instruction on how to configure and test the integration.
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established to the gateway and initial reading executed |
offline | R | HSYCO can't connect to the gateway | |
<datapoint_id> | <value> | R | this datapoint has value <value> |
W | set this datapont to value <value> | ||
<datapoint_id>.from.<source> | <value> | R | a command with value <value> from the device with individual address <source> has been sent to the addressed datapoint. The source address has the format “x.y.z” (e.g. 1.2.87) |
light.<N> | 0 | R | the light is off |
W | turn off the light | ||
1 | R | the light is on | |
W | turn on the light | ||
flip | W | invert the state of the light | |
unknown | R | the state of the light is unknown | |
dimmer.<N> | off | R | the dimmer is off |
W | turn off the dimmer | ||
on | W | turn on the dimmer | |
1% - 100% | R | the dimming level is set to the reported level | |
W | set the dimming level to the specified value | ||
unknown | R | the state of the dimmer is unknown | |
autom.<N> | up | R | the automation is moving upwards |
W | move the automation upwards | ||
down | R | the automation is moving downwards | |
W | move the automation downwards | ||
offup | R | the automation is stopped in a open position | |
offdown | R | the automation is stopped in the closed position | |
stop | W | stop the automation | |
unknown | R | the state of the automation is unknown | |
thermo.<N>.setpoint.temp | <float_value> | W | set the setpoint to the specified value |
up | W | increase the setpoint by 0.5 | |
down | W | decrease the setpoint by 0.5 | |
thermo.<N>.setpoint | mode | W | switch to the next setpoint mode |
Datapoint types and values
The KNX I/O Server supports all datapoint types (DPTs) with main number ranging from 1 to 18.
The value of a datapoint is formatted with respect to its DPT main number. The actual behavior of the datapoint is anyhow dependent on its complete type (i.e. main number and sub number). Examples for the most common cases will be provided, but for a complete reference of all available datapoint types and allowed values we strongly advice to refer to chapter 3/7/2 of the KNX Standard v2.0.
The following paragraphs will show the KNX data format for each DPT as described in the protocol as well as the allowed datapoint values and the corresponding conversion.
Datapoint Type 1 (1 bit, Boolean)
KNX bit-level format:
b |
b = {0, 1}
Datapoint values:
Value | Converts to |
---|---|
0 | b = 0 |
1 | b = 1 |
Example:
For a datapoint with DPT 1.001 (e.g. a switch) a value of '0' corresponds to the 'off' state, while for a datapoint with DPT 1.007 (e.g. a step indicator for a dimmer) it would correspond to the state 'decrease'.
Datapoint Type 2 (2 bits, Control)
KNX bit-level format:
c | v |
c = {0, 1}, v = {0, 1}
Datapoint values:
Value | Converts to |
---|---|
disabled | c = 0, v = 0 |
0 | c = 1, v = 0 |
1 | c = 1, v = 1 |
Datapoint Type 3 (4 bits, Dimming, Blinds)
KNX bit-level format:
c | step |
c = {0, 1}, step = [000b ... 111b]
Datapoint values:
Value | Converts to |
---|---|
-7 ≤ v < 0 | c = 0, step = |v| |
0 ≤ v ≤ 7 | c = 1, step = v |
Example:
For a datapoint with DPT 3.007 (control dimming) a value of '3' corresponds to a 3-steps light increase. The same value for a DPT 3.008 (control blinds) datapoint corresponds to a 3-steps downwards movement. In both cases a value of '0' indicates the 'break' state.
Datapoint Type 4 (8 bit, Character set)
KNX bit-level format:
char |
char = [0 ... 255] (ISO 8859-1 encoding of a character)
Datapoint values:
Value | Converts to |
---|---|
0 ≤ v ≤ 255 | char = v |
A DPT 4.001 datapoint will only support the values corresponding to ASCII characters (a subset of the ISO 8859-1 standard values), thus only values ranging from 0 to 127 are allowed.
Datapoint Type 5 (8 bits, Unsigned Value)
KNX bit-level format:
val |
val = [0 ... 255]
Datapoint values:
Value | Converts to |
---|---|
0 ≤ v ≤ 255 | val = v |
Example:
For a datapoint with DPT 5.001 (scaling) a value of '255' corresponds to '100%'. For a datapoint with DPT 5.003 (angle) the same value corresponds to '360°'.
Datapoint Type 6 (8 bits, Signed Value)
KNX bit-level format:
val |
val = [-128 ... 127] (two’s complement notation)
Datapoint values:
Value | Converts to |
---|---|
-128 ≤ v ≤ 127 | val = v |
Datapoint Type 7 (2 Bytes, Unsigned Value)
KNX bit-level format:
val |
val = [0 ... 65535]
Datapoint values:
Value | Converts to |
---|---|
0 ≤ v ≤ 65535 | val = v |
Datapoint Type 8 (2 Bytes, Signed Value)
KNX bit-level format:
val |
val = [-32768 ... 32767] (two’s complement notation)
Datapoint values:
Value | Converts to |
---|---|
-32768 ≤ v ≤ 32767 | val = v |
Datapoint Type 9 (2 Bytes, Float Value)
KNX bit-level format:
m | e | m |
e = [0 ... 15], m = [-2048 ... 2047] (two’s complement notation)
float value = (0.01 * m) * 2^e = [-671088.64 ... 670760.96]
Datapoint values:
Value | Converts to |
---|---|
-671088.64 ≤ v ≤ 670760.96 | float value = v |
Datapoint Type 10 (3 Bytes, Time)
KNX bit-level format:
day | hour | 0 | 0 | min | 0 | 0 | sec |
day = [0 ... 7] (0 = no day, 1 = Monday, ..., 7 = Sunday)
hour = [0 ... 23]
min = [0 ... 59]
sec = [0 ... 59]
Datapoint values:
Value | Converts to |
---|---|
<day>.<hour>.<minutes>.<seconds> | day = <day>, hour = <hour>, min = <min>, sec = <sec> |
Example:
A vale of '2.12.46.23' corresponds to 'Tuesday 12:46:23'.
Datapoint Type 11 (3 Bytes, Date)
KNX bit-level format:
0 | 0 | 0 | day | 0 | 0 | 0 | 0 | month | 0 | year |
day = [0 ... 7] (0 = no day, 1 = Monday, ..., 7 = Sunday)
hour = [0 ... 23]
min = [0 ... 59]
sec = [0 ... 59]
Datapoint values:
Value | Converts to |
---|---|
<day>.<hour>.<minutes>.<seconds> | day = <day>, hour = <hour>, min = <min>, sec = <sec> |
Example:
A vale of '2.12.46.23' corresponds to 'Tuesday 12:46:23'.