KNX Listener
A thin node client to monitor, write and read groups telegrams through KNX gateway
Install
Install the knx-listener globally and use commands from the command line
sudo npm install -g knx-listener
Remote access to the knx net
Monitor telegrams
Usage bin/busmonitor.js -s <ip address>
Options:
-t, --timeout Seconds to retry, 0 - fail on first attemp [default: 0]
-p, --port Remote port number [default: 3671]
-s, --server Remote ip address [required]
-h, --help Show help [boolean]
busmonitor -s 192.168.1.100
Write value 1 to 0/0/1 through 192.168.1.100
Usage bin/groupswrite.js -s <ip address> -g <group address> -d <XX:XX:..>
Options:
-s, --server Remote ip address [required]
-p, --port Remote port number [default: 3671]
-g, --groupAddress Group address to issue the write telegram to [required]
-d, --data Data to write [required]
-h, --help Show help [boolean]
groupswrite -s 192.168.1.100 -g 0/0/1 -d 01
Read value from 0/0/1 through 192.168.1.100
Usage bin/groupsread.js -s <ip address> -g <group address>
Options:
-s, --server Remote ip address [required]
-p, --port Remote port number [default: 3671]
-g, --groupAddress Group address to issue the read telegram to [required]
-h, --help Show help [boolean]
groupsread -s 192.168.1.100 -g 0/0/1
Development use cases
const KnxListener = ; // 1. Initialize bus listenerconst client = ; // helper to terminate tunnelconst die = { return client;}; // 2. Establish tunneling with recovery time of 1sclient; // 3. Print processed queries to the consoleclient; client; // ctrl+c to exitprocess;
TODO
- Generate JSDoc
- Integration testing
- Create another npm module for data types encoding/decoding
What is next?
- You may create stream using websockets to broadcast telegrams to rich web apps
- You may create ETS project parser to get group address and store them in db
- You may create REST API with express
- You may record telegrams to a database and return last values on demand
- You may build visualization with any KNX gateway
- You may delegate endcoding/decoding of data to your rich clients