Gadget para desconectar un ascensor

Hola,
no sé qué interfaz utilizas para configurar. Tomando como ejemplo el keypad (4x3) del Playground, yo lo enfocaría así

void loop()
{
   activar_desactivar();
   configurar();
}

Para configurar, pondría un carácter de inicio de configuración ('#'), y un carácter de final de configuración (''), de suerte que si llega un '#' entra en la rutina de configuración, y no sale de las misma hasta que llegue el ''

int configurar()
{
char key = keypad.getKey();

if (key = '#')
{
// se inician rutinas de configurar: for(;;){}
// leer todo lo que llega, configurar
// hasta que llegue el carácter ''
if(key == '
')
return 1;
}
else
return 0;
}

¿Cuánto puede tardar la configuración? Uno, dos, tres minutos? En el peor de los casos, se realizaría el activado/desactivado con tres minutos de retraso. ¿Sería crítico eso?
En la función de configuración podrías añadir una comprobación de hora, y poner un mensaje de aviso "para de configurar, que llega la hora!"