Connect Notify App to Home Assistant
Bring health, activity and connection data from your Mi Band, Amazfit or Xiaomi Watch into Home Assistant.
Notify App can publish your latest smartwatch data as Home Assistant entities. You can display battery, steps, heart rate, sleep and other measurements on a dashboard, or use them as triggers and conditions in automations.
How to set up the integration
- In Home Assistant, open your user profile and create a Long-Lived Access Token. Copy it immediately and keep it private.
- In Notify App, open Integrations → Home Assistant and enable the integration.
- Enter the complete Home Assistant URL, including
http://orhttps://and the port when required. Example:http://192.168.1.20:8123. - Paste the token and choose a short Identifier for the wearable, such as
miband. This identifier helps you search for its entities. - Select Standard or Enhanced as the sync method, then tap Sync now to send the latest available data.
miband for Mi Band, amazfit for Amazfit and xiaomiWatch for Xiaomi devices. You can change the identifier in Notify App, especially when syncing more than one wearable.
Choose a sync method
Both methods send the same core health and activity data. The difference is how Home Assistant receives and organizes it.
| Sync method | How it works | Best for |
|---|---|---|
| Standard | Sends states directly through the Home Assistant REST API. | Quick setup, maximum compatibility and no MQTT requirement. |
| Enhanced | Publishes through Home Assistant's MQTT service and uses MQTT Discovery. | A dedicated wearable device, richer entity metadata, binary sensors and better statistics support. |
Standard sync: simple REST entities
Standard sync works with a normal Home Assistant URL and token. Notify App sends each value directly to the Home Assistant REST API, so no MQTT broker or MQTT integration is required.
Where to find Standard data
- In Home Assistant, open Developer Tools → States.
- Search for the identifier configured in Notify App, for example
miband. - Select an entity such as
sensor.miband_batteryorsensor.miband_stepsto inspect its current state and attributes.
You can then add the entity to a dashboard card or use it in an automation. For example, sensor.miband_battery can warn you when the wearable battery drops below 20%.
Enhanced sync: MQTT Discovery
Enhanced sync publishes data through Home Assistant and automatically registers the wearable and its entities using MQTT Discovery. You do not need to create MQTT topics or sensors manually.
When you select Enhanced, Notify App checks whether Home Assistant can actually publish through MQTT. If the integration is missing, disconnected or the broker is unavailable, Notify App displays an error and automatically switches the sync method back to Standard.
Where to find Enhanced data
- In Home Assistant, open Settings → Devices & services → MQTT.
- Open the Devices tab and select your Mi Band, Amazfit or Xiaomi Watch.
- The device page contains all discovered sensors and binary sensors. Default entity IDs end in
_mqtt, for examplesensor.miband_heart_rate_mqtt.
For example, use binary_sensor.miband_connected_mqtt to run an automation when the watch disconnects, or graph sensor.miband_sleep_duration_mqtt over time.
What data is synchronized?
Notify App updates the following values when they are available for your wearable and enabled in the app. Sync now sends the latest stored battery, activity, heart rate, sleep and weight data; other measurements and events are updated when Notify App receives them.
| Data | What Home Assistant receives | Typical entity ID |
|---|---|---|
| Battery | Wearable battery level in percent. | sensor.miband_battery |
| Steps | Current daily step count. | sensor.miband_steps |
| Calories | Daily calories using the unit configured in Notify App. | sensor.miband_calories |
| Distance | Daily distance in metres. | sensor.miband_distance |
| Heart rate | Latest heart-rate reading in bpm. | sensor.miband_heartrate |
| Sleep summary | A readable sleep summary with bedtime, wake time, deep, light, REM and awake values as attributes. | sensor.miband_sleep |
| Sleep duration | Total sleep duration in minutes, suitable for charts and statistics. | sensor.miband_sleepduration |
| Weight | Latest stored weight in kg or lb, following the unit selected in Notify App. | sensor.miband_weight |
| Blood oxygen | Latest SpO2 reading in percent. | sensor.miband_spo2 |
| Stress | Latest stress score. | sensor.miband_stress |
| Activity score | Current activity score, such as PAI when supported. | sensor.miband_as |
| Sleeping status | Whether the user is currently sleeping. Enhanced exposes this as a binary sensor. | Standard: sensor.miband_sleepingEnhanced: binary_sensor.miband_sleeping_mqtt |
| Connection status | Whether the wearable is connected. Enhanced exposes this as a connectivity binary sensor. | Standard: sensor.miband_connectedEnhanced: binary_sensor.miband_connected_mqtt |
Enhanced entities normally use the same descriptive suffix with an added _mqtt, and multi-word names use underscores. For example, heart rate becomes sensor.miband_heart_rate_mqtt. Home Assistant may adjust an entity ID if the same name is already in use.
Wearable events and automation triggers
Notify App can also create a timestamp sensor for the last occurrence of each supported wearable event:
trigger_1— Not wearingtrigger_2— Fell asleeptrigger_3— Woke uptrigger_4— Steps goal reachedtrigger_5— Early bird alarmtrigger_6— Wearable connectedtrigger_7— Wearable disconnectedtrigger_8— Workout started from Notify Apptrigger_9— Workout stopped in Notify App
For example, sensor.miband_trigger_6 contains a date and time such as 2026-09-05T15:28:11+0200. An automation can react when that value changes. In Enhanced mode, the default entity has the _mqtt suffix.
Troubleshooting
No entities or updated values
Confirm that the Home Assistant URL is reachable from the phone, the token is valid and the integration is enabled in Notify App. Tap Sync now, then search for your identifier in Home Assistant. A sensor is created only after Notify App has data to send.
Enhanced sync is not available
Open the MQTT integration in Home Assistant and verify that it is connected to its broker. Once MQTT is working, select Enhanced again in Notify App.
Invalid token or IP ban
If Home Assistant uses automatic IP banning, repeated requests with an invalid token can block the phone's IP address. Correct the token and, if needed, remove the blocked address from ip_bans.yaml. See the Home Assistant HTTP integration documentation.
Frequently asked questions
Which sync method should I choose?
Choose Standard for the simplest setup and maximum compatibility. Choose Enhanced when MQTT is already working and you want a dedicated device page, richer sensor metadata and binary sensors.
Do I need to configure MQTT topics manually?
No. Enhanced sync uses MQTT Discovery to register the device and its entities automatically.
Why did Notify App switch back to Standard?
The MQTT availability check failed. Verify the MQTT integration and broker connection, then try selecting Enhanced again.
Home Assistant sync example
Using an older Notify App release? See the legacy Home Assistant guide.