This likely has to do with how the average watering percentage is calculated for the log view. If I remember correctly, it pulls the log, which contains separate records for watering level, and calculates an average of those numbers. In the past, it used to be that the watering percentage changes across a day — for example, the weather algorithm sends a request every 2 hours and it may get watering levels that vary depending on when the request was sent out. As a result, the average watering level you see in the log may not match any specific watering level displayed on the homepage. This should be less of an issue now, since the watering level across a day should be consistent.
One way to check is to pull the log record directly and find out what’s going on. To do so, you can open a browser and type:
where x.x.x.x is your opensprinkler’s IP address, and yyyyyyy is the md5hash of your password (you can use https://www.md5hashgenerator.com/ to calculate md5hash from your password).
The above command pulls log record of the most recent 1 day (hist=1) and with type wl (watering level).
Of course another issue could be what the log view counts as one day — it may be checking the past 24 hours (from now to 24 hours ago) and if so that would cross the boundary of a day resulting in average numbers inconsistent with your calculation. In any case, I will take a look at the corresponding part of the UI code and figure out.