| 1234567891011121314151617181920212223 |
- // LoopFollow
- // TempTargetStartCondition.swift
- // Created by Jonas Björkert on 2025-05-14.
- import Foundation
- /// Fires once when a temp-target is activated.
- struct TempTargetStartCondition: AlarmCondition {
- static let type: AlarmType = .tempTargetStart
- init() {}
- func evaluate(alarm _: Alarm, data: AlarmData) -> Bool {
- guard let startTS = data.latestTempTargetStart, startTS > 0 else { return false }
- guard Date().timeIntervalSince1970 - startTS <= 15 * 60 else { return false }
- let last = Storage.shared.lastTempTargetStartNotified.value ?? 0
- guard startTS > last else { return false }
- Storage.shared.lastTempTargetStartNotified.value = startTS
- return true
- }
- }
|