Skip to content

feat(scale): add Timemore Link BLE scale support - #770

Open
SongPaul wants to merge 4 commits into
decentespresso:mainfrom
SongPaul:feat/timemore-link-scale
Open

feat(scale): add Timemore Link BLE scale support#770
SongPaul wants to merge 4 commits into
decentespresso:mainfrom
SongPaul:feat/timemore-link-scale

Conversation

@SongPaul

@SongPaul SongPaul commented Sep 3, 2026

Copy link
Copy Markdown

Summary

Adds support for the Timemore Link (Basic3 Link) BLE scale.

Protocol Details

Protocol was reverse-engineered from HCI snoop logs (12/12 verified).

Value
BLE service UUID \

songc-ai and others added 2 commits September 3, 2026 09:46
- Add TimemoreScale implementation (Service FFF0, Notify FFF1, Write FFF2)
- Protocol uses CRC-16/MODBUS checksum on all commands
- Matches devices advertising name prefix 'Basic3 Link'
- Register in DeviceImplementation, DeviceMatcher, DeviceFactory

Protocol reverse-engineered from HCI snoop logs (12/12 verified).
@SongPaul
SongPaul marked this pull request as draft September 3, 2026 11:24
@SongPaul
SongPaul marked this pull request as ready for review September 3, 2026 11:24
Rework TimemoreScale to use the official framed protocol instead of
hardcoded byte sequences:

- Generic frame builder: A5 5A | opcode | cmd | length(2,BE) | data | crc
- CRC-16/MODBUS auto-computed per frame
- Notify parsing now reads Int32 BE weight, Int16 BE flow, UInt16 BE timer
  from the 0x01/0x01 stream frame (length 0x0009)
- Populate ScaleSnapshot.flow and timerValue from the scale's own fields
- Query battery on connect and report batteryLevel in snapshots
- Tare/timer commands rebuilt via frame(opcode, cmd, data)
@tadelv

tadelv commented Sep 11, 2026

Copy link
Copy Markdown
Member

@SongPaul we have completed the first stage for driving scales through the plugin system. #809 , you might want to port this PR to the plugin design

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants