 	// save alarm setting to parts of SRAM, easier retrieval
 	RTC.sramWrite(ALARM_H_ADDR, hour);
 	RTC.sramWrite(ALARM_M_ADDR, minute);
+
+	lastAlarmTrigger = 0;
 }
 
 // Debug statements, print new alarm / status to serial port.


			oldFsmState = fsmState;

			if (alarmTriggeredToday && ((millis() - lastAlarmCleared) > ALARM_CLEAR_DURATION))
			{
				alarmTriggeredToday = 0;
			}

			if ((millis() - lastClockRead) > updateInterval)
			{
				updateTime();


	// If alarm condition is detected, modify FSM state accordingly
	// When an alarm is triggered, the alarm pin is pulled low.
	//if (RTC.alarm(ALARM_0) && RTC.alarm(ALARM_1) && !alarmTriggeredToday)
	if (RTC.alarm(ALARM_0) && RTC.alarm(ALARM_1) && (millis()-lastAlarmTrigger) > ALARM_CLEAR_DURATION)
	{
		oldFsmState = fsmState;
		fsmState    = SHOW_ALARM_MODE;
		lastAlarmTrigger = millis();
	}


