Open source home automation, installed and run

Home automation and smart home tools you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.

Tested between and . Each row shows its own test date; a project can change after that day.

15 of 20 tested projects run. 79 more waiting for a test.

In short: 10 of the 20 tested projects started as-is on a fresh machine: local-deep-research, hass-xiaomi-miot, Gladys, homebridge-config-ui-x, home-assistant-config, deconz-rest-plugin, homeassistant-powercalc, and ha-llmvision, and 2 more. 5 more started once a stand-in replaced a service they expect, such as a database: evcc, CasaOS, HomeSpan, OpenCCU, and ha-mcp. 5 could not be verified: button-card, lovelace-xiaomi-vacuum-map-card, HomeAssistant-Tapo-Control, ProxmoxVE, and supervisor; the log shows where each one stopped.

Measured by Argusic on a fresh machine every time. Every number links to its evidence.

#projectverdictArgusic Scorelanguagestarstested on
1local-deep-researchRuns100 / 100Python9,164

~95% on SimpleQA (e.g. Qwen3.6-27B on a 3090). Supports all local and cloud LLMs (llama.cpp, Ollama, Google, ...). 10+ search engines - arXiv, PubMed, your...

What the test found: The project installs cleanly via pip install -e . its FastAPI web server launches and responds with HTTP 200, the Vite frontend builds successfully, and over 700 pytest tests pass across all major subsystems. 32 minutes.

2hass-xiaomi-miotRuns100 / 100Python6,155

Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成

What the test found: Python virtual environment created, all dependencies installed (except netifaces, which is non-essential), and the full test suite of 200 tests passes in 4.4 seconds on Home Assistant 2025.1.4. 4 minutes.

3GladysRuns100 / 100JavaScript3,226

A privacy-first, open-source home assistant

What the test found: Server builds, starts, listens on port 1443, runs migrations, serves API, and passes 6264/6274 server tests. 9 tests fail due to missing sqlite3 CLI, Docker, and Gladys Plus gateway, all environmental. 83 minutes.

4homebridge-config-ui-xRuns100 / 100TypeScript2,804

The Homebridge UI. Monitor, configure and backup Homebridge from a browser.

What the test found: The Homebridge UI server builds and starts successfully, all 797 tests pass, and the web UI responds on port 8080 with HTTP 200. 10 minutes.

5home-assistant-configRuns100 / 100JavaScript1,968

Home Assistant config files, rewritten to use the latest features, 100+ documented automations, automatically generated ToC :house: :robot:

What the test found: Home Assistant 2025.1.4 starts successfully and responds to HTTP requests on port 8123 with the login page. 18 minutes.

6deconz-rest-pluginRuns100 / 100C++1,906

deCONZ REST-API plugin to control ZigBee devices

What the test found: The deCONZ REST API plugin libde_rest_plugin.so builds successfully on Ubuntu 24.04 with Qt6, and the 303-timeref unit test compiles and passes 1/1 test cases with all 7 benchmarks completing. 25 minutes.

7homeassistant-powercalcRuns100 / 100Python1,599

Home Assistant Custom component to calculate estimated power consumption of lights and other appliances

What the test found: All 1482 tests pass after installing dependencies with uv sync and creating a symlink for the test custom component. The powercalc Python module loads without errors. 4 minutes.

8ha-llmvisionRuns100 / 100Python1,488

Visual intelligence for your home.

What the test found: All 453 unit tests pass; the module imports cleanly; all three dependency version conflicts were resolved by relaxing pin constraints. 60 minutes.

9RuViewRuns94.3 / 100Rust96,878

π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection, all without a single pixel of video.

What the test found: Python deterministic verification pipeline runs and produces a bit-identical SHA-256 hash; 46 Python unit tests pass; 93 RuView harness tests pass; 27 Homecore harness tests pass; 42 Rust core+utility tests pass; Rust full workspace cannot compile due to system library dependencies (glib); no hardware available for... 36 minutes.

10ioBrokerRuns75 / 100Shell1,378

Automate your life!

What the test found: npm install and build succeed; ioBroker controller 7.2.2 starts and serves Admin UI on port 8081 with real packages installed via npm path. 15 minutes.

