Synchronizace dat Apple Health do MQTT

Publikujte zdravotní data do MQTT brokeru.

Last updated: February 5, 2026

Na této stránce

Automatizace MQTT umožňují automaticky publikovat zdravotní data do MQTT brokeru. To je ideální pro integraci s IoT platformami, systémy domácí automatizace nebo jakoukoli službou, která podporuje MQTT zprávy.

Přehled

Automatizace MQTT publikují zdravotní data jako JSON zprávy do zadaného MQTT topicu na brokeru MQTT. Data se odesílají pokaždé, když se automatizace spustí podle nastavené frekvence synchronizace.

Případy použití:

  • integrace s IoT platformami, například Home Assistant nebo OpenHAB
  • publikování zdravotních dat do dashboardů založených na MQTT
  • systémy pro sledování zdraví v reálném čase
  • vlastní integrace domácí automatizace
  • platformy pro logování a analýzu dat

Klíčové funkce:

  • pouze formát JSON, optimalizovaný pro MQTT
  • podpora ověřených i anonymních připojení
  • nastavitelná struktura topiců
  • správa Client ID
  • volitelné ověřování pomocí jména a hesla

Omezení

  • Přístup ke zdravotním datům: Aplikace nemohou přistupovat ke zdravotním datům, když je iPhone zamknutý. Automatizace proto poběží jen v době, kdy je zařízení odemčené. To může ovlivnit aktuálnost dat. Pokud potřebujete data udržovat aktuální, podívejte se na pokyny pro ruční synchronizaci.

  • Zpracování na pozadí: iOS omezuje běh na pozadí kvůli šetření baterie. Automatizace spoléhají na Obnovení aplikací na pozadí a nemusí se spustit okamžitě, pokud:

    • je pro aplikaci vypnuté Obnovení aplikací na pozadí
    • je zařízení v režimu nízké spotřeby
    • bylo zařízení delší dobu neaktivní
    • jsou systémové prostředky omezené
    • si více aplikací současně nárokuje čas pro běh na pozadí
  • pouze formát JSON a nelze jej změnit

  • vyžaduje MQTT broker, lokální nebo cloudový

Předpoklady

  • MQTT broker, například Mosquitto, HiveMQ nebo AWS IoT Core
  • síťové připojení k MQTT brokeru
  • IP adresu nebo hostname brokeru
  • číslo portu
  • volitelně uživatelské jméno a heslo, pokud broker vyžaduje ověřování

Konfigurace

V hlavní navigaci přejděte na obrazovku Automated Exports, klepněte na „New Automation“ a jako typ automatizace vyberte „MQTT“.

Automation Name

Zadejte popisný název automatizace, například „Home Assistant MQTT“ nebo „Cloud MQTT Broker“.

Oznámení

Nastavte, kdy chcete dostávat oznámení:

  • Oznámit při aktualizaci mezipaměti - dostanete oznámení při aktualizaci dat v mezipaměti
  • Oznámit při spuštění - dostanete oznámení pokaždé, když automatizace publikuje data

Konfigurace brokeru

IP adresa

Zadejte IP adresu nebo hostname MQTT brokeru.

Příklady:

  • 192.168.1.100 (lokální IP adresa)
  • mqtt.example.com (hostname)
  • broker.hivemq.com (cloudový MQTT broker)
  • localhost (pokud běží na stejném zařízení, pro iOS se to nedoporučuje)

Poznámka: Pro lokální brokery v síti používejte IP adresy a pro cloudové brokery hostname. Ujistěte se, že je broker z vašeho zařízení dostupný.

Port

Zadejte číslo portu pro MQTT broker.

Poznámka: Výchozí port je 1883.

Topic

Zadejte MQTT topic, do kterého se budou zdravotní data publikovat. Tento topic budou odběratelé používat pro příjem dat.

Příklady topiců:

  • health/data
  • home/health/metrics
  • user/health/export
  • hae/automation-name

Doporučení pro topicy:

  • používejte lomítka / pro vytváření hierarchie topiců
  • používejte popisné názvy, které naznačí typ dat
  • vyhýbejte se mezerám a speciálním znakům
  • pokud máte více automatizací, zvažte zahrnutí názvu automatizace

Poznámka: Název topicu rozlišuje malá a velká písmena. Odběratelé musí používat přesně stejný název.

ID klienta

Zadejte jedinečné Client ID pro toto MQTT připojení. Tím se vaše zařízení identifikuje vůči MQTT brokeru.

Příklady Client ID:

  • health-export-iphone
  • hae-client-001
  • ios-health-app

Uživatelské jméno (volitelné)

Zadejte uživatelské jméno pro ověřování na MQTT brokeru. Pokud broker ověřování nevyžaduje, pole nechte prázdné.

Heslo (volitelné)

Zadejte heslo pro ověřování na MQTT brokeru. Pokud broker ověřování nevyžaduje, pole nechte prázdné.

Nastavení typu dat

Typ dat

Vyberte, jaký typ zdravotních dat chcete exportovat:

  • Zdravotní metriky - kroky, tepová frekvence, spánek a další zdravotní měření
  • Tréninky - cvičení a fitness aktivity
  • Příznaky - zdravotní příznaky a stavy
  • EKG - záznamy elektrokardiogramu
  • Oznámení o srdeční frekvenci - události vysoké a nízké tepové frekvence
  • Duševní stav - záznamy nálady a duševního stavu (iOS 18.0+)
  • Sledování cyklu - data o menstruačním cyklu a reprodukčním zdraví
  • Léky - záznamy o lécích a dodržování léčby (iOS 26.0+)

