Утро добрым не бывает, как говорит мой начальник. Созрела еще одна история, которая происходит вотпрямщас.
Курирую я сейчас установку СКУД на объект с довольно большим количеством людей (микрорайон), и в уже который раз при возне с Орионом Про меня спрашивают об одном и том-же: "А можно ли транслировать журнал оперативной задачи в ватсапп или еще куда на телефонъ". Опустим вопросы "зачем". Ответы всегда одинаковы, кому что, охране - проходы и запреты, инженеру - постановки на охрану, статусы, обслуге - неисправности.
Вот и теперь задали такой-же вопрос, "А можна ли...?"
В общем, поскольку навыки программирования имеются в количестве "чуть-чуть" было решено попытаться. Из всех языков программирования, я знаю только один, ииии...барабанная дробь...visual basic, ыыы...больше ничего. Так уж сложилось, когда я достиг возраста и желания кодить, доступен был только он. Да и его я знаю местами. Поскольку писатель из меня как ракета из табуретки, буду излагать пунктами.
1. Убедившись, что в Орионе нет выходов программных никаких, кроме БД и "пилятски дорогого" модуля интеграции (шлак еще тот), задумал я перехватывать сообщения из окошка ОЗ, поля сообщений SystemListView, в котором они пишутся и транслировать их в окошко программки WatsApp. Увы, но в "хуках" я не в зуб рукой... Пришлось гуглить весь день. Результаты омрачили мой радостный характер. Из того, что нашел, адекватно получилось только отправлять текст в WatsApp окно и нажимать "отправить" остальное мне не далось (помним, что я не прогер).
2. Было решено решать вопрос тем, что я умею. Итак, первое, где в БД хранится журнал событий. Орион пишет любое действие в БД, вот его я и хотел найти. Гугл не помог почти вообще, но крохи я нашел: в старых версиях в комплекте с Орионом был файлик, описывающий структуру БД, пара страниц с примерами sql запросов, описание полей. Целый день я провел, отправляя sql запросы в БД и получая разной вменяемости ответы, которые кружили мою голову. В sql, кстати, я тоже не шарю от слова "совсем"... Итого, того что я нашел в гугле мне явно не хватало, запрос на все коды событий и их описание, количество событий за неделю, команда их очистки... М-да...
3. Решил я сделать ход кобылой: надо перехватывать sql запросы от Ориона к БД. Для этого есть встроенное средство в Microsoft Sql Management, полезная штука. Два часа настраивал в нем какие-то фильтры и поля, и, наконец, оно начало показывать запросы от АРМ Орион Про ))
Осталось понять, что куда.
4. Дав в АБД комманду на пезезаргузку БД в ОЗ стал ловить запросы. Должна же ОЗ запросить события, или нет, бля (
И вот я нашел один из первых запросов, длиннючий шопиздец, а оказывается события лежат в таблице pLogData. Вручную, отправляя каждый запрос, начинающийся с select, и смотря результат, я нашел его ))
5. Далее, решил посмотреть, есть ли в WatsApp API и можно ли его использовать.
В общем, api есть, использовать нельзя, бляди жадные. Ну ничего, у нас есть telegram с открытым api. Еще два часа потратил на регистрацию в telegram, регистрацию бота и поиске способа отправлять сообщения через html put. Осталось самое сложное, написать софт.
6. Собственно, сейчас этим и занимаюсь. Основная задача софта: транслирование событий Ориона в telegram канал выбраных людей по заданному фильтру и полю. Больше всего заняло время сравнения по фильтрам. И не надо говорить, что фильтр можно задать в sql запросе. Можно, да вот софтина будет запрашивать у БД события за последнюю секунду, раз в секунду, а полученный массив фильтровать сама. Так мне показалось проще.
В общем, процесс идет. Сегодня будет первый бета тест на объекте. По результатам отпишусь )