Синхронизация данных «Здоровья» с MQTT
Публикация данных о здоровье на MQTT-брокер.
Last updated: April 5, 2026
На этой странице
- Обзор
- Требования
- Настройка
- Имя автоматизации
- Уведомления
- Брокер
- Тип данных
- Тип данных
- Показатели здоровья
- Тренировки
- Параметры экспорта
- Формат
- Версия экспорта
- Диапазон дат
- Сводка данных
- Группировка по времени
- Сводка данных
- Периодичность
- Проверка
- Ручной тест
- MQTT-клиент
- Журнал активности
- Формат сообщения
- Устранение неполадок
- Частые проблемы
- Советы
Автоматизации MQTT публикуют данные о здоровье на MQTT-брокер. Подходит для IoT, умного дома и любых сервисов с MQTT.
Обзор
Данные публикуются JSON-сообщениями в заданную тему при каждом запуске по расписанию.
Примеры использования:
- IoT (Home Assistant, OpenHAB и др.);
- дашборды на MQTT;
- мониторинг в реальном времени;
- кастомная автоматизация;
- логирование и аналитика.
Возможности:
- только JSON (под MQTT);
- с авторизацией и без;
- настраиваемая структура темы;
- идентификатор клиента;
- необязательные имя пользователя и пароль.
Ограничения
Доступ к данным о здоровью: при заблокированном iPhone данные недоступны. См. ручную синхронизацию.
Фоновая работа: ограничения iOS и фонового обновления.
- фоновое обновление отключено;
- режим энергосбережения;
- долгий простой;
- нехватка ресурсов;
- конкуренция приложений.
только JSON;
нужен MQTT-брокер (локальный или облачный).
Требования
- брокер (Mosquitto, HiveMQ, AWS IoT Core и др.);
- сеть до брокера;
- IP или имя хоста;
- порт;
- при необходимости имя пользователя и пароль.
Настройка
Автоматические экспорты → «Новая автоматизация» → «MQTT».
Имя автоматизации
Например, «Home Assistant MQTT», «Облачный брокер».
Уведомления
- При обновлении кэша
- При каждой публикации
Брокер
IP-адрес
IP или имя хоста брокера.
Примеры:
192.168.1.100mqtt.example.combroker.hivemq.comlocalhost(на том же устройстве; для iOS обычно не подходит)
Примечание: для локальной сети — IP; для облака — имя. Устройство должно достучаться до брокера.
Порт
Порт MQTT (по умолчанию 1883).
Тема
Тема, в которую публикуются данные; подписчики используют её же.
Примеры:
health/datahome/health/metricsuser/health/exporthae/automation-name
Рекомендации:
/для иерархии;- понятные имена;
- без пробелов и лишних спецсимволов;
- при нескольких автоматизациях — имя в теме.
Примечание: регистр важен; подписчики должны совпадать точно.
Client ID
Уникальный идентификатор клиента для брокера.
Примеры:
health-export-iphonehae-client-001ios-health-app
Имя пользователя (необязательно)
Для авторизации на брокере; пусто, если не требуется.
Пароль (необязательно)
Пароль брокера; пусто, если не требуется.
Тип данных
Тип данных
- Показатели здоровья
- Тренировки
- Симптомы
- ЭКГ
- Уведомления о пульсе
- Состояние (iOS 18.0+)
- Цикл
- Лекарства (iOS 26.0+)
Показатели здоровья
Выбор показателей — все или выборочно.
Совет: меньше метрик — меньше сообщение и быстрее.
Предпочитаемые источники — приоритет источников.
Тренировки
Включать маршрут — для активностей с координатами.
Включать метрики тренировки — пульс, калории и др.
Группировка по времени (метрики тренировки) — при версии 2 и включённых метриках:
- Минуты
- Секунды
Параметры экспорта
Формат
Только JSON; изменить нельзя.
Версия экспорта
Для структуры тренировок:
- Версия 1 — старый формат
- Версия 2 — расширенные тренировки
Примечание: в основном влияет на тренировки, если они экспортируются.
Диапазон дат
- По умолчанию — вчера полностью плюс данные до сейчас
- С последней синхронизации — с последнего запуска до сейчас
- Сегодня — текущие сутки
- Вчера — полные предыдущие сутки
- Предыдущие 7 дней — полные семь предыдущих дней
Сводка данных
Для JSON и показателей здоровья:
- Вкл. — сводки (по умолчанию)
- Выкл. — отдельные точки, где возможно
Группировка по времени
При включённой сводке — шаг агрегации.
Сводка данных
Для показателей здоровья:
- Вкл. — сводки (по умолчанию)
- Выкл. — отдельные точки, где возможно
Примечание: только для показателей здоровья.
Периодичность
Как часто публиковать в MQTT: число и интервал.
Проверка
Ручной тест
- «Ручной экспорт»
- Диапазон дат
- «Экспорт» — публикация сообщения
- MQTT-клиент: подписка на тему и проверка
MQTT-клиент
- Клиент MQTT
- Подключение к тому же брокеру с теми же учётными данными
- Подписка на тему
- Ручной экспорт из приложения
- Сообщение в клиенте
Журнал активности
- «Просмотр журнала активности»
- Запуски
- Ошибки подключения или публикации
- Время публикаций
Формат сообщения
Полезная нагрузка — JSON в стандартном формате экспорта:
{
"data": {
"metrics": [...],
"workouts": [...],
...
}
}
Параметры публикации:
- Тема: как в настройках
- QoS: не чаще одного раза (at most once)
- Retain: без удержания
- Payload: JSON со строкой данных
Устранение неполадок
Частые проблемы
Нет подключения
- IP/имя и порт;
- брокер слушает порт;
- сеть и файрвол;
- TLS/SSL при необходимости
Ошибка авторизации
- логин и пароль;
- включена ли авторизация на брокере;
- права на публикацию в тему
Сообщения не приходят
- тема совпадает посимвольно;
- подписчики на том же брокере и в нужной теме;
- автоматизация включена;
- журнал активности
Слишком большое сообщение
- меньше метрик;
- грубее агрегация;
- несколько автоматизаций по типам данных
Советы
Автосинхронизация: зарядка и трансляция iPhone.
Темы: иерархия (
health/metrics,health/workouts), идентификаторы устройства или автоматизации, документируйте схему.Размер: укладывайтесь в лимиты брокера; грубее агрегация; при необходимости делите данные на несколько сообщений.
Мониторинг: журнал активности в приложении.
Облачные брокеры (AWS IoT, HiveMQ Cloud и т.д.):
- требования к подключению;
- лимиты размера и частоты;
- соглашения об именах тем