Will the code I have written send an output to low within the parameters I set?

If you want to know what the code does wouldn't it be easier just to test it rather than asking a bunch of random strangers what they think it will do?

It looks reasonable to me depending on what is actually connected to zone1 and valve1. I.e. I have no idea if you're reading the sensor correctly or driving the valve correctly. There probably isn't much point switching a valve on and then a few microseconds later checking to see if things are better but the program obviously isn't complete yet.

Steve