Ma demarche est la suivante :
Si l'heure RTC est supérieure ou egale à l'horaire "levé du soleil" alors allume le relais lumiere.
puis
Si l'heure RTC est superieure ou egale à l'heure "couché du soleil" alors eteint le relais lumiere.
on ne voit pas ça dans le code de la loop()...
en faisant rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
vous changez l'heure de votre RTC à chaque reboot de l'Arduino (elle se met en gros à l'heure de la dernière compilation du code)
vous avez deux fois Serial.begin(9600);
...
vous devriez pour le moment mettre votre culture que la police ne doit pas voir de côté et vous concentrer juste sur la gestion de la RTC et de la classe DateTime
il y a exemple dans la libraire je suppose...
(notez qu'une DS1307 n'est pas du tout précise et va fortement dériver, préférez une DS3231)