Synkroniser Apple Health-data med MQTT

Publiser helsedata til en MQTT-broker.

Last updated: February 5, 2026

On this page

MQTT-automatiseringer lar deg automatisk publisere helsedataene dine til en MQTT-broker. Dette er ideelt for å integrere med IoT-plattformer, hjemautomatiseringssystemer eller enhver tjeneste som støtter MQTT-meldinger.

Oversikt

MQTT-automatiseringer publiserer helsedataene dine som JSON-meldinger til et angitt MQTT-emne på en MQTT-broker. Dataene sendes når automatiseringen kjører i henhold til synkroniseringsfrekvensinnstillingene dine.

Bruksområder:

  • Integrering med IoT-plattformer (Home Assistant, OpenHAB, etc.)
  • Publisering av helsedata til MQTT-baserte dashboards
  • Sanntidshelseovervåkingssystemer
  • Tilpassede hjemautomatiseringsintegrasjoner
  • Dataloggings- og analyseplattformer

Hovedfunksjoner:

  • Kun JSON-format (optimalisert for MQTT)
  • Støtter autentiserte og anonyme tilkoblinger
  • Konfigurerbar emnestruktur
  • Klient-ID-håndtering
  • Valgfri brukernavn/passord-autentisering

Begrensninger

  • Tilgang til helsedata: Apper har ikke tillatelse til å få tilgang til helsedata mens iPhone er låst. Automatiseringer vil bare kjøre i perioder når enheten din er låst opp. Dette kan påvirke dataaktualiteten. Se instruksjoner for manuell synkronisering for å holde data oppdatert.

  • Bakgrunnsbehandling: iOS begrenser bakgrunnsbehandling for å bevare batterilevetiden. Automatiseringer er avhengige av App-oppdatering i bakgrunnen og kan ikke kjøre umiddelbart hvis:

    • App-oppdatering i bakgrunnen er deaktivert for appen
    • Enheten er i Strømsparemodus
    • Enheten har vært inaktiv i lengre perioder
    • Systemressurser er begrenset
    • Flere apper konkurrerer om bakgrunnskjøringstid
  • Kun JSON-format (kan ikke endres)

  • Krever en MQTT-broker (lokal eller skybasert)

Forutsetninger

  • En MQTT-broker (f.eks. Mosquitto, HiveMQ, AWS IoT Core, etc.)
  • Nettverksforbindelse til MQTT-brokeren din
  • Broker IP-adresse eller vertsnavn
  • Portnummer
  • Valgfritt: Brukernavn og passord hvis brokeren din krever autentisering

Konfigurasjon

Naviger til skjermen Automatiserte Eksporter fra hovednavigasjonen, trykk deretter på "Ny Automatisering" og velg "MQTT" som Automatiserings-type.

Automatiseringsnavn

Skriv inn et beskrivende navn for automatiseringen din (f.eks. "Home Assistant MQTT", "Sky MQTT Broker").

Varsler

Konfigurer når du vil motta varsler:

  • Varsle ved cacheoppdatering - Motta et varsel når hurtiglagrede data oppdateres
  • Varsle ved kjøring - Motta et varsel hver gang automatiseringen publiserer data

Brokerkonfigurasjon

IP-adresse

Skriv inn IP-adressen eller vertsnavnet til MQTT-brokeren din.

Eksempler:

  • 192.168.1.100 (lokal IP-adresse)
  • mqtt.example.com (vertsnavn)
  • broker.hivemq.com (sky MQTT-broker)
  • localhost (hvis kjørt på samme enhet, ikke anbefalt for iOS)

Merk: Bruk IP-adresser for lokale brokeres på nettverket ditt, eller vertsnavn for skybaserte brokeres. Sørg for at brokeren er tilgjengelig fra enheten din.

Port

Skriv inn portnummeret for MQTT-brokeren din.

Merk: Standardporten er 1883.

Emne

Skriv inn MQTT-emnet der helsedata vil bli publisert. Dette er emnet som abonnenter vil bruke for å motta helsedataene dine.

