0
Answered

Force read a KNX address bypassing the iridium tag

Dan 4 years ago in Tips and Tricks updated by Aleksandr Romanov (CTO) 3 years ago 2

Hi,


We have a server project with a KNX IP Router driver present that occasionally fails to receive an update from the KNX bus when bus activity is high.

By monitoring the KNX bus I can see that both the command and feedback is sent across the KNX bus, but the feedback simply doesn't make it to the iRidium server driver. This causes an issue in that the tags storing these levels will be incorrect until the knx address makes another change.

To retrieve the value of a specific KNX address I am indexing

`var value = IR.GetVariable("Drivers.KNX Server.KNX IP Router.1/6/250");`

which retrieves the old value.

My question is this - is there a way I can force a re-read of a specific KNX address? So that if I detect that no update has been received when it should, I can force the KNX IP Router driver to actively read the KNX bus, instead of relying on its cached value?

Looking forward to your reply,

Dan


Under review

Hello.

Now you can only Disconnect() the driver and Connect() it again. Then the poll of all group addresses will start again. However, this is a bad solution if you have a lot of KNX feedbacks in the project. In one of the future releases, the "Read request" command will appear to get feedback as in the initial poll, but only one group address and without Disconnect/Connect the driver. We can let you know when a release with this type of command is ready.

Answered

For now, we have a new type of command "Read Request": https://dev.iridi.com/KNX/en#Sending_commands