Sinkronizacija podataka Apple Zdravlja putem MQTT-a

Objavljujte zdravstvene podatke na MQTT broker.

Last updated: February 5, 2026

Na ovoj stranici

MQTT automatizacije omogućuju automatsko objavljivanje zdravstvenih podataka na MQTT broker. To je prikladno za integraciju s IoT platformama, sustavima pametnog doma ili bilo kojim servisom koji podržava MQTT poruke.

Pregled

MQTT automatizacije objavljuju zdravstvene podatke kao JSON poruke na određenu MQTT temu na brokeru. Podaci se šalju kad automatizacija radi prema postavkama učestalosti sinkronizacije.

Primjene:

  • Integracija s IoT platformama (Home Assistant, OpenHAB itd.)
  • Objavljivanje zdravstvenih podataka na nadzorne ploče temeljene na MQTT-u
  • Sustavi nadzora zdravlja u stvarnom vremenu
  • Prilagođene integracije pametnog doma
  • Platforme za bilježenje podataka i analitiku

Ključne značajke:

  • Samo JSON format (optimizirano za MQTT)
  • Podržane autentificirane i anonimne veze
  • Prilagodljiva struktura tema
  • Upravljanje Client ID-om
  • Opcionalna autentifikacija korisničkim imenom i zaporkom

Ograničenja

  • Pristup zdravstvenim podacima: Aplikacijama nije dopušten pristup zdravstvenim podacima dok je iPhone zaključan. Automatizacije će raditi samo kad je uređaj otključan. To može utjecati na svježinu podataka. Pogledajte upute za ručnu sinkronizaciju kako biste održali podatke ažurnima.

  • Obrada u pozadini: iOS ograničava obradu u pozadini radi uštede baterije. Automatizacije ovise o osvježavanju aplikacija u pozadini i možda neće odmah raditi ako:

    • je osvježavanje aplikacija u pozadini isključeno za aplikaciju
    • je uređaj u načinu niske potrošnje
    • je uređaj dugo neaktivan
    • su resursi sustava ograničeni
    • više aplikacija istodobno traži vrijeme izvršavanja u pozadini
  • Samo JSON format (ne može se promijeniti)

  • Potreban je MQTT broker (lokalni ili u oblaku)

Preduvjeti

  • MQTT broker (npr. Mosquitto, HiveMQ, AWS IoT Core itd.)
  • Mrežna povezanost s MQTT brokerom
  • IP adresa ili hostname brokera
  • Broj priključka
  • Opcionalno: korisničko ime i zaporka ako broker zahtijeva autentifikaciju

Konfiguracija

U glavnoj navigaciji otvorite zaslon Automatskih izvoza, zatim dodirnite „New Automation” i odaberite „MQTT” kao vrstu automatizacije.

Naziv automatizacije

Unesite opisni naziv automatizacije (npr. „Home Assistant MQTT”, „Cloud MQTT Broker”).

Obavijesti

Postavite kada želite primati obavijesti:

  • Notify on Cache Update — obavijest kad se ažuriraju predmemorirani podaci
  • Notify When Run — obavijest pri svakom objavljivanju podataka

Konfiguracija brokera

IP adresa

Unesite IP adresu ili hostname MQTT brokera.

Primjeri:

  • 192.168.1.100 (lokalna IP adresa)
  • mqtt.example.com (hostname)
  • broker.hivemq.com (MQTT broker u oblaku)
  • localhost (ako radi na istom uređaju — nije preporučeno za iOS)

Napomena: Za lokalne broker na mreži koristite IP adrese, za oblak hostname. Provjerite je li broker dostupan s vašeg uređaja.

Priključak

Unesite broj priključka MQTT brokera.

Napomena: Zadani priključak je 1883.

Tema (Topic)

Unesite MQTT temu na koju će se objavljivati zdravstveni podaci. To je tema koju pretplatnici koriste za primanje vaših podataka.

Primjeri tema:

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

