Плагин Telegram
-
В плагине доступен автоматический поиск прокси, у сервиса предоставлявший данный лист возник сбой, на данный момент все стабильно, в плагине можно выставить ручные настройки прокси
-
Сегодня ночью снова не прошли 4 сообщения в Telegram. В журнале iH сообщения есть, а в приложении Telegram нет…
При этом плагин в 05:11:48 перезапустился... может он не может обрабатывать много сообщений за раз?
-
Сегодня ночью снова не прошли 4 сообщения в Telegram. В журнале iH сообщения есть, а в приложении Telegram нет…
При этом плагин в 05:11:48 перезапустился... может он не может обрабатывать много сообщений за раз?
Telegram_Send_No_Response.png
Добрый день, мы сделали исправления в версии 0.0.10 до конца недели выпустим, нужно будет опять понаблюдать повториться ситуация или нет
-
Добрый день, доступно обновление плагина 0.0.12
-
Исправлена логика отправки сообщений
-
Отправка снапшотов видеокамеры в сообщениях.
-
Отправка изображений (файлов) в сообщениях
-
Добавлена обработка входящих сообщений
Отправить текст:
/** * @name Script 1 * @desc * @version 4 */ script({ start() { this.info("telegram","OWNER", { txt: 'Hello world!' }); } })
Отправить изображение:
/** * @name Script 2 * @desc * @version 4 */ script({ start() { this.info("telegram","OWNER", { txt: 'test img', img: '/home/sadm/images/test.jpg' }); } })
Отправить снапшот:
/** * @name Script 3 * @desc * @version 4 */ const SMOTION_0_1 = Device("SMOTION_0_1"); startOnChange([SMOTION_0_1]); script({ start() { if (SMOTION_0_1.isOn()) { this.snap("10","onSnap10"); } }, onSnap10(result) { let img = result.filename; let txt = `Hello world!`; this.info("telegram","OWNER", { img, txt }); } })
Отправить снапшот (блок-схема):
Для того чтобы обрабатывать входящие сообщение от бота, необходимо создать новое устройство типа "Датчик универсальный аналоговый" и привязать в плагине к каналу 'incoming_message'
Далее это устройство можно обрабатывать через сценарий или блок-схему
-
-
А как получить значение userid? Можно ли из блок-схемы?
Ждем еще функционал кнопок для полного фарша) пока кнопок нет - создал команды
-
Чтобы команда выполнялась несколько раз подряд, значение датчика, привязанного к телеграму нужно обнулять или менять, иначе startOnChange не запустится повторно. Хотел после выполнения писать туда "Done" , но оказалось, аналоговому датчику из блок-схемы нельзя присвоить тестовое значение)
-
@dev:
Добрый день, доступно обновление плагина 0.0.12
- Отправка снапшотов видеокамеры в сообщениях.
Можно более подробно расписать по snapshot. Я вот реально не понял - кто его делает - плагин CCTV или в нем специально надо добавлять канал камеры, который делает snapshot? По this.snap("10","onSnap10") - еле догадался, что "10" - это id канала в cctv-плагине…
Смог вручную стартануть сценарий, вот что у меня вышло:
17.04 12:18:30.223 Started 17.04 12:18:30.225 snap:"312" 17.04 12:18:30.226 plugincommand {"unit":"cctv","uuid":"snap_1555478310225","command":"snap","id":"312","camid":"312"} 17.04 12:18:30.227 info telegram: { txt: 'Тест', dest: 'OWNER' } 17.04 12:18:30.283 plugincommand result {"message":"no snapshot option for camera 312"} 17.04 12:18:30.284 exec function onSnap10 17.04 12:18:30.284 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } 17.04 12:18:30.288 Stopped
Upd: добавил новый канал HTTP/JPEG с адресом http://192.168.11.12/web/tmpfs/auto.jpg. В отладчике почти то же самое:
17.04 12:26:25.981 Started 17.04 12:26:25.982 snap:"319" 17.04 12:26:25.983 plugincommand {"unit":"cctv","uuid":"snap_1555478785982","command":"snap","id":"319","camid":"319"} 17.04 12:26:25.987 plugincommand result {"message":"no snapshot option for camera 319"} 17.04 12:26:25.987 exec function onSnap10 17.04 12:26:25.988 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } 17.04 12:26:26.027 Stopped
Все же как этим пользоваться?
И добавляя новый канал, увидел что в последней версии cctv убрали возможность добавлять подканалы…я считаю что зря! Мне кажется целесообразнее завести 5-10 камер и у каждой добавить нужный канал/каналы. Такая иерархичная структура удобнее как минимум пользователям.
-
@dev:
Добрый день, доступно обновление плагина 0.0.12
- Отправка снапшотов видеокамеры в сообщениях.
Можно более подробно расписать по snapshot. Я вот реально не понял - кто его делает - плагин CCTV или в нем специально надо добавлять канал камеры, который делает snapshot? По this.snap("10","onSnap10") - еле догадался, что "10" - это id канала в cctv-плагине…
Смог вручную стартануть сценарий, вот что у меня вышло:
> 17.04 12:18:30.223 Started > 17.04 12:18:30.225 snap:"312" > 17.04 12:18:30.226 plugincommand {"unit":"cctv","uuid":"snap_1555478310225","command":"snap","id":"312","camid":"312"} > 17.04 12:18:30.227 info telegram: { txt: 'Тест', dest: 'OWNER' } > 17.04 12:18:30.283 plugincommand result {"message":"no snapshot option for camera 312"} > 17.04 12:18:30.284 exec function onSnap10 > 17.04 12:18:30.284 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > 17.04 12:18:30.288 Stopped >
Добрый день, удалите старый канал в плагине cctv, создайте новый, на вкладке камера заполните все как и было, на вкладке дополнительно заполните строку со снапшотом. Снапшот делает плагин CCTV, через команду this.snap. У Вас в плагине CCTV для канала 312 не заполненна строка со снапшотом во вкладке дополнительно
-
@dev:
Добрый день, удалите старый канал в плагине cctv, создайте новый, на вкладке камера заполните все как и было, на вкладке дополнительно заполните строку со снапшотом. Снапшот делает плагин CCTV, через команду this.snap. У Вас в плагине CCTV для канала 312 не заполненна строка со снапшотом во вкладке дополнительно
Сделал совсем новый канал. На вкладке дополнительно все заполнил, но:
17.04 12:38:47.683 Started 17.04 12:38:47.684 snap:"319" 17.04 12:38:47.684 plugincommand {"unit":"cctv","uuid":"snap_1555479527684","command":"snap","id":"319","camid":"319"} 17.04 12:38:47.685 plugincommand result undefined 17.04 12:38:47.685 exec function onSnap10 17.04 12:38:47.686 Error function onSnap10:Cannot read property 'filename' of undefined 17.04 12:38:47.686 Stopped 17.04 12:39:00.179 Started 17.04 12:39:00.180 snap:"319" 17.04 12:39:00.180 plugincommand {"unit":"cctv","uuid":"snap_1555479540180","command":"snap","id":"319","camid":"319"} 17.04 12:39:00.275 plugincommand result {"message":"fail"} 17.04 12:39:00.275 exec function onSnap10 17.04 12:39:00.275 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } 17.04 12:39:00.314 Stopped 17.04 12:39:56.927 Started 17.04 12:39:56.928 snap:"319" 17.04 12:39:56.928 plugincommand {"unit":"cctv","uuid":"snap_1555479596928","command":"snap","id":"319","camid":"319"} 17.04 12:39:56.964 plugincommand result {"message":"fail"} 17.04 12:39:56.964 exec function onSnap10 17.04 12:39:56.965 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } 17.04 12:39:56.998 Stopped
-
@dev:
Добрый день, удалите старый канал в плагине cctv, создайте новый, на вкладке камера заполните все как и было, на вкладке дополнительно заполните строку со снапшотом. Снапшот делает плагин CCTV, через команду this.snap. У Вас в плагине CCTV для канала 312 не заполненна строка со снапшотом во вкладке дополнительно
Сделал совсем новый канал. На вкладке дополнительно все заполнил, но:
> 17.04 12:38:47.683 Started > 17.04 12:38:47.684 snap:"319" > 17.04 12:38:47.684 plugincommand {"unit":"cctv","uuid":"snap_1555479527684","command":"snap","id":"319","camid":"319"} > 17.04 12:38:47.685 plugincommand result undefined > 17.04 12:38:47.685 exec function onSnap10 > 17.04 12:38:47.686 Error function onSnap10:Cannot read property 'filename' of undefined > 17.04 12:38:47.686 Stopped > 17.04 12:39:00.179 Started > 17.04 12:39:00.180 snap:"319" > 17.04 12:39:00.180 plugincommand {"unit":"cctv","uuid":"snap_1555479540180","command":"snap","id":"319","camid":"319"} > 17.04 12:39:00.275 plugincommand result {"message":"fail"} > 17.04 12:39:00.275 exec function onSnap10 > 17.04 12:39:00.275 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > 17.04 12:39:00.314 Stopped > 17.04 12:39:56.927 Started > 17.04 12:39:56.928 snap:"319" > 17.04 12:39:56.928 plugincommand {"unit":"cctv","uuid":"snap_1555479596928","command":"snap","id":"319","camid":"319"} > 17.04 12:39:56.964 plugincommand result {"message":"fail"} > 17.04 12:39:56.964 exec function onSnap10 > 17.04 12:39:56.965 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > 17.04 12:39:56.998 Stopped >
Добрый день, запрос не проходит, надо смотреть почему
-
@dev:
@dev:
Добрый день, удалите старый канал в плагине cctv, создайте новый, на вкладке камера заполните все как и было, на вкладке дополнительно заполните строку со снапшотом. Снапшот делает плагин CCTV, через команду this.snap. У Вас в плагине CCTV для канала 312 не заполненна строка со снапшотом во вкладке дополнительно
Сделал совсем новый канал. На вкладке дополнительно все заполнил, но:
> > 17.04 12:38:47.683 Started > > 17.04 12:38:47.684 snap:"319" > > 17.04 12:38:47.684 plugincommand {"unit":"cctv","uuid":"snap_1555479527684","command":"snap","id":"319","camid":"319"} > > 17.04 12:38:47.685 plugincommand result undefined > > 17.04 12:38:47.685 exec function onSnap10 > > 17.04 12:38:47.686 Error function onSnap10:Cannot read property 'filename' of undefined > > 17.04 12:38:47.686 Stopped > > 17.04 12:39:00.179 Started > > 17.04 12:39:00.180 snap:"319" > > 17.04 12:39:00.180 plugincommand {"unit":"cctv","uuid":"snap_1555479540180","command":"snap","id":"319","camid":"319"} > > 17.04 12:39:00.275 plugincommand result {"message":"fail"} > > 17.04 12:39:00.275 exec function onSnap10 > > 17.04 12:39:00.275 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > > 17.04 12:39:00.314 Stopped > > 17.04 12:39:56.927 Started > > 17.04 12:39:56.928 snap:"319" > > 17.04 12:39:56.928 plugincommand {"unit":"cctv","uuid":"snap_1555479596928","command":"snap","id":"319","camid":"319"} > > 17.04 12:39:56.964 plugincommand result {"message":"fail"} > > 17.04 12:39:56.964 exec function onSnap10 > > 17.04 12:39:56.965 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > > 17.04 12:39:56.998 Stopped > >
Добрый день, запрос не проходит, надо смотреть почему
Разобрался. Нужна аутентификация - http://login:password@192.168.11.16/web/tmpfs/auto.jpg
Нужно сделать какой-то статус кроме fail для отладки таких вещей.
И все же напрашивается иерархичность каналов в плагине! Почему вы пошли другим путем, зная что в камере может быть 3-5 каналов?
-
@dev:
Сделал совсем новый канал. На вкладке дополнительно все заполнил, но:
> > > 17.04 12:38:47.683 Started > > > 17.04 12:38:47.684 snap:"319" > > > 17.04 12:38:47.684 plugincommand {"unit":"cctv","uuid":"snap_1555479527684","command":"snap","id":"319","camid":"319"} > > > 17.04 12:38:47.685 plugincommand result undefined > > > 17.04 12:38:47.685 exec function onSnap10 > > > 17.04 12:38:47.686 Error function onSnap10:Cannot read property 'filename' of undefined > > > 17.04 12:38:47.686 Stopped > > > 17.04 12:39:00.179 Started > > > 17.04 12:39:00.180 snap:"319" > > > 17.04 12:39:00.180 plugincommand {"unit":"cctv","uuid":"snap_1555479540180","command":"snap","id":"319","camid":"319"} > > > 17.04 12:39:00.275 plugincommand result {"message":"fail"} > > > 17.04 12:39:00.275 exec function onSnap10 > > > 17.04 12:39:00.275 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > > > 17.04 12:39:00.314 Stopped > > > 17.04 12:39:56.927 Started > > > 17.04 12:39:56.928 snap:"319" > > > 17.04 12:39:56.928 plugincommand {"unit":"cctv","uuid":"snap_1555479596928","command":"snap","id":"319","camid":"319"} > > > 17.04 12:39:56.964 plugincommand result {"message":"fail"} > > > 17.04 12:39:56.964 exec function onSnap10 > > > 17.04 12:39:56.965 info telegram: { dest: 'OWNER', img: undefined, txt: 'Hello world!' } > > > 17.04 12:39:56.998 Stopped > > >
Добрый день, запрос не проходит, надо смотреть почему
Разобрался. Нужна аутентификация - http://login:password@192.168.11.16/web/tmpfs/auto.jpg
Нужно сделать какой-то статус кроме fail для отладки таких вещей.
И все же напрашивается иерархичность каналов в плагине! Почему вы пошли другим путем, зная что в камере может быть 3-5 каналов?
Добрый день, хорошо мы поправим, снапшот пришел у Вас в телеграм?
-
@dev:
Добрый день, хорошо мы поправим, снапшот пришел у Вас в телеграм?
Да, пришел:
17.04 12:46:38.306 Started 17.04 12:46:38.307 snap:"319" 17.04 12:46:38.308 plugincommand {"unit":"cctv","uuid":"snap_1555479998307","command":"snap","id":"319","camid":"319"} 17.04 12:46:38.417 plugincommand result {"filename":"/var/lib/intrahouse-c/projects/Alex_Jet_Smart_Home/temp/snapshot/snap_1555479998414.jpg"} 17.04 12:46:38.417 exec function onSnap10 17.04 12:46:38.418 info telegram: { dest: 'OWNER', img: '/var/lib/intrahouse-c/projects/Alex_Jet_Smart_Home/temp/snapshot/snap_1555479998414.jpg', txt: 'Hello world!' } 17.04 12:46:38.452 Stopped
Теперь надо какой-то просмоторщик снэпшотов (виджет снэпшотов с камер) делать в системе…раз они сохраняются в temp:) Иначе, какой смысл хранить их в системе?
-
@dev:
Добрый день, хорошо мы поправим, снапшот пришел у Вас в телеграм?
Да, пришел:
> 17.04 12:46:38.306 Started > 17.04 12:46:38.307 snap:"319" > 17.04 12:46:38.308 plugincommand {"unit":"cctv","uuid":"snap_1555479998307","command":"snap","id":"319","camid":"319"} > 17.04 12:46:38.417 plugincommand result {"filename":"/var/lib/intrahouse-c/projects/Alex_Jet_Smart_Home/temp/snapshot/snap_1555479998414.jpg"} > 17.04 12:46:38.417 exec function onSnap10 > 17.04 12:46:38.418 info telegram: { dest: 'OWNER', > img: '/var/lib/intrahouse-c/projects/Alex_Jet_Smart_Home/temp/snapshot/snap_1555479998414.jpg', > txt: 'Hello world!' } > 17.04 12:46:38.452 Stopped >
Теперь надо какой-то просмоторщик снэпшотов (виджет снэпшотов с камер) делать в системе…раз они сохраняются в temp:) Иначе, какой смысл хранить их в системе?
Добрый день, все верно, в будущем планируем реализовать данную возможность
-
@dev:
Добрый день, доступно обновление плагина 0.0.12
-
Исправлена логика отправки сообщений
-
Отправка снапшотов видеокамеры в сообщениях.
-
Отправка изображений (файлов) в сообщениях
-
Добавлена обработка входящих сообщений
Отправить текст:
> > /** > > * @name Script 1 > > * @desc > > * @version 4 > > */ > > > > script({ > > start() { > > this.info("telegram","OWNER", { txt: 'Hello world!' }); > > } > > }) > > > >
Отправить изображение:
> > /** > > * @name Script 2 > > * @desc > > * @version 4 > > */ > > > > script({ > > start() { > > this.info("telegram","OWNER", { txt: 'test img', img: '/home/sadm/images/test.jpg' }); > > } > > }) > > > >
Отправить снапшот:
> > /** > > * @name Script 3 > > * @desc > > * @version 4 > > */ > > > > const SMOTION_0_1 = Device("SMOTION_0_1"); > > > > startOnChange([SMOTION_0_1]); > > > > script({ > > start() { > > if (SMOTION_0_1.isOn()) { > > this.snap("10","onSnap10"); > > } > > }, > > onSnap10(result) { > > let img = result.filename; > > let txt = `Hello world!`; > > this.info("telegram","OWNER", { img, txt }); > > } > > }) > > > >
Отправить снапшот (блок-схема):
Снимок экрана от 2019-04-12 17-01-58.png
Для того чтобы обрабатывать входящие сообщение от бота, необходимо создать новое устройство типа "Датчик универсальный аналоговый" и привязать в плагине к каналу 'incoming_message'
Снимок экрана от 2019-04-12 17-08-23.png
Снимок экрана от 2019-04-12 17-08-54.png
Далее это устройство можно обрабатывать через сценарий или блок-схему
А можно подробнее об обработке входящих сообщений? Есть необходимость в особых случаях сделать дистанционную перезагрузку сервера (например пропала связь по р2р) через сообщение боту.
Добрый день, идея интересная расширим API сценариев
-
-
@dev:
А можно подробнее об обработке входящих сообщений? Есть необходимость в особых случаях сделать дистанционную перезагрузку сервера (например пропала связь по р2р) через сообщение боту.
Добрый день, идея интересная расширим API сценариев
Хмм… А думал это сейчас реализовать можно... Отправляем сообщение, запускается сценарий и команда this.execOS(
sudo reboot
)Добрый день, действительно так тоже можно
-
@dev:
Хмм… А думал это сейчас реализовать можно... Отправляем сообщение, запускается сценарий и команда this.execOS(
sudo reboot
)Добрый день, действительно так тоже можно
Подскажите пожалуйста как это сделать.
Добрый день, перед тем как приступать обновите версию до 4.6.4, должно быть примерно так:
-
@dev:
Подскажите пожалуйста как это сделать.
Добрый день, перед тем как приступать обновите версию до 4.6.4, должно быть примерно так:
Снимок экрана 2019-04-29 в 16.02.33.png
Вот так ПЕРЕЗАГРУЗИЛСЯ!!! Перезагрузка зациклилась!!! Как Это остановить?????
Добрый день, напишите боту другую команду, любую
-
@dev:
Добрый день, напишите боту другую команду, любую
Написал. Вероятно не воспринимает, до загрузки IH дело не доходит, OS до конца не загружается :oops:
Вылечил! Отсоединил lan, вошел через 127.0.0.1, удалил сценарий, все встало на место. Адреналинчику хватнул
Добрый день, здорово, что получилось, простите за некорректный пример, завтра предложим рабочий вариант
-
@dev:
Написал. Вероятно не воспринимает, до загрузки IH дело не доходит, OS до конца не загружается :oops:
Вылечил! Отсоединил lan, вошел через 127.0.0.1, удалил сценарий, все встало на место. Адреналинчику хватнул
Добрый день, здорово, что получилось, простите за некорректный пример, завтра предложим рабочий вариант
Это к вопросу об отбивке выполненной команды что я писал ранее. зарезервировать бы какое слово, которое встанет в значение датчика после того, как плагин прожует текст. Это на уровне плагина было бы проще сделать, чем в каждом скрипте писать. Может даже поле в плагине, чтобы каждый туда свой флаг завершения прописал, либо обнулять, либо символ дописывать в начало или конец