Dan in CA
Sounds like you’re planning ahead. That’s always a good thing.
If memory won’t be a problem, keeping the data in a list or something would probably be good. Database programs tend to write to disk a lot and this can be hard on the SD card unless the data is stored somewhere else.
I have a couple more thoughts. Of course its your plugin so feel free to ignore my suggestions.
1. OpenSprinkler is used all over the world but here in the U.S. we are still using imperial measurements. Calculations are easier with SI (metric) units and most of the weather data sources I have seen offer both SI and imperial units. You might consider using SI units internally in your program and offer the user the option of using imperial units in the UI. I think you would only need to convert inches -> mm, Gallons -> liters and possibly sq ft -> sq m.
2. What ever source of weather data you decide to use it might be a good idea to keep the data acquisition code in a separate (importable?) module. That way you or someone else can add support for other data sources as needed.