Change TimeAlarm does not work

Hi friends

I was looking a lot in forum, but i have not find a solution,

I modified and implemented the program from this link:

i have 2 alarms
onalarm turns led on
offalarm turns led off

i need to change this trigger alarms

when i send a number 6 trough serial port, the new onalarm trigger should be now + 60 seconds, but it does not triggers again, i have use a print intruction to now() and newOntime when the number 6 is received and the values are correct but it is not working. Do you have some idea about what is happening?

Thanks in advance

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

int ledpin = 13; // LED connected to pin 48 (on-board LED)
int val; // variable to receive data from the serial port

AlarmID_t onAlarm ;  // the ID for the alarms will be assigned when the alarm is created in setup
AlarmID_t offAlarm;

time_t onTime = AlarmHMS(8,30,0) ; // 8:30 am
time_t offTime = AlarmHMS(8,30,10) ;  // 8:30:10 am

void setup()
  setTime(8,29,55,8,12,13); // set time to 8:29:55
  onAlarm = Alarm.alarmRepeat(onTime, onAlarmEvent); // set the on alarm time
  offAlarm = Alarm.alarmRepeat(offTime, offAlarmEvent); // set the off alarm time
  pinMode(ledpin, OUTPUT);  // pin 48 (on-board LED) as OUTPUT

void onAlarmEvent()
 Serial.println("Alarm: - turn lights on"); 
 digitalWrite(ledpin, HIGH);  // turn ON the LED 

void offAlarmEvent()
  Serial.println("Alarm: - turn lights off");
  digitalWrite(ledpin, LOW);  // turn OFF the LED 

void loop()
  Alarm.delay(1000); //

  if( Serial.available() ){       // if data is available to read
    val =;         // read it and store it in 'val'
 case '6':
   // add your code here to get a new on time
   time_t newOnTime = now()+10 ;  // this should be replaced with a call to the LCD menu to get the time
   Alarm.write(onAlarm , newOnTime);
   Alarm.enable(onAlarm); // this will reschedule the alarm;
// code here to get a new off time
//   time_t newOffTime = now() + 70;
//   Alarm.write(offAlarm , newOffTime);
//   Alarm.enable(offAlarm); // this will reschedule the alarm
//    break;   



void digitalClockDisplay()
  // digital clock display of the time

void printDigits(int digits)
  if(digits < 10)

This is a screen capture from serial monitor, you can see that the new time alarm is ok, but this never triggers again.