@dagst47: it sounds like you would want to use a local temperature sensor, as opposed to rely on online weather data.
You are right that this is basically a thermostat type of function. One possible way to make it work with OpenSprinkler is probably as follows:
1) Let’s say the temperature sensor can function like a rain sensor — basically a switch that closes when temperature drops below a certain threshold, and opens when it rises above a certain threshold. In fact, although we mention everywhere that the sensors should be ‘dry contact’, it’s ok if the sensor is actively powered, as long as the output from the sensor is between 0V (logic low) and 5V (logic high). I can almost think of several choices of temperature sensors that would work this way.
2) Let’s say you want to water from 6am to 8am, and contingent on the temperature sensor reading. What you can do is to set a program that starts at 6am, waters for just 1 minute, and repeat every minute for 120 times. So if it’s not interrupted by the temperature sensor, it would water for a full 2 hours. However, if the temperature sensor activates during the 2 hours, the controller will stop watering for the portion where the temperature sensor activates.
So this is basically leveraging the ‘repeating type’ program with very short cycles and many repetitions to approximate what you want.