Как узнать баланс модема Микротик если оператор Билайн ?

Обсуждение общих вопросов, не касающихся настройки оборудования и ОС
pepelxl
Сообщения: 2
Зарегистрирован: 23 июл 2013, 18:47

27 авг 2018, 10:48

Приветствую, не поможете мне написать скрипт на данную тему? у самого знаний скриптов ноль без палочки.
создал такую последовательность:

Код: Выделить всё

#перевожу в text-mode
/interface lte at-chat lte1 input="at+cmgf=1"
#задаю команду чтения sms
:global readsms [/interface lte at-chat lte1 input="at+cmgl=\"all\"" as-value ]
# читаю и отправляю на заданое мыло
tool e-mail send to=mymail@mail.ru  subject="Mikrotik" body=$readsms
#удаляю прочитанные sms
/interface lte at-chat lte1 input="at+cmgd=1,2"
Нужно минимум: ввести условие - если переменная readsms возвращает Output=OK, то останавливаем скрипт и ни чего не делаем.

Хорошо бы, если скрипт умел объединять сообщения с одной датой в одно целое.

Правильно конечно работать в PDU режиме для проверки целостности sms, да и конверт из ucs-2 в читаемое email клиентами... Но понимаю, что много у меня хотелок развелось :-):

пример тела sms:

Код: Выделить всё

output=+CMGL: 1,"REC READ","YOTA",,"18/08/24,15:58:51+12"
042304320430043604300435043C044B04390020043A043B04380435043D044200210020000A0414043E0020043E043A043E043D04470430043D0438044F0020043F043E0434043A043B044E04470435043D043D043E0433043E0020043F0430043A043504420430002004430441043B044304330020043E044104420430043B043E0441044C
+CMGL: 2,"REC READ","YOTA",,"18/08/24,15:58:51+12"
0020003300200434043D044F002E002004270442043E0431044B0020043F0440043E0434043E043B043604380442044C0020043F043E043B044C0437043E043204300442044C0441044F002004430441043B044304330430043C0438002004410432044F04370438002004320020043F043E043B043D043E043C0020043E0431044A0435043C
+CMGL: 3,"REC READ","YOTA",,"18/08/24,15:58:51+12"
0435002C0020043D0435002004370430043104430434044C044204350020043F043E043F043E043B043D04380442044C00200441044704350442002E0020041D0435043E04310445043E04340438043C044B0439002004310430043B0430043D044100200434043B044F0020043F0440043E0434043B0435043D0438044F0020043F0430043A
+CMGL: 4,"REC READ","YOTA",,"18/08/24,15:58:51+12"
0435044204300020201300200035003900300020044004430431002E0020041F043E043F043E043B043D04380442044C002004410447043504420020043C043E0436043D043E002004320020043C043E04310438043B044C043D043E043C0020043F04400438043B043E04360435043D0438043800200438043B04380020043D043000200441
+CMGL: 5,"REC READ","YOTA",,"18/08/24,15:58:51+12"
0430043904420435002004410020043F043E043C043E0449044C044E002004310430043D043A043E04320441043A043E04390020043A043004400442044B002C00200430002004420430043A043604350020044704350440043504370020044204350440043C0438043D0430043B044B0020043E043F043B04300442044B002E0020000A0412
+CMGL: 6,"REC READ","YOTA",,"18/08/24,15:58:51+12"
04300448043000200059006F00740061

OK


pepelxl
Сообщения: 2
Зарегистрирован: 23 июл 2013, 18:47

27 авг 2018, 15:37

С задачей минимум справился сам, правда не знаю на сколько корректно, но работает.

Код: Выделить всё

/interface lte at-chat lte1 input="at+cmgf=1"
:global readsms [:tostr [/interface lte at-chat lte1 input="at+cmgl=\"all\"" as-value ]]
:if ($readsms!="output=OK\r\n") do={tool e-mail send to=mymail@mail.ru  subject="Mikrotik" body=$readsms}
/interface lte at-chat lte1 input="at+cmgd=1,2"


guruks
Сообщения: 27
Зарегистрирован: 03 сен 2016, 13:29

19 дек 2018, 13:51

С версии 6.44beta50 добавили at-chat и для ppp-client, но не получается получить USSD ответ оператора, такое ощущение, что сам at-chat не пытается дождаться ответа и обрывает связь уже на этапе получения ответа OK. Может кто то поборол эту фигню, или нужно писать на офф форум?


Sertik
Сообщения: 567
Зарегистрирован: 15 сен 2017, 09:03

19 дек 2018, 19:07

Вы бы прокомментировали, что Ваши скрипты делают то ? Баланс получают ?


Чего не знаем то нагуглим
guruks
Сообщения: 27
Зарегистрирован: 03 сен 2016, 13:29

19 дек 2018, 23:36

Да, банальная проверка баланса, например:
/interface ppp-client at-chat 3 input="AT+CUSD=1,AA582C3602,15"


Sertik
Сообщения: 567
Зарегистрирован: 15 сен 2017, 09:03

21 дек 2018, 12:09

Эта команда, последняя Ваша, только с версии 6.44.50 работает ?


Чего не знаем то нагуглим
guruks
Сообщения: 27
Зарегистрирован: 03 сен 2016, 13:29

22 дек 2018, 10:45

Sertik писал(а):
21 дек 2018, 12:09
Эта команда, последняя Ваша, только с версии 6.44.50 работает ?
По идеи да только в той бета версии, там просто в ченж логе написали что добавили этот функционал


Sertik
Сообщения: 567
Зарегистрирован: 15 сен 2017, 09:03

24 дек 2018, 10:30

Наконец то, раньше они не могли !


Чего не знаем то нагуглим
guruks
Сообщения: 27
Зарегистрирован: 03 сен 2016, 13:29

24 дек 2018, 15:00

Sertik писал(а):
24 дек 2018, 10:30
Наконец то, раньше они не могли !
А Вы используете ppp-client at-chat только для получения данных с модема или тоже USSD?


Ответить