Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moritzsternemann/acaia-swift
Interact with Acaia smart scales via Bluetooth in Swift
https://github.com/moritzsternemann/acaia-swift
acaia bluetooth coffee smart-scale swift
Last synced: 16 days ago
JSON representation
Interact with Acaia smart scales via Bluetooth in Swift
- Host: GitHub
- URL: https://github.com/moritzsternemann/acaia-swift
- Owner: moritzsternemann
- License: mit
- Created: 2024-02-09T15:57:24.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-02-19T11:44:29.000Z (9 months ago)
- Last Synced: 2024-02-19T13:07:39.253Z (9 months ago)
- Topics: acaia, bluetooth, coffee, smart-scale, swift
- Language: Swift
- Homepage:
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# acaia-swift
*Interact with [Acaia smart scales](https://acaia.co/collections/coffee-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](https://github.com/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.