How to apply scripts

I’m totally new to scripting and want to use some of the predefined scripts available. My immediate need is for the alignment script for the RB SXT. I found the script however I don’t know how to copy it from my laptop to the SXT and schedule it to run. Can anyone help with some well defined instructions on how to accomplish this? Thanks!

Hi

just copy your scripts text to /system scripts and give that a name.
for schedule you scripts go to /system scheduler and then in On Event type the name of your script for launching

Good Luck

Thanks. I’ll play around with it today and let you know how I make out.

I've been trying to get this working however not sure if I'm copying the right text. Also when I click "Apply" I get disconnected from the SXT.

What part of this text should I copy?

Mikrotik RB411/433 "Lights and Sound" alignment script

written by Mark Shumate Feb 2009

Edited by enuro12 Mar 2011

NOTE: I have replaced user-led with led5. That is the

only modification over the original script. I've tested

this on v5.2 of RouterOS on my SXT 5HnD.

This script recognizes 9 different "signal levels"

and 3 assoc. statuses (connected, searching, other)

Currently, "signal levels" indicate the SNR/margin

measurement. Higher signal-to-noise measurements

correspond to higher levels. So level 8 would be

the best, below 1 would be the worst. The better

the signal-to-noise, the more LEDs you get, and

the faster the beeps get. Only 4 LEDs are used,

(the 5th being left alone, for NAND access ind.)

with intermediate signal levels resulting in a

combination of solid and flashing LEDs, shown

here:

>= Level 8 : 4 solid (100ms beeps)

>= Level 7 : 3 solid, 4th flashing (300ms beeps)

>= Level 6 : 3 solid (500ms beep cycle)

>= Level 5 : 2 solid, 3rd flashing (700ms beeps)

>= Level 4 : 2 solid (900ms beeps)

>= Level 3 : 1 solid, 2nd flashing (1100ms beeps)

>= Level 2 : 1 solid (1300ms beeps)

>= Level 1 : 1 flashing (1500ms beeps)

< Level 1 : no LEDs, beeps only (1700ms beeps)

The led5 (green LED above the blue power LED)

is used to display the association status. If the

wireless interface is associated, the led5 is

solid. If the wireless interface is actively

searching, but not yet associated, the led5 is

blinking twice a second, with a pause while a

rising trill of 3 beeps is played. If the wireless

interface is neither associated, nor searching

(like disabled, or something weird) then the light

will flicker rapidly every 2 seconds, and a

falling trill of 2 beeps is played.

Finally, the script plays startup (rising) and

shutdown (falling) tones.

For reference, the delay times associated with the

different signal levels are shown here:

#:local lnsdelaytime 100ms; <---signals at/above lvl 8
#:local lnsdelaytime 300ms; <---signals between 7 and 8
#:local lnsdelaytime 500ms; <---signals between 6 and 7
#:local lnsdelaytime 700ms; <---signals between 5 and 6
#:local lnsdelaytime 900ms: <---signals between 4 and 5
#:local lnsdelaytime 1100ms; <---signals between 3 and 4
#:local lnsdelaytime 1300ms; <---signals between 2 and 3
#:local lnsdelaytime 1500ms; <---signals between 1 and 2
#:local lnsdelaytime 1750ms; <---signals below lvl 1
#:local lnsdelaytime 2000ms; <---signal not available

default delaytime

:local lnsdelaytime "2000ms";

name of wireless interface to monitor (default wlan1)

:local lnsintname "wlan1";

frequency (as in pitch) of beep (recommend 700 - 1000)

:local lnsbeepfreq 800;

Here, the different signal levels are assigned to

signal-to-noise measurements. I haven't really tweaked

these yet to be in line with field testing, so they

may need quite a bit of adjusting.

:local lnslevel8 70;
:local lnslevel7 65;
:local lnslevel6 60;
:local lnslevel5 55;
:local lnslevel4 50;
:local lnslevel3 45;
:local lnslevel2 40;
:local lnslevel1 35;

The (veery approximate, heh) running time of the script

is set here. I am too lazy right now to do this a

better way...besides, who cares if the thing beeps or

flashes a couple extra minutes right?!? :slight_smile:

:local lnsrunningtime 60m;

Here, we set how long the script will beep. NOTE that

startup/shutdown tones will still be played.

I like this feature when using an access point where

the LEDs are clearly visible. If you don't want this

feature, set it to the same as $lnsrunningtime

(above).

:local lnsbeeptime 10m;

figure out beep cutoff time

:local lnsrunbeepdiff;
:set lnsrunbeepdiff ($lnsrunningtime - $lnsbeeptime);

\

initialize LEDs, play starting tones

:delay 50ms;
:led led5=no led4=no led3=no led2=no led1=no;
:delay 50ms;
:beep frequency=($lnsbeepfreq - 300) length=50ms;
:delay 50ms;
:beep frequency=($lnsbeepfreq - 200) length=50ms;
:delay 50ms;

