I’m creating this topic in response to this message:
The current debate is:
Where to store this list of compatible devices: In the Gladys repository? Or in the documentation repository? Knowing that there is an issue: internationalization. Products are not the same depending on the country, titles/descriptions/links must be internationalized.
Where to display this list of devices: in Gladys + in the documentation? Only in Gladys? Or only in the documentation? Knowing that the answer to this question conditions choice 1. Because we are not going to put this list in two places, so there will necessarily be one that draws on the other if we display it in both places.
We debated this extensively on the forum, I don’t remember where, but since we didn’t follow up, I’m restarting the debate here
I suggest adding an attribute to indicate whether a device has been tested or not, as I have just made changes to the Tasmota module, and there is a database of compatible devices listing over 850 devices. However, I won’t be able to test them all, but I believe they will (almost) all be supported by Gladys.
In fact, I did not integrate device by device, but feature by feature.
I query the device, ask for its « capabilities », and generate a Gladys device with the features translated from the information received.
The integration becomes more generic and will be less constrained by changes.
Ok, so that means we potentially have thousands of devices in this database, so it will need to be classified (by what?), paginated, sortable, and with a search bar.
This is more than a small project now ^^ In my opinion, unless someone dives into it headfirst, we don’t have the resources to get this done before the RC, at least not on my end, I’m fully focused on the scenes!
I still struggle to see where this could fit in Gladys in terms of UI (if we put it in Gladys). In the documentation, I can see it very well, but in Gladys, I’m not sure.
In my opinion, we should create a directory in gladys with files by brand (as @AlexTrovato did for the Zigbee2mqtt service) so as not to have files that are too large.
In these files, there should be the information useful to the services, in particular the associated features, the model, … But also the names of the services that manage it and the integration status (integrated, in progress or not managed).
Then, we would have a script that generates a file for display in the documentation and we would add a checkbox to indicate that the model has been tested. This way, users who test hardware could directly provide this information without impacting the development process. Zigbee2mqtt.io uses such a script for its documentation. I was going to do a small test on github to show you what it looks like but I really don’t have the time at the moment…