Синхронізація Apple Health Data з MQTT
Публікуйте дані про здоров’я брокеру MQTT.
Last updated: February 5, 2026
На цій сторінці
- Огляд
- передумови
- Конфігурація
- Назва автоматизації
- Сповіщення
- Конфігурація брокера
- Параметри типу даних
- Тип даних
- Конфігурація показників здоров'я
- Конфігурація тренування
- Налаштування експорту
- Формат експорту
- Експорт версії
- Діапазон дат
- Узагальнення даних
- Групування часу
- Узагальнення даних
- Синхронізація каденції
- Тестування та перевірка
- Ручне тестування
- Використання клієнта MQTT
- Перегляд журналів активності
- Формат повідомлення
- Усунення несправностей
- Загальні питання
- Поради та найкращі практики
Автоматизація MQTT дозволяє автоматично публікувати ваші дані про здоров’я брокеру MQTT. Це ідеально підходить для інтеграції з платформами IoT, системами домашньої автоматизації або будь-якими службами, які підтримують обмін повідомленнями MQTT.
Огляд
Автоматизація MQTT публікує ваші дані про здоров’я у вигляді повідомлень JSON у визначеній темі MQTT у брокера MQTT. Дані надсилаються щоразу, коли автоматизація виконується відповідно до ваших налаштувань частоти синхронізації.
Випадки використання:
- Інтеграція з платформами IoT (Home Assistant, OpenHAB тощо)
- Публікація даних про здоров’я на інформаційних панелях на основі MQTT
- Системи моніторингу стану здоров'я в реальному часі
- Спеціальна інтеграція домашньої автоматизації
- Платформи реєстрації та аналітики даних
Ключові характеристики:
- Лише формат JSON (оптимізований для MQTT)
- Підтримує автентифіковані та анонімні підключення
- Настроювана структура теми
- Керування ідентифікаторами клієнтів
- Додаткова автентифікація імені користувача/паролю
Обмеження
Доступ до даних про здоров’я: Додаткам заборонено отримувати доступ до даних про здоров’я, коли iPhone заблоковано. Автоматизація працюватиме лише в періоди, коли ваш пристрій розблоковано. Це може вплинути на актуальність даних. Перегляньте інструкції щодо синхронізації вручну, щоб підтримувати актуальність даних.
Фонова обробка: iOS обмежує фонову обробку, щоб зберегти заряд акумулятора. Автоматизації покладаються на фонове оновлення додатків і можуть не запуститися негайно, якщо:
- Фонове оновлення програми вимкнено для програми
- Пристрій у режимі низького енергоспоживання
- Пристрій був неактивний протягом тривалого часу
- Системні ресурси обмежені
- Кілька програм конкурують за час виконання у фоновому режимі
Лише формат JSON (неможливо змінити)
Потрібен брокер MQTT (локальний або хмарний)
передумови
- Брокер MQTT (наприклад, Mosquitto, HiveMQ, AWS IoT Core тощо)
- Підключення до мережі вашого брокера MQTT
- IP-адреса брокера або ім’я хоста
- Номер порту
- Необов’язково: ім’я користувача та пароль, якщо ваш брокер вимагає автентифікації
Конфігурація
Перейдіть на екран автоматизованого експорту з головної панелі навігації, потім торкніть «Нова автоматизація» та виберіть «MQTT» як тип автоматизації.
Назва автоматизації
Введіть описову назву для автоматизації (наприклад, «Home Assistant MQTT», «Cloud MQTT Broker»).
Сповіщення
Налаштуйте, коли ви хочете отримувати сповіщення:
- Повідомляти про оновлення кешу - отримуйте сповіщення, коли кешовані дані оновлюються
- Сповіщати під час запуску - отримуйте сповіщення щоразу, коли система автоматизації публікує дані
Конфігурація брокера
IP-адреса
Введіть IP-адресу або ім’я хоста вашого брокера MQTT.
Приклади:
192.168.1.100(локальна IP-адреса)mqtt.example.com(ім'я хоста)broker.hivemq.com(хмарний брокер MQTT)localhost(якщо працює на тому самому пристрої, не рекомендується для iOS)
Примітка. Використовуйте IP-адреси для локальних посередників у вашій мережі або імена хостів для хмарних посередників. Переконайтеся, що брокер доступний з вашого пристрою.
Порт
Введіть номер порту для вашого брокера MQTT.
Примітка. Стандартним портом є 1883.
Тема
Введіть тему MQTT, де будуть опубліковані дані про здоров’я. Це тема, яку передплатники використовуватимуть для отримання даних про ваше здоров’я.
Приклади тем:
health/datahome/health/metricsuser/health/exporthae/automation-name
Рекомендації щодо теми:
- Використовуйте косу риску (/), щоб створити ієрархію тем
- Використовуйте описові імена, які вказують на тип даних
- Уникайте пробілів і спеціальних символів
- Розгляньте можливість включення назви автоматизації для кількох автоматизацій
Примітка. Назва теми чутлива до регістру. Переконайтеся, що передплатники використовують однакову назву теми.
ID клієнта
Введіть унікальний ідентифікатор клієнта для цього підключення MQTT. Це ідентифікує ваш пристрій для брокера MQTT.
Приклади ідентифікатора клієнта:
health-export-iphonehae-client-001ios-health-app
Ім'я користувача (необов'язково)
Введіть ім’я користувача для автентифікації брокера MQTT. Залиште пустим, якщо ваш брокер не вимагає автентифікації.
Пароль (необов'язково)
Введіть пароль для автентифікації брокера MQTT. Залиште пустим, якщо ваш брокер не вимагає автентифікації.
Параметри типу даних
Тип даних
Виберіть тип даних про стан здоров’я для експорту:
- Показники здоров’я – кроки, пульс, сон та інші показники здоров’я
- Тренування – фізичні вправи та фітнес-заходи
- Симптоми – симптоми та стан здоров’я
- ЕКГ - показники електрокардіограми
- Сповіщення про частоту серцевих скорочень - події високого/низького пульсу
- State of Mind - записи про настрій і психічний стан (iOS 18.0+)
- Відстеження циклу – дані про менструальний цикл і репродуктивне здоров’я
- Ліки - Журнали прийому ліків і дотримання (iOS 26.0+)
Конфігурація показників здоров'я
Коли вибрано показники здоров’я:
Виберіть показники здоров’я – виберіть, які конкретні показники включити. Ви можете вибрати всі доступні показники або вибрати окремі.
Порада. Вибір лише необхідних показників зменшує розмір повідомлення та час обробки.
Переважні джерела – налаштуйте, які джерела даних мають пріоритет, якщо кілька джерел надають однакову метрику.
Конфігурація тренування
Коли вибрано тренування:
Включити дані маршруту – увімкніть, щоб включити маршрути для тренувань, які мають дані про місцезнаходження.
Включити показники тренувань – увімкніть, щоб включити показники здоров’я, зібрані під час тренувань (частота серцевих скорочень, калорії тощо).
Групування часу (показники тренування) - якщо використовується експорт версії 2 і включено показники тренування:
- Хвилини – Групує показники тренувань за хвилинами
- Секунди - Групує показники тренування за секундами
Налаштування експорту
Формат експорту
Примітка. Автоматизації MQTT підтримують лише формат JSON. Цей параметр не можна змінити, і для нього автоматично встановлено значення JSON.
Експорт версії
Виберіть версію експорту для даних тренування:
- Версія 1 – застарілий формат
- Версія 2 - Поточний формат із покращеними даними про тренування
Примітка. Експорт версії в основному впливає на структуру даних тренування, якщо ви експортуєте тренування.
Діапазон дат
Виберіть, коли потрібно експортувати дані:
- За замовчуванням – синхронізує дані за весь попередній день, а також дані до поточної дати й часу
- З моменту останньої синхронізації – під час кожної синхронізації експортуються всі дані з часу останнього експорту до поточної дати й часу
- Сьогодні - синхронізує всі дані за поточну дату до поточного часу
- Вчора – синхронізує всі дані за весь попередній день
- Попередні 7 днів – синхронізує дані за всі попередні сім днів
Узагальнення даних
У разі використання формату JSON із типом даних Health Metrics увімкніть або вимкніть підсумкові дані.
- УВІМКНЕНО – надає зведені підсумкові дані (за замовчуванням)
- ВИМКНЕНО – де це можливо, надає дезагреговані дані, показуючи окремі точки даних
Групування часу
Коли ввімкнено «Підведення підсумків даних», виберіть спосіб узагальнення даних.
Узагальнення даних
Увімкніть або вимкніть підсумкові дані для показників здоров’я.
- УВІМКНЕНО – надає зведені підсумкові дані (за замовчуванням)
- ВИМКНЕНО – де це можливо, надає дезагреговані дані
Примітка. Цей параметр застосовується лише до типу даних показників здоров’я.
Синхронізація каденції
Налаштуйте, як часто автоматизація має публікувати дані в MQTT:
Виберіть число та інтервал.
Тестування та перевірка
Ручне тестування
- Натисніть «Експорт вручну» на екрані налаштування автоматизації
- Виберіть діапазон дат
- Натисніть «Експортувати», щоб опублікувати повідомлення
- Використовуйте клієнт MQTT, щоб підписатися на вашу тему та підтвердити, що повідомлення було отримано
Використання клієнта MQTT
Щоб переконатися, що повідомлення публікуються:
- Налаштуйте клієнт MQTT
- Підключіться до свого брокера MQTT, використовуючи ті самі облікові дані
- Підпишіться на свою тему
- Запустити ручний експорт із програми
- Переконайтеся, що повідомлення відображається у вашому клієнті MQTT
Перегляд журналів активності
- Натисніть «Переглянути журнали активності» на екрані налаштування автоматизації
- Перегляньте останні запуски автоматизації
- Перевірте наявність помилок підключення або помилок публікації
- Перевірте позначки часу публікації
Формат повідомлення
Повідомлення MQTT публікуються як JSON. Корисне навантаження повідомлення відповідає стандартному експортному формату JSON:
{
"data": {
"metrics": [...],
"workouts": [...],
...
}
}
Повідомлення опубліковано з:
- Тема: Як налаштовано в автоматизації
- QoS: Щонайбільше одна доставка
- Зберігати: повідомлення не зберігаються
- Корисне навантаження: рядок JSON, що містить дані про стан здоров’я
Усунення несправностей
Загальні питання
Помилки підключення
- Переконайтеся, що IP-адреса/ім’я хоста брокера правильні
- Переконайтеся, що порт правильний і брокер прослуховує цей порт
- Забезпечте мережеве підключення до брокера
- Переконайтеся, що правила брандмауера дозволяють підключення до посередника
- Перевірте, чи вимагає брокер TLS/SSL
Помилки автентифікації
- Перевірте правильність імені користувача та пароля
- Перевірте, чи ввімкнено автентифікацію на вашому брокері, якщо надано облікові дані
- Переконайтеся, що користувач має дозвіл на публікацію у вказаній темі
Повідомлення не отримано
- Переконайтеся, що назва теми точно відповідає (з урахуванням регістру)
- Переконайтеся, що передплатники підключені до одного брокера
- Переконайтеся, що передплатники підписані на правильну тему
- Переконайтеся, що автоматизація ввімкнена та працює
- Перевірте журнали активності на наявність помилок публікації
Великий розмір повідомлення
- Зменшіть кількість вибраних показників здоров’я
- Використовуйте менш детальні параметри агрегації
- Розгляньте можливість розділення на кілька автоматизованих систем для різних типів даних
Поради та найкращі практики
Автоматична синхронізація:
- Заряджайте свій пристрій і використовуйте iPhone Mirroring
- Коли ваш пристрій заряджається, iOS накладає менше обмежень на продуктивність пристрою, тому дані можуть синхронізуватися частіше
- За допомогою iPhone Mirroring ваш пристрій поводиться так само, як якщо б його було розблоковано. Це означає, що дані про здоров’я доступні за допомогою Health Auto Export для виконання автоматизованих дій
- Заряджайте свій пристрій і використовуйте iPhone Mirroring
Тематична організація:
- Використовуйте ієрархічні структури тем (наприклад,
health/metrics,health/workouts) - Додайте в теми ідентифікатори пристроїв або автоматизації
- Задокументуйте структуру своєї теми для зручного використання
- Використовуйте ієрархічні структури тем (наприклад,
Розмір повідомлення:
- Зберігайте повідомлення розумного розміру, щоб уникнути обмежень брокера MQTT
- Використовуйте менш гранульоване агрегування, щоб зменшити обсяг даних
- Спробуйте розділити великі набори даних на кілька повідомлень
Моніторинг:
- Використовуйте журнали активності в програмі, щоб відстежувати успіх публікації
Хмарні брокери:
- При використанні хмарних брокерів MQTT (AWS IoT, HiveMQ Cloud тощо):
- Дотримуйтесь їхніх конкретних вимог до підключення
- Перевірте їхні обмеження щодо розміру та швидкості повідомлень
- Перевірте правила іменування тем
- При використанні хмарних брокерів MQTT (AWS IoT, HiveMQ Cloud тощо):