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()
{
  Serial.begin(9600);
  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 
 delay(1000);
}

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

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

//Serial.write(random(40));
  if( Serial.available() ){       // if data is available to read
    val = Serial.read();         // read it and store it in 'val'
  
  switch(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
   Alarm.read(onAlarm);
   Serial.println(now());
   Serial.println(newOnTime); 
  Serial.println(onAlarm); 
  Serial.println(Alarm.read(onAlarm)); 
   break;
    
// 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
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.println(); 
  
}

void printDigits(int digits)
{
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

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

http://imageshack.com/a/img440/9054/pzdp.jpg