main monitoring cycle

:while ($lnsrunningtime > 0s) do={
/interface wireless monitor "$lnsintname" once do={
:if ($"status" = "connected-to-ess") do={
:if ($"signal-to-noise" >= $lnslevel8) do={
:set lnsdelaytime 100ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:led led5=yes led4=yes led3=yes led2=yes led1=yes;
:delay $lnsdelaytime;
}
:if ($"signal-to-noise" >= $lnslevel7 && $"signal-to-noise" < $lnslevel8) do={
:set lnsdelaytime 300ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:for i from=1 to=3 do={
:led led5=yes led4=no led3=yes led2=yes led1=yes;
:delay ($lnsdelaytime / 6);
:led led5=yes led4=yes led3=yes led2=yes led1=yes;
:delay ($lnsdelaytime / 6);
}
}
:if ($"signal-to-noise" >= $lnslevel6 && $"signal-to-noise" < $lnslevel7) do={
:set lnsdelaytime 500ms;
:led led5=yes led4=no led3=yes led2=yes led1=yes;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:delay $lnsdelaytime;
}
:if ($"signal-to-noise" >= $lnslevel5 && $"signal-to-noise" < $lnslevel6) do={
:set lnsdelaytime 700ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:for i from=1 to=3 do={
:led led5=yes led4=no led3=no led2=yes led1=yes;
:delay ($lnsdelaytime / 6);
:led led5=yes led4=no led3=yes led2=yes led1=yes;
:delay ($lnsdelaytime / 6);
}
}
:if ($"signal-to-noise" >= $lnslevel4 && $"signal-to-noise" < $lnslevel5) do={
:set lnsdelaytime 900ms;
:led led5=yes led4=no led3=no led2=yes led1=yes;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:delay $lnsdelaytime;
}
:if ($"signal-to-noise" >= $lnslevel3 && $"signal-to-noise" < $lnslevel4) do={
:set lnsdelaytime 1100ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:for i from=1 to=3 do={
:led led5=yes led4=no led3=no led2=no led1=yes;
:delay ($lnsdelaytime / 6);
:led led5=yes led4=no led3=no led2=yes led1=yes;
:delay ($lnsdelaytime / 6);
}
}
:if ($"signal-to-noise" >= $lnslevel2 && $"signal-to-noise" < $lnslevel3) do={
:set lnsdelaytime 1300ms;
:led led5=yes led4=no led3=no led2=no led1=yes;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:delay $lnsdelaytime;
}
:if ($"signal-to-noise" >= $lnslevel1 && $"signal-to-noise" < $lnslevel2) do={
:set lnsdelaytime 1500ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:for i from=1 to=3 do={
:led led5=yes led4=no led3=no led2=no led1=no;
:delay ($lnsdelaytime / 6);
:led led5=yes led4=no led3=no led2=no led1=yes;
:delay ($lnsdelaytime / 6);
}
}
:if ($"signal-to-noise" < $lnslevel1) do={
:set lnsdelaytime 1700ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=($lnsdelaytime / 2);
}
:led led5=yes led4=no led3=no led2=no led1=no;
:delay $lnsdelaytime;
}
} else={
:if ($"status" = "searching-for-network") do={
:set lnsdelaytime 2000ms;
:led led5=no led4=no led3=no led2=no led1=no;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=$lnsbeepfreq length=100ms;
}
:delay 100ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=($lnsbeepfreq + 100) length=75ms;
}
:delay 75ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=($lnsbeepfreq + 200) length=50ms;
}
:delay 50ms;
:for i from=1 to=4 do={
:led led5=no;
:delay ($lnsdelaytime / :sunglasses:
:led led5=yes;
:delay ($lnsdelaytime / :sunglasses:
}
:set lnsdelaytime ($lnsdelaytime + (50ms + 75ms + 100ms));
} else={
:set lnsdelaytime 2000ms;
:led led5=no led4=no led3=no led2=no led1=no;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=($lnsbeepfreq - 150) length=150ms;
}
:delay 150ms;
:if ($lnsrunningtime > $lnsrunbeepdiff) do={
:beep frequency=($lnsbeepfreq - 350) length=100ms;
}
:delay 100ms;
:for i from=1 to=4 do={
:led led5=yes;
:delay 50ms;
:led led5=no;
:delay 50ms;
}
:delay 1550ms;
}
}
}
:set lnsrunningtime ("$lnsrunningtime" - "$lnsdelaytime");
}

shut off LEDs, play shutdown tones

:delay 50ms;
:led led5=no led4=no led3=no led2=no led1=no;
:delay 50ms;
:beep frequency=($lnsbeepfreq - 200) length=50ms;
:delay 50ms;
:beep frequency=($lnsbeepfreq - 300) length=50ms;
:delay 50ms;