Контроллер может отправлять в Telegram сообщения о запуске, температуре, состоянии датчиков и ошибках котла. Для этого используются отдельный Telegram-бот, элемент Telegram и команды сценария.
Токен даёт управление ботом. Не отправляйте его в группу поддержки, не публикуйте в скриншотах и не сохраняйте в общедоступной конфигурации. При утечке отзовите токен через BotFather и выпустите новый.
/newbot.bot.В истории Live-Control разработчик рекомендует получить свой числовой Chat ID через @IoTm_FW_bot.
Chat ID — число. Не путайте его с username вида @name и с токеном бота.
Telegram (TelegramLT в экспортированной конфигурации).tg.chatID укажите числовой Chat ID.ID слева в сценарии должен совпадать с ID элемента. Если элемент называется tg2, команда должна начинаться с tg2..
Добавьте в сценарий:
if onStart then {
tg.sendMsg("Контроллер запущен: http://" + getIP());
}
Сохраните конфигурацию и перезагрузите контроллер. Если сообщение не пришло, смотрите системный лог.
Для принудительного повторного теста можно временно использовать:
tg.sendOftenMsg("Тестовое сообщение");
После проверки удалите или ограничьте этот вызов условием: sendOftenMsg() отправляет сообщение при каждом срабатывании сценария.
sendMsg() отправляет сообщение, когда текст отличается от предыдущего отправленного текста этого элемента; это снижает число одинаковых повторов.sendOftenMsg() отправляет при каждом срабатывании, даже если текст не изменился.Например, следующий код с sendOftenMsg() может быстро создать поток одинаковых сообщений при каждом обновлении датчика:
if DS18B20room < 18 then tg.sendOftenMsg("Температура ниже 18 °C");
Для постоянных уведомлений используйте sendMsg() и отдельный флаг состояния либо таймер.
Пример с виртуальной переменной alarm_sent:
if (DS18B20room < 18) & (alarm_sent == 0) then {
tg.sendMsg("Температура ниже 18 °C: " + DS18B20room);
alarm_sent = 1;
}
if DS18B20room > 19 then alarm_sent = 0;
Перед использованием создайте в конфигурации переменную alarm_sent с начальным значением 0. Разные пороги включения и сброса дают гистерезис и не позволяют уведомлению переключаться около одной температуры.
Чтобы получать штатные сообщения об ошибках OpenTherm:
chatID элемента Telegram;boiler/OpenTherm;telegram = 1, если так называется поле в вашей версии);Названия полей могут отличаться между версиями конфигуратора. Не включайте эту опцию, пока элемент Telegram не настроен: в логе будут попытки отправки с пустым Chat ID.
# Запуск контроллера
if onStart then tg.sendMsg("OpenTherm запущен: http://" + getIP());
# Низкое давление
if OTget18 < 0.6 then tg.sendMsg("Давление ниже 0.6 бар: " + OTget18);
# Восстановление MQTT
if mqttIsConnect then tg.sendMsg("Подключение MQTT восстановлено");
Порог и ID каждого элемента заменяйте значениями своей конфигурации.
| Симптом | Что проверить |
|---|---|
| Сообщений нет | интернет контроллера, Start в диалоге с ботом, токен, Chat ID, ID элемента и сохранение конфигурации |
| Команда не найдена | слева указан неверный ID либо метод отсутствует в установленной версии |
| Сообщения идут непрерывно | используется sendOftenMsg() или нет флага/таймера |
| Сообщение приходит не в тот чат | указан чужой или групповой Chat ID |
Ошибка chat ID: с пустым значением |
поле chatID не заполнено или конфигурация не сохранена |
| Нет уведомления об отключении интернета | сам контроллер без сети отправить сообщение не может; нужен внешний наблюдатель MQTT/LWT |
Источники: история Live-Control и SmartKot; экспортированные конфигурации с элементом TelegramLT; раздел «Команды элементов конфигурации». Редакция от 07.10.2026.