Synkronisera Apple Health-data med MQTT

Publicera hälsodata till en MQTT-broker.

Last updated: February 5, 2026

On this page

MQTT-automatiseringar gör att du automatiskt kan publicera dina hälsodata till en MQTT-broker. Detta är idealiskt för att integrera med IoT-plattformar, hemautomationssystem eller vilken tjänst som helst som stödjer MQTT-meddelanden.

Översikt

MQTT-automatiseringar publicerar dina hälsodata som JSON-meddelanden till ett angivet MQTT-ämne på en MQTT-broker. Data skickas när automatiseringen körs enligt dina synkroniseringsfrekvensinställningar.

Användningsfall:

  • Integration med IoT-plattformar (Home Assistant, OpenHAB, etc.)
  • Publicering av hälsodata till MQTT-baserade instrumentpaneler
  • Realtidshälsövervakningssystem
  • Anpassade hemautomationsintegrationer
  • Dataloggnings- och analysplattformar

Huvudfunktioner:

  • Endast JSON-format (optimerat för MQTT)
  • Stödjer autentiserade och anonyma anslutningar
  • Konfigurerbar ämnesstruktur
  • Klient-ID-hantering
  • Valfri användarnamn/lösenordsautentisering

Begränsningar

  • Åtkomst till hälsodata: Appar får inte komma åt hälsodata medan iPhone är låst. Automatiseringar körs endast under perioder när din enhet är upplåst. Detta kan påverka dataaktualiteten. Se instruktioner för manuell synkronisering för att hålla data uppdaterade.

  • Bakgrundsbehandling: iOS begränsar bakgrundsbehandling för att bevara batterilivslängden. Automatiseringar är beroende av Appuppdatering i bakgrunden och körs kanske inte omedelbart om:

    • Appuppdatering i bakgrunden är inaktiverad för appen
    • Enheten är i Energisparläge
    • Enheten har varit inaktiv under längre perioder
    • Systemresurser är begränsade
    • Flera appar konkurrerar om bakgrundskörningstid
  • Endast JSON-format (kan inte ändras)

  • Kräver en MQTT-broker (lokal eller molnbaserad)

Förutsättningar

  • En MQTT-broker (t.ex. Mosquitto, HiveMQ, AWS IoT Core, etc.)
  • Nätverksanslutning till din MQTT-broker
  • Broker IP-adress eller värdnamn
  • Portnummer
  • Valfritt: Användarnamn och lösenord om din broker kräver autentisering

Konfiguration

Navigera till skärmen Automatiserade Exporter från huvudnavigeringen, tryck sedan på "Ny Automatisering" och välj "MQTT" som Automatiseringstyp.

Automatiseringsnamn

Ange ett beskrivande namn för din automatisering (t.ex. "Home Assistant MQTT", "Moln MQTT Broker").

Notifikationer

Konfigurera när du vill ta emot notifikationer:

  • Meddela vid cacheuppdatering - Ta emot en notifikation när cachade data uppdateras
  • Meddela vid körning - Ta emot en notifikation varje gång automatiseringen publicerar data

Brokerkonfiguration

IP-adress

Ange IP-adressen eller värdnamnet för din MQTT-broker.

Exempel:

  • 192.168.1.100 (lokal IP-adress)
  • mqtt.example.com (värdnamn)
  • broker.hivemq.com (moln MQTT-broker)
  • localhost (om körs på samma enhet, rekommenderas inte för iOS)

Obs: Använd IP-adresser för lokala brokerar på ditt nätverk eller värdnamn för molnbaserade brokerar. Se till att brokeren är tillgänglig från din enhet.

Port

Ange portnumret för din MQTT-broker.

Obs: Standardporten är 1883.

Ämne

Ange MQTT-ämnet där hälsodata kommer att publiceras. Detta är ämnet som prenumeranter kommer att använda för att ta emot dina hälsodata.

Ämnesexempel:

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

