После обновления, в hass.io появился штатный инструмент polling для использования прокси в настройках telegram_bot. (Официальная инструкция по его настройке бота в НА находится здесь)

Вкратце основные действия которые нужно совершить для создания собственного бота заключаются в следующих шагах:

  1. Открываем Telegram
  2. Ищем пользователя @BotFather
  3. Пишем ему /newbot
  4. Отвечаем на вопросы относительно Имени и юзернейма для бота (Имя это то, как бот будет выглядеть в списке пользователей)
  5. Получаем сообщение с 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»} и отправляем.

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