AC Dimmer time control

I load the program. There is no slownes in time.
The lights are full on.
The TimeAlarms works fine wen i use just on/off.

OK. Now you need to start sequentially incorporating the commented out parts of the program to see when the clock fails.

You say that with the alarms enabled but only on/off at the selected time, the clock does not slow,

What I would do next is uncomment the attachInterrupt() so the interrupt is enabled, but do not change the dimming, or trigger the triac in the ISR. This way we can separate out the effect of the interrupt on the sketch from the effect of the actual triac managment.

If the clock slows, then the problem is the interrupt itself and its effect on the processor, if it does not, then begin to bring back the still uncommented pieces of the ISR, and remove the full on digitalWrite() to the triac.

You could start with something like this

#include <TimeLib.h>
#include <TimeAlarms.h>

//AlarmId id;

int AC_LOAD1 = 10; // Output to Opto Triac pin
int AC_LOAD2 = 11; // Output to Opto Triac pin
volatile int dimming1 = 128; // Dimming level (0-128) 0 = ON, 128 = OFF
volatile int dimming2 = 128; // Dimming level (0-128) 0 = ON, 128 = OFF

void setup() {

  // Initialize Serial and wait for port to open:
  // Bridge.begin();
  Serial.begin(115200);

  setTime(8, 29, 30, 1, 1, 11); // set time to Saturday 8:29:30am Jan 1 2011

  // create the alarms, to trigger at specific times
  Alarm.alarmRepeat(8, 30, 0, LightOn); // 8:30am every day
  Alarm.alarmRepeat(8, 33, 30, LightOff); // 8:30;30am every day


  pinMode(AC_LOAD1, OUTPUT); // Set the AC Load as output
  pinMode(AC_LOAD2, OUTPUT); // Set the AC Load as output

  attachInterrupt(0, zero_crosss_int, RISING); // Choose the zero cross interrupt # from the table above
}

void loop() {
  Serial.print("min/sec ");
  digitalClockDisplay();
  Serial.println("dimming values");
  Serial.print(dimming1);
  Serial.print(":");
  Serial.println(dimming2);
  digitalWrite(AC_LOAD1, HIGH);
  digitalWrite(AC_LOAD2, HIGH);
  Alarm.delay(1000); // wait one second between clock display
}

// functions to be called when an alarm triggers:
void LightOn() {
  dimming1 = 10; //Full = 0
  dimming2 = 1; //Full = 0
}

void LightOff() {
  dimming1 = 128; //Off = 128
  dimming2 = 120; //Off = 128
}

void digitalClockDisplay() {
  // digital clock display of the time
  //Serial.print(hour());
  printDigits(minute());
  Serial.print(":");
  printDigits(second());
  Serial.println();
}

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

void zero_crosss_int() // function to be fired at the zero crossing to dim the light
{
  // Firing angle calculation :: 50Hz-> 10ms (1/2 Cycle)
  // (10000us - 10us) / 128 = 75 (Approx)
  int dimtime1 = (75 * dimming1);
  int dimtime2 = (75 * dimming2);

 /* if ( dimtime1 > dimtime2)
  { delayMicroseconds(dimtime2);
    digitalWrite(AC_LOAD2, HIGH);
    delayMicroseconds(10);
    digitalWrite(AC_LOAD2, LOW);

    delayMicroseconds( dimtime1 - dimtime2);
    digitalWrite(AC_LOAD1, HIGH);
    delayMicroseconds(10);
    digitalWrite(AC_LOAD1, LOW);
  }
  else
  { delayMicroseconds(dimtime1);
    digitalWrite(AC_LOAD1, HIGH);
    delayMicroseconds(10);
    digitalWrite(AC_LOAD1, LOW);

    delayMicroseconds( dimtime2 - dimtime1);
    digitalWrite(AC_LOAD2, HIGH);
    delayMicroseconds(10);
    digitalWrite(AC_LOAD2, LOW);
  }
  */
}