Synkroniser Apple Health-data med MQTT

Publicer sundhedsdata til en MQTT-broker.

Last updated: February 5, 2026

On this page

MQTT-automatiseringer giver dig mulighed for automatisk at publicere dine sundhedsdata til en MQTT-broker. Dette er ideelt til integration med IoT-platforme, hjemautomatiseringssystemer eller enhver tjeneste, der understøtter MQTT-beskeder.

Oversigt

MQTT-automatiseringer publicerer dine sundhedsdata som JSON-beskeder til et angivet MQTT-emne på en MQTT-broker. Dataene sendes, når automatiseringen kører i henhold til dine synkroniseringsfrekvensindstillinger.

Anvendelsestilfælde:

  • Integration med IoT-platforme (Home Assistant, OpenHAB, etc.)
  • Publicering af sundhedsdata til MQTT-baserede dashboards
  • Realtidssundhedsmonitoringssystemer
  • Brugerdefinerede hjemautomatiseringsintegrationer
  • Dataloggerings- og analyseplatforme

Nøglefunktioner:

  • Kun JSON-format (optimeret til MQTT)
  • Understøtter autentificerede og anonyme forbindelser
  • Konfigurerbar emnestruktur
  • Klient-ID-styring
  • Valgfri brugernavn/adgangskode-autentificering

Begrænsninger

  • Adgang til sundhedsdata: Apps har ikke tilladelse til at få adgang til sundhedsdata, mens iPhone er låst. Automatiseringer kører kun i perioder, hvor din enhed er låst op. Dette kan påvirke dataaktualiteten. Se instruktioner til manuel synkronisering for at holde data opdateret.

  • Baggrundsbehandling: iOS begrænser baggrundsbehandling for at bevare batterilevetiden. Automatiseringer er afhængige af App-opdatering i baggrunden og kører muligvis ikke med det samme, hvis:

    • App-opdatering i baggrunden er deaktiveret for appen
    • Enheden er i Strømbesparelse-tilstand
    • Enheden har været inaktiv i længere perioder
    • Systemressourcer er begrænsede
    • Flere apps konkurrerer om baggrundsudførelsestid
  • Kun JSON-format (kan ikke ændres)

  • Kræver en MQTT-broker (lokal eller cloudbaseret)

Forudsætninger

  • En MQTT-broker (f.eks. Mosquitto, HiveMQ, AWS IoT Core, etc.)
  • Netværksforbindelse til din MQTT-broker
  • Broker IP-adresse eller værtsnavn
  • Portnummer
  • Valgfrit: Brugernavn og adgangskode, hvis din broker kræver autentificering

Konfiguration

Naviger til skærmen Automatiske Eksporter fra hovednavigationen, tryk derefter på "Ny Automatisering" og vælg "MQTT" som Automatiseringstype.

Automatiseringsnavn

Indtast et beskrivende navn til din automatisering (f.eks. "Home Assistant MQTT", "Cloud MQTT Broker").

Notifikationer

Konfigurer, hvornår du vil modtage notifikationer:

  • Notificer ved cacheopdatering - Modtag en notifikation, når cachede data opdateres
  • Notificer ved kørsel - Modtag en notifikation hver gang automatiseringen publicerer data

Brokerkonfiguration

IP-adresse

Indtast IP-adressen eller værtsnavnet på din MQTT-broker.

Eksempler:

  • 192.168.1.100 (lokal IP-adresse)
  • mqtt.example.com (værtsnavn)
  • broker.hivemq.com (cloud MQTT-broker)
  • localhost (hvis kørt på samme enhed, ikke anbefalet til iOS)

Bemærk: Brug IP-adresser til lokale brokeres på dit netværk eller værtsnavne til cloudbaserede brokeres. Sørg for, at brokeren er tilgængelig fra din enhed.

Port

Indtast portnummeret til din MQTT-broker.

Bemærk: Standardporten er 1883.

Emne

Indtast MQTT-emnet, hvor sundhedsdata vil blive publiceret. Dette er emnet, som abonnenter vil bruge til at modtage dine sundhedsdata.

