Growduino smart garden

Part of your timing problems could be caused by the millis rollover at 9 hrs 32 min? After this time, the internal timer goes back to zero. Consider possibly two sensor inputs, temp via a thermistor and humidity via a humidity sensor. Construct a grid with various humidity and temperature combinations and watering durations. You will have to run some experiments with a scale/balance and estimate how much water the pots lose at certain temp/humidity combinations. The Arduino consults this grid and then chooses the correct interval of time to run the pump. Another option is to measure soil moisture. This would make your life easier

http://www.hobby-boards.com/catalog/product_info.php?language=en&products_id=1547