Open sourceNo cloudNo account

Health Connect and Apple Health in Home Assistant or on your own server

Life Dashboard Companion sends what your watch, ring or scale records to a server of your own: Home Assistant, the Grafana stack, MQTT or your own webhook. The charts live there; the app itself only reads and sends.

  • Android Free APK today. Google Play (paid) and F‑Droid are coming.
  • iPhone Build it with Xcode on a Mac, about an hour. TestFlight beta next.
The Health tab of the Android app, with 33 data types selected
Home Assistant
The example dashboard in Home Assistant: steps, distance, calories, screen time, heart rate and sleep
Grafana stack
The overview dashboard of the Grafana stack with demo data
Your own server
{ "source": "health_connect",
  "steps": [{
    "count": 412,
    "source": "com.ouraring.oura"
  }] }
How it works

From your watch to your server

Health Connect and Apple Health keep their data on the phone, with no web API. Life Dashboard Companion reads it there on your schedule and sends only what's new.

Samsung Health Apple Watch Google Health Fitbit Pixel Watch Garmin Connect Oura Withings Gadgetbridge Zepp and more

Not every brand shares everything. Samsung and Garmin keep HRV and resting heart rate to themselves, and Garmin Connect needs Android 14. See what arrives for Garmin, Samsung, Fitbit and the other brands.

Your apps and devices

  • Watch and ring apps
  • Smart scales
  • Sleep and workout apps

Health Connect or Apple Health

On the phone, where the data already is

Life Dashboard Companion

Android and iPhone, on your schedule

+ screen time on Android

Pick where it goes

Home Assistant, the Grafana stack, or your own broker or URL.

Install the app

Scan the QR code of Home Assistant or the stack, or enter an address.

Sync

Pick your data, tap Sync Now, and the schedule does the rest.

History graphs in Home Assistant on a phone
The Life Dashboard integration in Home Assistant showing a pairing QR code
Home Assistant shows the code; the app scans it.
Home Assistant

A Home Assistant integration, paired with one QR code

Installs through HACS. No YAML, no broker, and the phone never gets a Home Assistant login.

  • Sensors for steps, sleep, heart rate, weight and more
  • A year of history in long-term statistics
  • Screen time in total and per app
More about the integration
POST https://n8n.example.com/webhook/life-dashboard
X-Signature: sha256=9f2c4e…

{
  "source": "health_connect",
  "daily_totals": [{ "date": "2026-10-04", "steps": 1204 }],
  "heart_rate": [{
    "bpm": 61, "time": "2026-10-04T06:58:00Z",
    "uuid": "708a76cb-45d3-…",
    "source": "com.fitbit.FitbitMobile" }]
}
Webhooks and MQTT

Your own server, database or tool

Any URL that takes JSON: n8n, Node-RED or a script of your own. Or an MQTT broker you already run. Once the data is in your own database, a model on your own network can read it too.

  • Every record in full, signed with HMAC-SHA256 if you set a secret
  • Custom headers and client certificates
  • An outbox that waits for your server
Send Health Connect data to your own webhook
The overview dashboard of the Grafana stack with demo data
Self-hosted

Postgres and Grafana on your own machine

A receiver, Postgres and six Grafana dashboards for both apps, on a home server, a Raspberry Pi or Kubernetes. Its demo shows 60 days of made-up data before you install anything on a phone.

  • One compose file with published images, nothing to build
  • Each phone pairs by QR code, as with Home Assistant
  • A read-only API and an MCP server for your own AI
  • A Helm chart, with Postgres from CloudNativePG
More about the Grafana stack
Who builds this

Built for my own dashboard first

I'm Owen Vogelaar. I started this app to feed a personal dashboard of my own, a private project that pulls my health and phone data together in one place. Getting that data off the phone turned out to be the hard part, so the app became a project of its own.

Most people who want this already run Home Assistant, so I built the integration; for anyone who'd rather have plain Postgres and Grafana, the stack. The app runs on my own phone every day.