Emneeksempler:

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

Bedste praksis for emner:

  • Brug skråstreg (/) til at oprette emnehierarkier
  • Brug beskrivende navne, der angiver datatypen
  • Undgå mellemrum og specialtegn
  • Overvej at inkludere automatiseringsnavnet for flere automatiseringer

Bemærk: Emnenavnet er store/små bogstaver-følsomt. Sørg for, at abonnenter bruger præcis det samme emnenavn.

Klient-ID

Indtast et unikt klient-ID til denne MQTT-forbindelse. Dette identificerer din enhed over for MQTT-brokeren.

Klient-ID-eksempler:

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

Brugernavn (Valgfrit)

Indtast brugernavnet til MQTT-broker-autentificering. Lad stå tomt, hvis din broker ikke kræver autentificering.

Adgangskode (Valgfrit)

Indtast adgangskoden til MQTT-broker-autentificering. Lad stå tomt, hvis din broker ikke kræver autentificering.

Datatypeindstillinger

Datatype

Vælg hvilken type sundhedsdata der skal eksporteres:

  • Sundhedsmålinger - Skridt, puls, søvn og andre sundhedsmålinger
  • Træninger - Trænings- og fitnessaktiviteter
  • Symptomer - Sundhedssymptomer og -tilstande
  • EKG - Elektrokardiogramaflæsninger
  • Pulsnotifikationer - Høje/lave pulsbegivenheder
  • Sindstilstand - Humør- og mentale tilstandsposter (iOS 18.0+)
  • Cyklussporing - Menstruationscyklus- og reproduktiv sundhedsdata
  • Medicin - Medicinlogbøger og overholdelse (iOS 26.0+)

Sundhedsmålingskonfiguration

Når Sundhedsmålinger er valgt:

Vælg sundhedsmålinger - Vælg hvilke specifikke målinger der skal inkluderes. Du kan vælge alle tilgængelige målinger eller vælge specifikke.

Tip: At vælge kun de målinger, du har brug for, reducerer beskedstørrelsen og behandlingstiden.

Foretrukne kilder - Konfigurer hvilke datakilder der har prioritet, når flere kilder leverer den samme måling.

Træningskonfiguration

Når Træninger er valgt:

Inkluder rutedata - Slå TIL for at inkludere ruter til træninger, der har positionsdata.

Inkluder træningsmålinger - Slå TIL for at inkludere sundhedsmålinger indsamlet under træninger (puls, kalorier, etc.).

Tidsgruppering (Træningsmålinger) - Når du bruger Eksportversion 2 og Inkluder træningsmålinger er aktiveret:

  • Minutter - Grupperer træningsmålinger pr. minut
  • Sekunder - Grupperer træningsmålinger pr. sekund

Eksportindstillinger

Eksportformat

Bemærk: MQTT-automatiseringer understøtter kun JSON-format. Denne indstilling kan ikke ændres og er automatisk sat til JSON.

Eksportversion

Vælg en Eksportversion til træningsdata:

  • Version 1 - Legacy-format
  • Version 2 - Nuværende format med forbedrede træningsdata

Bemærk: Eksportversion påvirker primært træningsdatastrukturen, hvis du eksporterer træninger.

Datointerval

Vælg hvornår data skal eksporteres:

  • Standard - Synkroniserer data for den fulde forrige dag plus data op til den aktuelle dato og tid
  • Siden sidste synkronisering - Ved hver synkronisering eksporterer alle data siden sidste gang eksporten kørte op til den aktuelle dato og tid
  • I dag - Synkroniserer alle data for den aktuelle dato op til den aktuelle tid
  • I går - Synkroniserer alle data for den fulde forrige dag
  • Sidste 7 dage - Synkroniserer data for de fulde forrige syv dage

Sammenfat data

Når du bruger JSON-format med datatypen Sundhedsmålinger, slå Sammenfat data TIL eller FRA.

  • TIL - Giver aggregerede datasammenfattelser (standard)
  • FRA - Giver disaggregerede data hvor muligt, viser individuelle datapunkter

Tidsgruppering

