There is this weird thing; a lot of information is published with efforts to keep it difficult to create a clear overview…
The value of an active community might be under/over estimated?
Knowledge is… developers pleasure!
I like the idea of using a shared Google sheet. That’s easy to update for everyone and there are plenty of tools to export to whatever other format, like JSON.
The fork and pull system in GitHub is better do keep code clean, as there is only one or a few supervisors that can merge cod. But it might be overkill for what we need?
I don’t understand the strategy behind it. On one hand they do provide protocol info from day one. Very cool and unseen >10 years ago. On the other hand why don’t we still have an API after >10 years?
Velbus keeps struggling for years now with their KNX Gateway / Signum interface. Why?
I’m sure that velbus could have been much further if there was an open API.
A relative small company like Velleman cannot keep pace with the fast evolutions in home automation if they do not have an easy way to interface with the rest of the world. We really need that!
So, back on topic: we need to join forces here! Looking forward to read the opinion of Velleman about this here on the forum! I’m pretty sure they stand behind it and can help us a lot.
i wanted to extend this to support all message types and other data. But this is a big task so i would love to have some help? We can always change the data format. So i really like the idea
I also created some extra files manually:
Velbus_data_protocol_channels.pm: channel information: name, type, address mapping, …
Velbus_data_protocol_memory.pm: memory information: modulename, build version, …
Velbus_data_protocol_messages.pm: supported messages per module type, …
The files can be found in:
I was in touch with the developers of the OpenHAB and the homeassistant binding to coordinate our efforts, but I didn’t had the time to work further on it…
What if I spin this off this in a new project and generate whatever file is needed?
Then we all work with the same information?
Very valuable info, Stef! I think it covers a lot more that what I have.
It would be great to use this as a starting point for a more language agnostic format.
Is there a way to use a JSON file but make it easier to update than a git fork/pull?
I prefer the easy update of a Google Sheet and prefer de JSON format
It’s not that hard to change my script to generate any output format you want.
json, xml, java, perl, python, …
And I recommend to NOT put it in a google sheet but in a github project.
This is better for tracking changes and bug reports.
I don’t know if you already found it tout, but Velbus has an official github account:
They also maintain a github project with all protocol files:
In fact, I once cloned that project. The idea was to clone te project and add my parsing script to it.
That way I can keep the protocol files in sync with the Velbus protocol repository and generate the files I need.
Maybe I just have to continue that project and generate the files I need and at the same time generate files suitable for other projects.
We can’t provide a timeframe for this at the moment. It’s a very low priority at this moment. Keep in mind, that converting protocol manuals released over the last 10 years isn’t done in a few days. Perhaps we may need to release part by part. After reading through the comments, I think the need is the biggest for the commands specifically.
The ideas in this topic are particulary interesting and it would be cool if the community can discuss what is needed in a data file. That would mean that the concepts are generalized and that an integration no longer needs to implement the functions of the module and their channels, but knows enough with the datafile. At this point, I’m not entirely sure if that would be possible, therefore the discussion.
We can’t make promises that everything needed would be included in the datafile that we produce. Our goal is to provide the protocol manuals in a structured way.
would it be an idea if the community helps filling in the data file?
if you add this to a git repo i’m certainly willing to fill in some data (via PR).
what i think that iss needed:
every commandcode and the associated message structure
every possible version of the message
the supported modules
for every module
the modulename
the moduleCode
the number of modules
the support messages
location of important data in the memorymap (stuff that is not requestable via messages)
the modulename
for the vmb7in the parameters for the counter channels