To publish Apple Health metrics over MQTT, HealthSave Pro background-syncs your HealthKit data to a server you run, and the Observatory's bridge republishes those metrics to your MQTT broker, with Home Assistant discovery, for Node-RED, HA, and any subscriber. The iPhone app doesn't speak MQTT itself; it gets the data to your hardware, and your hardware fans it out.
Where MQTT actually fits
This is the honest architecture, because it's the part people get wrong: HealthSave (the iOS app) syncs over HTTP, not MQTT. The MQTT publishing is done by the HealthSave Observatory bridge running on your server. So the flow is two hops:
iPhone (Apple Health)
└─ HealthSave Pro ──(HTTP, ~1–5 min)──▶ your server (Observatory)
└─ MQTT bridge ──▶ your broker (e.g. Mosquitto)
├─▶ Home Assistant (MQTT discovery)
├─▶ Node-RED flows
└─▶ your own subscribers
That structure is the point: your data lands on hardware you own first, then gets republished onto your bus. Nothing routes through a HealthSave server, because there isn't one.
Setup
- Run a broker. Mosquitto on your LAN is the usual choice. Note its host and port.
- Bring up the Observatory (Docker) and configure its Home Assistant/MQTT bridge with your broker host and credentials.
- In HealthSave: Settings → Server Sync → set the Server URL to your Observatory (iOS won't sync to
localhost), optionally set an API key, and enable background sync. - Subscribe. The bridge publishes metric state plus Home Assistant MQTT discovery config, so HA picks them up as entities; Node-RED or a custom client can subscribe to the same topics.
What you can build on it
Anything that tolerates a few minutes of latency. A Node-RED flow that nudges your evening lighting toward "wind down" when today's strain is high; a custom dashboard that subscribes to resting HR and HRV; an automation that logs your sleep score to a spreadsheet each morning. What I'd avoid: anything that must fire the instant a value crosses a threshold, the best-effort ~1–5 minute latency makes MQTT here an ambient bus, not an alerting one.
Free vs Pro
| Capability | Tier |
|---|---|
| On-device dashboard, CSV/JSON export | Free |
| Background sync to your server | Pro |
| MQTT republishing via the Observatory bridge | Pro (sync) + self-hosted bridge |
Pro is a one-time $24.99, Family Sharing included.
Honest limits
- The app doesn't publish MQTT; the Observatory bridge does. You run both the server and the broker.
- Best-effort ~1–5 min end to end, ambient automations only, never safety-critical.
- iOS only; reads Apple Health.
- Pro-gated background sync ($24.99 one-time).
- Accuracy is your wearable's, the bus carries whatever your device recorded.
Related
- Push live Apple Health metrics into Home Assistant, the HA-first version of this setup.
- Apple Health data in your homelab, the full pipeline.
- Query the same data over REST instead of (or alongside) MQTT.
FAQ
Does the iPhone app speak MQTT directly?
No. The app's job is to get your HealthKit data to a server you run (HealthSave Pro background sync). The open-core HealthSave Observatory then republishes those metrics to your MQTT broker via its bridge. The app → server hop is HTTP; the server → broker hop is MQTT.
Does it support Home Assistant MQTT discovery?
Yes. The Observatory's bridge publishes Home Assistant MQTT discovery config, so metrics show up as entities automatically. You can also subscribe to the raw topics from Node-RED or any MQTT client.
What's the latency?
Best-effort, roughly 1–5 minutes from watch to broker. Build latency-tolerant, ambient automations on these topics, not sub-minute alerts or anything safety-critical.
Which broker do I need?
Any standard MQTT broker. Mosquitto is the common self-hosted choice. You run the broker; HealthSave does not host one.
Is this a Pro feature?
Yes. Background sync to your server is Pro ($24.99 one-time). The Observatory and broker are self-hosted and free to run.
HealthSave is not a medical device. It is for informational purposes only and does not diagnose, treat, cure, or prevent any disease or condition. The accuracy of any health data depends on your wearable device and its sensors. Privacy claims of zero data collection apply to the iOS app; self-host sync sends your data to your own server.
Get HealthSave
Download free, then unlock background sync with a one-time Pro purchase to feed Apple Health into your MQTT broker and everything that subscribes to it.
Download HealthSave on the App Store