Thanks Dan – that helps – I somehow missed that section of ospi defining gv.
salbahra, I don’t think gv.rs is the rain sense bit. I think its the run schedule.
gv.rs =  #run schedule
for i in range(gv.sd):
gv.rs.append([0,0,0,0]) #scheduled start time, scheduled stop time, duration, program index
I was thinking I might be able to create a program that had a unique duration for each zone by setting gv.rs[station_id] with start, stop, and duration times, set program index to maybe 98 (to indicate an auto-program) then set bsy=1 and let the controller go.
This way, I avoid messing with the user-created programs (which might be confusing to users).
From what I can see, gv.ps is the ‘program schedule’ and isn’t used in the OSPi? It looks like it was just for the display of the Arduino version?
UPDATE: Whoops, I was wrong – gv.ps is used by the web UI – so it is needed.