 
 #define SHOW_TIME_DURATION    7000
 #define SHOW_TEMP_DURATION    3000
-#define ALARM_CLEAR_DURATION 61000
+#define ALARM_CLEAR_DURATION 60001
 // ---------------------- //
 //  Common definitions
 // ---------------------- //

byte fsmState       = 0;
byte activeDigit    = 0;
byte digitValues[N] = {0,0,0,0};
byte alarmTriggeredToday = 0;
int  tempInCelsius  = 0;
unsigned long updateInterval    = 100;
unsigned long lastTempRead      = 0;
unsigned long lastClockRead     = 0;
unsigned long lastShowTimeStart = 0;
unsigned long lastShowTempStart = 0;
unsigned long lastAlarmCleared  = 0;


SevenSegController display(DIGIT0_PIN, DIGIT1_PIN, DIGIT2_PIN, DIGIT3_PIN, COLON_PIN, DEGREE_PIN, LATCH_PIN, DATA_PIN, CLOCK_PIN);
OneButton buttonA(BUTTON_A_PIN, true);
OneButton buttonB(BUTTON_B_PIN, true);
OneWire oneWire(ONE_WIRE_BUS);

// -------------------------------------- //
void printDigits(int digits, char separator)
{
  // Utility function for digital clock display: prints preceding 
  // separator and leading 0
  Serial.print(separator);
  if(digits < 10)
    Serial.print('0');
