@salbahra‘s mobile web app currently supports the incorporation of online weather data to impose user-set rain delays. I would like to discuss adding an additional weather-based customization that responds to atypically hot/dry conditions. For example, I have two programs P1 and P2 which are both identically configured to run every other day but are staggered so that, if both programs are active, one of them will run every day (they will alternate so that on Monday, P1 will run and on Tuesday, P2, and so on). Usually, I have only one of the programs active (because I really only need to water my lawn every other day), but when conditions are unusually hot (as they are currently in my neck of the woods), I activate the second program so that I’m keeping my lawn watered every day.
My suggestion, therefore, is to be able to automate the above process so that when the program detects conditions above a certain (user-configurable) threshold, the system can somehow alter it’s schedule in some way (either by altering program schedules or durations or by activating/deactivating them). The precise way to achieve that should be left up to discussion, but I have one idea that I’d like to propose:
Instead of the rain-delay setting page, we might have a more generic “weather” page that allows us to execute custom changes to programs based on weather conditions. The rules would be, generically, of the form “When weather condition X occurs in the last Y days/hours, then do Z”. With X being (initially) either “rain” or “temp above some threshold”, and Z being something like: “set rain delay for X hours”, “activate/deactivate program”, etc.