TimeLord is the library that calculates sunrise and sunset times each day.
I use time alarms in the current, running version of the sketch along with TimeLord, However, instead of having timelord actually setting the sunrise / sunset times its just calculating, and timeAlarms are static times each day.
I guess its not that hard and may be my next method, to just call functions using RTC time compares to other variables
The dailyReset sets a bit to 1. If that bit == 1; the loop calls the setAlarms() function, which at the end of its run, sets the bit back to 0. Its supposed to be that at 01:00 the initBit is set to 1, causing the loop to run the setAlarms() function. This in turn calculates the alarms for today, using the timeLord to set the sunrise and sunset times. Then after calculating the alarms, the setAlarms() function then sets several Alarm.alarmOnce alarms for times the door should open and close and feeder should go off, then the day progresses, these alarms make stuff happen, then again at 1 am, the alarms are recalculated from the new day sunrise / sunset times.