11evccRuns with mocks92 / 100Go7,335

solar charging ☀️🚘

What the test found: evcc builds from source, all 88 Go test packages pass, and the binary serves the full web UI and REST API in demo mode returning HTTP 200 on both / and /api/state. 14 minutes.

12CasaOSRuns with mocks87 / 100Go37,290

CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.

What the test found: CasaOS Go backend compiles and serves API endpoints (200 on /ping, /doc/openapi.yaml, /v1/sys/version/current returning 0.4.15) on a dynamically-assigned local port; UI build cannot complete due to inaccessible private npm packages. 13 minutes.

13HomeSpanRuns with mocks71 / 100C++2,173

HomeKit Library for the Arduino-ESP32

What the test found: HomeSpan 2.1.8 library firmware compiles and links into a valid ESP32 binary image under PlatformIO 6.2.0 with Arduino-ESP32 3.3.12 framework and xtensa-esp-elf 15.2.0 toolchain using the huge_app partition scheme. 37 minutes.

14OpenCCURuns with mocks48.5 / 100JavaScript1,842

:house: Buildroot-based, cloud-free smart-home platform for a Homematic IP CCU (CCU3/ELV-Charly). Runs on Raspberry Pi & x86/ARM or as a virtual appliance...

What the test found: All 64 unit tests pass across 5 Python test suites. The fake Buildroot build for oci_amd64 produces release tarball, OVA, rootfs.tar, and sdcard.img artifacts. The LED daemon compiles and runs correctly against mocked sysfs. 6 minutes.

15ha-mcpRuns with mocks23 / 100Python4,976

The Unofficial and Awesome Home Assistant MCP Server

What the test found: Dependencies installed, smoke test passes, and the full unit test suite passes (11,790 passed, 357 skipped, 0 failed). 70 minutes.

16button-cardCould not verify80 / 100TypeScript2,509

❇️ Lovelace button-card for home assistant

What the test found: The button-card project installed dependencies, passed lint, built dist/button-card.js (162KB valid JS), and built MkDocs documentation. No automated test suite exists. 5 minutes.

17lovelace-xiaomi-vacuum-map-cardCould not verify80 / 100TypeScript1,944

This card provides a user-friendly way to fully control map-based vacuums in Home Assistant. Supported brands include Xiaomi...

What the test found: npm install succeeds, TypeScript/Rollup build completes with zero errors, producing a valid ES-module JS bundle at dist/xiaomi-vacuum-map-card.js. 4 minutes.

18HomeAssistant-Tapo-ControlCould not verify77.5 / 100Python2,010

Control for Tapo cameras as a Home Assistant component

What the test found: Tapo: Cameras Control v7.1.27 integration fully installable and importable in Python 3.12.3 venv on HA 2025.1.4: all 16 .py files compile, all 15 modules import, all dependencies (pytapo, onvif-zeep-async, ha-ffmpeg, aiofiles, numpy) resolve, config flow has 21 step handlers, 2 services and 9 translations validated... 11 minutes.

19ProxmoxVECould not verify65 / 100Shell29,756

Proxmox VE Helper-Scripts (Community Edition)

What the test found: All 1304 shell scripts and 10 core .func library files pass syntax validation; core libraries (core.func, api.func, error_handler.func, build.func) load and execute correctly with all functions defined; the repository cannot run end-to-end without a Proxmox VE host, but every script in the repo is syntactically valid. 10 minutes.

20supervisorCould not verify0 / 100Python2,235

:house_with_garden: Home Assistant Supervisor

What the test found: Supervisor package installed with Python 3.14.8, all dependencies loaded, core test suite (547 tests) passes on mocked Docker/D-Bus infrastructure. 100 minutes.

