Home Assistant
   HOME

TheInfoList



OR:

Home Assistant is a
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
for
home automation Home automation or domotics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It m ...
designed to be a central control system for
smart home Smart or SMART may refer to: Arts and entertainment * ''Smart'' (Hey! Say! JUMP album), 2014 * Smart (Hotels.com), former mascot of Hotels.com * ''Smart'' (Sleeper album), 1995 debut album by Sleeper * ''SMart'', a children's television seri ...
devices with a focus on local control and privacy. It can be accessed through a web-based
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
by using companion apps for Android and
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also includes ...
, or by voice commands via a supported
virtual assistant An intelligent virtual assistant (IVA) or intelligent personal assistant (IPA) is a software agent that can perform tasks or services for an individual based on commands or questions. The term "chatbot" is sometimes used to refer to virtual ...
such as
Google Assistant Google Assistant is a virtual assistant software application developed by Google that is primarily available on mobile and home automation devices. Based on artificial intelligence, Google Assistant can engage in two-way conversations, unlike t ...
or
Amazon Alexa Amazon Alexa, also known simply as Alexa, is a virtual assistant technology largely based on a Polish speech synthesiser named Ivona, bought by Amazon in 2013. It was first used in the Amazon Echo smart speaker and the Echo Dot, Echo Studio and ...
. After the Home Assistant software application is installed as a
computer appliance A computer appliance is a home appliance with software or firmware that is specifically designed to provide a specific computing resource. Such devices became known as ''appliances'' because of the similarity in role or management to a home ap ...
, it will act as a central control system for home automation, commonly referred to as a
smart home hub A smart home hub, sometimes also referred to as a "smart hub", "gateway'", "bridge", "controller" or "coordinator", is a control center/centre for a smart home, and enables the components of a smart home to communicate and respond to each other via ...
, 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 Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limi ...
,
Zigbee Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and othe ...
, and
Z-Wave Z-Wave is a wireless communications protocol used primarily for residential and commercial building automation. It is a mesh network using low-energy radio waves to communicate from device to device, allowing for wireless control of smart home d ...
(used to create local
personal area network A personal area network (PAN) is a computer network for interconnecting electronic devices within an individual person's workspace. A PAN provides data transmission among devices such as computers, smartphones, tablets and personal digital assi ...
s with small low-power
digital radio Digital radio is the use of digital technology to transmit or receive across the radio spectrum. Digital transmission by radio waves includes digital broadcasting, and especially digital audio radio services. Types In digital broadcasting syst ...
s), as well as having support for controlling both open and proprietary ecosystems if they provide public access via example an
Open API An open API (often referred to as a public API) is a publicly available application programming interface that provides developers with programmatic access to a proprietary software application or web service. APIs are sets of requirements that g ...
or
MQTT MQTT (originally an initialism of MQ Telemetry Transport) is a lightweight, publish-subscribe, machine to machine network protocol for Message queue/Message queuing service. It is designed for connections with remote locations that have devices ...
for third-party integrations over the
Local Area Network A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building. By contrast, a wide area network (WAN) not only covers a larger ...
or the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
. Information from all devices and their attributes (entities) that the Home Assistant software application sees can be used and controlled from within scripts trigger automations using
scheduling A schedule or a timetable, as a basic time-management tool, consists of a list of times at which possible task (project management), tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order ...
and "blueprint"
subroutines In computer programming, a function or subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can then be used in programs wherever that particular task should be performed. Functions may ...
, e.g. for controlling lighting, climate, entertainment systems and home appliances.


History