Najbolje prakse za teme:

  • Koristite kose crte (/) za hijerarhiju tema
  • Koristite opisna imena koja ukazuju na vrstu podataka
  • Izbjegavajte razmake i posebne znakove
  • Razmotrite uključivanje naziva automatizacije za više automatizacija

Napomena: Naziv teme razlikuje velika i mala slova. Pretplatnici moraju koristiti točno isti naziv teme.

Client ID

Unesite jedinstveni Client ID za ovu MQTT vezu. Time se vaš uređaj identificira brokeru.

Primjeri Client ID-a:

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

Korisničko ime (opcionalno)

Unesite korisničko ime za autentifikaciju na brokeru. Ostavite prazno ako broker ne zahtijeva autentifikaciju.

Zaporka (opcionalno)

Unesite zaporku za autentifikaciju na brokeru. Ostavite prazno ako broker ne zahtijeva autentifikaciju.

Postavke vrste podataka

Vrsta podataka

Odaberite koji tip zdravstvenih podataka izvesti:

  • Health Metrics — koraci, otkucaji srca, san i druga mjerenja
  • Workouts — aktivnosti vježbanja i fitnessa
  • Symptoms — simptomi i stanja
  • ECG — elektrokardiogramska snimanja
  • Heart Rate Notifications — događaji visokih/niskih otkucaja srca
  • State of Mind — unosi raspoloženja i mentalnog stanja (iOS 18.0+)
  • Cycle Tracking — menstrualni ciklus i reproduktivno zdravlje
  • Medications — evidencija lijekova i uzimanja (iOS 26.0+)

Konfiguracija zdravstvenih metrika

Kad je odabrano Health Metrics:

Select Health Metrics — odaberite koje metrike uključiti. Možete odabrati sve dostupne ili pojedinačne.

Savjet: Odabirom samo potrebnih metrika smanjujete veličinu poruke i vrijeme obrade.

Preferred Sources — postavite koji izvori imaju prednost kad više izvora daje istu metriku.

Konfiguracija treninga

Kad je odabrano Workouts:

Include Route Data — uključite da biste dodali rute za treninge s lokacijskim podacima.

Include Workout Metrics — uključite metrike prikupljene tijekom treninga (otkucaji srca, kalorije itd.).

Time Grouping (Workout Metrics) — kad se koristi Export Version 2 i uključena je opcija Include Workout Metrics:

  • Minutes — grupira metrike treninga po minuti
  • Seconds — grupira metrike treninga po sekundi

Postavke izvoza

Format izvoza

Napomena: MQTT automatizacije podržavaju samo JSON format. Ova se postavka ne može promijeniti i automatski je JSON.

Verzija izvoza

Odaberite verziju izvoza za podatke treninga:

  • Version 1 — stariji format
  • Version 2 — trenutačni format s poboljšanim trening podacima

Napomena: Verzija izvoza uglavnom utječe na strukturu podataka treninga ako izvozite treninge.

Raspon datuma

Odaberite kada izvesti podatke:

  • Default — sinkronizira podatke za cijeli prethodni dan plus podatke do trenutnog datuma i vremena
  • Since Last Sync — pri svakoj sinkronizaciji izvozi sve podatke od zadnjeg pokretanja izvoza do trenutnog datuma i vremena
  • Today — sinkronizira sve podatke za tekući dan do trenutnog vremena
  • Yesterday — sinkronizira sve podatke za cijeli prethodni dan
  • Previous 7 Days — sinkronizira podatke za cijelih prethodnih sedam dana

Summarize Data

Kad koristite JSON format s vrstom Health Metrics, uključite ili isključite Summarize Data.

  • ON — agregirani sažeci (zadano)
  • OFF — gdje je moguće, pojedinačne točke podataka

Vremensko grupiranje

Kad je Summarize Data uključeno, odaberite kako agregirati podatke.

Summarize Data

Uključite ili isključite Summarize Data za Health Metrics.

  • ON — agregirani sažeci (zadano)
  • OFF — gdje je moguće, pojedinačne točke podataka

