 	// 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.

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);


			oldFsmState = fsmState;

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