Bästa praxis för ämnen:

  • Använd snedstreck (/) för att skapa ämneshierarkier
  • Använd beskrivande namn som indikerar datatypen
  • Undvik mellanslag och specialtecken
  • Överväg att inkludera automatiseringsnamnet för flera automatiseringar

Obs: Ämnesnamnet är skiftlägeskänsligt. Se till att prenumeranter använder exakt samma ämnesnamn.

Klient-ID

Ange ett unikt klient-ID för denna MQTT-anslutning. Detta identifierar din enhet för MQTT-brokeren.

Klient-ID-exempel:

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

Användarnamn (Valfritt)

Ange användarnamnet för MQTT-broker-autentisering. Lämna tomt om din broker inte kräver autentisering.

Lösenord (Valfritt)

Ange lösenordet för MQTT-broker-autentisering. Lämna tomt om din broker inte kräver autentisering.

Datatypinställningar

Datatyp

Välj vilken typ av hälsodata som ska exporteras:

  • Hälsomätvärden - Steg, hjärtfrekvens, sömn och andra hälsomätningar
  • Träningar - Tränings- och fitnessaktiviteter
  • Symptom - Hälsosymptom och tillstånd
  • EKG - Elektrokardiogramavläsningar
  • Hjärtfrekvensnotifikationer - Hög/låg hjärtfrekvenshändelser
  • Sinnestillstånd - Humör- och mentaltillståndsposter (iOS 18.0+)
  • Cykelspårning - Menstruationscykel- och reproduktivhälsodata
  • Läkemedel - Läkemedelsloggar och följsamhet (iOS 26.0+)

Hälsomätvärdeskonfiguration

När Hälsomätvärden är valt:

Välj hälsomätvärden - Välj vilka specifika mätvärden som ska inkluderas. Du kan välja alla tillgängliga mätvärden eller välja specifika.

Tips: Att välja endast de mätvärden du behöver minskar meddelandestorleken och bearbetningstiden.

Föredragna källor - Konfigurera vilka datakällor som har prioritet när flera källor tillhandahåller samma mätvärde.

Träningskonfiguration

När Träningar är valt:

Inkludera ruttdata - Växla PÅ för att inkludera rutter för träningar som har positionsdata.

Inkludera träningsmätvärden - Växla PÅ för att inkludera hälsomätvärden som samlas in under träningar (hjärtfrekvens, kalorier, etc.).

Tidsgruppering (Träningsmätvärden) - När du använder Exportversion 2 och Inkludera träningsmätvärden är aktiverat:

  • Minuter - Grupperar träningsmätvärden per minut
  • Sekunder - Grupperar träningsmätvärden per sekund

Exportinställningar

Exportformat

Obs: MQTT-automatiseringar stödjer endast JSON-format. Denna inställning kan inte ändras och är automatiskt inställd på JSON.

Exportversion

Välj en Exportversion för träningsdata:

  • Version 1 - Äldre format
  • Version 2 - Nuvarande format med förbättrade träningsdata

Obs: Exportversion påverkar främst träningsdatastrukturen om du exporterar träningar.

Datumintervall

Välj när data ska exporteras:

  • Standard - Synkroniserar data för hela föregående dag plus data upp till aktuellt datum och tid
  • Sedan senaste synkronisering - Vid varje synkronisering exporterar alla data sedan senaste gången exporten kördes upp till aktuellt datum och tid
  • Idag - Synkroniserar alla data för aktuellt datum upp till aktuell tid
  • Igår - Synkroniserar alla data för hela föregående dag
  • Senaste 7 dagarna - Synkroniserar data för de senaste sju fullständiga dagarna

Sammanfatta data

När du använder JSON-format med datatypen Hälsomätvärden, växla Sammanfatta data PÅ eller AV.

  • - Ger aggregerade datasammanfattningar (standard)
  • AV - Ger desaggregerade data där möjligt, visar individuella datapunkter

Tidsgruppering

När Sammanfatta data är aktiverat, välj hur data ska aggregeras.

Sammanfatta data

