homebridge-xbloom: brew your xBloom coffee machine from HomeKit / Siri

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.

github.com
u/aziz_66 — 10 days ago
▲ 34 r/Stremio

How are you guys playing high-bitrate / high-codec content? (DV, TrueHD Atmos, etc.)

Curious what everyone’s setup looks like for the heavier stuff like Dolby Vision, TrueHD, DTS:X, big remux files.

I’ve been going back and forth between the internal player and external playback through Kodi, and honestly Kodi was miles better. Smoother playback, way better codec and HD audio handling, proper passthrough. The internal player just couldn’t keep up in comparison.

The problem is that Kodi kind of sucks to live with. The setup, the maintenance, the general clunkiness. It works, but it’s not exactly a pleasant experience day to day.

So I’m wondering what the rest of you are doing:

• What external player are you pairing with Stremio?
• Anyone found something that handles DV/TrueHD as well as Kodi but without the headache?

Trying to figure out if there’s a better long-term option before I commit to babysitting Kodi forever. Open to suggestions.

reddit.com
u/aziz_66 — 23 days ago

Auto download subtitles in Infuse via AIOStreams

I love infuse, but its a pain to manually download subtitles every time, so i figured a workaround that im currently using to download subtitles automatically.

My setup is Apple TV → Stremio → AIOStreams → Infuse.

I use Infuse as the external player because it’s just better than the built-in one (playback, formats, audio, the whole experience).

The one annoyance: subtitles.

Infuse plays embedded subtitle tracks fine, but those are mostly English. For other languages in my case Arabic.

there usually isn’t an embedded track, so I’d end up manually downloading a sub from OpenSubtitles every single time. Not ideal.

The root cause is how the external-player flow works.

When you play in Stremio’s built-in player, Stremio makes a separate subtitles request and your subtitle add-ons kick in.

But when you hand off to Infuse, Infuse never makes that subtitles request, so all the subtitle providers you configured in AIOStreams never get used.

So I forked AIOStreams to fix the flow. Now, when AIOStreams resolves a stream, it also resolves a subtitle (from my configured providers, preferring my language) and bakes it straight into the Infuse deeplink it returns:

infuse://x-callback-url/play?url=<stream>&sub=<subtitle>&filename=<name>

Click a stream in Stremio → Infuse opens with the debrid stream and the Arabic subtitle already loaded. No more manual OpenSubtitles trips.

A few things I learned along the way that might save others time:

• Stremio on tvOS does open a direct infuse:// scheme placed in a stream’s externalUrl. An http → infuse:// redirect does not work on tvOS, so the full scheme has to be built upfront.

• Infuse only supports one external subtitle per video through the URL scheme. (The two-url/two-sub example in Firecore’s docs is a playlist of two different videos, not two subtitle tracks on one video.) I handle “what if the first sub is dead” by baking in a few candidates and serving the first one that actually loads.

• Infuse picks the subtitle’s language/label from the file name (Name-ar.srt, Name-en.srt, etc.), and it wants a real .srt URL. I run the provider subtitle through a tiny proxy that serves it as Arabic-ar.srt so the track shows up labeled “Arabic” instead of a random string.

• It resolves a filename-matched subtitle for the top few streams and falls back to an id-based lookup for the rest, to keep things fast and not hammer the providers.
It’s been working great for me.

If there’s interest I’m happy to clean it up and open a PR (or share the fork) let me know if this is something you’d use.

reddit.com
u/aziz_66 — 1 month ago