The program did not start again this morning. Although, this is a little different circumstance. My normal times are 20 minutes per zone, and the weather adjustment was at 4%. So, the time would have been less than a minute. Nothing was in the log, and nothing ran.
I pulled out my phone while I was eating my cereal and put in a manual program for 5 minutes a zone, and hit go. This was using Google Chrome on iOS. I closed out the browser and continued to eat. I looked up, and about 8 minutes had gone by and my first zone was still on. I opened the web browser again and zone 1 immediatley shut down, and zone 2 started with 2 minutes left on the clock. So I closed the browser and watched. The zone continued to run, until I opened the web browser again, then the zones switched.
It seems like all the timing and signals are being sent via the client, and not queued on the OpenSprinkler controller, or somehow cached.
I am going to tar up the current install and reinstall. The git pull wasn’t getting me to 2.1.4 from 2.1.3. I will redownload and resetup everything to see if it helps.