The station delay is in units of seconds. But it’s pretty easy to modify one line of code to change it to units of minutes. Specifically, in ospi.py, around line 151:
accumulate_time += gv.sd # add station delay
just change that to
accumulate_time += gv.sd * 60 # add station delay
I think this is the only change you need to do.
About master on adjust time — currently it only supports a positive value. Technically it’s because the the master valve is associated with other stations, so it’s scheduled after other stations have been scheduled. Therefore, it can’t ‘go back in time’ and turn on before other stations are turned on. There are ways to work around it though. Here is one possibility: in ospi.py, around line 135, the function
this is where stations are scheduled (i.e. stations that should turn on are assigned a start time and stop time). You can push the start and stop time by 180 (3 minutes), and that will cause the master valve to be on 3 minutes before any other station turns on. I haven’t tried this myself so I don’t know if there are other changes you need to make. But the idea should work.