Skip to content

Interact with Acaia smart scales via Bluetooth in Swift

License

Notifications You must be signed in to change notification settings

moritzsternemann/acaia-swift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acaia-swift

Interact with Acaia smart scales via Bluetooth in Swift

⚠️ This project is a work in progress and not recommended for production use. It is only tested with a 2021 Acaia Lunar and currently doesn't support older generation scales.

Overview

The AcaiaProtocol library implements decoding of received values and encoding of commands. Note that the Bluetooth communication itself is not implemented yet.

The following values can be decoded:

  • Scale status (battery level, weight unit, weighing mode, etc.)
  • Weight (including stable-indicator)
  • Battery level update
  • Timer update
  • Actions (start timer, reset timer, pause timer)

The following commands can be encoded:

  • Heartbeat (keeps connection alive)
  • Authenticate
  • Notification request
  • Status request
  • Tare
  • Start timer
  • Pause timer
  • Reset timer

Credits

This project is heavily inspired by lucapinello/pyacaia and extended with my own findings from reverse-engineering the protocol.

Contribute

Do you know anything more about the protocol? Have you found a bug? I am happy about all code contributions. Or just open an issue with a short description of your findings.

About

Interact with Acaia smart scales via Bluetooth in Swift

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages