I assure you this is for the best – This plugin is really just an install script that follows the same steps you would perform during a manual installation. At the end of the day, this is always a pip install homeassistant
– The plugin’s post_install.sh
simply does all step required leading up to any finally installing homeassistant
– In fact, the only basic difference between this plugin and Installation of Home Assistant on your FreeNAS is was my choice of username and location for the virtualenv –
The provided configuration is nothing special, truth be told, it’s only there because I wanted to have some minimum defaults to test a clean installation.
All it does
-
Enable packages. Using a package, I can easily add the iframes ( HA side panel links to AppDaemon and File Editor ) without touching any other configuration files.
-
Provide a way to add your access token for
appdaemon
, before its installed. This not actually required either – but you will be spammed with endless “login attempted fail” ifappdaemon
is running and this is not correctly set. -
The
configurator
( File Editor ) technically does not need any configuration file at all! - but when it’s there, it will provide persistent settings. The access token is optional for the basic file editing, but it’s needed if you want to communicate with the HA api. I use this file to again provide some sane defaults. Most useful is setting that starts in$homeassistant_config_dir
when you looking for a file to edit.
In the past, I came at this from the Home Assistant side. This approach seemed OK and was perfectly natural to me because I am a Linux user – That’s why the virtualenv was in /srv/homeassistant
and I’m pretty sure I remember, waaay long ago ( I think around days of the AIO install ), hass
was even the official username. ( It is still the core program name )
After much debate ( Special thanks to @atxbyea @Tinkerer @jkhii for not blocking me on Discord ) I’m finally looking at this from the FreeBSD side.
Clean installs of the plugin will now use sane defaults that a BSD user would expect. The updated service script also includes some fragmented bits that were spread around this plugin and allows more settings via $rcvars
. The new service should work for anyone already using some variation of the existing service script.
I’m hoping a guide for the new service script will bridge the gap between this plugin and the manual installation… also providing manual break down of what should be happening, and by reference how preform the same steps manually
Quick Example – This is still pip venv, but using the service, we do not have to always remember about who the user is or location of the virtualenv.
service homeassistant install [CMD]
That is equal to
su - $homeassistant_user
source $homeassistant_venv/bin/activate
pip install [CMD]
deactivate
Typical use cases
- Upgrade Home Assistant
service homeassistant install --upgrade homeassistant