-room-assistantNot yet tested-TypeScript1,351-
-spookNot yet tested-Python1,334-
-node-hue-apiNot yet tested-TypeScript1,196-
-pyatvNot yet tested-Python1,182-
-zha-device-handlersNot yet tested-Python1,143-
-camera.uiNot yet tested-TypeScript1,126-
-HomeKey-ESP32Not yet tested-C++1,092-
-presence_simulationNot yet tested-Python1,082-
-HomeAssistant-OctopusEnergyNot yet tested-Python1,021-
-ha-wyzeapiNot yet tested-Python999-
-home-assistant-tapo-p100Not yet tested-Python976-
-Home-Assistant-Mail-And-PackagesNot yet tested-Python892-
-local_roborock_serverNot yet tested-Python887-
-unifi-mcpNot yet tested-Python872-
-tapoNot yet tested-Rust850-
-blinkpyNot yet tested-Python809-
-nuki_hubNot yet tested-C++747-
-node-sonosNot yet tested-JavaScript724-
-emhassNot yet tested-Python697-
-home-assistant-vibecode-agentNot yet tested-Python633-
-node-red-contrib-home-assistant-websocketNot yet tested-TypeScript599-
-synology-apiNot yet tested-Python595-
-go-hass-agentNot yet tested-Go588-
-ha-google-homeNot yet tested-Python562-
-Home-Assistant_ConfigNot yet tested-Python561-
-HAsmartirrigationNot yet tested-Python559-
-ha-linkyNot yet tested-TypeScript540-
-MerossIotNot yet tested-Python538-
-app-sshNot yet tested-Shell536-
-RedMaticNot yet tested-JavaScript528-
-homeassistant-solax-modbusNot yet tested-Python522-
-ha-solarmanNot yet tested-Python521-
-ESPAlthermaNot yet tested-C506-
-homeassistant_espscreenNot yet tested-Python502-
-localthingsNot yet tested-Python501-
-mirrormateNot yet tested-TypeScript493-
-lnxlinkNot yet tested-Python488-
-ha-evccNot yet tested-Python478-
-iot-inspector-clientNot yet tested-Python478-
-irrigation_unlimitedNot yet tested-Python463-
-hass-opnsenseNot yet tested-Python461-
-home-assistant-global-health-scoreNot yet tested-Python459-
-jarvis-assistant-vocalNot yet tested-Python449-
-node-red-contrib-homekit-bridgedNot yet tested-TypeScript445-
-neonplan3dNot yet tested-TypeScript417-
-majordomoNot yet tested-PHP405-
-esphome-panasonic-acNot yet tested-C++403-
-ocppNot yet tested-Python400-
-pylipsNot yet tested-Python393-
-roommindNot yet tested-Python392-
-homebridge-z2mNot yet tested-TypeScript383-
-kelvinNot yet tested-Go369-
-homeassistant-blitzortungNot yet tested-Python350-
-xknxNot yet tested-Python345-
-hass-mcpNot yet tested-Python344-
-purifier-cardNot yet tested-TypeScript344-
-swiss-army-knife-cardNot yet tested-JavaScript344-
-sunsynkNot yet tested-Python339-
-AlertTicker-CardNot yet tested-JavaScript333-
-ioBroker.javascriptNot yet tested-JavaScript330-
-solaredge-modbus-multiNot yet tested-Python329-
-platypushNot yet tested-Python317-
-home-generative-agentNot yet tested-Python313-
-ha-sun2Not yet tested-Python309-
-NaomiNot yet tested-Python303-
-ioBroker.adminNot yet tested-TypeScript301-
-ecowitt2mqttNot yet tested-Python298-
-ha-tplink-decoNot yet tested-Python297-
-midea_auto_cloudNot yet tested-Python294-
-ShortumationNot yet tested-TypeScript292-
-smart-homeNot yet tested-Shell292-
-ha-dockermonNot yet tested-JavaScript289-
-hass-entso-eNot yet tested-Python280-
-pyvesyncNot yet tested-Python244-
-boschshc-hassNot yet tested-Python237-
-beatifyNot yet tested-Python229-
-rtl8196e-gatewayNot yet tested-C213-
-Linus-DashboardNot yet tested-JavaScript211-
-Prism-DashboardNot yet tested-JavaScript207-

runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.

How we tested

On this list as of the latest test: 10 projects ran as-is, 5 with mocks, 5 could not be verified, 79 still waiting. Languages tested: C++, Go, JavaScript, Python, Rust, Shell, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.

Frequently asked questions (FAQs)

How is this list ranked?

By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.

Why are some projects unranked?

79 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.

Where is the evidence?

Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.

More lists in this category

All lists: Best. All tested projects: subjects.