NEWS
IOBroker c Telegram и WhatsApp
-
А зачем? устроить чат с домом? `
Как зачем? А для чего, существует, например драйвер для Pushover? Для удобной и постоянной нотификации на смартфон, например..К тому же, Telegram и WhatsApp - бесплатны, хотя в PushOver есть и свои преимущества - объдинение адресатов в группы …и т.д. -
Буквально вчера о том же подумал, т.к. whatsapp запущен все время и не ставить кучу программ.
Даже поискал, например для whatsapp нет api и пока даже не планируется. То есть делают видать костыли.
Телеграм не изучал.
2268_log_4.txt -
Увидел http://habrahabr.ru/post/264035/ и http://habrahabr.ru/post/263875/ о создании чата с ботом через телеграм.
Из статьи: Теперь можно создать бота (написать программу), который будет отвечать на Ваши вопросы, выполнять определнные команды и все это в окне переписки мессенджера Telegram.
Мне кажется то что нам нужно. Можно управлять умным домом при помощи команд.
-
Я думаю подход должен быть немного другой.
Отдельный драйвер для назначения команд в который мы будем слать текст, а вот текст в него слать уже можно не только через телеграм но например из pusbulleta или распозновалки голоса (Гугловской).
4746_x2.jpg
4746_x3.jpg
4746_x4.jpg
4746_x5.jpg -
Из статьи: Теперь можно создать бота (написать программу), который будет отвечать на Ваши вопросы, выполнять определнные команды и все это в окне переписки мессенджера Telegram.
Мне кажется то что нам нужно. Можно управлять умным домом при помощи команд. `
Вещь интересная, вот только у кого на это хватил сил и времени..) -
У телеграма есть https://core.telegram.org/api#getting-started, следовательно вероятность написания драйвера выше
Вот только не понимаю почему нет русского языка
-
Я наконец победил Telegram:
-
<size size="85">ААА, опередил ))) Я в пятницу начал курить драйвер Telegram для брокера.</size>
-
При попытке оправить сообщение:
sendTo('telegram', '@SpectreKr ' + 'PhoneNumber: ' + phoneNumber);
Получил ошибку:
! TypeError: 2016-02-15 10:28:35 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:28:35 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:28:35 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:28:35 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:28:35 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:28:35 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:28:35 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:28:35 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:28:35 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:28:35 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:28:35 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:28:35 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:28:35 error Cannot call method 'match' of undefined
! message 2016-02-15 10:28:35 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined
! TypeError: 2016-02-15 10:28:35 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:28:35 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:28:35 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:28:35 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:28:35 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:28:35 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:28:35 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:28:35 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:28:35 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:28:35 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:28:35 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:28:35 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:28:35 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:28:35 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:28:35 error Cannot call method 'match' of undefined
! message 2016-02-15 10:28:35 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined
Или UserName надо указывать не регистрационый логин, а имя которое записанно в переменной telegram.INSTANCE.communicate.request?При отправке сообщения без указывания имени пользователя:
! TypeError: 2016-02-15 10:40:29 error at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
! TypeError: 2016-02-15 10:40:29 error at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
! TypeError: 2016-02-15 10:40:29 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
! TypeError: 2016-02-15 10:40:29 error at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:40:29 error at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
! TypeError: 2016-02-15 10:40:29 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:40:29 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
! TypeError: 2016-02-15 10:40:29 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
! TypeError: 2016-02-15 10:40:29 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
! TypeError: 2016-02-15 10:40:29 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
! TypeError: 2016-02-15 10:40:29 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
! TypeError: 2016-02-15 10:40:29 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
! TypeError: 2016-02-15 10:40:29 error at Adapter.emit (events.js:95:17)
! TypeError: 2016-02-15 10:40:29 error at Adapter.count (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
! TypeError: 2016-02-15 10:40:29 error at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:92:29)
! TypeError: 2016-02-15 10:40:29 error at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
! TypeError: 2016-02-15 10:40:29 error Cannot call method 'match' of undefined
! message 2016-02-15 10:40:29 error messagebox.system.adapter.telegram.0 [object Object] Cannot call method 'match' of undefined:oops: <size size="85">небольшой баг репорт</size>
-
При попытке оправить сообщение:
sendTo('telegram', '@SpectreKr ' + 'PhoneNumber: ' + phoneNumber);
:oops: <size size="85">небольшой баг репорт</size> `
Ну так можешь перенять разработкуПоменяй строчку:
https://github.com/ioBroker/ioBroker.te … ain.js#L92
на````
count = sendMessage(obj.message);Нужно ещё реализовать поддержку WebHooks и специальных команд: /restart, /list instances, /restart instance … P.S. Что бы получать сообщения нужно один раз ввести пароль или один раз прислать сообщение из клиента, что бы можно было узнать ID пользователя.
-
Перенять к сожалению не смогу, не так силен в javascript, мне понадобилось полтора дня чтоб запустить драйвер пустой, и создать первую переменную, а данные занести не смог.
И я смотрю вы сами пишете полностью API, а я взял готовое API и из него думал прикручивать нужные функции.
Сообщение я отписал ему, он в получил имя клиента. Это я сразу сделал, так как у Telegram такие правила.
После исправления заработало и с именем и просто текст.
-
Кстати, а может WebHooks отложить до момента когда времени свободного побольше будет, там нюанс что надо легитимный не само подписанный сертификат, я не думаю что здесь много пользователей которые смогут получить такой сертификат? А в первую очередь заняться специальными командами.
-
Кстати, а может WebHooks отложить до момента когда времени свободного побольше будет, там нюанс что надо легитимный не само подписанный сертификат, я не думаю что здесь много пользователей которые смогут получить такой сертификат? А в первую очередь заняться специальными командами. `
Телеграмм с осени разрешает самоподписанные сертификаты.Я api не сам пишу, а использую готовый модуль. Который тоже не без изъяна
-
После обновления потерял существующий чат, пришлось опять написать боту чтоб он начал слать сообщения. И появились варнинги
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5677
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5676
! WARNING: 2016-02-16 14:06:23 error cannot find message with id = 5675
! javascript-0 2016-02-16 14:06:22 info sendTo "send"…. -
А если взять api https://github.com/yagop/node-telegram-bot-api? Там webhook реализован, да и много чего другого. Лицензия тоже MIT.
-
А если взять api https://github.com/yagop/node-telegram-bot-api? Там webhook реализован, да и много чего другого. Лицензия тоже MIT. `
Я его и взял.