Emneeksempler:

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

Beste praksis for emner:

  • Bruk skråstreker (/) for å opprette emnehierarkier
  • Bruk beskrivende navn som indikerer datatypen
  • Unngå mellomrom og spesialtegn
  • Vurder å inkludere automatiseringsnavnet for flere automatiseringer

Merk: Emnenavnet skiller mellom store og små bokstaver. Sørg for at abonnenter bruker nøyaktig samme emnenavn.

Klient-ID

Skriv inn en unik klient-ID for denne MQTT-tilkoblingen. Dette identifiserer enheten din for MQTT-brokeren.

Klient-ID-eksempler:

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

Brukernavn (Valgfritt)

Skriv inn brukernavnet for MQTT-broker-autentisering. La stå tomt hvis brokeren din ikke krever autentisering.

Passord (Valgfritt)

Skriv inn passordet for MQTT-broker-autentisering. La stå tomt hvis brokeren din ikke krever autentisering.

Datatypeinnstillinger

Datatype

Velg hvilken type helsedata som skal eksporteres:

  • Helsemålinger - Skritt, hjertefrekvens, søvn og andre helsemålinger
  • Treninger - Trenings- og fitnessaktiviteter
  • Symptomer - Helsesymptomer og -tilstander
  • EKG - Elektrokardiogramavlesninger
  • Hjertefrekvensvarsler - Høye/lave hjertefrekvenshendelser
  • Sinnstilstand - Humør- og mentaltilstandsposter (iOS 18.0+)
  • Syklussporing - Menstruasjonssyklus- og reproduktivhelsedata
  • Medisiner - Medisinlogger og overholdelse (iOS 26.0+)

Helsemålingskonfigurasjon

Når Helsemålinger er valgt:

Velg helsemålinger - Velg hvilke spesifikke målinger som skal inkluderes. Du kan velge alle tilgjengelige målinger eller velge spesifikke.

Tips: Å velge bare målingene du trenger reduserer meldingsstørrelsen og behandlingstiden.

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

Treningskonfigurasjon

Når Treninger er valgt:

Inkluder rutedata - Slå PÅ for å inkludere ruter for treninger som har posisjonsdata.

Inkluder treningsmålinger - Slå PÅ for å inkludere helsemålinger samlet inn under treninger (hjertefrekvens, kalorier, etc.).

Tidsgruppering (Treningsmålinger) - Når du bruker Eksportversjon 2 og Inkluder treningsmålinger er aktivert:

  • Minutter - Grupperer treningsmålinger per minutt
  • Sekunder - Grupperer treningsmålinger per sekund

Eksportinnstillinger

Eksportformat

Merk: MQTT-automatiseringer støtter kun JSON-format. Denne innstillingen kan ikke endres og er automatisk satt til JSON.

Eksportversjon

Velg en Eksportversjon for treningsdata:

  • Versjon 1 - Eldre format
  • Versjon 2 - Nåværende format med forbedrede treningsdata

Merk: Eksportversjon påvirker hovedsakelig treningsdatastrukturen hvis du eksporterer treninger.

Datoområde

Velg når data skal eksporteres:

  • Standard - Synkroniserer data for hele forrige dag pluss data opp til nåværende dato og tid
  • Siden siste synkronisering - Ved hver synkronisering eksporterer alle data siden siste gang eksporten ble kjørt opp til nåværende dato og tid
  • I dag - Synkroniserer alle data for nåværende dato opp til nåværende tid
  • I går - Synkroniserer alle data for hele forrige dag
  • Siste 7 dager - Synkroniserer data for de siste syv fullstendige dagene

Sammendrag data

Når du bruker JSON-format med datatypen Helsemålinger, slå Sammendrag data PÅ eller AV.

  • - Gir aggregerte datasammendrag (standard)
  • AV - Gir desaggregerte data hvor mulig, viser individuelle datapunkter

Tidsgruppering

Når Sammendrag data er aktivert, velg hvordan data skal aggregeres.

Sammendrag data

