mirror of
https://forgejo.altau.su/lego/lego-monitoring.git
synced 2026-03-10 12:45:19 +00:00
fix status is not actually a single word
This commit is contained in:
parent
3a02adde56
commit
66bc90da5c
2 changed files with 33 additions and 32 deletions
|
|
@ -113,36 +113,37 @@ async def ups_check() -> list[alerts.Alert]:
|
|||
message=f"Battery is under {sensor.battery_warning_percentage}%\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)} remaining.",
|
||||
severity=alerts.Severity.WARNING
|
||||
))
|
||||
elif IS_TESTING or sensor.ups_status == UPSStatus.ON_BATTERY:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is on battery.\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)}) remaining.",
|
||||
severity=alerts.Severity.INFO
|
||||
))
|
||||
|
||||
elif IS_TESTING or sensor.ups_status == UPSStatus.BATTERY_REPLACE:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS battery needs to be replaced ASAP!",
|
||||
severity=alerts.Severity.CRITICAL
|
||||
))
|
||||
elif IS_TESTING or sensor.ups_status == UPSStatus.UPS_OVERLOAD:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is overloaded!",
|
||||
severity=alerts.Severity.CRITICAL
|
||||
))
|
||||
elif IS_TESTING or sensor.ups_status == UPSStatus.UPS_BYPASS:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"BYPASS MODE: Battery and connected devices are not protected from power outage!",
|
||||
severity=alerts.Severity.WARNING
|
||||
))
|
||||
elif IS_TESTING or sensor.ups_status == UPSStatus.UPS_CALIBRATION:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is currently performing runtime calibration.",
|
||||
severity=alerts.Severity.INFO
|
||||
))
|
||||
for status in sensor.ups_status:
|
||||
if IS_TESTING or status == UPSStatus.BATTERY_REPLACE:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS battery needs to be replaced ASAP!",
|
||||
severity=alerts.Severity.CRITICAL
|
||||
))
|
||||
elif IS_TESTING or status == UPSStatus.UPS_OVERLOAD:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is overloaded!",
|
||||
severity=alerts.Severity.CRITICAL
|
||||
))
|
||||
elif IS_TESTING or status == UPSStatus.UPS_BYPASS:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"BYPASS MODE: Battery and connected devices are not protected from power outage!",
|
||||
severity=alerts.Severity.WARNING
|
||||
))
|
||||
elif IS_TESTING or status == UPSStatus.UPS_CALIBRATION:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is currently performing runtime calibration.",
|
||||
severity=alerts.Severity.INFO
|
||||
))
|
||||
elif IS_TESTING or status == UPSStatus.ON_BATTERY:
|
||||
alert_list.append(alerts.Alert(
|
||||
alert_type=alerts.AlertType.UPS,
|
||||
message=f"UPS is on battery.\n{sensor.battery_charge_percentage}% ({timedelta(seconds=sensor.battery_runtime)}) remaining.",
|
||||
severity=alerts.Severity.INFO
|
||||
))
|
||||
|
||||
return alert_list
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ class RamSensor:
|
|||
|
||||
@dataclass
|
||||
class UPSSensor:
|
||||
ups_status: UPSStatus = None
|
||||
ups_status: list[UPSStatus] = None
|
||||
battery_charge_percentage: int = None
|
||||
battery_warning_percentage: int = 20
|
||||
battery_critical_percentage: int = 10
|
||||
|
|
@ -132,7 +132,7 @@ class Sensors:
|
|||
case "battery.runtime":
|
||||
sensor_data.battery_runtime = int(value)
|
||||
case "ups.status":
|
||||
sensor_data.ups_status = UPSStatus(value)
|
||||
sensor_data.ups_status = [UPSStatus(status) for status in value.split()]
|
||||
case _:
|
||||
...
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue