aboutsummaryrefslogtreecommitdiffstats
path: root/check-lte-firmware-upgrade
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2019-01-02 22:35:34 +0100
committerGravatar Christian Hesse <mail@eworm.de>2019-01-02 22:50:23 +0100
commitfe04b8b8db3040d739e9151207dfcf75de1852af (patch)
tree4b6f76aade137aed8c4c32fee40be9034fb3ec49 /check-lte-firmware-upgrade
parente2b5124e8c049f9df16a4a2c9a02f683a490548c (diff)
rename script 'check-lte-firmware-update' -> 'check-lte-firmware-upgrade'
That's the correct wording from commands..
Diffstat (limited to 'check-lte-firmware-upgrade')
-rw-r--r--check-lte-firmware-upgrade34
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 . ".");
+ }
+}