Home Assistant


Home Assistant is free and open-source software used to enable centralized home automation. It is a smart home controller that serves both as a smart home hub and an integration platform designed for interoperability, allowing users to have a single point of control and enable automating different smart home devices from a central location regardless of manufacturer or brand. The software emphasizes local control and privacy and is designed to be independent of any specific Internet of Things ecosystem without having to rely on cloud services. Its customizable user interface can be accessed through any web-browser or by using its mobile apps for Android and iOS, as well as different options to also use voice commands via a supported virtual assistant, such as Google Assistant, Amazon Alexa, Apple Siri, and Home Assistant's own "Assist" using natural language.
The Home Assistant software application is commonly run on a computer appliance with "Home Assistant Operating System" that will act as a central control system for home automation, that has the purpose of controlling IoT connectivity technology devices, software, applications and services from third-parties via modular integration components, including native integration components for common wired or wireless communication protocols and standards for IoT products such as Bluetooth, Zigbee, Z-Wave, EnOcean, and Thread/Matter, or Wi-Fi and Ethernet connected devices on a home network / local area network.
Home Assistant supports controlling devices and services connected via either open and proprietary ecosystems or commercial smart home hubs/gateways/bridges as long they provide public access via some kind of open API or MQTT interface to allow for third-party integration over either the local area network or Internet, which includes integrations for Alexa Smart Home, Google Nest, HomeKit, Samsung SmartThings, and Philips Hue.
Information from all devices and their attributes that the application sees can be used and controlled via automation or script using scheduling or subroutines, e.g. for controlling lighting, climate, entertainment systems and smart home appliances.

History

The project was started as a Python application by Paulus Schoutsen in September 2013 and first published publicly on GitHub in November 2013.
In July 2017, a managed operating system called Hass.io was initially introduced to make it easier to use Home Assistant on single-board computers like the Raspberry Pi series. This has since been renamed to "Home Assistant Operating System", and uses the concept of a bundled "supervisor" management system that allows users to manage, backup, update the local installation and enable the option to extend the functionality of the software with add-ons to run as services on the same platform for tighter integrations with Home Assistant core.
An optional "Home Assistant Cloud" subscription service was introduced in December 2017 as an external cloud computing service officially supported by the Home Assistant founders to solve the complexities associated with secured remote access, as well as linking to various third-party cloud services, such as Amazon Alexa and Google Assistant. Nabu Casa, Inc. was formed in September 2018 to take over this subscription service. The company's funding is based solely on revenue from the "Home Assistant Cloud" subscription service. The money earned is used to finance the project's infrastructure and to pay for full-time employees contributing to the Home Assistant and ESPHome projects.
In January 2020, branding was adjusted to make it easier to refer to different parts of the project. The main piece of software was renamed Home Assistant Core, while the full suite of software with the Hass.io embedded operating system with a bundled "supervisor" management system was renamed Home Assistant.
In April 2024, ownership of the Home Assistant source code and brand name was transferred to the newly created "Open Home Foundation" non-profit organization. The founder of Home Assistant made statements in the announcement that this transfer of ownership and change in governance should mean no practical change to its developers or users as it was primarily done to ensure that Home Assistant source code will remain a free and open-source software and with a continued focus on privacy and local control. Statements in the press release also included secondary plans and goals of making Home Assistant transition from an enthusiast platform to a mainstream consumer product. Ownership of many of the open-source libraries that Home Assistant uses as dependencies and other related entities was also transferred to the Open Home Foundation non-profit organization.

Features

Hardware

