encender rele segun tiempo

Bueno eso es otra cosa.
Cuando entras a la rutina del boton 1 debes tomar la hora actual y guardarla, si presionas el boton 2 tambien lo guardas.
Despues consultas la hora cada tantos segundos como te mencione y revisas todas las variables (puede ser un array para mas facil manejo) guardadas mas el tiempo de encendido y si se cumplio lo pagas.
Separa el codigo en 2, te lo bosquejo

Rutinas de botones
..
.
.
.
Rutina de tiempos

incluso de esta forma si vuelves a presionar el boton extiendes el tiempo de encendido.