Home Assistant is a free, open source internet of things (iot) project written in Python and released under Apache-2.0. It has 90,654 GitHub stars, 38,685 forks and 3,527 open issues, and was last pushed 9 hours ago. On this registry it ranks #1 of 3 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available. It gained 256 stars over the last 6 tracked days.

Home Assistant — Local control smart home automation with privacy first

What is Home Assistant?

What it is

Home Assistant is an open-source home automation platform that runs locally on devices such as Raspberry Pi or a personal server. It enables users to control and automate smart home devices—including lights, thermostats, locks, and sensors—without relying on cloud services. Built in Python with an asyncio event loop, it emphasizes local processing and data sovereignty, ensuring all device data remains under the user’s control.

The project solves the problem of vendor lock-in and privacy erosion common in proprietary smart home ecosystems. Instead of forcing users into closed platforms that require internet connectivity and store data remotely, Home Assistant provides a self-hosted alternative where automation logic, device state, and user configuration stay entirely on-premises.

Key capabilities

  • Supports over 1,000 integrations via modular components for devices and services including Zigbee, Z-Wave, MQTT, and cloud APIs
  • Runs on Raspberry Pi, x86 servers, and virtual machines using Docker or native installation
  • Provides real-time device state visualization and historical data logging via built-in database
  • Enables custom automation rules using YAML or a visual editor (Blueprints and automations UI)
  • Includes a responsive web-based user interface accessible from any device on the local network
  • Supports custom component development in Python for integrating unsupported devices
  • Ships with built-in support for voice assistants via local speech-to-text and text-to-speech engines

Who uses it and how

  • DIY enthusiasts deploy it on Raspberry Pi to centralize control of Zigbee/Z-Wave devices without cloud dependencies
  • Privacy-conscious households run it on a local server to avoid sending sensor data to third-party services
  • Developers contribute integrations or build custom components to support niche hardware or workflows
  • Home labs use it for testing IoT protocols or prototyping automation before production deployment

Getting started

Install via official Docker image homeassistant/home-assistant:stable, Python package homeassistant, or prebuilt OS images for Raspberry Pi. A hosted option is available at home-assistant.io for demos, but production use requires self-hosting.

When to use it — and when not to

Use Home Assistant when local control, privacy, and customization outweigh the convenience of managed services. It replaces paid platforms like SmartThings or Hubitat for users comfortable with self-hosting infrastructure—including managing a database, storage, and optional SMTP for notifications. Avoid it if you require plug-and-play setup with zero technical involvement or depend on cloud-only integrations with no local fallback.

project readme (upstream, from github) — read inline

Home Assistant |Chat Status|

Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.

Check out home-assistant.io __ for a demo , installation instructions , tutorials __ and documentation __.

|screenshot-states|

Featured integrations

|screenshot-integrations|

The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the section on architecture __ and the section on creating your own components __.

If you run into issues while using Home Assistant or during development of a component, check the Home Assistant help section __ of our website for further help and information.

|ohf-logo|

.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg :target: https://www.home-assistant.io/join-chat/ .. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png :target: https://demo.home-assistant.io .. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png :target: https://home-assistant.io/integrations/ .. |ohf-logo| image:: https://www.openhomefoundation.org/badges/home-assistant.png :alt: Home Assistant - A project from the Open Home Foundation :target: https://www.openhomefoundation.org/

Frequently asked questions

Is Home Assistant free to use?

Home Assistant is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Home Assistant do?

Local control smart home automation with privacy first

What is Home Assistant written in?

Home Assistant is primarily written in Python. Its source is publicly available at https://github.com/home-assistant/core, and it has 90,654 GitHub stars.