Time alarms - ¿¿día de la semana.??

Estimados, debo ejecutar una alarma determinado día de la semana, para esto tengo el código siguiente:

alarmaUA1Onn = Alarm.alarmOnce(dowSaturday,hora,minuto,0, enciendeReleA1);
          alarmaUA1Off = Alarm.alarmOnce(dowSaturday,horaApagado,minutoApagado,0, apagaReleA1);

ahora bien esto no nunca se ejecuta, aparentemente es como si nunca estuviera parado en el día de la semana que quiero.

Para configurar el tiempo tengo esto:

DateTime now = rtc.now();
  setTime(now.hour(), now.minute(), now.second(), now.month(), now.day(), now.year());

Como se yo que día de la semana está configurado en el arduino mega???, el reloj que estoy utilizando es: RTC_DS1307.

desde ya muchas gracias,
Saludos
Juan

Y cual es el código con el que pruebas lo anterior porque falta mucho ahi.
Estas 3 instrucciones no son suficientes.

hoy por hoy las alarmas las seteo así las del tipo:Alarm.alarmRepeat(hours, minutes, seconds, function);

y funcionan correctamente.

Serial.println("Una vez-----------------");
    Alarm.disable(alarmaUA1Onn);
    Alarm.free(alarmaUA1Onn);
    Alarm.disable(alarmaUA1Off);
    Alarm.free(alarmaUA1Off); 
    
    switch(diaEnviado){
     case 6:
          Serial.println("configuro alarma");
          alarmaUA1Onn = Alarm.alarmOnce(dowSaturday,hora,minuto,0, enciendeReleA1);
          alarmaUA1Off = Alarm.alarmOnce(dowSaturday,horaApagado,minutoApagado,0, apagaReleA1);
     break;

Dia enviado le viene por parametro, en el mensaje, pero para mi el tema es que el dia 6 no es saturday para el arduino, entonces la pregunta es ??? como se que día de la semana es Hoy????

gracias

Te fijaste si dowSaturday coincide con el valor esperado?

Me has obligado a tener que hacer un programa completo para probarlo.

Hora fijada a las 7:29:40am 2/6/2018 que fue sabado
Presionar y para cambioAlarmas()
Presionar s mostrar la hora segundo a segundo.
Presionar m para mostrar la hora cuando cambian los minutos.
Los dias van de Domingo = 0 a Sabado = 7

Configuro alarma
ON : 07:31:00 Dia:7
OFF: 07:32:00 Dia:7
Enciendo Rele A1
Apago Rele A1

Este ha sido el resultado.
No tengo mas tiempo pero esperaba que me mostrara las horas en Enciendo y apago Rele A1 pero por un detalle que configuré antes para activarlo por el puerto serie no pude

Con 'y' activas cambio de alarmas
con 's' que te muestre la hora cada segundo y con 'm' solo cuando cambian los minutos

Este es el código y funciona perfecto

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


AlarmID_t alarmaUA1Onn;
AlarmID_t alarmaUA1Off;

int hora = 7, minuto = 31;
int horaApagado = 7, minutoApagado = 32;
bool fseg = false, fminuto = false;

void setup() {
  Serial.begin(9600);
  Serial.println("Hora fijada a las 7:29:40am 2/6/2018 que fue sabado");
  Serial.println("Presionar y para cambioAlarmas()");
  Serial.println("Presionar s mostrar la hora segundo a segundo.");
  Serial.println("Presionar m para mostrar la hora cuando cambian los minutos.");
  Serial.println("Los dias van de Domingo = 0 a Sabado = 7");
  Serial.println();
  setTime(7,29,40,2,6,18); // set time to 7:29:40am 2/6/2018
  cambioAlarmas();
}


void loop() {

  if (Serial.available()) {
     char str = Serial.read();
     switch (str) {
       case 'y': cambioAlarmas();
                 break;
       case 's':  fseg = !fseg;
                  break;
       case 'm':  fminuto = !fminuto;
                  break;
     }
  }

  digitalClockDisplay();
  Alarm.delay(0); // sin esto no funciona nada 
                  // he puesto 1 milisegundo para que puedas 
                  // ver como evoluciona dia a dia en poco tiempo
                  // luego lo pones en 1000 
}

void cambioAlarmas() {
  char buffer[30]; 

    
    Alarm.disable(alarmaUA1Onn);
    Alarm.free(alarmaUA1Onn);
    Alarm.disable(alarmaUA1Off);
    Alarm.free(alarmaUA1Off); 
    
    Serial.println("Configuro alarma");
    alarmaUA1Onn  = Alarm.alarmOnce(dowSaturday,       hora,       minuto,  0, enciendeReleA1);
    sprintf(buffer, "ON : %02d:%02d:%02d Dia:%d", hora, minuto, 0, dowSaturday);
    Serial.println(buffer);
    if (minuto++> 59){
        minuto = 0;
        if (hora++>23) {
            hora = 0;
            minuto = 0;
        }
          
    }   
    alarmaUA1Off  = Alarm.alarmOnce(dowSaturday,horaApagado,minutoApagado,  0, apagaReleA1);
    sprintf(buffer, "OFF: %02d:%02d:%02d Dia:%d", horaApagado, minutoApagado, 0, dowSaturday);
    Serial.println(buffer);
 
    if (minutoApagado++> 59){
        minutoApagado = 0;
        if (horaApagado++>23) {
            horaApagado = 0;
            minutoApagado = 0;
        }
    }
}

void enciendeReleA1() {
  digitalClockDisplay();
  Serial.println("Enciendo Rele A1");
}

void apagaReleA1() {
  digitalClockDisplay();
  Serial.println("Apago Rele A1");
}

void digitalClockDisplay(){ 
  static int secondAnt = 0;
  static int minuteAnt = 0;
  char buffer[10]; 

  if (fseg)
      if (second() != secondAnt){
          sprintf(buffer, "%02d:%02d:%02d", hour(), minute(), second());
           Serial.println(buffer);
           secondAnt = second();
      }
  if (fminuto)
      if (minute() != minuteAnt){
          sprintf(buffer, "%02d:%02d:%02d", hour(), minute(), second());
           Serial.println(buffer);
           minuteAnt = minute();
      }
}

gracias, lo pruebo y te cuento,
saludos,
juan