Xiaomi protobuf watches¶
The following list includes all implemented features for Xiaomi protobuf devices. These are called protobuf devices because they use protobuf for the protocol, unlike other Huami devices. The actual supported features can vary for each device.
Experimental
Support for these devices is recent, and still experimental. This page is also still a work in progress and not complete.
List of supported Xiaomi gadgets by Gadgetbridge which use protobuf:
List of gadgets
- Xiaomi Mi Band 10
- Xiaomi Mi Band 4C
- Xiaomi Mi Band 7 Pro
- Xiaomi Mi Band 8
- Xiaomi Mi Band 8 Active
- Xiaomi Mi Band 8 Pro
- Xiaomi Mi Band 9
- Xiaomi Mi Band 9 Active
- Xiaomi Mi Band 9 Pro
- Xiaomi Mi Watch Color Sport
- Xiaomi Mi Watch Lite
- Xiaomi Redmi Smart Band 2
- Xiaomi Redmi Smart Band 3
- Xiaomi Redmi Smart Band Pro
- Xiaomi Redmi Watch 2
- Xiaomi Redmi Watch 2 Lite
- Xiaomi Redmi Watch 3
- Xiaomi Redmi Watch 3 Active
- Xiaomi Redmi Watch 4
- Xiaomi Redmi Watch 5
- Xiaomi Redmi Watch 5 Active
- Xiaomi Redmi Watch 5 Lite
- Xiaomi Watch S1
- Xiaomi Watch S1 Active
- Xiaomi Watch S1 Pro
- Xiaomi Watch S3
- Xiaomi Watch S4
Implemented features¶
These features are supported by Gadgetbridge and apply to all Xiaomi watch models included in this page. Note that actual available features per device depends on the device capabilities.
List of features supported by Gadgetbridge
- Authentication / Encryption
- Set time (date, time, timezone offset, dst offset, 12h/24h)
- Device info (firmware, model, serial)
- Device state (battery, sleep, wearing)
- Music (info, state, media buttons from watch)
- Notifications
- Apps, calls, custom icons, open on phone, dismiss on phone and watch
- Ignore and reject calls
- Reject calls with SMS
- Configure canned messages for calls
- Emoji
- Contacts upload to watch
- Alarms
- Reminders
- Flashing (watchface, firmware)
- Watchface management
- Workouts
- Start fitness app on phone
- Send GPS to watch
- Find phone and watch
- Calendar events sync
- Activity sync (partial, see below)
- Settings
- Language
- Wearing Mode (band / pebble / necklace)
- User Info (height, weight, birthday, gender)
- Goals (calories, steps, standing time, active time)
- Goal notification (enabled, secondary goal)
- Vitality score settings (7 day reminder, daily reminder)
- Heart rate (sleep detection, sleep breathing quality, interval, high and low alerts)
- SpO2 (all-day, low alert)
- Stress (enable, relaxation reminder)
- Standing reminder (start and end times, dnd period)
- Sleep mode schedule
- Screen on on notifications
- Camera remote
- Password
- Display items
- Realtime stats (steps, heart rate)
- Weather (multiple locations)
- Phone silent mode from watch
- Widgets
Activity Sync¶
Activity sync is very experimental. It was mainly tested on the Mi Band 8, and may present issues on other devices.
Implemented:
- Heart rate, steps
- Calories
- SpO2
- Stress
- Vitality Score (equivalent to PAI)
- Sleep times and sleep stages
- Skin temperature (Watch S1 Pro)
Missing:
- Moving time
- Standing time (fetched, but no UI)
- VO2 Max
- Blood pressure
- Body temperature (Watch S1 Pro) (fetched, but no UI)
- Training load (fetched, but no UI)
- Sleep respiratory rate
- Heart rate stats (resting, min, max, average - fetched, but no UI)
- SpO2 stats (min, max, average - fetched, but no UI)
- Workouts (partially implemented)
Known issues¶
Open issues
Do not forget to check any other open issues in the project repository.
- Wearing mode must be changed at least once from the watch for the preference to show in Gadgetbridge
- A toast about an error syncing calendar database sometimes appears
- Sleep stages do not work for all devices
- Workout does not get a GPS signal on some watches
- Try to increase the "Send GPS timeout" in the device settings, under the "Location" submenu. If you are still facing issues, please open an issue or reach out on Matrix.
Missing features¶
- Some settings:
- Change the app layout
- Raise to wake sensitivity and schedule
- Manage Workouts
- Vibration patterns
- DND Sync
- World Clocks
- Firmware parsing (they can be installed, but must be set in the code)
- Cycles
- Send phone alarms to watch
- 3rd party realtime heart rate access is not support, even with the vendor app. This means that other apps such as OpenTracks will not be able to use these devices for heart rate measurement
Multiple connection types¶
Some Xiaomi devices support both Bluetooth LE and Classic, depending on the firmware version. Right now, Gadgetbridge is unable to determine which connection type the device supports, so pairing or connecting to the device might fail.
If you face any issues during pairing or connecting, please attempt the following steps:
- Pair the device in Android Bluetooth settings
- In Gadgetbridge, go to the Debug menu
- Click "Add test device manually"
- Select the device type and input the mac address
- Add the device
- Click the button on the device card
- Go to the "Authentication" page, set the auth key
- Go to the "Connection" page, and try to force the connection type to "Bluetooth Classic"
Connecting to the device should now work. If you are still facing issues, please open an issue or reach out on Matrix.