Skip to content

Metrics Service

Characteristics

Usecase

Known register & notification IDs

Known register-only IDs

Known writable IDs

Service UUID: 00001554-1212-efde-1523-785feabcd123

NameUUIDDescriptionReadWriteNotifyIndicate
UUID_CHARACTERISTIC_REGISTER_ID00001564-1212-efde-1523-785feabcd123Register a notification id for readingYYNN
UUID_CHARACTERISTIC_REGISTER0000155f-1212-efde-1523-785feabcd123Read last registered notificationYYNN
UUID_CHARACTERISTIC_REGISTER_NOTIFIER0000155e-1212-efde-1523-785feabcd123Subscribe to all notificationsYNYN

The metrics service is used to retrieve data about the bike and be notified when the data changes.

Subscribe to UUID_CHARACTERISTIC_REGISTER_NOTIFIER to receive notifications when values change.

Write a 2-byte identifier to UUID_CHARACTERISTIC_REGISTER_ID and then read UUID_CHARACTERISTIC_REGISTER to get the data at any time.

Values can be changed by writing to UUID_CHARACTERISTIC_REGISTER.

NameID 0ID 1Data 2Data 3Data 4Data 5Data 6Data 7Data 8Data 9
MOTION0x020x01WSPEEDWSPEED0x000x000x000x000x000x00
TOTAL0x020x020x000x4E (1)0x000x00TOTALTOTAL0x000x00
RIDE0x020x03Unknown (2)CADENCEUnknownUnknownUnknown0x00RANGE0x00
SETTINGS0x030x00ASSISTWALKLIGHTMODE0x000x000x000x00
POWER0x040x01Unknown0x000x00CAMPCAMP0x000x000x00
MYSTERY0x000x00LIGHTASSISTMODE0x000x000x000x000x00
  • WSPEED : UInt16, wheel speed (km/h) ~= WSPEED / 100
  • CADENCE : UInt8, pedal RPM ~=  5 \* PSPEED
  • TOTAL : UInt16, total (km) ~= TOTAL / 10
  • ASSIST : pedal assist level (0-4)
  • WALK : walk (push along) assist (0/90?)
  • LIGHT : headlight on (1/0)
  • MODE : riding power mode (0-7)
  • RANGE : remaining range from battery in km
  • CAMP : UInt16, charging current (A) ~= CAMP / 1000

(1) Flickers between 0x4E and 0x4D when motor is running

 (2) Seems related to pedalling torque

These were found by brute-force registering ids (0x00 0x00 to 0x09 0x09).

Only the following ones returned a corresponding register.

NameID 0ID 1Data 2Data 3Data 4Data 5Data 6Data 7Data 8Data 9
Unknown0x000x010x000x000x000x000x000x000x000x00
Unknown0x000x060x000x000x000x000x000x000x000x00

New writable IDs were found brute-force writing UUID_CHARACTERISTIC_REGISTER with IDs (0x00 0x00 to 0x00 0xFF) and all data bytes at 0x00. Listed IDs produce a 3-0 notification when written:

NameID 0ID 1Data 2Data 3Data 4Data 5Data 6Data 7Data 8Data 9
SETTINGS WRITE0x000xD1LIGHTASSISTMODEignoredignoredignoredignoredignored
Unknown0x000x13UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x26UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x3AUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x4CUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x5FUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x73UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x86UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000x99UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000xACUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000xBFUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000xE4UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
Unknown0x000xF7UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown