Home Assistant

From Wikipedia, the free encyclopedia

Home Assistant
Original author(s)Paulus Schoutsen
Developer(s)Open Home Foundation, Home Assistant Core Team and Community
Initial release17 September 2013
(10 years ago)
 (2013-09-17)
Stable release
2024.5.3[1] Edit this on Wikidata / 10 May 2024; 6 days ago (10 May 2024)
Repositorygithub.com/home-assistant
Written inPython (Python 3.11)
Operating systemSoftware appliance / Virtual appliance (Linux)
PlatformARM, ARM64, IA-32 (x86), and x64 (x86-64)
TypeHome automation, smart home technology, Internet of things, task automator
LicenseApache License (free and open-source)
Websitewww.home-assistant.io

Home Assistant is free and open-source software for home automation, designed to be an Internet of things (IoT) ecosystem-independent integration platform and smart home hub for controlling smart home devices, with a focus on local control and privacy.[2][3][4][5] Its interface 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, Amazon Alexa, Apple Siri, and Home Assistant's own "Assist" (a built-in local voice assistant) uisng natural language.[6][7][8]

The Home Assistant software application is commonly installed (or comes preinstalled) on a computer appliance with "Home Assistant Operating System" that will act as a central control system for home automation (commonly called a smart home hub/gateway/bridge/controller),[9][10][11][12] 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 (used to create either local personal area networks or direct ad hoc connections with small smart home devices using low-power digital radios), or Wi-Fi and Ethernet connected devices on a home network / local area network (LAN).[13][14][15][16]

Home Assistant as such 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 (Amazon Echo), Google Nest (Google Home), and HomeKit (Apple Home), Samsung SmartThings, and Philips Hue.[17][18][19]

Information from all devices and their attributes (entities) that the application sees can be used and controlled via automation or script using scheduling and/or subroutines (including preconfigured "blueprint"), e.g. for controlling lighting, climate, entertainment systems and smart home appliances.[20][21][22][23]

History[edit]

The project was started as a Python application by Paulus Schoutsen in September 2013 and first published publicly on GitHub in November 2013.[24]

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 is often referred to as "Home Assistant OS"), though still used the concept of a bundled "supervisor" management system that allowes users to manage, backup, update the local installation and enable the option to extend the functionality of the software with add-ons (plug-in applications) to run as services on the same platform for tighter integrations with Home Assistant core.[25]

An optional "Home Assistant Cloud" subscription service was introduced in December 2017 as an external cloud computing officially supported by 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.[26] Nabu Casa, Inc. was formed in September 2018 to take over this subscription service.[27] 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.[28]

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 (though it is also commonly referred to as "HAOS" as in short for "Home Assistant OS").[29]

In the beginning of January 2021, Home Assistant made a public service announcement, disclosing vulnerabilities with its third-party custom integrations.[30] Later in January 2021, it made a second security disclosure about a security vulnerability.[31]

In April of 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.[32][33][34][35]

Features[edit]

Hardware[edit]

Home Assistant is supported and can be installed on multiple platforms and preinstalled hardware appliances are also available for purchase from a few different manufacturers. Compatible hardware platforms 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.[36] Windows support is via a Windows VM or installing the Windows Subsystem for Linux (WSL).[37][38]

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.[36] 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.[39][40] 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.[41][42][43][44]

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.[45][46]

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.[47][48]

In June of 2022, Home Assistant developers at Nabu Casa announced their officially supported "Home Assistant SkyConnect", a multi-protocol IoT USB radio dongle capable of Zigbee and/or Thread low-power wireless protocols, that enable plug-and-play support for Home Assistant's built-in Zigbee gateway (the "ZHA" integration) and experimental Thread/Matter integrations.[49][50] That same initial SkyConnect USB radio dongle model has since been renamed to "Home Assistant Connect ZBT-1" in preparation of future IoT USB radio dongle models in the same series, where an upcoming Z-Wave dongle has been preannounced and planned for launch in the end of 2024.

