Ez egy órási tévedés.
Itt ezen a fórumon is, és számos más hazai és külföldi fórumon is visszatérő történet, hogy "csináltam egy ilyet, működik, de most ki akartam bővíteni és nem működik, mi a hiba". Egy fejlesztés során, hobbistaként is (sőt, ott még inkább) előfordulhat, hogy útközben jössz rá valamire, amit máshogy akartál és/vagy kitalálod, hogy hopp, még de jó lenne bele egy kijelző vagy egy gomb (ad abszurdum, egy vészleállító). Ha ezt eleve így írod meg, nem lesz több perc/óra/nap többlet feladat a változó igényhez igazítani. Ha nem, akkor nulláról (vagy közel nulláról) kezdheted elölről.
Ja, és nem mellesleg, fogalmunk sincs, hogy az eredeti kérdező a két relé kapcsolgatásán kívül akart-e valamit kezdeni vele és/vagy van a programnak még egy halom más feladata is (mondjuk a Csendes éjt kopogja morzejelek sorozataként napi 23 óra 57 percen át).
A tipikus erre egyébként az okos ház. Amikor először csak a lámpák, aztán a rendőnyök, aztán a fűtés, aztán a kazán füstgáz, a keringetőszivattyú, a visszatérő hőmérséklet, esetleg szobánként a szelep stb. stb. És az elején nem tudja, hogy most csak a lámpák lesznek, vagy minden más is.
Az előbb írt hármas (négyes) szabályt az általad írt forrás úgy teljesíti, hogy a funkciót (amit tudunk) betölti, egyszerűen viszonylag egyszerű, módjával olvasható, de a legkevésbé sem hatékony.
Ez nem baj. Majd a kérdező eldönti, hogy melyikkel mit kezd, leragad a delay/waitms megoldásnál, vagy az eredeti (egyébként nem nagyon rossz, csak végtelenül túlbonyolított) példához hasonlóan időbélyeget használ (ahogy egyébként az összes belső órajelet használó időalapú megszakítás teszi).