Växla Sammanfatta data PÅ eller AV för Hälsomätvärden.

  • - Ger aggregerade datasammanfattningar (standard)
  • AV - Ger desaggregerade data där möjligt

Obs: Denna inställning gäller endast datatypen Hälsomätvärden.

Synkroniseringsfrekvens

Konfigurera hur ofta automatiseringen ska publicera data till MQTT:

Välj ett nummer och ett intervall.

Testning och verifiering

Manuell testning

  1. Tryck på "Manuell export" i automatiseringens konfigurationsskärm
  2. Välj ett datumintervall
  3. Tryck på "Exportera" för att publicera ett meddelande
  4. Använd en MQTT-klient för att prenumerera på ditt ämne och verifiera att meddelandet mottogs

Använda en MQTT-klient

För att verifiera att meddelanden publiceras:

  1. Konfigurera en MQTT-klient
  2. Anslut till din MQTT-broker med samma autentiseringsuppgifter
  3. Prenumerera på ditt ämne
  4. Utlös en manuell export från appen
  5. Verifiera att meddelandet visas i din MQTT-klient

Visa aktivitetsloggar

  1. Tryck på "Visa aktivitetsloggar" i automatiseringens konfigurationsskärm
  2. Granska senaste automatiseringens körningar
  3. Kontrollera anslutningsfel eller publiceringsfel
  4. Verifiera publiceringstidsstämplar

Meddelandeformat

MQTT-meddelanden publiceras som JSON. Meddelandets nyttolast följer standardexport JSON-formatet:

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

Meddelandet publiceras med:

  • Ämne: Som konfigurerat i automatiseringen
  • QoS: Leverans högst en gång
  • Behåll: Meddelanden behålls inte
  • Nyttolast: JSON-sträng innehållande hälsodata

Felsökning

Vanliga problem

Anslutningsfel

  • Verifiera att broker IP-adress/värdnamn är korrekt
  • Kontrollera att porten är korrekt och att brokeren lyssnar på den porten
  • Säkerställ nätverksanslutning till brokeren
  • Verifiera att brandväggsregler tillåter anslutningar till brokeren
  • Kontrollera om brokeren kräver TLS/SSL

Autentiseringsfel

  • Verifiera att användarnamn och lösenord är korrekta
  • Kontrollera att autentisering är aktiverad på din broker om autentiseringsuppgifter anges
  • Säkerställ att användaren har behörighet att publicera till det angivna ämnet

Meddelanden mottas inte

  • Verifiera att ämnesnamnet matchar exakt (skiftlägeskänsligt)
  • Kontrollera att prenumeranter är anslutna till samma broker
  • Säkerställ att prenumeranter är prenumererade på rätt ämne
  • Verifiera att automatiseringen är aktiverad och körs
  • Kontrollera Aktivitetsloggar för publiceringsfel

Stor meddelandestorlek

  • Minska antalet valda hälsomätvärden
  • Använd mindre granulära aggregeringsalternativ
  • Överväg att dela upp i flera automatiseringar för olika datatyper

Tips och bästa praxis

  1. Ämnesorganisation:

    • Använd hierarkiska ämnesstrukturer (t.ex. health/metrics, health/workouts)
    • Inkludera enhets- eller automatiseringsidentifierare i ämnen
    • Dokumentera din ämnesstruktur för enkel referens
  2. Meddelandestorlek:

    • Håll meddelanden rimligt stora för att undvika MQTT-brokerbegränsningar
    • Använd mindre granulär aggregering för att minska datavolymen
    • Överväg att dela upp stora dataset över flera meddelanden
  3. Övervakning:

    • Använd Aktivitetsloggar i appen för att spåra publiceringsframgång
  4. Molnbrokerar:

    • När du använder moln MQTT-brokerar (AWS IoT, HiveMQ Cloud, etc.):
      • Följ deras specifika anslutningskrav
      • Kontrollera deras meddelandestorleks- och hastighetsbegränsningar
      • Verifiera ämnesnamngivningskonventioner