
После обновления, в hass.io появился штатный инструмент polling для использования прокси в настройках telegram_bot. (Официальная инструкция по его настройке бота в НА находится здесь)
Вкратце основные действия которые нужно совершить для создания собственного бота заключаются в следующих шагах:
- Открываем Telegram
- Ищем пользователя @BotFather
- Пишем ему /newbot
- Отвечаем на вопросы относительно Имени и юзернейма для бота (Имя это то, как бот будет выглядеть в списке пользователей)
- Получаем сообщение с API ключом нашего бота.
Далее мы идем в браузер и вводим следующий текст в адресную строку: https://api.telegram.org/botТОКЕН_КОТОРЫЙ_ВЫ_ПОЛУЧИЛИ_ОТ_BotFather/getUpdates Получаете ответ в виде:
{ "ok": true,
"result": [{
"update_id": 254199982,
"message": {
"message_id": 27,
"from": {
"id": 123456789,
"first_name": "YOUR_FIRST_NAME YOUR_NICK_NAME",
"last_name": "YOUR_LAST_NAME",
"username": "YOUR_NICK_NAME"
},
"chat": {
"id": 123456789,
"first_name": "YOUR_FIRST_NAME YOUR_NICK_NAME",
"last_name": "YOUR_LAST_NAME",
"username": "YOUR_NICK_NAME",
"type": "private"
},
"date": 1678292650,
"text": "test"
}
}]
}
Где id: в разделе «chat» и есть искомый «chat_id» необходимый для конфигурирования бота.
Однако есть ряд особенностей.
Для того чтобы у вас открылась эта строка в браузере, нужно чтобы ваш браузер обходил блокировки телеграма. Для этого можно поставить браузерный прокси, например Proxy SwitchyOmega для Google Chrome. (Это кстати решит и проблему постоянного отваливания официального сайта Home Assistant)
Также можно воспользоваться ботами, сообщающими ваш ID @myidbot или @get_id_bot
Далее приступим к настройке
Чтобы быть последовательным, приведу базовую конфигурацию бота, которая проверена и работает:
telegram_bot:
- platform: polling
proxy_url: socks5h://127.0.0.1:9050
api_key: !secret telegram_bot_api_key
allowed_chat_ids:
- !secret telegram_bot_chat_id
notify:
- name: telegram
platform: telegram
chat_id: !secret telegram_bot_chat_id
Данная конфигурация содержит в себе ссылки на разные данные хранящиеся в файле secrets.yaml, инструкцию по использованию которого можно прочитать в официальной документации.
В файл Secrets.yaml мы вносим все полученные ранее данные (API Key и chat_id)
Устанавливаем аддон Tor

В его настройки заменяем на эти:
{
"socks": true,
"hidden_services": true,
"stealth": false,
"client_names": [],
"ports": [
"8123"
],
"log_level": "info"
}
В файл Secrets.yaml в параметр proxy_url: !secret telegram_proxy_url добавляем:
socks5h://127.0.0.1:9050
Проверка работы
После того как мы все настроили, нужно проверить работоспособность бота. Для этого мы идем в раздел Инструменты разработчика -> Службы

Далее выбираем службу notify.telegram и вводим следующий текст: {«message»:»test»} и отправляем.

После всех этих этапов все должно заработать.