No se ejecuta el 4 evento.

HOla a todos.
No sé por qué no se ejecuta el 4 evento. Alguien podría indicarme qué puede estar ocurriendo? Gracias.
NO me refiero, por cierto a que el relé no haga nada, sino a que ni siquiera sale el texto que debería salir con el evento… directamente no lo llama.
SAludos y gracias.

P.d.: por cierto, si pongo el cuarto evento en el primer lugar es ejecutado, como si quizás la libreria no permitiera tener más que 6 eventos alarmRepeat… extraño.

`

#include <Time.h>
#include <TimeAlarms.h>
#include <DS1307RTC.h>

void setup () {
   
  Serial.begin(9600);
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);
  pinMode(6, OUTPUT);
  digitalWrite(6, HIGH);
  pinMode(8, OUTPUT);
  digitalWrite(8, HIGH);
  pinMode(4, OUTPUT);
  digitalWrite(4, HIGH);
 
  setSyncProvider(RTC.get);
  if (timeStatus() != timeSet)
    Serial.println("Fallo de RTC");
  else
    Serial.println("Sincronizado con RTC");

    // Crear las alarmas y configurar las funciones correspondientes a cada una
  Alarm.alarmRepeat(22, 52, 0, EventoEnciendeLuz);  
  Alarm.alarmRepeat(22, 52, 30, EventoApagaLuz);  
  Alarm.alarmRepeat(22, 53, 0, EventoEnciendeLuz2); 
  Alarm.alarmRepeat(22, 53, 30, EventoApagaLuz2);
  ///////////////
  Alarm.alarmRepeat(22, 54, 0, EventoEnciendeLuz3); 
  Alarm.alarmRepeat(22, 54, 30, EventoApagaLuz3);
  Alarm.alarmRepeat(22, 55, 0, EventoEnciendeLuz4); 
  Alarm.alarmRepeat(22, 55, 30, EventoApagaLuz4);
}


void loop() {
  digitalClockDisplay();
  Alarm.delay(1000);
}


void EventoEnciendeLuz()  
{
  Serial.println("Encendiendo Luz!!!");
  digitalWrite(2, LOW);
}


void EventoApagaLuz()
{
  Serial.println("Apagando Luz!!!");
  digitalWrite(2, HIGH);
}

void EventoEnciendeLuz2() 
{
  Serial.println("Encendiendo Luz!!!");
  digitalWrite(6, LOW);
}

void EventoApagaLuz2()
{
  Serial.println("Apagando Luz!!!");
  digitalWrite(6, HIGH);
}

void EventoEnciendeLuz3() 
{
  Serial.println("Encendiendo Luz!!!");
  digitalWrite(8, LOW);
}

void EventoApagaLuz3()
{
  Serial.println("Apagando Luz!!!");
  digitalWrite(8, HIGH);
}

void EventoEnciendeLuz4()
{
  Serial.println("Encendiendo Luz!!!");
  digitalWrite(4, LOW);
}

void EventoApagaLuz4()
{
  Serial.println("Apagando Luz!!!");
  digitalWrite(4, HIGH);
}

void digitalClockDisplay() {
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println();
}
 
void printDigits(int digits) {
  Serial.print(":");
  if (digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

`

La librería permite mas de 6 pero para ello debes cambiar en el archivo TimeAlarms.h justamente esa cantidad.
Este tema esta respondido en el foro varias veces.

#if !defined(dtNBR_ALARMS )
#if defined(__AVR__)
#define dtNBR_ALARMS 6   // max is 255 <========== CAMBIA ACA
#elif defined(ESP8266)
#define dtNBR_ALARMS 20  // for esp8266 chip - max is 255
#else
#define dtNBR_ALARMS 12  // assume non-AVR has more memory
#endif
#endif