Slå Sammendrag data PÅ eller AV for Helsemålinger.

  • - Gir aggregerte datasammendrag (standard)
  • AV - Gir desaggregerte data hvor mulig

Merk: Denne innstillingen gjelder kun datatypen Helsemålinger.

Synkroniseringsfrekvens

Konfigurer hvor ofte automatiseringen skal publisere data til MQTT:

Velg et tall og et intervall.

Testing og verifisering

Manuell testing

  1. Trykk på "Manuell eksport" i automatiseringens konfigurasjonsskjerm
  2. Velg et datoområde
  3. Trykk på "Eksporter" for å publisere en melding
  4. Bruk en MQTT-klient for å abonnere på emnet ditt og verifiser at meldingen ble mottatt

Bruke en MQTT-klient

For å verifisere at meldinger publiseres:

  1. Sett opp en MQTT-klient
  2. Koble til MQTT-brokeren din med samme legitimasjon
  3. Abonner på emnet ditt
  4. Utløs en manuell eksport fra appen
  5. Verifiser at meldingen vises i MQTT-klienten din

Vise aktivitetslogger

  1. Trykk på "Vis aktivitetslogger" i automatiseringens konfigurasjonsskjerm
  2. Gjennomgå nylige automatiseringkjøringer
  3. Sjekk for tilkoblingsfeil eller publiseringsfeil
  4. Verifiser publiseringstidsstempler

Meldingsformat

MQTT-meldinger publiseres som JSON. Meldingens nyttelast følger standardeksport JSON-formatet:

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

Meldingen publiseres med:

  • Emne: Som konfigurert i automatiseringen
  • QoS: Levering høyst én gang
  • Behold: Meldinger beholdes ikke
  • Nyttelast: JSON-streng som inneholder helsedata

Feilsøking

Vanlige problemer

Tilkoblingsfeil

  • Verifiser at broker IP-adresse/vertsnavn er korrekt
  • Sjekk at porten er korrekt og at brokeren lytter på den porten
  • Sikre nettverksforbindelse til brokeren
  • Verifiser at brannmurregler tillater tilkoblinger til brokeren
  • Sjekk om brokeren krever TLS/SSL

Autentiseringsfeil

  • Verifiser at brukernavn og passord er korrekte
  • Sjekk at autentisering er aktivert på brokeren din hvis legitimasjon er oppgitt
  • Sikre at brukeren har tillatelse til å publisere til det angitte emnet

Meldinger ikke mottatt

  • Verifiser at emnenavnet matcher nøyaktig (skill mellom store og små bokstaver)
  • Sjekk at abonnenter er tilkoblet samme broker
  • Sikre at abonnenter er abonnert på riktig emne
  • Verifiser at automatiseringen er aktivert og kjører
  • Sjekk Aktivitetslogger for publiseringsfeil

Stor meldingsstørrelse

  • Reduser antallet valgte helsemålinger
  • Bruk mindre granulære aggregeringsalternativer
  • Vurder å dele opp i flere automatiseringer for forskjellige datatyper

Tips og beste praksis

  1. Emneorganisering:

    • Bruk hierarkiske emnestrukturer (f.eks. health/metrics, health/workouts)
    • Inkluder enhets- eller automatiseringsidentifikatorer i emner
    • Dokumenter emnestrukturen din for enkel referanse
  2. Meldingsstørrelse:

    • Hold meldinger rimelig store for å unngå MQTT-brokerbegrensninger
    • Bruk mindre granulær aggregering for å redusere datavolumet
    • Vurder å dele opp store datasett på tvers av flere meldinger
  3. Overvåking:

    • Bruk Aktivitetslogger i appen for å spore publiseringssuksess
  4. Skybrokeres:

    • Når du bruker sky MQTT-brokeres (AWS IoT, HiveMQ Cloud, etc.):
      • Følg deres spesifikke tilkoblingskrav
      • Sjekk deres meldingsstørrelse- og hastighetsbegrensninger
      • Verifiser emnenavngivingskonvensjoner