Home Assistant

Home Assistant is free and open-source software for home automation designed to be a central control system for smart home devices with a focus on local control and privacy. It can be accessed through a web-based user interface, by using companion apps for Android and iOS, or by voice commands via a supported virtual assistant such as Google Assistant or Amazon Alexa.
After the Home Assistant software application is installed as a computer appliance, it will act as a central control system for home automation, commonly referred to as a smart home hub, that has the purpose of controlling IoT connectivity technology devices, software, applications and services which are supported by modular integration components, including native integration components for wireless communication protocols such as Bluetooth, Zigbee, and Z-Wave (used to create local personal area networks with small low-power digital radios). Home Assistant also supports controlling open and proprietary ecosystems if they provide public access via an Open API or MQTT for third-party integrations over the local area network or the Internet.
Information from all devices and their attributes (entities) that the Home Assistant software application sees can be used and controlled from within scripts trigger automation using scheduling and "blueprint" subroutines, e.g. for controlling lighting, climate, entertainment systems and 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. Its bundled "supervisor" management system allowed users to manage, backup, update the local installation and introduced the option to extend the functionality of the software with add-ons.
An optional subscription service was introduced in December 2017 to solve the complexities associated with secured remote access, as well as linking to Amazon Alexa and Google Assistant. Nabu Casa, Inc. was formed in September 2018 to take over the subscription service. The company's funding is based solely on revenue from the subscription service. It is used to finance the project's infrastructure and to pay for full-time employees contributing to the project.
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 to Home Assistant Core, while the full suite of software with the Hass.io embedded operating system with a bundled "supervisor" management system was renamed as Home Assistant (though it is also commonly referred to as "HAOS" as in short for "Home Assistant OS").
In January 2021, Home Assistant made a public service announcement, disclosing vulnerabilities with its 3rd party custom integrations.
Later in January 2021, it made a second security disclosure about a security vulnerability.
Features
Hardware
Home Assistant is supported and can be installed on multiple platforms. These include single-board computers (for example Hardkernel ODROID, Raspberry Pi, Asus Tinkerboard, Intel NUC), operating systems like Windows, macOS, Linux as well as virtual machines and NAS systems. Windows support is via a Windows VM or installing the Windows Subsystem for Linux (WSL).
On officially supported hardware platforms like the ODROID N2+ and Raspberry Pi 3/4 single-board computers, the installation requires flashing a corresponding system image onto a microSD card, eMMC, or other local storage from which the system can boot. It is possible to use Home Assistant as a gateway or bridge for devices using different IoT technologies like Zigbee or Z-Wave, necessary hardware can be mounted onto GPIO (Serial/I2C/SMBus), UART, or using USB ports. Moreover, it can connect directly or indirectly to local IoT devices, control hubs/gateways/bridges, or cloud services from many different vendors, including other open and closed smart home ecosystems.
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 same package is also referred to as "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" (initially called "Home Assistant Amber"), 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 is architected with a carrier board (or "baseboard") for a computer-on-modules compatible with the Raspberry Pi Compute Module 4 (CM4) embedded computer as well as include 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 (Thread Border Router), as well as optional variant with PoE (Power over Ethernet) support. The most otherwise notable features missing on "Home Assistant Yellow" an HDMI or DisplayPort to connect a monitor, (which is likely due to it like most smart home hubs being purpose-built to act as a headless system), as well as lack of onboard Bluetooth, Wi-Fi, and a USB 3.0 port by default. Shipping of "Home Assistant" is targeted for June 2022.
Dashboard
The primary front-end dashboard system is called Lovelace (named after Ada Lovelace), which offers different cards to display information and control devices. Cards can display information provided by a connected device or control a resource (lights, thermostats, and other devices). 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.
Automation
Home Assistant acts as a central smart home controller hub by combining different devices and services in a single place and integrating them as entities. The provided rule-based system for automation allows creating custom routines based on a trigger event, conditions and actions, including scripts. These enable building automation, alarm management of security alarms and video surveillance for home security system as well as monitoring of energy measuring devices. Since December 2020, it is possible to use automation blueprints - pre-made automation from the community that can be easily added to an existing system.
Security
Home Assistant, as an on-premises software product, with its focus on local control for the purpose of privacy in combination with its state as an open-source application, has been described as beneficial to the security of the platform; specifically when compared to closed-source home automation software based on proprietary hardware and cloud-services.
There is no remote access enabled by default and data is stored solely on the device itself. User accounts can be secured with two-factor authentication to prevent access even if the user password is known by the attacker. Add-ons get a security rating based on their access to system resources.
In January 2021, cybersecurity analyst Oriel Goel found a directory traversal security vulnerability in third party custom integrations. The issue was disclosed on January 22, 2021, and addressed in Home Assistant version 2021.1.5, released on January 23. There is no information about whether the vulnerability has been abused.
Awards, reception and reviews
Home Assistant took second place in 2017 and 2018 for the Thomas Krenn Award (formerly Open Source Grant), later winning first place in 2019. Home Assistant also won an DINACon award in 2018 for their "Open Internet Award" category, as well as being a nominee for the same awards in 2013
Home Assistant has been included in a number of product and platform comparisons, where, like many other non-commercial smart home hubs/gateways/bridges/controllers for home automation, it has often in the past been criticized for forcing users into a tedious file-based setup procedure using text-based YAML markup-language instead of graphical user interfaces. However, newer versions of Home Assistant produced by the core development team continue to make the configuration (from initial installation as well as most basic configurations) more user-friendly by allowing configuration using the web-based graphical user interface as well as the original YAML scripting.
GitHub's "State of the Octoverse" in 2019 listed Home Assistant as the tenth biggest open-source project on its platform with 6,300 contributors. In 2020, with 8,162 contributors, it was listed second place in the list of Python packages with the most unique contributors.
See also
List of home automation software
List of automation protocols
Index of home automation articles
Home automation for the elderly and disabled
Smart speaker
Access control
Smart lock
Smart device
Web of Things
Smart environment
Smart grid
References
External links
Official website
Community forum
Smart home hubs
Home automation
Automation software
Smart devices
Internet of things
Building automation
Alarms
Security
Digital video recorders
Video surveillance
2013 software
IOS software
Free and open-source Android software
Embedded Linux
Embedded operating systems
Embedded Linux distributions
Free and open-source software
Free software programmed in Python
Software using the Apache license