2021 May 04, 06:53 PM
Dan,
The weather_level_adj plugin already gathers the local sunrise time in the API response json as sys.sunrise.
Of course the use of sunrise time is advantageous in setting the irrigation start time as it allows the irrigation to be applied at the optimal time to avoid evaporation (before sunrise) and before need (after sunrise).
Ideally, the start time Add a New Program / Edit Program #X page(s) would have an associated check box adjacent to the start time field to allow the start time to be defined relative to the sunrise time instead of absolute local time.
The check box on the web page should only be available when the weather_level_adj (or standalone sunrise) plugin is enabled.
When that check box is selected, the start time should represent the start time relative to sunrise.
The relative start time should be able to be specified as positive or negative time (i.e., time before (negative values) or time after (positive values) sunrise).
The calculated start time should be reflected in the irrigation schedule on the home page.
The only algorithmic issue encountered with this method is calculation and display of scheduled start times in the future since the openweather API does not provide forecast date (including sunrise time) but only historical data. Scrolling though the irrigation schedule on the SIP home page for days after TODAY could use today's sunrise time as an approximation for the program start times for each day. Alternatively, instead of using the openweather API, the sunrise-sunset.org API allows specifying a future date.
I might try to prototype up a working model using either the proto or weather_level_adj plugin as a starting point.
I think the data gathering portion of code in the python module should be fairly strait forward. I'll have a little more effort on the integration with the existing Add a New Program / Edit Program #X side of the equation. I'll save the Home Page schedule display module modifications, if needed, for last.
Can you think of anything I need to be aware of in this attempt that I haven't outlined above?
Ronnie
The weather_level_adj plugin already gathers the local sunrise time in the API response json as sys.sunrise.
Of course the use of sunrise time is advantageous in setting the irrigation start time as it allows the irrigation to be applied at the optimal time to avoid evaporation (before sunrise) and before need (after sunrise).
Ideally, the start time Add a New Program / Edit Program #X page(s) would have an associated check box adjacent to the start time field to allow the start time to be defined relative to the sunrise time instead of absolute local time.
The check box on the web page should only be available when the weather_level_adj (or standalone sunrise) plugin is enabled.
When that check box is selected, the start time should represent the start time relative to sunrise.
The relative start time should be able to be specified as positive or negative time (i.e., time before (negative values) or time after (positive values) sunrise).
The calculated start time should be reflected in the irrigation schedule on the home page.
The only algorithmic issue encountered with this method is calculation and display of scheduled start times in the future since the openweather API does not provide forecast date (including sunrise time) but only historical data. Scrolling though the irrigation schedule on the SIP home page for days after TODAY could use today's sunrise time as an approximation for the program start times for each day. Alternatively, instead of using the openweather API, the sunrise-sunset.org API allows specifying a future date.
I might try to prototype up a working model using either the proto or weather_level_adj plugin as a starting point.
I think the data gathering portion of code in the python module should be fairly strait forward. I'll have a little more effort on the integration with the existing Add a New Program / Edit Program #X side of the equation. I'll save the Home Page schedule display module modifications, if needed, for last.
Can you think of anything I need to be aware of in this attempt that I haven't outlined above?
Ronnie