Man kann einen Timer zB im CTC Modus so einstellen, daß er jede Sekunde einen Interrupt erzeugt. In der ISR zählt er mit einer Variablen hoch, bis 30 Sekunden erreicht sind und schaltet die Sirene. Danach wird die Variable auf eine Stunde (3600 Sekunden) verglichen. Der Timer wird nur scharf geschaltet wenn es dunkel ist. Details kann man schauen, wenn Du einen Code reinstellst.

Gruß
Searcher