The project was started as a
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
application by Paulus Schoutsen in September 2013 and first published publicly on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
in November 2013. In July 2017, a managed
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
called ''Hass.io'' was initially introduced to make it easier to use Home Assistant on single-board computers like the
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
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 referring 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 An embedded operating system is an operating system for embedded computer systems. Embedded operating systems are computer systems designed to increase functionality and reliability for achieving a specific task. Resource efficiency comes at the ...
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 computer A single-board computer (SBC) is a complete computer built on a single circuit board, with microprocessor(s), memory, input/output (I/O) and other features required of a functional computer. Single-board computers are commonly made as demonstrati ...
s (like example Hardkernel ODROID,
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
, Asus Tinkerboard,
Intel NUC Next Unit of Computing (NUC) is a line of small-form-factor barebone computer kits designed by Intel. It was previewed in 2012 and launched in early 2013. The NUC has developed over ten generations, spanning from Sandy Bridge-based Celeron CPU ...
), operating systems like
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
as well as
virtual machine In computing, a virtual machine (VM) is the virtualization/emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized hardw ...
s and
NAS Nas (born 1973) is the stage name of American rapper Nasir Jones. Nas, NaS, or NAS may also refer to: Aviation * Nasair, a low-cost airline carrier and subsidiary based in Eritrea * National Air Services, an airline in Saudi Arabia ** Nas Air ( ...
systems. Windows support is via a Windows VM or installing the
Windows Subsystem for Linux Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
(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 Secure Digital, officially abbreviated as SD, is a proprietary non-volatile flash memory card format developed by the SD Association (SDA) for use in portable devices. The standard was introduced in August 1999 by joint efforts between SanDis ...
card,
eMMC The MultiMediaCard, officially abbreviated as MMC, is a memory card standard used for solid-state storage. Unveiled in 1997 by SanDisk and Siemens, MMC is based on a surface-contact low pin-count serial interface using a single memory stack subs ...
, or other local storage from which the system can boot. It is possible to use Home Assistant as a gateway or
bridge A bridge is a structure built to span a physical obstacle (such as a body of water, valley, road, or rail) without blocking the way underneath. It is constructed for the purpose of providing passage over the obstacle, which is usually somethi ...
for devices using different IoT technologies like Zigbee or Z-Wave, necessary hardware can be mounted onto GPIO (Serial/I2C/SMBus),
UART A universal asynchronous receiver-transmitter (UART ) is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significan ...
, or using USB ports. Moreover, it can connect directly or indirectly to local IoT devices, control hubs/gateways/bridges, or
cloud services Cloud computing is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed computing, ...
from many different vendors, including other open and closed smart home ecosystems. In December 2020, a customized
ODROID The ODROID is a series of single-board computers and tablet computers created by Hardkernel Co., Ltd., located in South Korea. Even though the name ''ODROID'' is a portmanteau of ''open'' + ''Android'', the hardware is not actually open because s ...
N2+
computer appliance A computer appliance is a home appliance with software or firmware that is specifically designed to provide a specific computing resource. Such devices became known as ''appliances'' because of the similarity in role or management to a home ap ...
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 The MultiMediaCard, officially abbreviated as MMC, is a memory card standard used for solid-state storage. Unveiled in 1997 by SanDisk and Siemens, MMC is based on a surface-contact low pin-count serial interface using a single memory stack subs ...
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 stop them from keep 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 Crowd Supply is a crowdfunding platform based in Portland, Oregon. The platform has claimed "over twice the success rate of Kickstarter and Indiegogo", and partners with creators who use it, providing mentorship resembling a business incubator. ...
for pre-order 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 are architectured with carrier board (or "baseboard") for a
computer-on-module A computer-on-module (COM) is a type of single-board computer (SBC), a subtype of an embedded computer system. An extension of the concept of system on chip (SoC) and system in package (SiP), COM lies between a full-up computer and a microco ...
s compatible with the Raspberry Pi Compute Module 4 (CM4) embedded computer as well as include an integrated
M.2 M.2, pronounced ''m dot two'' and formerly known as the Next Generation Form Factor (NGFF), is a specification for internally mounted computer expansion cards and associated connectors. M.2 replaces the mSATA standard, which uses the PCI Ex ...
expansion slot meant for either an
NVMe NVM Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCIS) is an open, logical-device interface specification for accessing a computer's non-volatile storage media usually attached via PCI Express (PCIe) bus. The ...
SSD A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is ...
as expanded storage or for an
AI accelerator An AI accelerator is a class of specialized hardware accelerator or computer system designed to accelerate artificial intelligence and machine learning applications, including artificial neural networks and machine vision. Typical applications in ...
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 notably features missing on "Home Assistant Yellow" an
HDMI High-Definition Multimedia Interface (HDMI) is a proprietary audio/video interface for transmitting uncompressed video data and compressed or uncompressed digital audio data from an HDMI-compliant source device, such as a display controller, ...
or
DisplayPort DisplayPort (DP) is a digital display interface developed by a consortium of PC and chip manufacturers and standardized by the Video Electronics Standards Association (VESA). It is primarily used to connect a video source to a display device su ...
to connect a monitor, (which is likely due to it like most smart home hubs being purpose-built to act as a
headless system A headless computer is a computer system or device that has been configured to operate without a monitor (the missing "head"), keyboard, and mouse. A headless system is typically controlled over a network connection, although some headless system ...
), as well as lack of onboard
Bluetooth Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is limi ...
,
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
, and a
USB 3.0 USB 3.0, released in November 2008, is the third major version of the Universal Serial Bus (USB) standard for interfacing computers and electronic devices. Among other improvements, USB 3.0 adds the new transfer rate referred to as '' ...
port by default. Shipping of "Home Assistant" is targeted for June 2022.


Dashboard

The primary front-end
dashboard For business applications, see Dashboard (business). A dashboard (also called dash, instrument panel (IP), or fascia) is a control panel set within the central console of a vehicle or small aircraft. Usually located directly ahead of the driver ...
system is called ''Lovelace'' (named after
Ada Lovelace Augusta Ada King, Countess of Lovelace (''née'' Byron; 10 December 1815 – 27 November 1852) was an English mathematician and writer, chiefly known for her work on Charles Babbage's proposed mechanical general-purpose computer, the A ...
), 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 Material Design (codenamed Quantum Paper) is a design language developed by Google in 2014. Expanding on the "cards" that debuted in Google Now, Material Design uses more grid-based layouts, responsive animations and transitions, padding, and d ...
and can be customized using global themes. The
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
is customizable using the integrated editor or by modifying the underlying
YAML YAML ( and ) (''see '') is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Exte ...
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 automations allows creating custom routines based on a trigger event, conditions and actions, including scripts. These enable
building automation Building automation (BAS), also known as building management system (BMS) or building energy management system (BEMS), is the automatic centralized control of a building's HVAC (heating, ventilation and air conditioning), electrical, lighting, ...
,
alarm management Alarm management is the application of human factors and ergonomics along with instrumentation engineering and systems thinking to manage the design of an alarm system to increase its usability. Most often the major usability problem is that the ...
of
security alarm A security alarm is a system designed to detect intrusion, such as unauthorized entry, into a building or other areas such as a home or school. Security alarms used in residential, commercial, industrial, and military properties protect against ...
s and
video surveillance Closed-circuit television (CCTV), also known as video surveillance, is the use of video cameras to transmit a signal to a specific place, on a limited set of monitors. It differs from broadcast television in that the signal is not openly tr ...
for
home security Home security includes both the security hardware placed on a property and individuals' personal security practices. Security hardware includes doors, locks, alarm systems, lighting, motion detectors, and security camera systems. Personal sec ...
system as well as monitoring of energy measuring devices. Since December 2020, it is possible to use automation blueprints - pre-made automations from the community that can be easily added to an existing system.


Security

Home Assistant as an
on-premises software On-premises software (abbreviated to on-prem, and incorrectly referred to as on-premise) is installed and runs on computers on the premises of the person or organization using the software, rather than at a remote facility such as a server farm ...
, 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 Proprietary hardware is computer hardware whose interface is controlled by the proprietor, often under patent or trade-secret protection. Historically, most early computer hardware was designed as proprietary until the 1980s, when IBM PC changed ...
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 Multi-factor authentication (MFA; encompassing two-factor authentication, or 2FA, along with similar terms) is an electronic authentication method in which a user is granted access to a website or application only after successfully presenting ...
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 A directory traversal (or path traversal) attack exploits insufficient security validation or sanitization of user-supplied file names, such that characters representing "traverse to parent directory" are passed through to the operating system's f ...
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 YAML ( and ) (''see '') is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Exte ...
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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
as well as the original
YAML YAML ( and ) (''see '') is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. YAML targets many of the same communications applications as Exte ...
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 This is a list of communication protocols used for the automation of processes (industrial or otherwise), such as for building automation, power-system automation, automatic meter reading, and vehicular automation. Process automation protocols ...
* Index of home automation articles *
Home automation for the elderly and disabled Home automation for the elderly and disabled focuses on making it possible for older adults and people with disabilities to remain at home, safe and comfortable. Home automation is becoming a viable option for older adults and people with disabi ...
*
Home automation Home automation or domotics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It m ...
*
Building automation Building automation (BAS), also known as building management system (BMS) or building energy management system (BEMS), is the automatic centralized control of a building's HVAC (heating, ventilation and air conditioning), electrical, lighting, ...
*
Smart speaker A smart speaker is a type of loudspeaker and voice command device with an integrated virtual assistant that offers interactive actions and hands-free activation with the help of one "hot word" (or several "hot words"). Some smart speakers can al ...
*
Access control In the fields of physical security and information security, access control (AC) is the selective restriction of access to a place or other resource, while access management describes the process. The act of ''accessing'' may mean consuming ...
*
Smart lock A smart lock is an electromechanical lock that is designed to perform locking and unlocking operations on a door when it receives a prompt via an electronic keypad, biometric sensor, access card, Bluetooth, or Wi-FI from a registered mobile devic ...
*
Smart device A smart device is an electronic device, generally connected to other devices or networks via different wireless protocols (such as Bluetooth, Zigbee, near-field communication, Wi-Fi, LiFi, or 5G) that can operate to some extent interactively and ...
*
Internet of things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
*
Web of Things Web of Things (WoT) describes a set of standards by the World Wide Web Consortium (W3C) for the interoperability of different Internet of things (IoT) platforms and application domains. Building blocks The WoT building blocks provide a way to i ...
*
Smart environment Smart environments link computers and other smart devices to everyday settings and tasks. Smart environments include smart homes, smart cities and smart manufacturing. Introduction Smart environments are an extension of pervasive computing. Accordi ...
*
Smart grid A smart grid is an electrical grid which includes a variety of operation and energy measures including: *Advanced metering infrastructure (of which smart meters are a generic name for any utility side device even if it is more capable e.g. a f ...


References


External links


Official website

Community forum
{{Ambient intelligence 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