Home Assistant



Home Assistant is a free and open-source home automation software written in Python with a focus on local-control and privacy.[2][3][4][5][6][7][8] It has a very wide range of device support, and as of May 2020 it features support for over to 1600 modular plug-ins or add-ons with system integrations to different IoT technologies, systems and services are available as "integration components".[9] Actions, such as switching ON/OFF lights, are triggered by automation, voice commands, mobile apps, or controls on the Home Assistant web-based frontend user-interface.[10][11][12][13][14]

The Home Assistant project started in September 2013. In November 2013, the core functionality was first published on GitHub. As of May 2020, it has over 1930 developers who have contributed to its core.[15][16][17][18][19] The project has free and open source companion apps for both Android and iOS (iPhone and iPad).[20][21]

At the GitHub "State of the Octoverse" in 2019 it listed Home Assistant as the tenth biggest open source project on GitHub based on the number of active contributors that year (as the project had contributions from 63,000+ contributors during 2019).[22][23][24]


Home Assistant acts as a smart home controller hub which features all common functions that you would expect from a home automation platform to control simple smart home technology and advanced building automation.[25][26][27][27] It provides action and scripts rule-based systems for creating automations, with time and event condition handling, scheduling tasks, notifications and voice control, as well as functions for direct and on-demand actions.[28][29][30][31]

It is deployed as an on-premises software and can connect directly or indirectly to IoT (Internet of Things) local devices and local or cloud services from many different vendors, including other open and closed smart home ecosystems. It features modular system integration system with "integration components" (plug-ins or add-ons) for most popular devices, services, and IoT ecosystems, such as; Amazon Alexa, Apple HomeKit, Bluetooth, ecobee, Google Assistant, Google Cast (Google Chromecast), Google Home, Google Nest, IFTTT, IKEA Smart Home (Trådfri), KNX, Xiaomi Smart Home (Mi Home), MQTT, Philips Hue, SmartThings (Samsung), Sonoff (eWeLink, official DIY-mode, and third-party firmware), Sonos, Tuya Smart, X10, Zigbee, Z-Wave, and other system integrations.[9][32][33][34][35][36]


Home Assistant Core is a Python program that can be deployed on servers running various operating systems, although the name has also been used[citation needed] to refer to an official software appliance / virtual appliance installation package that combines the Home Assistant Core, a just enough operating system, and various other tools. This setup allows one to run it easily on a single-board computer like a Raspberry Pi, a virtual machine on a hypervisor (available in a many modern network-attached storage systems), and other hardware platforms without setting up an operating system first. It has a management user interface that can be used from the Home Assistant frontend, that interface is otherwise not present in a Home Assistant Core only setup.[37][38][39][40]

Discovery and configuration

After installation, Home Assistant scans the local network and discovers devices that can be included in the smart home solution. Users can provide credentials and device names via an administration user interface.[41][42][43][12]


Home Assistant's on-premises nature, and the fact that it is open source, have been described as beneficial to the security of the platform, specifically when compared to off-site and proprietary systems.[2][3][4][5][6][7][8]


Home Assistant took second place in 2017[44] and 2018[45] for the Thomas Krenn Award (formerly Open Source Grant), later winning first place in 2019.[46] Home Assistant also won an DINACon award in 2018 for their "Open Internet Award" category.[47][48], as well as being a nominee for the same awards in 2013[49]

Home Assistant was also included in a number of product and platform comparisons, where it has, like many other non-commercial home automation controllers/hubs also has, in the past often been criticized for forcing users into a tedious file-based setup procedure using text-based YAML markup-language instead of graphical user interfaces.[50][51][52][53][54][55][29][56] However, newer versions of Home Assistant have also made it much easier to perform a standard installation from scratch and quickly get started compared to earlier versions, as the core development team have for the latest couple of years been putting a lot of time and effort into making Home Assistant more user-friendly to new and less advanced home automation users. More and more moving configuration settings from its YAML setup files to the latest revisions of its web-based graphical user interface.[57][58][59][60][61][62][63][64][65][66][41][67]

Last updated