Wirelessinfo.be
Mikrotik Routerboard volt monitor email script

Dit script zal een email verzenden naar jou als de voltage van het Mikrotik Routerboard een instelbaar minimum of maximum voltage bereikt. Er is uiteraard een voorwaarde aan verbonden dat het Routerboard over een voltage monitor beschikt, anders werkt het niet. Het script zoekt en vermeld automatisch de naam van het Mikrotik Routerboard zodat je weet over welke router het gaat.

Dit script is getest en werkend met volgende RouterOs

RouterOs Bios firmware
6.33 3.24

Opgelet! Het script moet aangepast worden waar de woorden rood zijn gekleurd. Daar moet je het email adres invullen en de email server waar de boodschap moet naar verzonden worden. Bij de waarden van de voltage staat bijvoorbeeld 140 dat is gelijk aan 14 volt 145 = 14.5 volt.

Email instellingen
bgpmon

Klik in het hoofdmenu op "tools" vervolgens op "email".

bgpmon

Bij "server" vul het IP-adres in van de SMTP-server

Bij "port" vul poort 25 in.

Bij "from" vul een email adres in die je wil gebruiken.

Klik op "ok"

Mikrotik scheduler configureren
bgpmon

In het hoofdmenu klik op "system" vervolgens op "scheduler".

bgpmon

Klik op het blauwe kruisje om een nieuwe scheduler taak aan te maken.

voltmonmon

  1. Bij "name" geef de scheduler taak een naam.
  2. Bij "start date" zet een datum in dat nog niet verstreken is.
  3. Bij "start time" zet het uur in dat de scheduler taak moet beginnen. Deze tijd mag eveneens niet verstreken zijn.
  4. Bij "interval" kies je de tijd dat die terug de scheduler taak moet uitvoeren. Hier staat die ingesteld op 30 minuten. Alle 30 minuten zal het script de voltage gaan controleren.
  5. Kopieer het onderstaande script en plak het in het venster "on event".
  6. Bewerk de voltage bij de eerste twee lijnen van het script.
  7. Klik op "ok".

Kopieer dit script in het venster van scheduler
  • :global lowvoltalarm 200
  • :global highvoltalarm 280
  • :global highvolt
  • :global lowvolt
  • :global starttime
  • :global hivolttime
  • :global lovolttime
  • :global vh
  • :local thisbox [/system identity get name]
  • :global voltage [/system health get voltage]
  • :local thistime [/system clock get time]
  • :local thisdate [/system clock get date]
  • :local thishour [:pick $thistime 0 2]
  • :local emessage ($thisbox . " voltage is: " . [:pick $voltage 0 2] . "." . [:pick $voltage 2 3])
  • :if ([:len $lowvolt] < 1) do={:set lowvolt 999; :set highvolt 0}
  • :if ($voltage <= $lowvoltalarm) do={/tool e-mail send to=""voorbeeld@wirelessinfo.be"" subject="$thisbox Voltage Statistics" body=$emessage port=25 server="xx.xx.xx.xx""}
  • :if ($voltage >= $highvoltalarm) do={/tool e-mail send to=""voorbeeld@wirelessinfo.be"" subject="$thisbox Voltage Statistics" body=$emessage port=25 server="xx.xx.xx.xx""}
  • :if ($voltage > $highvolt) do={:set highvolt $voltage; :set hivolttime ($thistime . " " . $thisdate)}
  • :if ($voltage < $lowvolt) do={:set lowvolt $voltage; :set lovolttime ($thistime . " " . $thisdate)}
  • :if ([:len $vh] > 0) do={:set vh ([:toarray $voltage] + $vh)} else={:set vh [:toarray $voltage]}
  • :if ([:len $starttime] < 1) do={:set starttime ($thistime . " " . $thisdate)}
  • :if ($thishour = "23") do={:execute $voltreport}