Рано радовался.
Не засекает отсутствие во втором варианте
:if ([:len $MACdetect]=<0) do={/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект покинул периметр" body="Объект покинул периметр";
Но решение нашел :if ([:len $MACdetect]=0)
А в варианте
:local MAC B0:48:1A:A3:A6:0D;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={ :local MACdetect [/interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]<=0) do={
:do { :local childSPY [/ip firewall address-list get value-name=list [find address=1.1.1.1]]; } on-error {}
:do { /ip firewall address-list remove [find where address=1.1.1.1];
/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект покинул периметр" body="Объект покинул периметр"; }}
:if ([:len $MACdetect]>0) do={
:do { :local childSPY [/ip firewall address-list get value-name=list [find address=1.1.1.1]]; } on-error { /ip firewall address-list add address=1.1.1.1 list=child-spy;
/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект в периметре" body="Объект в периметре"; }}}
Шлет постоянно уведомления о покидании объекта периметра, без остановки.
Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту
-
- Сообщения: 2
- Зарегистрирован: 09 фев 2018, 11:27
Всем добрый день, дабы не плодить тем отпишусь здесь,
появилась мысль сделать оповещение при подключении и отключении начальнеке к wifi (wifi на микротике в капсмане).
Пробовал сделать это через netwatch, работает но не с iphone,
Так как в скриптописании вообще не силен то полез в гугл, нашел вроде бы решение но не пойму как его докрутить что бы оно заработало нормально
Пример скрипта:
при таком виде скрипт при появлении устройства закидывает сообщениями, но при отключении устройства он ничего не пишет, пробовал скрипты отсюда, с iphone они так же не отрабатывают.
пример скрипта брал здесь https://itgost.ru/mikrotik-otsledit-pod ... ii-k-wifi/
появилась мысль сделать оповещение при подключении и отключении начальнеке к wifi (wifi на микротике в капсмане).
Пробовал сделать это через netwatch, работает но не с iphone,
Так как в скриптописании вообще не силен то полез в гугл, нашел вроде бы решение но не пойму как его докрутить что бы оно заработало нормально
Пример скрипта:
Код: Выделить всё
:global Mac;
:set $Mac XX:XX:XX:XX:XX:XX;
:global WiFi;
:set $WiFi 0
if ([/caps-man registration-table find mac-address=$Mac] != "" and $WiFi = 0) do={[/tool fetch url="https://api.telegram.org/botTTOKKEN/sendmessage\?chat_id=CHATID&text=GET" keep-result=no] and [:set $WiFi 24]};
if ([/caps-man registration-table find mac-address=$Mac] = "" and $WiFi != 0) do={[/log warning $WiFi] and [:set $WiFi ($WiFi-1)]}; :if ($WiFi=1) do={[/tool fetch url="https://api.telegram.org/botTTOKKEN/sendmessage\?chat_id=CHATID&text=OUT" keep-result=no]};
пример скрипта брал здесь https://itgost.ru/mikrotik-otsledit-pod ... ii-k-wifi/
-
- Модератор
- Сообщения: 3600
- Зарегистрирован: 26 сен 2013, 14:20
- Откуда: НСК
- Контактная информация:
-
- Сообщения: 2
- Зарегистрирован: 09 фев 2018, 11:27
Был бы я в этом силен, не искал бы совета)))) в данный момент пытаюсь разобраться как докрутить этот скрипт так что бы при появлении устройства он один раз отправлял сообщение.
Тут спросил вдруг кто уже сталкивался с таким и нашел решение.
Тут спросил вдруг кто уже сталкивался с таким и нашел решение.
-
- Сообщения: 290
- Зарегистрирован: 26 дек 2017, 22:30
Глобальную переменную добавте - при обнаружении устройства дополнительно проверяйте значение переменной, если 1 - ничего не отправлять, если не 1, то отправить сообщение и присвоить переменной значение 1.
Все ж просто
-
- Сообщения: 19
- Зарегистрирован: 09 фев 2018, 12:03
Добрый день,crafty писал(а): ↑09 фев 2018, 11:41 Всем добрый день, дабы не плодить тем отпишусь здесь,
появилась мысль сделать оповещение при подключении и отключении начальнеке к wifi (wifi на микротике в капсмане).
Пробовал сделать это через netwatch, работает но не с iphone,
Так как в скриптописании вообще не силен то полез в гугл, нашел вроде бы решение но не пойму как его докрутить что бы оно заработало нормально
Пример скрипта:при таком виде скрипт при появлении устройства закидывает сообщениями, но при отключении устройства он ничего не пишет, пробовал скрипты отсюда, с iphone они так же не отрабатывают.Код: Выделить всё
:global Mac; :set $Mac XX:XX:XX:XX:XX:XX; :global WiFi; :set $WiFi 0 if ([/caps-man registration-table find mac-address=$Mac] != "" and $WiFi = 0) do={[/tool fetch url="https://api.telegram.org/botTTOKKEN/sendmessage\?chat_id=CHATID&text=GET" keep-result=no] and [:set $WiFi 24]}; if ([/caps-man registration-table find mac-address=$Mac] = "" and $WiFi != 0) do={[/log warning $WiFi] and [:set $WiFi ($WiFi-1)]}; :if ($WiFi=1) do={[/tool fetch url="https://api.telegram.org/botTTOKKEN/sendmessage\?chat_id=CHATID&text=OUT" keep-result=no]};
пример скрипта брал здесь https://itgost.ru/mikrotik-otsledit-pod ... ii-k-wifi/
Подскажите как решили проблему?
-
- Сообщения: 132
- Зарегистрирован: 11 янв 2019, 14:48
Я бы уведомления с почты поменял на уведомления в telegram
- imax57
- Сообщения: 9
- Зарегистрирован: 18 янв 2014, 13:24
Такой сделал скрипт проверки подключения wi-fi клиента и сообщений об этом в telegram. Используется глобальная переменная для устранения проблемы лишних сообщений.
Код: Выделить всё
:global statusMAX;
:if ($statusMAX=(:)) do={set statusMAX 1};
:local MAC 00:00:00:00:00:00;
:local MACdetect [/caps-man registration-table find mac-address=$MAC];
:if ([:len $MACdetect]<=0) do={:if ($statusMAX="1") do={
:set statusMAX 0;
##:log info max phone disconnected;
/tool fetch http-method=get url="https://api.telegram.org/bot[BOT_ID]/sendMessage?chat_id=[CHAT_ID]&text=max%20iphone%20disconnected" keep-result=no;
}};
:if ([:len $MACdetect]>0) do={:if ($statusMAX="0") do={
:set statusMAX 1;
##:log info max phone connected;
/tool fetch http-method=get url="https://api.telegram.org/bot[BOT_ID]/sendMessage?chat_id=[CHAT_ID]&text=max%20iphone%20connected" keep-result=no;
}};