Official adapter monorepo for HomeCmdr.
Adapters are Rust crates that integrate external devices and services into the HomeCmdr runtime. They are installed into a local homecmdr-api workspace using the HomeCmdr CLI.
| Name | Description |
|---|---|
| adapter-elgato-lights | Control Elgato Key Light and Key Light Air devices over the local network |
| adapter-ollama | Service-style Lua access to a local Ollama LLM instance |
| adapter-roku-tv | Power control for a Roku TV via the ECP HTTP API |
| adapter-zigbee2mqtt | MQTT-backed adapter for Zigbee devices via Zigbee2MQTT |
From the root of your homecmdr-api workspace:
homecmdr pull adapter-elgato-lights
cargo buildSee homecmdr-cli for CLI installation.
HomeCmdr adapters are compile-time Rust crates. They self-register with the runtime via the inventory crate and are linked into the final binary at build time. Pulling an adapter:
- Downloads the adapter crate into your local
crates/directory - Patches your workspace
Cargo.tomlto include it as a member - Patches
crates/adapters/Cargo.tomlto link it into the binary
You then run cargo build to produce a binary with the new adapter included.
adapters.toml in this repo is the machine-readable registry consumed by the CLI. Format:
[[adapters]]
name = "adapter-example"
display_name = "Example"
description = "A short description."
path = "adapter-example"
version = "0.1.0"See the Adapter Authoring Guide in homecmdr-api.
To submit an official adapter, open a PR adding your adapter directory and a new entry in adapters.toml.