Home Assistant¶
What it is¶
Home Assistant is the world's leading open-source home automation platform, designed to be the central nervous system of a smart home. In July 2026, version 2026.7 has solidified its "Agentic Core" architecture, which natively supports Model Context Protocol (MCP 3.0) and FastMCP 3.0 for near-instant integration with multimodal AI models like Gemma 3 and Claude 4.8.
What problem it solves¶
The smart home market is plagued by proprietary "walled gardens" and cloud dependencies that compromise privacy and reliability. Home Assistant solves this by providing a unified, local-first interface that integrates over 3,000 different services and devices (Matter, Zigbee, Z-Wave, Wi-Fi, Bluetooth). It enables complex, cross-brand automations that run entirely within the user's private network, shielding the home from cloud outages and data harvesting.
Where it fits in the stack¶
Category: Service / Home Automation. It serves as the Physical Orchestration Layer, connecting hardware sensors and actuators to high-level agentic decision logic. It is the "Body" controlled by the LLM "Brain".
Typical use cases¶
- Multimodal Home Control: Using Gemma 3's vision to control the home by pointing at devices or describing visual scenes through a camera feed.
- Predictive Energy Management: Optimizing power usage based on weather forecasts, occupancy patterns, and dynamic grid pricing.
- Agentic Security: Autonomous monitoring of camera feeds and sensors where the LLM can identify complex anomalies (e.g., "The cat is in the garden at night") and suggest actions.
- Unified Entertainment: Orchestrating multi-room audio and video across disparate hardware (Sonos, Plex, Apple TV).
- Automated Operations: Triggering Vikunja tasks or n8n workflows based on physical home events.
Strengths¶
- Native MCP 3.0 / FastMCP Support: Low-latency "Tool Calling" support for AI agents to query and control thousands of home entities securely.
- Privacy-First Design: All data remains local; Home Assistant Assist allows for completely offline voice and text control via Ollama.
- Extensive Integration Ecosystem: The largest open-source integration library in the world.
- Visual & Code-Based Logic: Supports visual automation building, Blueprints, and advanced YAML/Jinja2 logic.
- Dynamic 3D Dashboards: "Lovelace" UI supports 3D floorplans and agent-generated "Insight Cards" for home health.
Limitations¶
- Hardware Requirement: Requires dedicated, 24/7 hardware (Raspberry Pi 5, NUC, or server) for a stable experience.
- Complexity: While the UI is constantly improving, advanced configuration still benefits from technical knowledge of YAML and networking.
- State Management: Managing thousands of entities can lead to "dashboard fatigue" if not carefully organized using Views and Areas.
When to use it¶
- When you want complete, private control over your smart home data and devices.
- For integrating a vast array of heterogeneous devices (Zigbee, Matter, Z-Wave) into a single system.
- When building an "Agentic Home" where AI models need to interact with physical sensors and switches.
- To eliminate cloud dependencies and subscription fees for basic home functionality.
When not to use it¶
- If you prefer a 100% plug-and-play experience with zero maintenance and don't mind data being stored in a corporate cloud.
- In environments where you cannot host local hardware.
Getting started¶
Docker Compose¶
Deploying Home Assistant via Docker Compose is recommended for advanced homelab users:
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /path/to/your/config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
environment:
- MCP_ENABLED=true # Enable native MCP 3.0 support
Hello World¶
- Navigate to
http://<your-ip>:8123. - Complete the onboarding wizard to define your home's location and discover local devices.
- Add the Sun integration to see your first entity.
- Create a simple automation: "Turn on Hallway Light when Sun sets" to see the engine in action.
CLI examples¶
Interact with the Home Assistant instance via the ha command:
# Check configuration for errors
docker exec homeassistant python3 -m homeassistant --config /config --script check_config
# View core information and version
docker exec homeassistant ha core info
# Restart the Home Assistant core
docker exec homeassistant ha core restart
# Manage add-ons (if using HAOS/Supervised)
docker exec homeassistant ha addons list
API examples¶
FastMCP 3.0 Home Tool (TypeScript)¶
Connecting Home Assistant entities to a July 2026 agent.
import { FastMCP } from 'fastmcp';
const mcp = new FastMCP("home-control");
mcp.addTool({
name: "toggle_device",
description: "Toggle a home assistant device (light, switch, etc.)",
parameters: {
entityId: { type: "string", description: "The entity_id to toggle" }
},
execute: async ({ entityId }) => {
const res = await fetch(`http://homeassistant:8123/api/services/homeassistant/toggle`, {
method: "POST",
headers: { "Authorization": `Bearer ${process.env.HA_TOKEN}`, "Content-Type": "application/json" },
body: JSON.stringify({ entity_id: entityId })
});
return res.json();
}
});
mcp.serve();
Python: Querying State¶
import requests
def get_entity_state(entity_id):
url = f"http://homeassistant:8123/api/states/{entity_id}"
headers = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
r = requests.get(url, headers=headers)
return r.json()['state']
# Example: Check if the front door is locked
status = get_entity_state("lock.front_door")
print(f"Front Door Status: {status}")
Related tools / concepts¶
- Ollama — For running local LLMs as the "brain" of the Home Assistant Assist.
- Gemma 3 — Primary multimodal model for reasoning over home state and visual feeds.
- MCP 3.0 — Standard protocol for connecting Home Assistant to agentic workflows.
- n8n — For complex, cross-service automations that extend beyond the home.
- Vikunja — For managing household tasks triggered by Home Assistant events.
- Tailscale — For secure remote access to your dashboard from anywhere.
- Authentik — For managing secure SSO access to the dashboard.
- Immich — For displaying private photo galleries on home dashboards.
- Paperless-ngx — For managing physical manuals and warranties for home devices.
- Plex — For controlling media playback through Home Assistant.
Sources / References¶
Contribution Metadata¶
- Last reviewed: 2026-07-21
- Confidence: high