Synkroniser Apple Health-data med MQTT

Publiser helsedata til en MQTT-broker.

Last updated: August 23, 2026

På denne siden

MQTT-automatiseringsveiledning

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 kjører bare når enheten er ulåst. Dette er en begrensning fra Apple som ikke kan omgås. Mer informasjon

  • 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

Åpne sidepanelet og trykk Automatiseringer. Trykk Ny automatisering og velg "MQTT" som automatiseringstype.

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
  • Planlegg påminnelser — Valgfrie varsler om å låse opp og åpne appen. Se Oversikt over automatiseringer. De er atskilt fra Varsle ved kjøring.

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.

  • PÅ - 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.

  • PÅ - 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

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

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. Automatisk synkronisering:

    • Lad enheten og bruk iPhone-speiling
      • Under lading setter iOS færre ytelsesbegrensninger, så data kan synkroniseres oftere
      • Med iPhone-speiling oppfører enheten seg som om den var ulåst. Health Auto Export får da tilgang til helsedata for automatiserte handlinger
  2. Emneorganisering:

    • Bruk hierarkiske emnestrukturer (f.eks. health/metrics, health/workouts)
    • Inkluder enhets- eller automatiseringsidentifikatorer i emner
    • Dokumenter emnestrukturen din for enkel referanse
  3. 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
  4. Overvåking:

    • Bruk Aktivitetslogger i appen for å spore publiseringssuksess
  5. 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

Visning av aktivitetslogger

  1. Trykk på Vis aktivitetslogger på konfigurasjonsskjermen for automatisering.
  2. Gå gjennom kjøringer (gruppert, nyeste først), og utvid hendelser i hver kjøring.
  3. Skill mellom advarsler (f.eks. treg helsedataforespørsel) og feil (megler-tilkoblings- eller publiseringsfeil)—se Oversikt over automatiseringer — Aktivitetslogger.
  4. Sjekk suksess- og feillinjer for publisering for hver kjøring.
  5. Del (verktøylinje) eksporterer full diagnostisk ZIP av App-hendelseslogger for support (samme som Innstillinger → Avansert).
  6. Tøm fjerner bare aktivitetshistorikken for denne automatiseringen.