Open source & self-hosted

Local home automation built for tinkerers and agents

HomeCmdr is a Rust-powered home automation server you run on your own hardware. Adapter-driven, Lua-scriptable, with a built-in MCP server so your AI agent can control your home alongside you.

curl -sSf https://raw.githubusercontent.com/homecmdr/homecmdr-cli/main/install.sh | bashLinux • x86-64, aarch64, armv7

Why HomeCmdr

Everything in one place, nothing in the cloud

HomeCmdr runs entirely on your local network. Your device state, your history, your automations — all on hardware you control.

Local-first

Runs on a Raspberry Pi, home server, or any Linux box. No account sign-up, no subscription, no data leaving your network.

Compile-time plugins

Adapters are Rust crates linked into your binary at build time. You get one lean, self-contained executable with only the integrations you actually use.

Lua scripting

Write scenes and automations in Lua 5.4. Trigger on device state changes, cron schedules, sunrise/sunset, or a plain time interval — no custom DSL to learn.

AI-ready

A built-in MCP server exposes device control, scene execution, and adapter management to any MCP-compatible AI agent. HomeCmdr speaks both human and machine.

Getting started

Up and running in four commands

The CLI handles everything: downloading source, configuring plugins, building the binary, and installing the systemd service.

Install the CLI

Download the pre-built homecmdr binary for your architecture with a single curl command.

curl -sSf .../install.sh | bash

Initialise your workspace

Download the API source, answer a few prompts for timezone and location, and get a generated master key automatically.

homecmdr init

Add plugins

Pull official plugins from the registry. The CLI prompts for each config value and patches your workspace automatically.

homecmdr plugin add zigbee2mqtt

Build & deploy

Compile an optimised binary and install it as a systemd service that starts on boot.

homecmdr build --release homecmdr service install
Full installation guide

Dashboard

A reference dashboard, ready to extend

HomeCmdr ships a fully functional reference dashboard built with Alpine.js and vanilla CSS — no build step, no npm, just a static directory you serve. Use it as-is or as the starting point for your own interface.

Devices & rooms

All devices grouped by room. Toggle power, set brightness, adjust colour temperature — live via WebSocket.

Scenes

List all loaded Lua scenes and execute them with a single click.

Live event feed

Stream of real-time events from the WebSocket endpoint — device state changes, adapter lifecycle, and more.

View on GitHubDashboard docs

Ready to take control of your home?

Install HomeCmdr in minutes. No cloud, no subscription, no lock-in.