allow alarmAction to be null