This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
KNX: Support answering DeviceDescriptorRead
messages
#10019
Labels
feature request (devs?)
Action - awaiting response from developers
Have you looked for this feature in other issues and in the docs?
Yes, we have briefly discussed this off-topic in another issue (sorry for that). But I'm not sure, if I explained this issue correctly over there - or if I'm misunderstanding something how KNX works. Sorry, @ascillato for bothering you again with this issue.
Is your feature request related to a problem? Please describe.
I'm using multiple Tasmota-based devices in KNX installations (KNX/IP and KNX/TP with a router). Everythings works as expected. E.g., I can switch a Tasmota/Gosund device using KNX/IP on and off via a Berker Switch which is connected KNX/TP. Every message sent on KNX/IP via multicast IP is forwarded to KNX/TP via this router and vice versa.
What is not working is that some KNX tools (e.g., ETS5 or GUIs) check the status of a device using
GetDeviceInfo
. This triggers aDeviceDescriptorRead
message, which is answered by all KNX devices that I've used in different installations. However, Tasmota's KNX implementation does not send replies, which leads to the situation, that some KNX visualization systems report this device as OFFLINE.There seem to be to different types, one using Group Communication and one not:
Describe the solution you'd like
Tasmota's KNX lib should answer these messages.
Describe alternatives you've considered
Ignoring offline devices from which I know that they are based on Tasmota.
Additional context
I've looked into this issue from multiple perspectives. I've seen this happening on OpenHab first, then I've used ETS5's bus monitor and then I tried sending those messages using ETS5's "Right click, get device info" feature.
Working message exchange between ETS5 and an KNX actor:
Request:

Response:
However, for my Tasmota-based devices, they don't send replies:
but I do see corresponding packets being sent on Wifi (using
tcpdump -i enp3s0 -vvXSs 1514 -vvv host 224.0.0.251 and port 3671
) and on the ETS5 bus monitor:To better understand what's happening, I found some source code, how Calimero's KNX implementation performs this check in function public boolean isAddressOccupied(final IndividualAddress devAddr).
It basically invokes
The implementation of public byte[] readDeviceDesc(final Destination dst, final int descType) is as follows:
Here is the code for
sendWait2
:The text was updated successfully, but these errors were encountered: