Apple Health ↔ Home Assistant
The privacy-first bridge between Apple Health and your smart home. Push your vitals to your Home Assistant dashboard in under 30 seconds — or pull sensor data the other way. No middleman, no servers, no accounts.
Healko is the only HK ↔ HA app that runs both directions out of the box.
Apple Health to Home Assistant.
Home Assistant sensors to Apple Health.
Designed by an HA user, for HA users.
Talks straight to YOUR Home Assistant. No Healko servers in the middle. URL + token live in iOS Keychain only.
HKObserverQuery wakes the app in the background to push your data the moment it's recorded.
Local network or Nabu Casa Cloud. Works on home Wi-Fi, on cellular, and across networks.
English, Chinese, Italian, Russian, German, Korean, Portuguese, Spanish, Japanese — all from launch.
"Force Sync Now", "What's my heart rate?", "Pause sync for an hour" — all built in.
v1.0 ships with Watch metrics flowing through. Watch app target coming in v1.1.
Try the entire app with synthetic data before connecting your HA. No setup required.
No accounts. No analytics. No third-party servers. Your health data never leaves the path between your phone and your HA.
Free tier is genuinely useful. Pro unlocks the full set.
5 metrics, manual sync, basic dashboard.
All 38 metrics, reverse bridge, Shortcuts library.
Same as monthly, billed annually.
Everything Pro, no recurring charges. Best for HA users who hate subscriptions.
Setup, troubleshooting, and the philosophy behind Healko
An iPhone running iOS 17 or later, an Apple Health setup with at least one metric being recorded (Apple Watch helps), and a running Home Assistant instance — local network or Nabu Casa Cloud. No account creation, no email sign-up.
In Home Assistant: click your profile icon (bottom-left of the sidebar) → scroll to the bottom of the profile page → "Long-Lived Access Tokens" → "Create Token" → name it "Healko" → copy the token. Paste that into Healko's setup screen. The same token works whether you're connecting locally or via Nabu Casa Cloud.
Either works. Local (e.g. http://homeassistant.local:8123) is faster and uses no internet bandwidth — but only works when your iPhone is on the same Wi-Fi as your HA. Nabu Casa Cloud (https://abc12345.ui.nabu.casa) works from anywhere — cellular, traveling, etc. Many users add both URLs and rotate. Healko uses whichever URL you have configured at the moment.
Yes. Tap "Skip — Use Demo Mode" on the welcome screen. The app populates synthetic data and lets you reach Today / Trends / Settings without any HA setup or HealthKit permissions. Useful for evaluating before committing.
Typically under 30 seconds from the moment Apple Health records a sample. Healko uses HKObserverQuery with enableBackgroundDelivery, so iOS wakes the app even when the screen is off. Background delivery is opportunistic — iOS may delay it a bit if your phone is in low-power mode or under thermal pressure.
38 in v1.0, covering: activity (steps, distance, active/basal energy, exercise minutes, push count, flights climbed, walking speed, walking step length), vitals (heart rate, resting HR, HRV SDNN, blood pressure, SpO2, body temperature, respiratory rate), body (weight, BMI, body fat %, lean body mass, height, waist), sleep (analysis stages, time in bed), nutrition (water, caffeine), and a few others. The Settings screen lists them all.
Apple's HKObserverQuery + enableBackgroundDelivery has real costs (battery, kernel queue depth) that scale with the number of types being observed. For free users we cap at 5 to keep the experience smooth on older phones. Pro removes the cap.
No. Every metric POST goes from your iPhone directly to your HA instance over the URL you configured. Healko has no backend. The only outbound calls Healko makes are: (a) to your Home Assistant, and (b) to ipinfo.io as part of an optional public-IP lookup if you opt in. No analytics, no telemetry, no AI cloud.
You map an HA sensor (e.g. sensor.bedroom_scale) to an Apple Health metric (e.g. Body Mass). Healko polls the HA sensor on the schedule you pick (10s / 30s / 5min), and when the value changes, writes a new HKQuantitySample to Apple Health. The sample is source-tagged with the HA entity ID so you can see in Apple Health exactly which sensor each reading came from. Reverse bridge is a Pro feature.
iOS Keychain on this device only. Specifically with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, which means the token is encrypted at rest and only available after the device has been unlocked at least once after boot. It never leaves your phone.
Health data is collected for App Functionality, not linked to identity, not used for tracking. That's the only category checked. Healko has no analytics, ads, or third-party SDKs.
No. There's no account, no email, no password. The only credential Healko stores is your HA URL and token. Disconnect at any time from Settings to wipe both.
Free: 5 simultaneous metrics in the forward direction, manual sync, full dashboard. Pro: all 38 metrics, the reverse bridge, the full Shortcuts library, priority push timing, Watch features as they ship.
One-time $79.99 non-consumable purchase that unlocks Pro features forever on every device tied to your Apple ID. No recurring charges. Includes all current and future Pro features. Designed for the HA crowd that doesn't want a subscription.
Yes. Cancel the subscription in Apple ID settings (your monthly will keep working until the end of the period), then buy Lifetime separately. Apple doesn't currently offer a "credit toward upgrade" path between subscriptions and one-time purchases, but the math works out fine after a year or two.
Most common causes:
http:// or https://) and port. Local: http://homeassistant.local:8123. Cloud: https://abc.ui.nabu.casa (no port).Your token isn't valid for this HA instance. In HA: profile → Long-Lived Access Tokens → check the token still exists, or generate a fresh one. Note that re-creating an existing token invalidates the old one — paste the new token into Healko.
HA's REST-API entities live in runtime memory only — restarting HA wipes them. Open Healko → Settings → "Push all metrics to HA now". This re-pushes every enabled metric and the entities reappear immediately. Healko also auto-pushes on app foreground for this exact reason.
Open the app once to wake it. iOS may have suspended Healko's background privileges due to: (a) low battery mode, (b) thermal throttling, (c) you force-quit the app from the multitasking switcher (which disables background until next launch). Re-opening always restores the sync.
Check the metric is enabled in Settings → Metrics syncing. If it's a metric Healko has but Apple Health doesn't (no historical data for it), Healko has nothing to push. Wear your Apple Watch or seed test data in Apple Health → Browse → Add Data, then trigger a manual sync.
Apple hides read-access state by design — even if you granted access in onboarding, Apple Health → Sources → Healko shows you what's actually being read. If a type is off, toggle it on there.
The reverse bridge polls in foreground or while the app is running. iOS will eventually suspend long-running polls. Pro features include longer-lived background tasks. If a sensor stops appearing in Apple Health, open Healko once — that always restarts the loop.
Demo Mode short-circuits all real HK reads and HA writes — no real notifications should fire. If you see one, please email [email protected] with your iOS version and a screenshot. Demo mode coverage is regression-tested every release.
Settings → "Disconnect & restart onboarding". This wipes your saved HA URL and token from the device and shows the Welcome screen again. HealthKit permissions stay with iOS Settings — go to Settings → Health → Healko to revoke fully.
Healko is the bridge the HA community has been asking for. iOS 17+, free to start, $79.99 lifetime.