Pinging individual KNX devices by physical address


I would like to integrate my KNX setup into my wider home monitoring dashboard, for which I would like to show reachability of each of the KNX devices. What I mean is replicating the “ping” function from the ETS software, that allows to ping each of my KNX devices.

Any tips how this can be achieved? (I already have the KNX binding working all just fine via IP based interface).

Sorry to bump my own post, any thoughts?

No needs to use the individual address. You can take heartbeating group address on your knx devices (or other address of state of your devices with periodical sending).
On OH make timestamp of it.
For example, how I organized it (my task was to fix changes of door sensor):
In items:

Contact IfMainGate     "Main Gate [%s]"   {channel="knx:device:bridge:T8:IfMainGate"}
DateTime StampMGSensor  "Last update MG Sensor: [%1$tm/%1$td/%1$tY %1$tH:%1$tM:%1$tS]"

In rules:

rule "TimeStampMGSensor"
	Item IfMainGate changed        // in you case:  Item IfMainGate received update
	StampMGSensor.postUpdate(new DateTimeType())   

On sitemap

Text    item=StampMGSensor

And you see in visualization:
Last update MG: 03/05/2020 12:16:31

1 Like

Thank you - this apprach I use sensors that are expected to change at somehow regular basis.

However, some sensors may not output their value very often - and it seems odd to be re-configuring them just for the purpose of this.

Also, from management perspective, it seems “cleaner” to have a way to ping KNX devices by the physical address, as I can then build a nice Nagios plugin for them without worrying about which Item each device corresponds to.

Is the approach ETS is using to verify if a device is online not “exposed” with the KNX library Openhab uses?