XKNX / xknxproject

ETS project parser written in python
GNU General Public License v2.0
84 stars 17 forks source link

Device and Parameters #409

Closed paulgr2008 closed 4 months ago

paulgr2008 commented 4 months ago

Hi Is there any opportunity to parse Device parameters? In other words, there is a tag in but I don't notice that you try to parse it. I understand that it’s not a common problem, but we (CoolAutomation) heavily rely on the field "text" in our KNX application, and we would like to find/develop a solution that could help us browse projects based on our product without using ETS. It was possible in ETS5 though. Your tool worked perfectly until KNX removed "text" from ComObjectInstanceRef and now it cannot be done other than using the ParameterInstanceRef RefId. So there are 3 questions:

  1. Could you correct me if I was wrong about the presence of this parsing?
  2. Are there any plans to add it?
  3. And if you are not going to add yourself, may I contribute to your project with that?
farmio commented 4 months ago

Hi 👋! To be honest, I don't really get what you mean.

Your tool worked perfectly until KNX removed "text" from ComObjectInstanceRef

This is still there in Schema version 22. I don't have any newer schema descriptions available - did this change?

Where is the text you need to be parsed used in your application?

Are there any plans to add it?

The goal of xknxproject is to parse the information needed to configure KNX IP connected servers (eg. Home Assistant), not to parse every information available in the project and used applications - that would exceed the scope. Hence the question about where this is used. Since we don't have any KNX membership, we don't have access to any of the ETS application building tools - so we can just reverse engineer from what we see in various example projects. I'm sure there is plenty useful information we are still missing.

may I contribute to your project?

Yes sure, if the contribution serves the goal of the project it is very welcome.

paulgr2008 commented 4 months ago

Hi I have access to the ETS application tool, moreover, I developed an application myself (though the tools I used have already gotten a bit outdated). Our device KNX implementation is based on a BAOS chip and can support up to 1000 objects. These objects are generic and can be changed depending on the user’s choice. Our device is kind of a gateway to HVAC systems, so we use the text field to input the addresses of AIR conditioners inside our system. My company is a KNX member, but we are not big fans of ETS and have our own unofficial KNX implementation. So there are two goals: to parse our ETS project files and convert them into our system if necessary and programmatically control what our clients do with our devices in ETS (They do really weird things sometimes and then try to blame us :)) ). And I think it could be an alternative possibility of integration into Home Assistant. There is a usual open-source driver for our devices but who knows: maybe somebody will need it. Honestly, I wouldn't like to write a whole parser from scratch. So, if you don’t mind, I would rather contribute to your project.

farmio commented 4 months ago

programmatically control what our clients do with our devices in ETS

Is this intended solely for debugging?

And I think it could be an alternative possibility of integration into Home Assistant.

How would that work? Do you think of a custom component for your companies device?