This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

KNX physical address check
#1
Hello,
I would like to know if there is any way how to check if there is a specific device on the KNX bus operating. In ETS we can just "ping" the physical address and get a yes/no result. It would be great if we can do something similar in LM. Possible use case: we have just arrived at a house where a KNX thermostat stopped working, therefor the heating was off. If we would have known that, the customer would not have to find it out after a long time.
Thanks
Reply
#2
Code:
result = knxlib.ping('1.1.1')
Reply
#3
(13.10.2015, 11:53)admin Wrote:
Code:
result = knxlib.ping('1.1.1')

you are the best! LM ROCKS! Smile
thanks

OK, I would like to extend my previous question for all of LM users: what other use cases of this little script can you think of? And more importantly: what other diagnostic tool for KNX bus and LM do you use, or would you want to use?
Thanks for all of your ideas.
Peter
Reply
#4
I use it as a line check on the device at the end of a line, this way you know all cabling is still functional.
Reply
#5
I have another idea: if you do Export OPC from your ETS, you get also a project.phd file, which contains all the KNX devices with their physical addresses. Would it be possible to upload such a file to LM's ftp and then write a script that will check the bus for all these addresses?
Reply
#6
Hello,
I need to check if the devices on my line are alive. I am using LM Load Balnce that doesn't have TP1 on board knxlib.ping won't work.
Can someone suggest another way on how to implement same functionality without the use of knxlib.ping?

Thank you in advance
Reply
#7
Hi everyone!

I also use knxlib.ping for check accessibility of many KNX devices in few zones. Im try knxlib.ping every few minutes and if status of object is changed send push notification. If ping is fail im try few times with random seconds between it. 
But every day many times ping is failed. May be another type of check is more stable? Like config perdiodicaly sent value of object (etc luminosity) and check last update time?
Reply
#8
Hi,

You could try changing the KNX address of the Logic Machine ( found in System Configuration \ Network \ KNX Connection ) to an free address on the first line of the KNX bus.

Thanks,


Roger
Reply
#9
(28.02.2016, 20:47)rocfusion Wrote: Hi,

You could try changing the KNX address of the Logic Machine ( found in System Configuration \ Network \ KNX Connection ) to an free address on the first line of the KNX bus.

Thanks,


Roger

Thank you. My LM uses last free address (1.1.253) and dont cross with another devices. 
I think what root cause is any problem with bus? but in same time from pinged device im receive another telegram.
Reply
#10
when you create a new script on a object that pings a module which is known to fail does that work? disable your scheduled script for this test.
Reply
#11
Another approach is to map a specific read-only group address and send read requests from LM to check if the device is alive. This will work even over IP networks.

Code:
addr = '1/1/1'
-- send read request and wait for reply
grp.read(addr)
os.sleep(2)

-- get time difference between now and last telegram
obj = grp.find(addr)
delta = os.time() - obj.updatetime

if delta < 10 then
  alert('Check OK')
else
  alert('Check FAIL')
end
Reply


Forum Jump: