
homebridge-xbloom: brew your xBloom coffee machine from HomeKit / Siri
I created a plugin that might be useful to other xBloom owners, homebridge-xbloom lets you brew your saved recipes from HomeKit, Siri, or any automation.
xBloom has no public API, so the Bluetooth LE protocol had to be reverse engineered by capturing the official app talking to the machine, validating it byte for byte, and reimplementing it in TypeScript.
Each recipe you define becomes a HomeKit switch you can trigger by name, in a scene, or from an automation (alarm goes off, sunrise, you get home, and so on).
What it does:
One HomeKit switch per recipe. "Hey Siri, turn on Ethiopia" and it grinds and brews.
Recipes are defined right in the Homebridge config UI (dose, grind, ratio, and the full pour profile: water, temperature, flow, pattern, and pause per pour).
Bluetooth auto discovery, so you do not even need your machine's Bluetooth address.
Connect on demand, so the machine stays free for the phone app between brews.
Live status sensor (brewing or idle) plus fault reporting for things like "no beans" or "tank empty."
Works on Dockerized Homebridge too, with a couple of one time D-Bus steps documented in the README.
A few honest caveats:
It is unofficial and not affiliated with xBloom. Everything is local over Bluetooth, no cloud.
It needs a Linux host with BlueZ (Raspberry Pi, NUC, mini PC, and similar).
It has been tested on one machine (Original class firmware), so feedback from other xBloom owners, especially on different models, would be really helpful.
Source, setup guide, and troubleshooting are on GitHub:
https://github.com/aziz66/homebridge-xbloom
Happy to answer questions, take feature requests, or help anyone get it running.