KnxTool - knxd/knxd GitHub Wiki

KnxTool

is a command line program to communicate with the knxd.

Usage

You might want to read the list of applets are included:

$ knxtool list
$ on off write swrite read if readtemp dimup log 
$ busmonitor1 busmonitor2 readindividual progmodeon progmodeoff progmodetoggle progmodestatus maskver 
$ writeaddress vbusmonitor1 vbusmonitor2 mprogmodeon mprogmodeoff mprogmodetoggle mprogmodestatus mmaskver 
$ mpeitype madcread mread mwrite mpropread mpropwrite mpropdesc mpropscan groupread groupswrite groupwrite 
$ msetkey grouplisten groupresponse groupsresponse groupsocketlisten groupsocketread mpropscanpoll 
$ vbusmonitor1poll groupreadresponse groupcacheenable groupcachedisable groupcacheclear groupcacheremove 
$ groupcachereadsync groupcacheread mwriteplain mrestart groupsocketwrite groupsocketswrite 
$ xpropread xpropwrite groupcachelastupdates busmonitor3 vbusmonitor3 eibread-cgi eibwrite-cgi 
$ vbusmonitor1time

Commands, where tunneling is possible

For this examples below, Knxd is running on a another device. In this case a Raspery pi 3 with ROT-Extension. Ip-adress from the Raspberry is 192.168.178.103. If the knxd running localy, you have to replace the Ip-adress to "ip:localhost".

usage: knxtool app url eibaddr

On

Switching on the group 0.0.25

$ knxtool on ip:192.168.178.103 0/0/25

Off

Switching off the group 0.0.25

$ knxtool off ip:192.168.178.103 0/0/25

Maskver

Reads the maskversion of a knx device.

$ knxtool maskver ip:192.168.178.103 1.1.5                                                      
$ Mask: 0012  

Monitor

Busmonitor1

$ knxtool busmonitor1 ip:192.168.178.103
$ L_Busmon: BC 11 17 00 19 E1 00 81 3C :L_Data low from 1.1.23 to 0/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
$ L_Busmon: CC :ACK

Stop with "ctrl c"

Busmonitor2

$ knxtool busmonitor2 ip:192.168.178.103
$ BC 11 17 00 19 E1 00 81 3C 
$ CC 

Stop with "ctrl c"

vbusmonitor1

$ knxtool vbusmonitor1 ip:192.168.178.103
$ L_Busmon: BC 11 17 00 19 E1 00 81 3C :L_Data low from 1.1.23 to 0/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
$ L_Busmon: BC 11 17 00 19 E1 00 80 3D :L_Data low from 1.1.23 to 0/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
$ ^C  <- from user to stop it

vbusmonitor1time

$ knxtool vbusmonitor1time ip:192.168.178.103
$ 20:32:21:318 L_Busmon: BC 11 17 00 19 E1 00 81 3C :L_Data low from 1.1.23 to 0/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
$ 20:32:21:385 L_Busmon: BC 11 17 00 19 E1 00 80 3D :L_Data low from 1.1.23 to 0/0/25 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
$ ^C  <- from user to stop it

You can use i.e. multitail to colorize the Monitor output.

Multitail Colorsheme for knxtool

# knxd knxtool
colorscheme:knxtool:knxd knxtool Busmonitor
cs_re:white,,bold:^....-..-.. ..:..:......
cs_re:white:^..:..:......
cs_re:yellow:(\sL_Busmon:\s)
cs_re:yellow:(\shops:\s)
cs_re:yellow:(\T_Data_Group\s)
cs_re_s:white:L_Busmon:(.*):L_Data
cs_re:yellow::L_Data*
cs_re_s:green,,bold:hops:(.*)T_Data_Group
cs_re:cyan,,underline/bold:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
cs_re:magenta,,underline/bold:[0-9]{1,3}\/[0-9]{1,3}\/[0-9]{1,3}
cs_re:green:A_GroupValue_Read
cs_re:red:A_GroupValue_Write
cs_re:blue:A_GroupValue_Response
$ multitail -cS knxtool -L "knxtool busmonitor1 ip:ip:192.168.178.103"
$ multitail -cS knxtool -L "knxtool busmonitor2 ip:ip:192.168.178.103"
$ multitail -cS knxtool -L "knxtool vbusmonitor1 ip:ip:192.168.178.103"
$ multitail -cS knxtool -L "knxtool vbusmonitor1time ip:ip:192.168.178.103"

Progmode

Progmodeon

Switching a knx device in progmode.

$ knxtool  progmodeon ip:192.168.178.103 1.1.5

Progmodeoff

Switching progmode off from a knx device.

$ knxtool  progmodeon ip:192.168.178.103 1.1.5

Progmodetoggle

Togge progmode from a knx device.

$ knxtool  progmodetoggle ip:192.168.178.103 1.1.5

Progmodestatus

Reads the programing mode of a knx device.

$ knxtool progmodestatus ip:192.168.178.103 1.1.5                                                      
$ in programming mode     
⚠️ **GitHub.com Fallback** ⚠️