Hi all,

as you probably know, I'm currently working hard on KNX auto-discovery and have 
made HUGE progress on this. I managed to decode the GroupAddressTable and the 
GroupAssociationTable data on all devices I have. With this I know which group 
addresses are bound to which com-objects.

Unfortunately I don't know the general datatype and if the com object is: 
readable, writable, subscribable. This information is located in the 
ComObjectTable.

Even if the procedure for this differs for the different KNX devices, it's 
generally similar: You get the address of the ComObjectTable and then simply 
fetch the information you need. For most devices I can get this address 
programiatically.

Unfortunately it seems that for the devices of type "System 7" the information 
on the location of the ComObjectTable is not programatically retrieveable from 
the device as the application itself is in charge of this. However I found a 
way to find this information and it seems that I could use this to decode the 
information I need. In general, for all KNX devices I can use identification 
information I can programatically access to lookup the KNX XML descriptor and 
extract the memory address from this. So in the end its simply a mapping of 
device-id to address.

I would now like to build a tool that fetches this publicly available product 
data from the KNX Foundation Servers and maintains an mspec containing an enum 
with such mapping information. I could simply query the KNX Foundation servers 
for every device in the driver, but I think this would increase the global load 
on these and I don't want them to take them offline or protect them. I think if 
we regularly run a little program to add new devices information, this risk is 
minimized and I doubt the size of the enum would have a significant impact on 
the size of the driver.

I would need to create this tool ... I'm a bit unsure where to put it. In the 
protocol/knxnetip module? In main or tests? In the external build-tools repo?

What do you think?

Chris


Reply via email to