Update system.py

This commit is contained in:
SpudGunMan
2025-10-29 10:03:26 -07:00
parent 8823d415c3
commit 1751648b12
+7 -4
View File
@@ -1120,7 +1120,7 @@ last_alerts = {
"wx": {"time": 0, "message": ""},
"volcano": {"time": 0, "message": ""},
}
def should_send_alert(alert_type, new_message, min_interval=60):
def should_send_alert(alert_type, new_message, min_interval=1):
now = time.time()
last = last_alerts[alert_type]
# Only send if message is new or enough time has passed
@@ -1141,7 +1141,9 @@ def handleAlertBroadcast(deviceID=1):
overdueAlerts = format_overdue_alert()
if overdueAlerts:
logger.debug("System: Adding overdue checkin to emergency alerts")
if should_send_alert("overdue", overdueAlerts, min_interval=3600):
if should_send_alert("overdue", overdueAlerts):
last_alerts["overdue"]["time"] = time.time()
last_alerts["overdue"]["message"] = overdueAlerts
send_message(overdueAlerts, emergency_responder_alert_channel, 0, emergency_responder_alert_interface)
# Only allow API call every 20 minutes
@@ -1162,7 +1164,6 @@ def handleAlertBroadcast(deviceID=1):
if volcanoAlertBroadcastEnabled:
volcanoAlert = get_volcano_usgs(latitudeValue, longitudeValue)
# Send alerts using should_send_alert
alert_types = [
("fema", alertFema, ipawsAlertEnabled),
("uk", alertUk, ipawsAlertEnabled),
@@ -1172,7 +1173,9 @@ def handleAlertBroadcast(deviceID=1):
]
for alert_type, alert_msg, enabled in alert_types:
if enabled and alert_msg and NO_ALERTS not in alert_msg and ERROR_FETCHING_DATA not in alert_msg:
if should_send_alert(alert_type, alert_msg, min_interval=1200):
if should_send_alert(alert_type, alert_msg):
last_alerts[alert_type]["time"] = time.time()
last_alerts[alert_type]["message"] = alert_msg
send_message(alert_msg, emergency_responder_alert_channel, 0, deviceID)
except Exception as e:
logger.error(f"System: Error in handleAlertBroadcast: {e}")