Når Sammenfat data er aktiveret, vælg hvordan data skal aggregeres.

Sammenfat data

Slå Sammenfat data TIL eller FRA for Sundhedsmålinger.

  • TIL - Giver aggregerede datasammenfattelser (standard)
  • FRA - Giver disaggregerede data hvor muligt

Bemærk: Denne indstilling gælder kun for datatypen Sundhedsmålinger.

Synkroniseringsfrekvens

Konfigurer hvor ofte automatiseringen skal publicere data til MQTT:

Vælg et tal og et interval.

Test og verifikation

Manuel test

  1. Tryk på "Manuel eksport" i automatiseringskonfigurationsskærmen
  2. Vælg et datointerval
  3. Tryk på "Eksporter" for at publicere en besked
  4. Brug en MQTT-klient til at abonnere på dit emne og verificer, at beskeden blev modtaget

Brug af en MQTT-klient

For at verificere, at beskeder bliver publiceret:

  1. Opsæt en MQTT-klient
  2. Forbind til din MQTT-broker med de samme legitimationsoplysninger
  3. Abonner på dit emne
  4. Udløs en manuel eksport fra appen
  5. Verificer, at beskeden vises i din MQTT-klient

Visning af aktivitetslogge

  1. Tryk på "Vis aktivitetslogge" i automatiseringskonfigurationsskærmen
  2. Gennemgå nylige automatiseringskørsler
  3. Tjek for forbindelsesfejl eller publiceringsfejl
  4. Verificer publiceringstidsstempler

Beskedsformat

MQTT-beskeder publiceres som JSON. Beskedens payload følger standardeksport JSON-formatet:

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

Beskeden publiceres med:

  • Emne: Som konfigureret i automatiseringen
  • QoS: Levering højst én gang
  • Behold: Beskeder bevares ikke
  • Payload: JSON-streng indeholdende sundhedsdata

Fejlfinding

Almindelige problemer

Forbindelsesfejl

  • Verificer, at broker IP-adresse/værtsnavn er korrekt
  • Tjek, at porten er korrekt, og at brokeren lytter på den port
  • Sørg for netværksforbindelse til brokeren
  • Verificer, at firewallregler tillader forbindelser til brokeren
  • Tjek, om brokeren kræver TLS/SSL

Autentificeringsfejl

  • Verificer, at brugernavn og adgangskode er korrekte
  • Tjek, at autentificering er aktiveret på din broker, hvis legitimationsoplysninger er angivet
  • Sørg for, at brugeren har tilladelse til at publicere til det angivne emne

Beskeder ikke modtaget

  • Verificer, at emnenavnet matcher præcist (store/små bogstaver-følsomt)
  • Tjek, at abonnenter er forbundet til den samme broker
  • Sørg for, at abonnenter er abonneret på det korrekte emne
  • Verificer, at automatiseringen er aktiveret og kører
  • Tjek Aktivitetslogge for publiceringsfejl

Stor beskedsstørrelse

  • Reducer antallet af valgte sundhedsmålinger
  • Brug mindre granulære aggregeringsindstillinger
  • Overvej at opdele i flere automatiseringer for forskellige datatyper

Tips og bedste praksis

  1. Emneorganisation:

    • Brug hierarkiske emnestrukturer (f.eks. health/metrics, health/workouts)
    • Inkluder enheds- eller automatiseringsidentifikatorer i emner
    • Dokumenter din emnestruktur til nem reference
  2. Beskedsstørrelse:

    • Hold beskeder rimeligt store for at undgå MQTT-brokerbegrænsninger
    • Brug mindre granulær aggregering for at reducere datavolumen
    • Overvej at opdele store datasæt på tværs af flere beskeder
  3. Overvågning:

    • Brug Aktivitetslogge i appen til at spore publiceringssucces
  4. Cloud-brokeres:

    • Når du bruger cloud MQTT-brokeres (AWS IoT, HiveMQ Cloud, etc.):
      • Følg deres specifikke forbindelseskrav
      • Tjek deres beskedsstørrelse- og hastighedsbegrænsninger
      • Verificer emnenavngivningskonventioner