I’m considering writing a weather forceast binding for the Open Meteo service and had a look at other existing bindings.
Most have “channel groups” for each forecast day with channel for values inside those groups, and the names for the groups seems to follow this scheme: forecastToday, forecastTomorrow, forecastDay2…
In order to make this binding useful to most, I’m wondering if there are particular recommendations, particularly on on channel naming and grouping.
Many thanks for any suggestion.
I would recommend utilizing the new support in Persistence to store future values. With this you can save the forecast in Persistence and users are able to chart the values into the future. In addition, when that future date comes the Item is updated with that persisted value (this is probably less useful for weather info as the future values are constantly being replaced).
I think it would be cool if this add-on used that. However, I don’t know if that approach covers all the forecast use cases (e.g. showing the forecast on a UI you still need Items which means you still need Channels) so I don’t know if it would eliminate the need for all those dozens of forecast Channels. Maybe make it so users can add and configure forecast Channels for just those values they want.
OWM add-on implements the storing of future states in Persistence if you need an example.
As for naming conventions, I’d follow the examples in the existing weather add-ons. They are all pretty similar in how they name and group their Channels (or at least they used to be). I think most of the weather related widgets on the marketplace were written around Items that will follow this sort of naming convention for the Items (when using create Equipment from Thing the Item names come from the Chanel names).