Well I just experienced the dosing pump schedule retriggering for the first time and discovered what the issue was. When a schedule is created the day it was created is recorded in the database, this is incase the schedule is "repeat X number of days". Based on the creation date it calculates how many days have past since the schedule was created and how many cycles it's run since created. I was doing math using unsigned long variables but I wasn't casting it to a float which I needed to know if the schedule already ran on the current day so it was rounding down days past. It was saying 4 days past when actually 5 days past so the schedule calculated was always in the past which is why it kept retriggering.
So now I think I have it fixed, do monitor it to be sure though, I will be as well.
So now I think I have it fixed, do monitor it to be sure though, I will be as well.