Один из вариантов получения уведомлений от Domoticz в Telegram.
Для начала нам нужно создать бота:
Находим в Telegram бота @BotFather и пишем ему:
/newbot
Нам предлагают выбрать имя (любое) и username (уникальный), который в конце обязательно должен содержать bot и получаем токен:
Теперь необходимо отправить любое сообщение нашему боту, чтобы начать с ним работать.
Далее, переходим по ссылке вида:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe
где 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 это токен нашего бота
В ответ получите:
{"ok":true,"result":{"id":012345678,"is_bot":true,"first_name":"Domoticz","username":"myDomoticzBot"}}
Теперь отправим сообщение от имени нашего бота через https:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage?chat_id=876543210&text=Тестовое+Сообщение
где 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 это токен нашего бота,
а 876543210 это id вашего чата.
Узнать свой id можно через бота @IDBot:
добавляем его и пишем /getid
в ответ придет ваш id
Если получилось, то в Domoticz заходим в Настройки на вкладку Уведомления
Активируем «Пользовательский HTTP/Действие», в поле #TO вводим id чата, а в URL/Действие вводим:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage?chat_id=#TO&text=#MESSAGE
где 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 это токен нашего бота. Остальные значения не меняем.
Сохраняем настройки, переходим в раздел «Переключатели» и выбираем пункт Уведомления у любого устройства.
Активируем уведомления при включении/выключении устройства, выбрав систему http
Теперь уведомления будут приходить в телеграм в чат, id которого мы указали
Так же есть возможность посылать уведомления в канал Telegram.
Для этого нужно создать канал и добавить в администраторы нашего бота (у меня получилось только через десктопную версию под windows), а в настройках Domoticz, во вкладке Уведомления заменить id чата в поле #TO на имя канала, например: @myDomoticzСhannel (если он у вас публичный) или -1001321098765 (по id, если частный)
Узнать id канала можно разными способами, я сделал вот так:
1 способ (не уверен насчет работоспособности):
1. Делаем канал публичным, создаем ему имя, например @myDomoticzСhannel.
2. В браузере выполняем: https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage?chat_id=@myDomoticzСhannel&text=Тестовое+Сообщение
3. Получаем ответ, в нем ищем «chat»:{«id»:-1001321098765, вот —1001321098765 и есть наш id канала (вместе с тире!).
4. Делаем канал обратно частным.
2 способ, более простой и рабочий:
1. Делаем канал публичным, создаем ему имя, например @myDomoticzСhannel.
2. В браузере выполняем: https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getChat?chat_id=@myDomoticzСhannel
3. Получаем ответ, в нем ищем «chat»:{«id»:-1001321098765, вот -1001321098765 и есть наш id канала (чата) (вместе с тире!).
4. Делаем канал обратно частным.
Источник вдохновения:
https://www.domoticz.com/wiki/Telegram_Bot
«chat_id=@myDomoticzСhannel» — у меня так не работало, писал нет такого канала. Помогло вместо имени канала подставить ссылку на него, без t.me/