A good part of the code is written with AI help; the AI policy explains how changes are reviewed and tested. Questions and ideas go to Discussions.

Privacy and trust

Your data goes only to the addresses you enter

No account

Nothing to sign up for.

No tracking

No analytics, ads or tracking SDKs.

Open source

MIT licensed, all four parts.

Verifiable builds

Check an APK against its source.

Privacy policies: Android and iPhone.

Get it

Pick your phone, then pick where the data goes

Using Home Assistant or the stack? Set that up first; the app scans its QR code.

FAQ

Common questions

Do I need Home Assistant?

No. Home Assistant gets the most out of it, with the integration's sensors and history, but both apps also send to the Grafana stack, to any MQTT broker, and to any URL that accepts a JSON POST, such as n8n, Node-RED or a script of your own. The webhook guide shows the payload.

Can I ask an AI about my data?

Yes, with a model you choose, once the data is on your server. The apps contain no AI and never talk to a model. The Grafana stack has a read-only MCP server, and in Home Assistant a community server, ha-mcp, reads the history. With a local model nothing leaves your network; with a cloud model such as Claude, your questions and the results go to its provider. Health Connect data over MCP has the steps.

Why a separate app instead of the Home Assistant companion app?

Keep the companion app for presence, notifications and device sensors; the two run side by side. Its 26 Health Connect sensors show the latest value or a daily total, with history from the day you enable them. Life Dashboard Companion reads 33 types, keeps every day in long-term statistics, adds screen time per app, and also sends to MQTT and webhooks. The comparison lists the differences.

Which watches, rings and scales work?

Anything that writes to Health Connect or Apple Health: Samsung Health, Apple Watch, Google Health (Fitbit and Pixel Watch), Garmin Connect, Oura, Withings, Gadgetbridge and many more. What arrives depends on what each vendor shares: Garmin and Samsung, for example, don't share HRV or resting heart rate with Health Connect, and Garmin Connect needs Android 14. The brand guides show what each one writes and what it keeps to itself.

What does it cost?

All four parts are MIT licensed and free. The signed APK on GitHub is free, Obtainium installs that same APK, and the F-Droid build will be free once it's listed. The Google Play version will be a paid listing of the same app, built from the same source and signed with the same key, for people who'd rather install from Play and want to support the project that way. The iPhone app is free to build with Xcode.

What do these words mean?

Health Connect is the place on Android where Samsung Health, Garmin Connect and other apps store your health data; Apple Health is the same on iPhone. Home Assistant is open-source software that runs a smart home on a computer in your house. HACS is a store for extra Home Assistant integrations. An APK is an Android app file you install yourself, outside the Play Store. A webhook is a web address on your own server that receives data. MQTT is a messaging system many smart homes use. A backfill sends older data, up to a year back.

Is it a medical device?

No. Life Dashboard Companion moves data your watch, ring or scale already recorded to a server you run. It doesn't measure, diagnose or treat anything and gives no health advice. Talk to a doctor about what the numbers mean for you.

How is it built, and where does AI come in?

I build it with a lot of help from Claude Code, which drafted a large part of the code. I decide what gets built and read every change before it lands. CI runs unit tests, lint and an instrumented suite on an Android emulator, and changes to syncing are tested by hand on a real phone against Home Assistant before a release. The apps contain no AI and call no AI service. The AI policy has the details.

It's one person's project. What if it stops?

Your setup doesn't depend on that person. There's no Life Dashboard server to switch off, your history lives in your own Home Assistant or database, and the MIT license lets anyone carry the code on. The first release shipped in February 2026, and the changelog tracks every change since.

Your health data, your server

  • Android Free APK today. Google Play (paid) and F‑Droid are coming.
  • iPhone Build it with Xcode on a Mac, about an hour. TestFlight beta next.

Source, issues and discussions on GitHub. New versions in the release feed.