Home Assistant: Automate Your House With Your ODROID-N2

Home Assistant (HA) is a home automation operating system with a focus on local control and privacy. HA includes a custom operating system, HA Core, to run the home automation operations and a supervisor to manage everything, keeping it up to date.

[Fig 01 ]
It is the most prominent open-source home automation platform worldwide, with over 80,000 active installations and it is translated into 57 different languages. HA was listed in the top 10 most active projects on GitHub in 2019. Every 3 weeks, a new release is built with contributions of over 80 different people. The project is financed by the HA Cloud provided by Nabu Casa, Inc. This is a subscription service offering features like an end-to-end encrypted connection to the home, without any configuration on the user side. HA is growing very fast, and there are a handful of full-time developers that work on this project together with the community, which helps to support the 1550 different integrations that HA supports.

[ Fig 02 ]
The HA Operating System supports a wide range of platforms. From a Virtual Appliance up to various SoC Boards. When the operating system started, three years ago, the idea was to support as many SoCs as possible. However, we soon realized that not every hardware results in a good user experience of the next-gen smart home hub. We now focus on the SoCs that provide the desired user experience, are prominent and easy to get for the first taste of HA. We have ready-to-use images for each supported platform. To get started, you need to flash our image with Etcher to an SD card or eMMC. This is a one-time process; once up and running, you can use OTA updates via the user or command-line interface. In the upcoming release of HA OS 4 (short REL-4), we worked hard to improve our support for the ODROID-C2 and ODROID-XU4 boards, and we are also adding support for the ODROID-N2. It is using the mainline Linux kernel (LT 5.4) and u-boot (2020.01) with some backported device-tree fixes from Linux 5.5 and a u-boot fix to adjust the MAC address of the internal ethernet port. Amlogic S922X, S922D, and A311D are the perfect SoCs for the Next-Gen smart home hub. ODROID-N2 is using the S922X, which makes it an ideal device to run HA on. Our operating system started its life named Hass.io, as a fork of ResinOS. ResinOS uses Yocto to create an embedded Linux system, however, ResinOS values didn’t align with our “local control and privacy first”. Yocto was tough to maintain for all the different platforms for a small project with limited resources like ours. This leads us to create the HA OS with the focus on local control and privacy first, built from scratch using Buildroot, powered by our previous experience. Buildroot has helped to simplify everything and made the project easier to maintain by our community. The only goal of the OS is to provide anything that is required to run the Supervisor. This includes things like Docker, NetworkManager, Dbus, AppArmor, and Systemd. We optimized the operating system to have a small footprint by leveraging ZRAM and LZ4/SquashFS to compress the root file system and device memory. The Supervisor is the brain of the system and runs inside a Docker container. It manages the host functionality, Docker orchestration, and locally attached Hardware. The Supervisor streamlines this into an API, which is consumed by our user interface. The Supervisor allows spinning up additional software, using Docker containers with extended wrapping, called add-ons. HA comes preinstalled with its own collection of add-ons and a collection provided by the community. It is also possible to add additional add-on repositories to the built-in add-on store. This functionality makes it possible to install the Mosquitto MQTT broker, Node-RED, VSCode, and many other software packages with a simple click. An internal network and service layer ensures a seamless user experience by integrating user interfaces provided by add-ons, into the HA user interface.

[ Fig 03 ]
On top of the Supervisor lives HA Core, HA Core is responsible for collecting the data, providing control and home automation. It is the ultimate home automation software, virtually capable of integrating with anything with the, over 1550, integrations it provides. All these pieces combined makeup HA, which is free and open-source, and built by a great community. Get yourself an ODROID-N2, install HA and join the HA universe at https://www.home-assistant.io!

Be the first to comment

Leave a Reply