Skip to content

Lenovo HX03W Smartband BLE protocol reverse engineered

License

Notifications You must be signed in to change notification settings

ShellAddicted/hx03wRE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HX03W

This project provides a Python API compatible with several Bluetooth low energy (BLE) smartbands.
it's specifically designed to work with Lenovo HX03W but should work with other similiar smartbands.

Supported Features:

  • HRM
  • Clock Settings
  • Battery Status
  • Pedometer

Missing Features

  • Anti-sleep function
  • instant messaging Notifications
  • Alarm Settings
  • Vibration Settings

I will add more features as soon I discover how they works (reverse engineering)

Getting Started

Clock Settings

set_time(current_time, h12) permits to adjust date and time using a datetime.datetime object. (timezone is required)

Handlers:

Override handlers of hx03w class to implement your own events

  • handle_beep() called when 'FindMyPhone' function is activated from smartband. the master device (e.g: smartphone) should vibrate or emit sound making itself easier to find.

  • handle_hrm_read(self,value)
    use trigger_hrm() to perform an HRM read, and expect a response inside this handler.

  • handle_battery_read(self,value)
    use trigger_battery() to get the battery charge state, and expect a response inside this handler.

  • handle_pedometer_read(self,value)
    use trigger_pedometer() to get the battery charge state, and expect a response inside this handler.

see examples/ for more details