In September 2023, Home Assistant developers at Nabu Casa announced their officially supported "Home Assistant Green" as 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 (for connection to the user's LAN) 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.[51][52] After installation/configuration

Dashboard[edit]

The primary front-end dashboard system is called Lovelace (named after Ada Lovelace),[53] 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[edit]

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.[54][55][56][57] 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.[58]

Security[edit]

Home Assistant is an on-premises software product with a focus on local control, which 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.[2][3][4][5]

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 becomes compromised. Add-ons receive 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 was exploited.[59][60]

In March 2023, a full authentication bypass was discovered in Home Assistant, earning a CVE score of 10/10.[61] This security issue affected Home Assistant's default remote access solution, Nabu Casa, due to Nabu Casa's remote access security model that publicly exposes the local Home Assistant server to the public internet. This security issue allows bad actors full control of any Home Assistant server they can access due to the full auth bypass.[62]

Awards, reception and reviews[edit]

Home Assistant took second place in 2017[63] and 2018[64] for the Thomas Krenn Award (formerly Open Source Grant), later winning first place in 2019.[65] Home Assistant also won an DINACon award in 2018 for their "Open Internet Award" category,[66][67] as well as being a nominee for the same awards in 2013[68]

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 been criticized for forcing users into a tedious file-based setup procedure using text-based YAML markup-language instead of graphical user interfaces.[69][70][71][54][72] 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.[73][74][75][76][77][78] 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.[79]

See also[edit]

References[edit]

  1. ^ Error: Unable to display the reference properly. See the documentation for details.
  2. ^ a b "No Privacy Compromise Home Automation". Archived from the original on 25 September 2020. Retrieved 18 June 2020.
  3. ^ a b "Home Assistant lets you automate your smart home without giving up privacy". The Ambient. 10 May 2018.
  4. ^ a b "Secure home automation, without clouds or dedicated hubs". 20 June 2016.
  5. ^ a b Greenberg, Andy (20 July 2016). "Now You Can Hide Your Smart Home on the Darknet". Wired – via www.wired.com.
  6. ^ "What is Home Assistant, how does it work, and what do you need to get started?)".
  7. ^ "The 10 Best Home Assistant Devices Of 2023, Ranked)".
  8. ^ "The best home automation systems: Compare SmartThings, Apple HomeKit, Amazon Alexa, and more)".
  9. ^ Alex Kretzschmar - Mar 31, 2021 11:30 am UTC (31 March 2021). "How to achieve smart home nirvana (or, home automation without subscription)". Ars Technica. Retrieved 13 May 2022.{{cite web}}: CS1 maint: numeric names: authors list (link)
  10. ^ "Home Assistant makes your smart devices work together the way you imagined". Android Central. 12 April 2018.
  11. ^ Valens, Clemens (16 September 2020). "Home Automation Made Easy: Combine Home Assistant, ESPHome and MySensors". Elektor Magazine. Retrieved 13 May 2022.
  12. ^ "How to start a smart home using Home Assistant)".
  13. ^ "How I built a fully offline smart home, and why you should too)".
  14. ^ "I was wrong to ignore Zigbee and Z-Wave. They're the best part of my smart home)".
  15. ^ "The best smart plugs in 2024)".
  16. ^ "The Best Smart Garage Door Opener Controller)".
  17. ^ "Android's built-in smart home controls now work with Home Assistant)".
  18. ^ "MyQ no longer works with any of the major smart home platforms. Fortunately, there are alternatives.)".
  19. ^ "Haier hits Home Assistant plugin dev with takedown notice)".
  20. ^ "Magical Smart Home Upgrade Lets Muggles Control Their Homes With a Wand Too". Retrieved 18 June 2020.
  21. ^ "How to set up and use Home Assistant to power your smart home". 30 March 2021.
  22. ^ "Tech projects for IT leaders: How to use IoT for home automation". TechRepublic. 30 March 2021. Retrieved 13 May 2022.
  23. ^ "Why I'm switching to Home Assistant)".
  24. ^ "Home Assistant: The Python Approach to Home Automation". Linux.com. 20 November 2018. Retrieved 13 May 2022.
  25. ^ Schoutsen, Paulus (25 July 2017). "Introducing Hass.io". Home Assistant. Retrieved 14 November 2021.
  26. ^ Schoutsen, Paulus (17 December 2017). "Introducing Home Assistant Cloud". Home Assistant. Retrieved 4 March 2024.[self-published source?]
  27. ^ "About us". Nabu Casa. Retrieved 14 November 2021.
  28. ^ "Nabu Casa". Nabu Casa. Retrieved 4 March 2024.[non-primary source needed]
  29. ^ Assistant, Home. "Home Assistant vs. Home Assistant Core". Home Assistant. Retrieved 14 November 2021.
  30. ^ Schoutsen, Paulus (22 January 2021). "Disclosure: security vulnerabilities in custom integrations HACS, Dwains Dashboard, Font Awesome and others". Home Assistant. Retrieved 6 April 2022.
  31. ^ Schoutsen, Paulus (23 January 2021). "Security Disclosure 2: vulnerabilities in custom integrations HACS, Font Awesome and others". Home Assistant. Retrieved 6 April 2022.
  32. ^ "Home Assistant announces Open Home Foundation)".
  33. ^ "Home Assistant has a new foundation and a goal to become a consumer brand)".
  34. ^ "Home Assistant Wants to Be a Real Smart Home Platform)".
  35. ^ "Move over, Alexa and HomeKit: A new Assistant is here to open source your smart home)".
  36. ^ a b Assistant, Home. "Installation". Home Assistant. Retrieved 1 April 2021.
  37. ^ "Windows Subsystem for Linux (WSL)".
  38. ^ "I Run My Smart Home Off a Raspberry Pi, Here's How It Works)".
  39. ^ "RaspBee II Overview". phoscon.de. Retrieved 1 April 2021.
  40. ^ "ConBee II Overview". phoscon.de. Retrieved 1 April 2021.
  41. ^ Assistant, Home. "Integrations". Home Assistant. Retrieved 18 June 2020.
  42. ^ Murphy, Dylan (May 2018). "Controlling smart lights with Home Assistant" (PDF). HackSpace. No. 4. p. 92. ISSN 0016-9900. Retrieved 18 June 2020.
  43. ^ "Transferring my Z-Wave Network to Home Assistant from Vera". HomeTechHacker. 15 August 2019.
  44. ^ "Best Hardware for Home Assistant". Smart Home University. 21 June 2019.
  45. ^ https://techtechandmoretech.com/reviews/home-assistant-blue/ Archived 14 July 2021 at the Wayback Machine Home Assistant Blue Review
  46. ^ "ODROID-N2+ based "Home Assistant Blue" announced as official hardware for Home Assistant - CNX Software". 16 December 2020.
  47. ^ Pattison, Jennifer (16 September 2021). "Home Assistant now comes in a ready-to-use box". The Verge. Retrieved 13 May 2022.
  48. ^ "Crowdfunded Home Automation System Uses Raspberry Pi Compute Module | Tom's Hardware". Tomshardware.com. 16 September 2021. Retrieved 13 May 2022.
  49. ^ "Home Assistant's SkyConnect Dongle Offers Plug-and-Play Zigbee, Matter, and Soon Thread Support)".
  50. ^ "The Home Assistant SkyConnect is a great excuse to demolish your smart home and start from scratch)".
  51. ^ "The Home Assistant Green is here to make the most powerful smart home platform more accessible)".
  52. ^ "This tiny translucent box can help you manage smart home devices on a budget)".
  53. ^ "Home Assistant: Getting Started With Lovelace". HomeTechHacker. 7 February 2019. Retrieved 1 April 2021.
  54. ^ a b comments, 14 December 2017 Jason BakerFeed 1481up 23. "6 open source home automation tools". Opensource.com.{{cite web}}: CS1 maint: numeric names: authors list (link)
  55. ^ "16 Open Source Home Automation Platforms To Use In 2020". ubidots.com. 30 October 2019. Retrieved 18 June 2020.
  56. ^ "Trends In Open Source Home Automation". 21 March 2017.
  57. ^ "My Smarthome Evolution: Part 3 - Current State". HomeTechHacker. 12 December 2019.
  58. ^ Assistant, Home. "Using Automation Blueprints". Home Assistant. Retrieved 1 April 2021.
  59. ^ Schoutsen, Paulus (22 January 2021). "Disclosure: security vulnerabilities in custom integrations HACS, Dwains Dashboard, Font Awesome and others". Home Assistant. Retrieved 1 April 2021.
  60. ^ Schoutsen, Paulus (23 January 2021). "Security Disclosure 2: vulnerabilities in custom integrations HACS, Font Awesome and others". Home Assistant. Retrieved 1 April 2021.
  61. ^ "Authentication bypass Supervisor API". GitHub. Retrieved 24 January 2024.
  62. ^ "CVE - CVE-2023-27482". cve.mitre.org. Retrieved 24 January 2024.
  63. ^ "Thomas-Krenn-Award 2017: Zammad, Home Assistant und Freifunk". TKmag. 12 March 2017.
  64. ^ "Die Gewinner des Thomas-Krenn-Awards 2018". TKmag. 12 March 2018.
  65. ^ Thomas-Krenn.AG (16 March 2019). "Thomas-Krenn-Award 2019 – Die Gewinner" [Thomas Krenn Award 2019 - The Winner]. TKmag (in German). Retrieved 18 June 2020.
  66. ^ "Das sind die Nominierten für die Dinacon Awards 2018". www.netzwoche.ch. 4 September 2018.
  67. ^ "DINAcon begeistert 200 Teilnehmende und die Award-Gewinner 2018" (PDF) (Press release) (in German). 19 October 2018.
  68. ^ "Home Assistant > DINAcon Awards". DINAcon Awards.
  69. ^ "SmartThings vs Home Assistant: What is the Best Smart Home Hub". Smart Home University. 29 April 2018.
  70. ^ "Best of open source smart home: Home Assistant vs OpenHAB". Smart Home University. 28 February 2018.
  71. ^ Jancer, Matt (26 May 2016). "Smart-Home Gadgets Need a Translator Real Bad—Here's How to Get One". Wired – via www.wired.com.
  72. ^ "Home Assistant Review – Sean's Technical Ramblings". 4 March 2017.
  73. ^ "Smart Home Home Assistant Konfiguration mit YAML". 12 July 2017.
  74. ^ "Weekend Project: Setting up Home Assistant on your PC or Mac". 22 April 2016.
  75. ^ "OpenHAB vs Home Assistant: What is the Best For Smart home?". 11 February 2020.
  76. ^ "Home Assistant Vs Openhab 2019". 10 August 2019.
  77. ^ "Home Assistant Vs OpenHAB". 29 July 2019.
  78. ^ Gadget-Freak, Chef (28 April 2019). "Comparison between Domoticz and Home Assistant".
  79. ^ "The State of the Octoverse". The State of the Octoverse. Retrieved 1 April 2021.

External links[edit]