Napomena: Postavka vrijedi samo za vrstu podataka Health Metrics.

Učestalost sinkronizacije

Postavite koliko često automatizacija treba objavljivati podatke na MQTT:

Odaberite broj i interval.

Testiranje i provjera

Ručno testiranje

  1. Na zaslonu konfiguracije dodirnite „Manual Export”
  2. Odaberite raspon datuma
  3. Dodirnite „Export” za objavu poruke
  4. Koristite MQTT klijent za pretplatu na temu i provjerite je li poruka primljena

Korištenje MQTT klijenta

Za provjeru objavljenih poruka:

  1. Postavite MQTT klijent
  2. Povežite se na broker istim vjerodajnicama
  3. Pretplatite se na svoju temu
  4. Pokrenite ručni izvoz iz aplikacije
  5. Provjerite pojavljuje li se poruka u klijentu

Pregled zapisa aktivnosti

  1. Dodirnite „View Activity Logs”
  2. Pregledajte nedavna pokretanja
  3. Provjerite greške veze ili neuspjele objave
  4. Provjerite vremenske oznake objava

Format poruke

MQTT poruke objavljuju se kao JSON. Sadržaj slijedi standardni JSON format izvoza:

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

Poruka se objavljuje s:

  • Topic: kako je konfigurirano u automatizaciji
  • QoS: isporuka najviše jednom
  • Retain: poruke se ne zadržavaju
  • Payload: JSON niz koji sadrži zdravstvene podatke

Rješavanje problema

Uobičajeni problemi

Neuspjele veze

  • Provjerite je li IP adresa/hostname brokera točan
  • Provjerite je li priključak točan i sluša li broker na njemu
  • Osigurajte mrežnu povezanost s brokerom
  • Provjerite pravila vatrozida za veze prema brokeru
  • Provjerite zahtijeva li broker TLS/SSL

Neuspjela autentifikacija

  • Provjerite korisničko ime i zaporku
  • Provjerite je li autentifikacija uključena na brokeru ako ste unijeli vjerodajnice
  • Osigurajte da korisnik ima dopuštenje za objavu na odabranu temu

Poruke nisu primljene

  • Provjerite točno podudaranje naziva teme (razlikuje velika/mala slova)
  • Provjerite jesu li pretplatnici povezani na isti broker
  • Osigurajte pretplatu na ispravnu temu
  • Provjerite je li automatizacija uključena i radi
  • Pogledajte Activity Logs radi grešaka pri objavi

Velika poruka

  • Smanjite broj odabranih zdravstvenih metrika
  • Koristite manje detaljne opcije agregacije
  • Razmotrite podjelu na više automatizacija za različite vrste podataka

Savjeti i najbolje prakse

  1. Automatska sinkronizacija:

    • Punite uređaj i koristite iPhone Mirroring
      • Kad se uređaj puni, iOS manje ograničava performanse pa se podaci mogu češće sinkronizirati
      • iPhone Mirroring ponaša se kao da je uređaj otključan, pa Health Auto Export može pristupiti zdravstvenim podacima za automatizirane radnje
  2. Organizacija tema:

    • Koristite hijerarhijske strukture tema (npr. health/metrics, health/workouts)
    • Uključite identifikatore uređaja ili automatizacije u teme
    • Dokumentirajte strukturu tema radi lakše reference
  3. Veličina poruke:

    • Držite poruke razumne veličine radi ograničenja brokera
    • Koristite manje detaljnu agregaciju radi smanjenja obujma podataka
    • Razmotrite podjelu velikih skupova podataka na više poruka
  4. Nadzor:

    • Koristite Activity Logs u aplikaciji za praćenje uspješnih objava
  5. Brokeri u oblaku:

    • Kad koristite MQTT brokere u oblaku (AWS IoT, HiveMQ Cloud itd.):
      • Slijedite njihove posebne zahtjeve za vezu
      • Provjerite ograničenja veličine poruke i brzine
      • Provjerite konvencije imenovanja tema