Home Assistant is supported and can be installed on multiple platforms. Official and third-party hardware appliances with Home Assistant pre-installed are available for purchase from a few different manufacturers for a plug-and-play solution. Home Assistant can be installed do-it-yourself style on almost any computer, like a home server or network-attached storage, but note that Home Assistant is designed to run all the time.
Home Assistant's operating system can be installed directly on many hardware platforms including single-board computers, Raspberry Pi and Hardkernel ODROID, as well as virtual machines and most NAS systems. Installing the Home Assistant Operating System image on such other officially recommended hardware platforms requires installing or flashing a corresponding system image onto a local storage from which the Home Assistant operating system can boot from. Optionally it is possible to install the Home Assistant container on other operating systems like Linux, macOS, or Windows, but it's then not possible to install add-ons and other features that is built-into the supervised operating system.
It is possible to use Home Assistant as a IoT bridge and gateway for smart home devices using different Internet-of-Things technologies like Zigbee, Z-Wave, Thread, and Bluetooth; necessary radio and bus-adapter hardware can be mounted via USB ports, Serial, or GPIO. It can connect directly or indirectly to local IoT devices, control hubs/gateways/bridges or cloud services from other open and closed smart home ecosystems vendors.

Official "Home Assistant" branded hardware

Home Assistant partnered with the commercial Nabu Casa company to make officially licensed hardware, including appliances for running Home Assistant Operating System and IoT radio dongles.
In December 2020, a customized ODROID N2+ computer appliance with bundled software was introduced under the product name "Home Assistant Blue" as an officially supported common hardware reference platform. The package is called "ODROID-N2+ Home Assistant Bundle" when sold without the official custom-made enclosure. It comes with Home Assistant OS pre-installed on local eMMC storage, a power-adapter, and a custom Home Assistant themed enclosure. Home Assistant founders made it clear that the release of official hardware would not keep them from supporting other hardware platforms like the Raspberry Pi series.
In September 2021, Home Assistant developers at Nabu Casa announced a crowdfunding campaign on Crowd Supply for pre-orders of "Home Assistant Yellow", a new official home automation controller hardware platform with Home Assistant pre-installed, a spiritual successor to "Home Assistant Blue". "Home Assistant Yellow" is designed to be an appliance, and its internals are architected with a carrier board for a computer-on-modules compatible with the Raspberry Pi Compute Module 4 embedded computer as well as an integrated M.2 expansion slot meant for either an NVMe SSD as expanded storage or for an AI accelerator card, and an onboard EFR32 based radio module made by Silicon Labs capable of acting as a Zigbee Coordinator or Thread Leader, as well as optional variant with PoE support. The most otherwise notable features missing on "Home Assistant Yellow" are an HDMI or DisplayPort to connect a monitor,, as well as lack of onboard Bluetooth, Wi-Fi, and a USB 3.0 port by default. Shipping of "Home Assistant Yellow" was targeted for June 2022.
In June 2022, Home Assistant developers at Nabu Casa announced their officially supported "Home Assistant SkyConnect" IoT radio adapter, a multi-protocol IoT USB radio dongle capable of Zigbee or Thread low-power wireless protocols, that enable plug-and-play support for either Home Assistant's built-in Zigbee gateway integration or their Thread integration.
In September 2023, Home Assistant developers at Nabu Casa announced their officially supported "Home Assistant Green" as an entry-level computer appliance that is meant to make it easier for new users to get started with Home Assistant from scratch. It does however only feature an Ethernet port and two USB ports. That is, unlike the previous "Home Assistant Yellow" this new computer appliance does not include any built-in IoT radios for Zigbee and Thread low-power wireless protocols, so users wanting to connect such devices will need to buy separate USB radio dongles for each such protocol.

Dashboard (Frontend User Interface)

The primary front-end user interface system is a dashboard called Home Assistant dashboards, which offers different cards to display information and control devices. Cards can display information provided by a connected device or control a resource. The interface design language is based on Material Design and can be customized using global themes. The GUI is customizable using the integrated editor or by modifying the underlying YAML code. Cards can be extended with custom resources, which are often created by community members.

Companion apps (second screen implementations)

Home Assistant dashboards can also be accessed via Home Assistant's official second screen implementations like their mobile apps which they call "Companion apps".