Home Assistant (HASS) is a localized home automation server system that doesn't relay on any external cloud service nor network connections. It's written with Python and it has wide home automation hardware support, called integrations. It has a web as well mobile device (iPhone, Android, tablets) user interfaces for different use cases.
By its nature home automation installations are used for long periods which conflicts with the fast pace of Linux operating system life cycles. HASS is also written with the latest Python features which are not available in enterprise type of Linux variants. There are no premade packages for any Fedora camp distribution. These combined it's hard to install and get running on enterprise Linux and Fedora itself would have to be constantly upgraded.
Project itself provides a lot of pre-made installation images where Rasperry Pi native hardware is the reference target. That's very easy if a RasPi is available and the intended platform. HASS has CCTV-features that are CPU-intensive and the more powerful Raspi's help with those features.
In non-RasPi installations, provided virtual machine images do not run on enterprise Linux (2023) KVM. There is also a manual installation method. At the moment looks like the Fedora Server releases (bare metal or virtual installation) provide the both requirements, the somewhat recent Python versions and slower release cycle where it can be manually installed with Python package installer pip tool. Python package-method is also easy to update with HASS monthly updates. Manual Python package installation has some limitations, some third-party web-installation methods don't work for example.
Manual installation with Python package installer
Python package name is homeassistant. Should be noted, that it's available in different Python version repositories, but older Python versions have very old HASS versions which don't get updated anymore. They install but are years old and should not be used as all the documentation, discussions and integrations have moved on. The correct way to solve this is to change Python, that is a distribution version with newer Python.
In python venv environment:
$ pip3 install homeassistant
Systemd
Systemd file /etc/systemd/system/hass@hass.service. It assumes the manual installation directory.
[Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=%i WorkingDirectory=/home/%i/.homeassistant ExecStart=/srv/hass/bin/hass -c "/home/%i/.homeassistant" RestartForceExitStatus=100 [Install] WantedBy=multi-user.target
User interface
Web interface is in port 8123 by default.
See also
External links
- home-assistant.io home page.