xaal.knx
This package contains a xAAL gateway for KNX BUS.
Software
The datapoint mapping (dpts.py) come from the Smarthome.py software : https://mknx.github.io/smarthome/plugins/knx.html (GPLv3.0)
Install
You can use both pip, with pip install xaal.knx or setup.py
You can test the package with : python setup.py develop (or install) --user
To run the gateway: - edit your config file (~/.xaal/xaal.knx.ini) - launch python -m xaal.knx
run :
If you use an USB (serial) port, you can use knxd to forward commands between serial & multicast.
to build knxd : git clone https://github.com/knxd/knxd.git ./configure --enable-usb --prefix=/opt/knxd --disable-systemd
sudo knxd -t 1023 -e 0.0.1 -E 0.0.2:8 -i -R -S -b usb:
This configuration doesn't work out of the box. For an unknow reason, knxd doesn't forward knx frame to serial port. Please read this bug report (fix)
https://github.com/knxd/knxd/issues/340
Supported datapoints
You must use one of this in the configuration file.
DPT | Data | Type | Values |
---|---|---|---|
1 | 1 bit | bool | True | False |
2 | 2 bit | list | [0, 0] - [1, 1] |
3 | 4 bit | list | [0, 0] - [1, 7] |
4.002 | 8 bit | str | 1 character (8859_1) e.g. 'c' |
5 | 8 bit | num | 0 - 255 |
5.001 | 8 bit | num | 0 - 100 |
6 | 8 bit | num | -128 - 127 |
7 | 2 byte | num | 0 - 65535 |
8 | 2 byte | num | -32768 - 32767 |
9 | 2 byte | num | -671088,64 - 670760,96 |
10 | 3 byte | foo | datetime.time |
11 | 3 byte | foo | datetime.date |
12 | 4 byte | num | 0 - 4294967295 |
13 | 4 byte | num | -2147483648 - 2147483647 |
14 | 4 byte | num | 4-Octet Float Value IEEE 754 |
16 | 14 byte | str | 14 characters (ASCII) |
16.001 | 14 byte | str | 14 characters (8859_1) |
17 | 8 bit | num | Scene: 0 - 63 |
20 | 8 bit | num | HVAC: 0 - 255 |
24 | var | str | ulimited string (8859_1) |
232 | 3 byte | list | RGB: [0, 0, 0] - [255, 255, 255] |