:global u
/interface wireless monitor wlan1 once do={
{
:set u $status
}
:if ($u = "searching-for-network") do={
:log info "No Wireless Registration"
/system reboot
}
:do {
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "Wireless Registration Restored";:quit;}
:log info "No Wireless Registration";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "Wireless Registration Restored";:quit;}
:log info "No Wireless Registration";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "Wireless Registration Restored";:quit;}
:log info "No Wireless Registration";
/system reboot;
} on-error={}
:do {
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:quit;}
:log info "No Wireless Registration Wait 1 - 5 mins";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "5Min Check - Wireless Registration Restored";:quit;}
:log info "No Wireless Registration Wait 2 - 5 mins";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "10min Check - Wireless Registration Restored";:quit;}
:log info "No Wireless Registration - 10 Mins Elapsed - Rebooting Now";
/system scheduler set [find name="Router Rebooted Email Warning"] disabled=no;
:delay 5s;
/system reboot;
} on-error={}
:local adminmail1 someone@emailaddress.com ;
:local sub1 ([/system identity get name])
:local sub2 ([/system clock get time]) ;
:local sub3 ([/system clock get date]) ;
:local gmailid yourgmailaccount@gmail.com ;
:local gmailuser yourgmailaccount@gmail.com ;
:local gmailpwd your password ;
:local gmailport 587 ;
:local gmailsmtp ;
:set gmailsmtp [:resolve "smtp.gmail.com"];
/tool e-mail set address=$gmailsmtp port=$gmailport start-tls=yes from=$gmailid user=$gmailuser password=$gmailpwd;
/tool e-mail send to=$adminmail1 subject="$sub3 $sub2 $sub1 No Wireless Registration - 10 Mins Elapsed - Rebooting Now" start-tls=yes;
:delay 30s
/system scheduler set [find name="Router Rebooted Email Warning"] disabled=yes;
:do {
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:quit;}
:log info "No Wireless Registration Wait 1 - 5 mins";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "5Min Check - Wireless Registration Restored";:quit;}
:log info "No Wireless Registration Wait 2 - 5 mins";
:delay 300s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"status")="connected-to-ess" ) do={:log info "10min Check - Wireless Registration Restored";:quit;}
:log info "No Wireless Registration - 10 Mins Elapsed - Sending Email Warning before Rebooting...";
:do {/tool e-mail
:local adminmail1 someone@emailaddress.com ;
:local sub1 ([/system identity get name])
:local sub2 ([/system clock get time]) ;
:local sub3 ([/system clock get date]) ;
:local gmailid yourgmailaccount@gmail.com ;
:local gmailuser yourgmailaccount@gmail.com ;
:local gmailpwd your password ;
:local gmailport 587 ;
:local gmailsmtp ;
:set gmailsmtp [:resolve "smtp.gmail.com"];
set address=$gmailsmtp port=$gmailport start-tls=yes from=$gmailid user=$gmailuser password=$gmailpwd;
send to=$adminmail1 subject="$sub3 $sub2 $sub1 No Wireless Registration - 10 Mins Elapsed - Rebooting Now" start-tls=yes;
} on-error={:log error "Rebooted Email Warning failed"}
/system reboot;
} on-error={}
telegram bot notification is easier than email, as i didAs I have already have netwatch checking PTP IP address's and will alert when an IP address is down,the purpose of this script is to solve by rebooting what I call partial router lockup resulting in loss of wireless registration of a PTP and if it works without any unforeseen issues I may use it on PTMP AP's.
/in wi monitor wlan1
status: running-ap
registered-clients: 0
authenticated-clients: 0
:if ( ([/interface wireless monitor wlan1 as-value once]->"registered-clients")!=0 )
:do {
:if ( ([/interface wireless monitor wlan1 as-value once]->"registered-clients")!=0 ) do={:quit;}
:log info "No Wireless Registration Wait 1 - 10 mins";
:delay 600s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"registered-clients")!=0 ) do={:log info "10Min Check - no issues, reboot not required";:quit;}
:log info "No Wireless Registration Wait 2 - 10 mins";
:delay 600s;
:if ( ([/interface wireless monitor wlan1 as-value once]->"registered-clients")!=0 ) do={:log info "20min Check - no issues, reboot not required";:quit;}
:log info "No Wireless Registration - 20 Mins Elapsed - Rebooting Now";
#put mail script here if required.
/system reboot;
} on-error={}
:do {/tool e-mail
:local adminmail1 someone@emailaddress.com ;
:local sub1 ([/system identity get name])
:local sub2 ([/system clock get time]) ;
:local sub3 ([/system clock get date]) ;
:local gmailid yourgmailaccount@gmail.com ;
:local gmailuser yourgmailaccount@gmail.com ;
:local gmailpwd your password ;
:local gmailport 587 ;
:local gmailsmtp ;
:set gmailsmtp [:resolve "smtp.gmail.com"];
set address=$gmailsmtp port=$gmailport start-tls=yes from=$gmailid user=$gmailuser password=$gmailpwd;
send to=$adminmail1 subject="$sub3 $sub2 $sub1 No Wireless Registration - 10 Mins Elapsed - Rebooting Now" start-tls=yes;
} on-error={:log error "Rebooted Email Warning failed"}