If you want watering percentage to be adjusted on a day to day basis, I don’t think it’s feasible to implement this in the firmware because it would require storing a full calendar and it would complicate the UI design. However, the easiest solution is to use an external script and OpenSprinkler HTTP API to send the daily percentage value to OS that way. The API document is here:
to send watering percentage / level, you can use the /co (change options command) and the parameter is wl (water level), like this:
Most scripting languages support sending HTTP command. Similarly a lot of custom features can be implemented by using an external script and leveraging the HTTP API, instead of requiring these features to be implemented in the firmware.