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

  1. In Home Assistant, open your user profile and create a Long-Lived Access Token. Copy it immediately and keep it private.
  2. In Notify App, open Integrations → Home Assistant and enable the integration.
  3. Enter the complete Home Assistant URL, including http:// or https:// and the port when required. Example: http://192.168.1.20:8123.
  4. Paste the token and choose a short Identifier for the wearable, such as miband. This identifier helps you search for its entities.
  5. Select Standard or Enhanced as the sync method, then tap Sync now to send the latest available data.
Default identifiers: 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

  1. In Home Assistant, open Developer Tools → States.
  2. Search for the identifier configured in Notify App, for example miband.
  3. Select an entity such as sensor.miband_battery or sensor.miband_steps to 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.

MQTT must already be configured in Home Assistant. Open Settings → Devices & services and search for MQTT. If it is not present, select Add integration → MQTT, complete the broker setup and confirm that the integration is connected before selecting Enhanced in Notify App. See the official Home Assistant MQTT integration guide for broker and integration setup details.

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

  1. In Home Assistant, open Settings → Devices & services → MQTT.
  2. Open the Devices tab and select your Mi Band, Amazfit or Xiaomi Watch.
  3. The device page contains all discovered sensors and binary sensors. Default entity IDs end in _mqtt, for example sensor.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_sleeping
Enhanced: binary_sensor.miband_sleeping_mqtt
Connection status Whether the wearable is connected. Enhanced exposes this as a connectivity binary sensor. Standard: sensor.miband_connected
Enhanced: 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:

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.

Device support varies. Some firmware versions do not report events such as not wearing, falling asleep, waking up or reaching the steps goal. Xiaomi Watches and Mi Band 8 or newer may not generate several of these events.

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

Notify App smartwatch sensor data displayed in Home Assistant

Using an older Notify App release? See the legacy Home Assistant guide.