diff options
Diffstat (limited to 'check-lte-firmware-upgrade')
-rw-r--r-- | check-lte-firmware-upgrade | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/check-lte-firmware-upgrade b/check-lte-firmware-upgrade new file mode 100644 index 0000000..c99f5d7 --- /dev/null +++ b/check-lte-firmware-upgrade @@ -0,0 +1,34 @@ +#!rsc +# RouterOS script: check-lte-firmware-upgrade +# Copyright (c) 2018-2019 Christian Hesse <mail@eworm.de> +# +# check for LTE firmware upgrade, send notification e-mails + +:global "identity"; +:global "sent-lte-firmware-upgrade-notification"; + +:global SendNotification; + +:foreach interface in=[ / interface lte find ] do={ + :local intname [ / interface lte get $interface name ]; + :do { + :local firmware [ / interface lte firmware-upgrade $interface once as-value ]; + # strip the extra line break (TODO: remove when fixed upstream) + :set ($firmware->"latest") [ :pick ($firmware->"latest") 0 [ :find ($firmware->"latest") "\n" ] ]; + + :if ($"sent-lte-firmware-upgrade-notification" = ($firmware->"latest")) do={ + :log debug ("Already sent the LTE firmware upgrade notification for version " . \ + ($firmware->"latest") . "."); + } else={ + :if (($firmware->"installed") != ($firmware->"latest")) do={ + $SendNotification ("LTE firmware upgrade notification") \ + ("A new firmware version " . ($firmware->"latest") . " is available for " . \ + "LTE interface " . $intname . " on " . $identity . "."); + :set "sent-lte-firmware-upgrade-notification" ($firmware->"latest"); + } + } + } on-error={ + :log debug ("Could not get latest LTE firmware version for interface " . \ + $intname . "."); + } +} |