Irrigation Controller need help with Master Valves

Please a short Thread::sleep between commands to the master valves.

Since they only need to be on for certain zones, just move the command to that if block and use a short Thread::sleep between the master valve and sprinkler.

Also, Design Pattern: Cascading Timers might be useful for you.