duvida em botão liga e desliga com controle remoto

boa noite, muito novato em arduino e to com dificuldades com um codigo, no caso qndo aperto qualquer botão do controle remoto o modulo rele liga, e permanece ligado por 30 minutos, foi feito usando millis(), mas não to conseguindo programar para que durante esses 30 minutos em caso de emergência eu possa também apertando qualquer botao do controle remoto simplesmente desligar o rele e interromper o funcionamento do motor. se alguem souber como fazer e puder ajudar agradeço muito.
o codigo q to usando é esse. uso o arduino um modulo rele e um modulo receptor IR para captar o sinal do controle remoto.

#define MILISECONDS_IN_MINUTE 60000UL
#define MY_SETPOINT_IN_MINUTES 30 //30 minutos
#define CLOCK_TIMER (MILISECONDS_IN_MINUTE * MY_SETPOINT_IN_MINUTES)

byte rele = 11;
byte BOTAO = 0;
byte MOTOR = 0;
byte PORTA_B = 10;
unsigned long motorStartedAt = 0;

boolean motorON = false;

void setup()
{
pinMode(PORTA_B, INPUT);
digitalWrite(PORTA_B,HIGH);
pinMode(rele, OUTPUT);
digitalWrite(rele,LOW);

}

void loop()
{

BOTAO = digitalRead(PORTA_B);

if(BOTAO == LOW && !motorON)
{
digitalWrite(rele,HIGH);
motorStartedAt = millis();
motorON = true;
}

if(motorON == true && (millis() - motorStartedAt )>= CLOCK_TIMER)
{
digitalWrite(rele,LOW);
motorON = false;
}

Tens de criar mais uma condição para desligar o motor...

  if(motorON == true) {// primeiro if... 
      if (digitalRead(STOP) || (millis() - motorStartedAt )>= CLOCK_TIMER)
      {
         digitalWrite(rele,LOW);
         motorON = false;
      }
  }//segundo if

Se o motor não estiver ligado, não precisas de ver o tempo ou o botão.
Se estiver ligado E carregares no botão de stop OU o tempo terminar, o motor pára. Podes juntar isto numa condição apenas, mas torna-se complicado de ler... ou mais complicado de ler na minha opinião.