Добрый день.
Оперативно не нашел в поиске решения по настройке отправки уведомлений в Telegram на основе различных событий в WB, например,
пропало питание на канале WB-MRWM2 (сработало УЗО септика)
открылся канал на WBIO-DI-WD-14 (открылось окно или дверь, в режиме “никого нет дома”)
и т.п.
Есть Телеграм-бот на wb-rules, но это не совсем то что нужно. Там отправка команд на контроллер, а мне необходимо наоборот, чтобы контроллер отправлял уведомления.
Пришлите пожалуйста ссылку на актуальное описание решения задачи.
Добрый день.
Вы можете воспользоваться отправкой сообщений с использованием Telegram API через curl.
Базовый функционал описан в документации.
В вашем случае вы можете прямо в функцию внести var comand = … и runShellCommand(command);
Пример:
var token = "XXXXXX"
var chat_id = "YYYYYY"
defineRule("Examle_rule", {
whenChanged: "mydev/test",
then: function() {
message = "test message"
var command = 'curl -s -X POST https://api.telegram.org/bot{}/sendMessage -d chat_id={} -d text="{}"'.format(token, chat_id, message);
runShellCommand(command);
log("mydev/test changed");
}
});
Но, обратите внимание, что необходимо учесть задержки при отправке и какие-то условия, в противном случае сообщения будут генерироваться очень часто и Телеграм будет распознавать это как спам.