from alerting import alerts from misc import sensors def temp_check() -> set[alerts.Alert]: alert_list = [] temps = sensors.Sensors.get_temperatures() for _, sensor_list in temps.items(): for sensor in sensor_list: if sensor.critical_temp is not None and sensor.current_temp > sensor.critical_temp: alert = alerts.Alert( alert_type=alerts.AlertType("TEMP"), message=f"{sensor.sensor_type} {sensor.sensor_label}: {sensor.current_temp}°C > {sensor.critical_temp}°C", severity=alerts.Severity.CRITICAL, ) elif sensor.highest_temp is not None and sensor.current_temp > sensor.highest_temp: alert = alerts.Alert( alert_type=alerts.AlertType("TEMP"), message=f"{sensor.sensor_type} {sensor.sensor_label}: {sensor.current_temp}°C > {sensor.critical_temp}°C", severity=alerts.Severity.WARNING, ) else: continue alert_list.append(alert) return alert_list