← All open source projects

Home Assistant

home-assistant/core

Home Assistant is an open home automation platform focused on local control, privacy, and smart home integrations.

Forks 37,643
Language Python
License Apache-2.0
Synced 2026-06-10

What it is

Home Assistant is a home automation platform focused on local control and privacy. It brings lights, sensors, switches, climate devices, cameras, media devices, and other systems into one interface and automation model.

The `home-assistant/core` repository is the central backend of the project. It contains entity state, integrations, events, automations, APIs, and much of the logic that connects different devices and protocols into one system.

How it is used

A common setup is to install Home Assistant on a mini PC, Raspberry Pi, NAS, or server, connect device integrations, define automations, and keep it running locally. Users control the home through the web UI, mobile app, or voice scenarios through integrations.

The project is especially useful when a home mixes devices from different vendors. Instead of many separate apps, Home Assistant provides a shared model of entities, states, events, and automations.

Automation idea

This snippet shows the principle: an event or state triggers an action. Real configuration can be created through the UI or YAML.

Language: Plain text
When the hallway motion sensor is active
and it is night,
turn the light on at 20%
and turn it off after 2 minutes without motion.

Strengths

Home Assistant’s strength is the breadth of integrations and the local control model. For a smart home, that matters: the internet can fail or a vendor cloud can change, but basic automations should keep working inside the home.

Limits

The limitation is complexity. More devices mean more networking, protocol, version, permission, power, and reliability details. Home Assistant gives a powerful base, but a reliable home setup still needs design and maintenance.