Konfigurace zdravotních metrik

Když vyberete Zdravotní metriky:

Vybrat zdravotní metriky - zvolte, které konkrétní metriky chcete zahrnout. Můžete vybrat všechny dostupné metriky nebo jen některé.

Tip: Výběr jen potřebných metrik zmenší velikost zpráv a zkrátí dobu zpracování.

Preferované zdroje - nastavte, které zdroje dat mají mít přednost, když stejnou metriku poskytuje více zdrojů.

Konfigurace tréninků

Když vyberete Tréninky:

Zahrnout data trasy - zapněte, pokud chcete zahrnout trasy u tréninků, které mají polohová data.

Zahrnout metriky tréninku - zapněte, pokud chcete zahrnout zdravotní metriky zaznamenané během tréninků, například tepovou frekvenci nebo kalorie.

Seskupení podle času (metriky tréninku) - když používáte Verzi exportu 2 a máte zapnuté Zahrnout metriky tréninku:

  • Minutes - Groups workout metrics by minute
  • Seconds - Groups workout metrics by second

Export Settings

Formát exportu

Note: MQTT automations only support JSON format. This setting cannot be changed and is automatically set to JSON.

Export Version

Select an Export Version for workout data:

  • Version 1 - Legacy format
  • Version 2 - Current format with enhanced workout data

Note: Export Version primarily affects workout data structure if you're exporting workouts.

Date Range

Select when data should be exported:

  • Default - Syncs data for the full previous day plus data up to the current date and time
  • Since Last Sync - On each sync, exports all data since the last time the export ran up until the current date and time
  • Today - Syncs all data for the current date up to the current time
  • Yesterday - Syncs all data for the full previous day
  • Previous 7 Days - Syncs data for the full previous seven days

Summarize Data

When using JSON format with Zdravotní metriky data type, toggle Summarize Data ON or OFF.

  • ON - Provides aggregated data summaries (default)
  • OFF - Provides disaggregated data where possible, showing individual data points

Time Grouping

When Summarize Data is enabled, select how data should be aggregated.

Summarize Data

Toggle Summarize Data ON or OFF for Zdravotní metriky.

  • ON - Provides aggregated data summaries (default)
  • OFF - Provides disaggregated data where possible

Note: This setting only applies to Zdravotní metriky data type.

Sync Cadence

Configure how often the automation should publish data to MQTT:

Select a number and interval.

Testing & Verification

Manual Testing

  1. Tap "Ruční export" in the automation configuration screen
  2. Select a date range
  3. Tap "Export" to publish a message
  4. Use an MQTT client to subscribe to your topic and verify the message was received

Using an MQTT Client

To verify messages are being published:

  1. Set up an MQTT client
  2. Connect to your MQTT broker using the same credentials
  3. Subscribe to your topic
  4. Trigger a manual export from the app
  5. Verify the message appears in your MQTT client

Viewing Activity Logs

  1. Tap "View Activity Logs" in the automation configuration screen
  2. Review recent automation runs
  3. Check for connection errors or publish failures
  4. Verify publish timestamps

Message Format

MQTT messages are published as JSON. The message payload follows the standard export JSON format:

{
  "data": {
    "metrics": [...],
    "workouts": [...],
    ...
  }
}

The message is published with:

  • Topic: As configured in the automation
  • QoS: At most once delivery
  • Retain: Messages are not retained
  • Payload: JSON string containing health data

Řešení problémů

Časté problémy

Connection Failures

  • Verify the broker IP address/hostname is correct
  • Check that the port is correct and the broker is listening on that port
  • Ensure network connectivity to the broker
  • Verify firewall rules allow connections to the broker
  • Check if the broker requires TLS/SSL

Authentication Failures

  • Verify username and password are correct
  • Check that authentication is enabled on your broker if credentials are provided
  • Ensure the user has permission to publish to the specified topic

Messages Not Received

  • Verify the topic name matches exactly (case-sensitive)
  • Check that subscribers are connected to the same broker
  • Ensure subscribers are subscribed to the correct topic
  • Verify the automation is enabled and running
  • Check Activity Logs for publish errors

Large Message Size

  • Reduce the number of selected health metrics
  • Use less granular aggregation options
  • Consider splitting into multiple automations for different data types

Tipy a osvědčené postupy

  1. Automatická synchronizace:

    • Nabíjejte zařízení a používejte Zrcadlení iPhonu (iPhone Mirroring).
      • Při nabíjení iOS méně omezuje výkon, synchronizace může probíhat častěji.
      • Se zrcadlením se iPhone chová jako odemčený; Health Auto Export může číst zdravotní data a spouštět automatizace.
  2. Topic Organization:

    • Use hierarchical topic structures (e.g., health/metrics, health/workouts)
    • Include device or automation identifiers in topics
    • Document your topic structure for easy reference
  3. Message Size:

    • Keep messages reasonably sized to avoid MQTT broker limits
    • Use less granular aggregation to reduce data volume
    • Consider splitting large datasets across multiple messages
  4. Monitoring:

    • Use Activity Logs in the app to track publish success
  5. Cloud Brokers:

    • When using cloud MQTT brokers (AWS IoT, HiveMQ Cloud, etc.):
      • Follow their specific connection requirements
      • Check their message size and rate limits
      • Verify topic naming conventions