@ottorino: the fact that the program water time is in a non-linear scale is a design decision — it’s because we want to represent the stored water time using just one byte. The related discussion and survey is here:
the reason behind the non-linear scale is that typically the longer the water time, the less accuracy you care about. This is similar to how floating point numbers are represented in a computer system. Because OpenSprinkler supports a relatively large number of stations, it’s important to compress the water time to as few bytes as possible.
The actual runtime is computed as the stored water time multiplied by the watering level, so the actual runtime is of full precision down to accuracy of seconds. It’s just that the stored water time must be stored in EEPROM and there is very limited EEPROM space on the microcontroller, hence the non-linear scaling.