به نظرم من از ماژول ساعت استفاده کنید خیلی دقیق تر جواب میگیرید

البته اگر تاریکی رو با سنسور تشخیص میدید نیازی به ساعت نیست دیگه .

در مورد delay مشکلش اینه که cpu رو دارید 6 ساعت تو یه خط متوقف می کنید و تو اون بازه دیگه هیچ کاری نمیتونید ازش بکشید .
حداقل از millis استفاده کنیدکه بتونید تو اون 6 ساعت از cpu اسفاده دیگه ای بکنید.

فقط ممکنه لازم باشه بعد از هر 6 ساعت برای این که overflow نشه ریستش کنید.