=== applets/AlarmSnooze/AlarmSnoozeApplet.lua ================================================================== --- applets/AlarmSnooze/AlarmSnoozeApplet.lua (revision 50072) +++ applets/AlarmSnooze/AlarmSnoozeApplet.lua (local) @@ -59,6 +59,7 @@ self.debugRTCTime = timeToAlarm self.debugWOLTime = 0 + self.failedAudioTicker = 0 self.RTCAlarmTimer = Timer(timeToAlarm, function () log:warn("RTC ALARM FIRING") @@ -119,7 +120,7 @@ self:_startTimer() end - self.decodeStatePoller = Timer(10000, + self.decodeStatePoller = Timer(5000, function () self:_pollDecodeState() end, @@ -240,6 +241,15 @@ log:warn('alarm_sledgehammerRearm(', caller,'): ', self.alarmInProgress, ' alarm in progress - audioState is ', status.audioState) if self.alarmInProgress and self.alarmInProgress ~= 'snooze' and status.audioState ~= 1 then + self.failedAudioTicker = self.failedAudioTicker + 1 + log:warn('Audio failed! (', self.failedAudioTicker, ')') + else + self.failedAudioTicker = 0 + log:warn('Audio now in good shape, reset ticker to ', self.failedAudioTicker) + end + + if self.failedAudioTicker > 5 then + log:warn('Decode state bad ', self.failedAudioTicker, ' consecutive times. Trigger fallback alarm!') hammer = true end