Skip to main content

Library and CLI for communicating with Saeco-family coffee machines over BLE, with MQTT discovery for Home Assistant.

Project description

pysaeco

pysaeco is an early-stage Python library and CLI for communicating with Saeco-family coffee machines over Bluetooth LE.

It uses bleak for cross-platform BLE support and can emit Home Assistant MQTT discovery payloads.

Install for development

uv sync --extra dev

CLI

uv run pysaeco-server

By default the server scans for BLE machines, publishes MQTT/Home Assistant discovery to localhost:1883, and serves the HTTP API/status page at http://127.0.0.1:8080.

Library sketch

from pysaeco import SaecoClient
from pysaeco.avanti import Espresso

with SaecoClient("AA:BB:CC:DD:EE:FF", pin=1234) as client:
    status = client.read_status()
    client.brew(Espresso(coffee_ml=45))

Development notes

  • Keep BLE client details in pysaeco.client.
  • Keep Avanti protocol packets, responses, recipes, and parsed status in pysaeco.avanti.
  • Put Home Assistant discovery entities in pysaeco.homeassistant.discovery.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysaeco-0.1.1.tar.gz (55.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysaeco-0.1.1-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file pysaeco-0.1.1.tar.gz.

File metadata

  • Download URL: pysaeco-0.1.1.tar.gz
  • Upload date:
  • Size: 55.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for pysaeco-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b6a52c38b7a081446f1b7176213ae23945c14d15cc79e7ea6d0409e543dda875
MD5 991da092c7776856465af7b153dbe7ba
BLAKE2b-256 a6c327878677dab4b138d07b5e61b5f0fbff5d3720aeac73a6a6a5bc5476d308

See more details on using hashes here.

File details

Details for the file pysaeco-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pysaeco-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for pysaeco-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ce8930f87d7dd01aff278b87cf644df811bb739fd5ff09610d2ef2b5e208881
MD5 824f5264d8a173192a59d22808b7df13
BLAKE2b-256 2511d38ce6dade6f53f9f96e226619cca5493b440a4f0ed05311c2c482d14b8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page