Страница 2 из 2

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 13 окт 2017, 21:28
mcheev
Рано радовался.
Не засекает отсутствие во втором варианте
: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="Объект в периметре"; }}}

Шлет постоянно уведомления о покидании объекта периметра, без остановки.

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 09 фев 2018, 11:41
crafty
Всем добрый день, дабы не плодить тем отпишусь здесь,
появилась мысль сделать оповещение при подключении и отключении начальнеке к 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]};
при таком виде скрипт при появлении устройства закидывает сообщениями, но при отключении устройства он ничего не пишет, пробовал скрипты отсюда, с iphone они так же не отрабатывают.
пример скрипта брал здесь https://itgost.ru/mikrotik-otsledit-pod ... ii-k-wifi/

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 09 фев 2018, 11:44
vqd
Нутак напишите скрипт сами, делов то

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 09 фев 2018, 11:58
crafty
Был бы я в этом силен, не искал бы совета)))) в данный момент пытаюсь разобраться как докрутить этот скрипт так что бы при появлении устройства он один раз отправлял сообщение.
Тут спросил вдруг кто уже сталкивался с таким и нашел решение.

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 09 фев 2018, 18:07
enzain
crafty писал(а): 09 фев 2018, 11:58 Был бы я в этом силен, не искал бы совета)))) в данный момент пытаюсь разобраться как докрутить этот скрипт так что бы при появлении устройства он один раз отправлял сообщение.
Тут спросил вдруг кто уже сталкивался с таким и нашел решение.
Глобальную переменную добавте - при обнаружении устройства дополнительно проверяйте значение переменной, если 1 - ничего не отправлять, если не 1, то отправить сообщение и присвоить переменной значение 1.

Все ж просто

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 16 июл 2020, 16:34
Brond
crafty писал(а): 09 фев 2018, 11:41 Всем добрый день, дабы не плодить тем отпишусь здесь,
появилась мысль сделать оповещение при подключении и отключении начальнеке к 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]};
при таком виде скрипт при появлении устройства закидывает сообщениями, но при отключении устройства он ничего не пишет, пробовал скрипты отсюда, с iphone они так же не отрабатывают.
пример скрипта брал здесь https://itgost.ru/mikrotik-otsledit-pod ... ii-k-wifi/
Добрый день,
Подскажите как решили проблему?

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 20 июл 2020, 08:02
imaoskol
Я бы уведомления с почты поменял на уведомления в telegram

Re: Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту

Добавлено: 02 окт 2023, 00:23
imax57
Такой сделал скрипт проверки подключения 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;
}};