I’m excited to share a project I’ve been working on: Zepp2Hass!
The Problem
If you own an Amazfit or Zepp smartwatch (like the T-Rex, GTR 4, Balance, Cheetah, etc.), you might have noticed that getting your health and activity data into Home Assistant is not possible. I wanted a way to push data directly and locally from my watch to Home Assistant.
The Solution
Zepp2Hass is a two-part solution:
A Home Assistant Custom Integration (available via HACS).
A Zepp OS Watch App (available independently).
The watch app sends your data directly to a local webhook in Home Assistant. No cloud delays, no middleware!
Key Features
Real-time Data: Pushes heart rate, steps, battery level, and more directly to HA.
Battery Efficient: Configurable update intervals (1-5 mins) to balance data freshness and battery life.
Comprehensive Sensors:
Health: Heart Rate (last, resting, max), SpO2, Stress, Body Temp.
Activity: Steps, Calories, Distance, Stand count.
Sleep: Sleep score, duration, deep sleep, sleep stage times.
I’m running my Home Assistant through a reverse proxy. So should I still use the webhook as posted by the integration? I can’t seem to get any of the sensors to populate. Perhaps it only works when the watch/phone is connected locally to the network?
Hi, sorry, I’m new at HomeAssistant, but I can’t find the Integration “Zepp2Hass”… . what do I wrong? I go to settings, Devices and Services, Add Integration and search for Zepp2Hass, but nothing is found…
I’ve been trying to understand how Zepp2Hass achieves reliable background sensor sync. From my understanding of Zepp OS architecture, HTTP requests from the watch must go through the phone’s Zepp App (Side Service), which gets suspended by the OS when idle - especially on iOS.
How does Zepp2Hass work around this limitation? Do users need to disable battery optimization for the Zepp App, or is there another technique being used?
Has anyone else had any issues since the last update? The app on the watch says its sync’ing ok but all my sensor in Home Assistant are showing as “Unavailable”.
Bip5 Unity latest, app version 1.4, integration 1.0.7
installed according to instructions, restart, create webhook, configured and wait... I think I've done whatever I could, but...
When I click "apply settings" the watch just reboots and of course I never saw any sensors updating in HA.
I'm using Haos along with Tailscale to have external access without needing a DNS. On my cell phone I use Tailscale 24/7 and I configured the webhook to its address (https:100.77.x.x:8123) and my Active Max shows synchronization OK, but all sensors are unavailable.
I tried with my local IP and the scenario is the same.
Hey!
Really good job! Intried and it works really nice!
Would it bé possible to make the zepp phone app keeping a memory of the last N records, when the phone cannot access HA server?
For examen when outdoor, or with no internet access, the watch seems to keep sending data to the phone, but once the phone has back access to HA, we see a data gap.... Would be nice to recover all those data.
Tried to use this today to get my cycling data into HA after Strava stopped their API access for non premium customers, but my TRex pro does not run ZEPP OS.
If I purchase an active 2 will my bike rides sync across to HA via this integration?
hi, i have same issue as you all tjings appears unavailable.. not sure about webhook can’t find the webhook url need to specify by default suppose to use my local ip…
anyone can help ?
update : ok with this link help im able to set my api call and now i can see info devices..