HealthSync for Home Assistant

Hi all — I built HealthSync for Home Assistant, a native iOS app that reads your Apple Health data and pushes it straight to your own Home Assistant instance via webhook. Wanted to share it here since it’s exactly the kind of thing this community tends to want.

What it syncs:

  • Steps and active calories (daily totals)

  • Heart rate and HRV

  • Sleep, with full stage breakdown (core, deep, REM, awake)

  • Workouts — type, duration, distance, calories (with a one-tap full history backfill)

How it works:

Uses HealthKit’s background delivery (HKObserverQuery), so it’s woken up when new data lands rather than polling. Manual sync is free forever — tap to sync any metric, any time, no restrictions. A one-time purchase (no subscription) unlocks fully automatic background syncing.

Why I built it this way:

  • Local-first, no exceptions — no accounts, no analytics, no third-party servers. Data goes only to the webhook URL you configure. I never see it, store it, or have access to it.

  • You need your own running HA instance, reachable by URL (local network, Nabu Casa, VPN, whatever you’re already using).

There’s also an optional companion HACS integration that turns the incoming data into ready-made sensors — steps, HR, HRV, sleep, and a “Workouts” device with individual entities per recent workout.

App Store: ‎HealthSync for Home Assistant App - App Store

GitHub / HACS integration: GitHub - mannotfood/healthsync: Home Assistant integration paired with iOS app for syncing Apple Health stats to Home Assistant · GitHub

Happy to answer questions, and genuinely open to feedback — this started as something I built for myself and my family.

1 Like

Ok, it’s working. Thank you for your work! It would be fantastic if you would offer a trial for the automatic sync.

I’ve tried all those other health-to-ha apps that are available, your app price is very fair but I already sold my Apple Watch Ultra and got an Amazfit Balance Ultra that pushes all data to Home Assistant. So I pretty much stopped to look for a solution like yours. Also, I am missing a ton of data compared to Zepp2Hass (see screenshot, and thats just the health data, workout-list is also looooong). But I am sure you will continue to work on this, right?

Thanks again, Lutz

Oh, I am just days away to make the 1.000.000 step this year as you can see at the bottom of the screenshot :wink: by the way the zeros are related to the time (it’s short past midnight here).

Yeah I’m more than happy to include further metrics. I’ve kept it fairly simple at the moment but adding any and all should be easy - it just adds review time with the App Store which is no issue now the first couple are approved.

My solution for workouts is to have the last 10 as sensors and then have all the data for all the workouts in attributes - this hopefully helps huge integration sensor list which are difficult to search/sort. All the data is still there but it makes more sense to allow people to present it in their own dashboards how they want it as this is significantly more versatile. I will be looking at bundling some cards or similar in the future.

With regards to the trial I’ve got no issue with adding that at all and I will look into it soon - it’s a good way to build trust before people bite the bullet and I’d be gutted if people were buying and it not being what they thought.

Cheers for your feedback

Exactly that - proof that it works and I will happily pay those 10 Euros! Like I said before, good work deserves good money. Just updated the HA integration by the way :wink:

Have a nice day!

1 Like

I have added a trial, it is not released to the app store yet (takes a while for reviews) it will be a default of 7 from when you install and will drop off automatically. I have added more metrics too, there was an app update approved today with some more and there will be others on the next one as well as the trial feature

Just FYI, I don’t think Apple track yearly steps as a goal/metric. I think this is really cool tho. I have a Springer Spaniel so a yearly tracker would be ace, i can also display it on my wallboard vs my wife, we have a daily at the moment with a crown on who is the winner but having a yearly is higher stakes :slight_smile:

1 Like

Already installed the update and see the 7 day trial!
I’ve created that counter in my Home Assistant - daily/weekly/monthly and year. Will do the 1.000.000 Step this year by end of the day :slight_smile:

1 Like

Hello. I am constantly seeing this error when the app is open. Though, in HA the sync entity shows it is syncing with it’s refreshing back to 1 sec. The testing of webhook shows good.

Could you also explain how the auto sync (paid version) works? Does the app needs to be set correctly for it to auto sync with HA? How often does it sync? Do we need to have the healthsync open for it to sync?? Thank you.

Hi. You might be seeing an error as you have a huge amount of Apple data to sync which is timing out. The update should do it in batches however the amount you have is incredible!! iOS has a limit that is set to around 20 seconds for background data loads which was timing out with some previous builds, recently this has been changed to allow a max of 1000 metrics, this is clearly not useful for your mammoth data log. I have made an amendment that seperates the manual sync and the background sync so the manual sync (when you firs install) works fine and loads all your history. When the next release is approved - iOS v1.4.2 this shoudl allow you to load correctly.

Auto sync doesn’t run on a fixed schedule — there’s no “every X minutes” setting, because that’s not something the app controls. Instead, iOS itself decides when to wake the app up and let it check for new data, based on things like how often you use your phone and battery level. In practice that usually means it happens every few minutes to a couple of hours, but it can occasionally go longer, like overnight, especially if your phone’s been idle.

This isn’t unique to this app — it’s how every app works when reading Health data in the background; no app is allowed to force more frequent updates. Manual sync (the button in the app) always works instantly regardless, since that’s not subject to any of this.

1 Like

this should be fixed with the new app update, let me know if not :slight_smile:

v1.4.2 fixed it. Thx.

1 Like

Hey, I just wanted to give you a very big thumbs up for your work! Your updates are quick, your responses fast. The app is getting better and better - like promised, I just spent the 10 bucks for it an hope that helps you to continue your good work!

Have a nice day, Lutz

1 Like

@luha68 thank you for your kind words and support. I hope the app/integration continue to serve you well

1 Like

In addition to your feedback - I’d really appreciate any positive reviews, especially on the App Store. :grinning_face:

Done :wink:

Now bring some fancy widgets for the iOS App and maybe some good dashboard widget suggestions for the data in Home Assistant! Just kidding - keep up the good work!

@luha68 thank you! Wholly appreciated.

Funny you should say that, I am putting some dashboard examples together.

I’ll also be writing up how you can get the syncs very regular (which isn’t possible as it stands as Apple heavily control the background sync) using Shortcuts and messages/emails to trigger and the only way I could achieve this is using a server to regulate this which goes against the whole integration being completely local/ user owned. We will see

1 Like

Hello. I received this message after updating integration to ver. 0.20.2. Ok to delete it??

Hello @duceduc - yes this is fine to Delete and ignore. It is just because the state has changed so it doesn’t exist any longer

Let’s see how well that goes :wink: Alot of old data to sync in my case…

@luha68 I am working on getting the sync fast without hitting any bottlenecks. I think it is a fair bit quicker but the app update is going through review. I’ve added some bits to the App Store page which might mean review is a bit longer.

I’ve also added local web hook generator so if you use Tailscale or similar you can view that as well as Nabu Casa or similar using the Tools/Action section in Home Assistant which should be marginally faster again.

This looks great already, wonderful job!
If adding metrics is relatively simple, how about Nutrition items? That would be a great addition!
Thanks for your work!