How do I get Apple Watch data into Home Assistant?

Your Apple Watch already writes what it measures into Apple Health on the iPhone it's paired with. Install Life Dashboard Companion on that iPhone and the Life Dashboard integration in Home Assistant, pair the two with a QR code, and the watch's heart rate, HRV, sleep, workouts and VO2 max arrive as sensors, with up to a year of history in long-term statistics.

Open in HACS

There's nothing to install on the watch, and Home Assistant never needs your Apple Account. The iPhone app reads Apple Health and posts straight to your Home Assistant; there's no Life Dashboard server in between.

Apple WatchApple Health on the iPhoneLife Dashboard CompanionHome Assistant

What you need

Set it up

  1. Install the integration from HACS, restart Home Assistant, and add it under Settings > Devices & services with a name for the iPhone. It shows a QR code.
    The Life Dashboard integration in Home Assistant showing a pairing QR code
  2. Install Life Dashboard Companion on the iPhone, tap Scan a pairing code in its setup, scan the code and tap Pair.
  3. Switch on the types the watch records, listed below, and allow Apple Health access.
  4. Tap Sync Now, then Backfill with 30, 90 or 365 days for the past.

Apple Health in Home Assistant has every step in detail, with the address to use and the sync schedule.

What an Apple Watch records, and where it lands

Which of the app's 28 types fill up depends on your watch model, its settings and what you wear it for. This table lists what Apple's own documentation says a watch records, the payload key the app sends it under, and what Home Assistant makes of it.

What the watch recordsPayload keyIn Home AssistantApple's documentation
Steps and distancesteps, distanceToday's total, and a day value in the statisticsHeart rate, calorimetry and activity
Active and resting energyactive_calories, total_caloriesToday's total, and a day value in the statisticsHeart rate, calorimetry and activity
Heart rateheart_rateLatest value, and a mean, minimum and maximum per hourCheck your heart rate on Apple Watch
Resting heart rateresting_heart_rateLatest value, and per hourCheck your heart rate on Apple Watch
Heart rate variability (SDNN)heart_rate_variabilityLatest value, and per hourHeart rate, calorimetry and activity
Sleep, with REM, Core and Deep stages and time awakesleepLast night's duration, and sleep minutes per dayTrack your sleep on Apple Watch
Respiratory rate while you sleeprespiratory_rateLatest value, and per hourTrack your vitals with Apple Watch
Blood oxygen, on models and in regions that have itoxygen_saturationLatest value, and per hourHow to use the Blood Oxygen app
Workouts from the Workout appexerciseLast workout, and minutes today and yesterdayStart a workout on Apple Watch
Cardio fitness (VO2 max)vo2_maxLatest value, and per hourTrack your cardio fitness levels
  • Steps, distance and calories come from Apple Health's own day totals, the way the Health app counts them, so a walk that both the iPhone and the watch recorded counts once. An iPhone without a watch usually records no resting energy, so total calories mostly come with a watch.
  • Heart rate variability is SDNN, the measure Apple Health stores. An Android phone sends RMSSD under the same key; they're not the same number, so don't compare the two.
  • Sleep needs sleep tracking on the watch and the watch on your wrist at night. The app sends Apple's Core stage as light, and Deep, REM and awake under their own names, plus the iPhone's in_bed time around them. Home Assistant gets the night's duration; the stages go to a webhook or the stack, whose sleep views count only the watch's stages.
  • Blood oxygen is on Apple Watch Series 6 and later and every Ultra, but not in every country or region, and Apple's page describes how it works on some models sold in the US.
  • VO2 max is estimated on Apple Watch Series 3 and later during an Outdoor Walk, Outdoor Run or Hiking workout in the Workout app, per Apple's page.
  • Workouts arrive with their kind as a name, such as running or hiit, and Home Assistant shows the last one with its start, end and minutes.
Today's steps, distance, calories, heart rate and last sleep in Home Assistant, with steps per week

What doesn't come along

  • Wrist temperature. Apple Health stores the absolute temperature at night, not the change against a baseline that the shared payload carries, so the app leaves it out.
  • Anything outside the app's 28 types stays in Apple Health.
  • Screen time: iOS doesn't let an app send it anywhere.

Other watches and rings on an iPhone

Garmin Connect, Oura, Withings and other apps can write into Apple Health on the iPhone too. What they write there arrives the same way, each record with the name of the app that wrote it, and steps, distance and calories still count once across all of them, in the order of the data sources you set in the Health app.

Limits

  • Data reaches the iPhone when the watch syncs with it, which can be hours later. The app sends it at the next sync, on its own date.
  • iOS encrypts Apple Health while the iPhone is locked, so a sync waits for the unlock. iOS also decides when the app runs in the background; for an exact time, a Shortcuts automation runs Sync Health Data.
  • Sleep stages, workout details and every single heart rate reading go to a webhook or the stack in full. Home Assistant keeps the latest value and the statistics.

Common questions

Do I need an app on the Apple Watch?

No. The watch writes into Apple Health on the iPhone by itself, and Life Dashboard Companion on the iPhone reads it from there.

Why is my watch's data late in Home Assistant?

Two steps can wait: the watch syncs with the iPhone, and iOS decides when the app runs in the background. Open the app and tap Sync Now to send what's there now. Each value still lands on the time it describes.

Can I see sleep stages in Home Assistant?

Home Assistant gets last night's duration and sleep minutes per day. The stages arrive in the payload, so a webhook of your own or the Life Dashboard stack has deep, light, REM and awake per night.

Why is there no blood oxygen sensor?

Blood oxygen isn't on every model or in every region, as Apple's page explains. When the watch records none, Apple Health has none to send. Also check that Oxygen Saturation is switched on in the app and allowed in Apple Health.

Does a Garmin or Oura on an iPhone work too?

Yes, for what its app writes into Apple Health. Each record carries the name of the app that wrote it.