105207879

Интеграция Home Assistant для сообщений через VK.

Для интеграции Home Assistant с VK и отправки сообщений можно использовать кастомные интеграции, например VK Notify. Эти решения позволяют отправлять текстовые сообщения, фото и файлы, а также обрабатывать входящие сообщения (при настройке Long Poll API). 

Подготовка сообщества VK

Создайте сообщество VK. Рекомендуется сделать его закрытым. 
Включите отправку сообщений. В настройках сообщества перейдите в раздел «Сообщения» и активируйте «Сообщения сообщества».
Получите access_token. В разделе управления сообществом («Дополнительно» → «Работа с API») создайте новый ключ доступа. Для отправки сообщений достаточно права «Сообщения», но для расширенных функций (фото, файлы, управление сообществом) потребуются дополнительные разрешения.
vk err
Придется принять для дальнейших шагов.
Отмечаем первых четыре пункта с разрешениями:
Разрешить приложению доступ к управлению сообществом
Разрешить приложению доступ к сообщениям сообщества
Разрешить приложению доступ к фотографиям сообщества
Разрешить приложению доступ к документам сообщества
Включите Long Poll API (если планируете получать входящие сообщения). В настройках API сообщества активируйте Long Poll API и выберите тип события «Входящие сообщения». 
vk long
Узнайте group_id сообщества. Это положительное число, которое можно получить:из ссылки на сообщество (например, vk.com/club123456789 → group_id = 123456789);
через метод groups.getById в VK API Explorer. 

    Установка интеграции

    VK Notify

    1. Установите HACS (Home Assistant Community Store), если он ещё не установлен.
    2. Добавьте репозиторий в HACS:
      • откройте HACS;
      • перейдите в «Пользовательские репозитории»;
      • добавьте репозиторий https://github.com/udocs-ru/ha_vk_notify с типом «Интеграция». 
    3. Установите VK Notify через HACS и перезапустите Home Assistant. 

    Если не используете HACS, можно вручную скопировать папку custom_components/vk_notify/ в директорию config/custom_components/ вашего HA и перезапустить систему. 

    Настройка интеграции

    После установки перейдите в «Настройки» → «Устройства и службы» → «Добавить интеграцию» и выберите VK Notify.

    Для VK Notify:

    vk integ
    введите полученный access_token;
    укажите название уведомителя;
    vk integ1
    выберите режим подключения: API (только отправка)картинку см.выше или Long Poll (отправка + получение);
    выберите чат из списка. Если нужного чата нет в списке, получатель должен первым написать сообщение сообществу. 

    Важные нюансы

    • Кто должен написать первым? Пользователь, которому вы планируете отправлять уведомления из Home Assistant. Если нужно отправить сообщение в групповой чат, то хотя бы один участник чата должен написать сообществу первым.
    • Достаточно одного сообщения. Не нужно писать несколько раз — достаточно одной отправки.
    • Содержание сообщения не важно. Можно написать «1», «тест», «привет» — главное, чтобы сообщение было доставлено.
    • Чат должен быть «Сообщениями сообщества». Пользователь должен писать именно в раздел «Сообщения сообщества», а не в личные сообщения администратору группы. Иначе чат не появится в списке для интеграции.
    • Обновление списка чатов. После первого сообщения может потребоваться:
      • перезапустить Home Assistant;
      • обновить интеграцию VK (удалить и добавить заново);
      • подождать несколько минут, пока интеграция автоматически обновит список чатов.
    • Права доступа. Убедитесь, что у сообщества включены «Сообщения сообщества» (в настройках сообщества → «Сообщения»).
    • Приватность сообщества. Если сообщество закрытое или частное, пользователь должен быть его участником, чтобы написать сообщение.

    Отправка сообщений

    Через VK Notify:

    yaml
     
     
    action: notify.send_message
    target:
      entity_id: notify.vk_notify
    data:
      message: "Привет из Home Assistant!"
      title: "Оповещение"  # необязательно
    

    Дополнительные возможности

    • Отправка фото и файлов доступна в обеих интеграциях. Для локальных файлов путь должен быть добавлен в allowlist_external_dirs. 
    • Получение входящих сообщений работает при использовании Long Poll API. В Home Assistant можно подписаться на события vk_notify_text (текстовые сообщения) или vk_notify_command (сообщения, начинающиеся с /). 
    • Несколько интеграций позволяют отправлять уведомления в разные чаты или с разными настройками. 

    Возможные проблемы и решения

    • Сообщения не отправляются: проверьте токен на валидность и права доступа, убедитесь, что Long Poll API включён (если требуется). 
    • Сообщения не приходят: убедитесь, что пользователи пишут в «Сообщения сообщества», а не в личные сообщения. 
    • Ошибки в логах: проверьте логи Home Assistant на наличие ошибок VK API. 

    Добавить комментарий