Пришло личное сообщение в Time Messenger. Через пару секунд на кухне моргнула лампа, а на телефон прилетел пуш. Эта интеграция как раз для такого сценария: она превращает ваши личные сообщения Time Messenger в обычные события Home Assistant, из которых можно собрать любую автоматизацию.
Работает с Home Assistant 2026.8.1 и новее.
Вы подключаете свою личную учётную запись Time Messenger, и как только кому-то приходит в голову написать вам напрямую, Home Assistant узнаёт об этом сразу: сообщение приходит по WebSocket, без периодического опроса. Дальше вы решаете, что с этим делать: включить свет, сказать вслух через колонку, отправить уведомление на телефон или что угодно ещё, на что способны ваши автоматизации.
- Получает новые личные сообщения от других пользователей в реальном времени.
- Готовая сущность события «Личное сообщение», которую можно выбрать прямо в визуальном редакторе автоматизаций, без ручного YAML.
- Текст сообщения по умолчанию скрыт: это личная переписка, а не то, что Home Assistant должен видеть без вашего согласия.
- Одно и то же сообщение не прилетит дважды, даже после переподключения или перезапуска Home Assistant.
Групповые чаты и сообщения, полученные во время отключения Home Assistant, пока не поддерживаются. Подробности в разделе «Чего пока нет» ниже.
- Откройте Time Messenger в HACS.
- Установите интеграцию и перезапустите Home Assistant.
- Перейдите в Settings > Devices & services > Add integration.
- Найдите Time Messenger и следуйте подсказкам на экране.
Если ссылка не открывается, добавьте dancingpizza/time-messenger-home-assistant
в HACS как пользовательский репозиторий категории Integration.
Без HACS тоже можно: скопируйте каталог custom_components/time_messenger
в custom_components вашей конфигурации Home Assistant и перезапустите его.
Укажите адрес сервера Time, например https://time.example.org. Затем
выберите способ входа. Какие именно доступны, зависит от того, что
включила ваша организация:
- OAuth: если организация его настроила, это самый удобный вариант.
- Персональный токен доступа: создаётся в личных настройках Time и вставляется целиком.
- Логин и пароль: обычный вход, при необходимости с кодом MFA.
Если не уверены, какой способ выбрать, спросите администратора Time. Не все способы включены на каждом сервере.
После подключения появятся устройство учётной записи Time Messenger и
сущность события «Личное сообщение». Не перепутайте её с сущностью
Update, которая принадлежит HACS и сообщает только о новых версиях самой
интеграции.
Приватность. Текст сообщений по умолчанию скрыт. Включить его можно в Settings > Devices & services > Time Messenger > Configure. Но тогда текст станет виден автоматизациям и всем, кто слушает события Home Assistant, так что включайте осознанно.
Через интерфейс это выглядит так:
- Откройте Settings > Automations & scenes и создайте автоматизацию.
- В разделе «Когда» нажмите «Добавить триггер».
- Найдите триггер «Событие: Получено событие».
- Выберите сущность Time Messenger «Личное сообщение».
- Выберите тип «Получено личное сообщение».
- Добавьте нужное действие: уведомление, свет, озвучивание или любое другое действие Home Assistant.
Если больше по душе YAML, вот тот же рецепт целиком. Здесь
event.time_messenger_direct_message — стандартный ID первой учётной
записи; если вы переименовали сущность или подключили несколько
аккаунтов, возьмите свой ID из интерфейса.
alias: Time Messenger, новое личное сообщение
triggers:
- trigger: event.received
target:
entity_id: event.time_messenger_direct_message
options:
event_type:
- direct_message
actions:
- action: persistent_notification.create
data:
title: Time Messenger
message: >-
{{ trigger.to_state.attributes.message_text
or ('Новое сообщение от '
~ (trigger.to_state.attributes.sender_username
| default(trigger.to_state.attributes.sender_user_id, true))) }}
mode: queuedДанные сообщения лежат в trigger.to_state.attributes. Там есть
идентификаторы отправителя, канала и сообщения, время создания, сведения о
вложениях, а после включения настройки приватности и сам message_text.
Если дома стоит колонка с Алисой, можно научить её сразу произносить входящие сообщения. Для этого нужна отдельная интеграция, которая умеет управлять станциями Яндекса из Home Assistant. Самая популярная называется YandexStation и тоже ставится через HACS.
После её установки у каждой колонки появится своя сущность вида
media_player.yandex_station_kitchen (точное имя смотрите в Settings >
Devices & services или в Developer tools > States). Подставьте своё в
рецепт ниже.
alias: Алиса озвучивает новое сообщение
triggers:
- trigger: event.received
target:
entity_id: event.time_messenger_direct_message
options:
event_type:
- direct_message
actions:
- variables:
sender: >-
{{ (trigger.to_state.attributes.sender_username
| default(trigger.to_state.attributes.sender_user_id, true))
| replace('@', '') }}
text: >-
{{ trigger.to_state.attributes.message_text | default('', true) }}
- action: media_player.play_media
target:
entity_id: media_player.yandex_station_kitchen
data:
media_content_type: text
media_content_id: >-
{{ ('Сообщение от ' ~ sender ~ ': ' ~ text) if text
else ('Пришло новое сообщение от ' ~ sender) }}
mode: queuedЧто здесь происходит:
- Триггер тот же, что и в первом примере: срабатывает на каждое новое личное сообщение.
- Шаг
variablesзаранее считает имя отправителя и текст сообщения, чтобы не повторять одно и то же дважды в действии ниже. - Действие
media_player.play_mediaсmedia_content_type: textпринадлежит YandexStation, а не Time Messenger. Оно просит колонку сказать вслух то, что записано вmedia_content_id. - Текст сообщения по умолчанию скрыт (см. раздел про приватность выше), поэтому пока вы его не включили, Алиса назовёт только отправителя, без содержимого.
- Имя отправителя в Time Messenger приходит с собачкой впереди, например
@marina. В обычном тексте это не мешает, а вот при озвучке Алиса честно произносит символ@вслух: получится «собака марина». Фильтрreplace('@', '')вырезает его перед тем, как имя попадёт вmedia_content_id.
Дальше рецепт можно развивать как угодно: добавить условие по времени суток, одновременно отправлять уведомление на телефон, копить сообщения в сводку. Home Assistant в этом не ограничивает.
Ничего переделывать не нужно. Событие шины time_messenger_event
продолжает работать без изменений:
triggers:
- trigger: event
event_type: time_messenger_event- Групповые чаты. Интеграция видит только личные сообщения один на один.
- Сообщения из времени офлайна. Если Home Assistant был выключен, пропущенные сообщения не восстанавливаются задним числом.
Если что-то не работает, откройте issue и опишите проблему. Только не публикуйте туда пароли, токены и текст личных сообщений.