1. Upgrade Home Assistant
Home Assistant has an amazing development community. They are constantly working to add components, increase reliability and speed, and update the UI. This effort translates to a two week update cycle. I would not suggest you need to upgrade every two weeks (but you could), but I would suggest every month, I would also keep an eye on the update logs to see what features and components have been updated or improved.
There are several ways in which to upgrade Home Assistant. If you have installed Home Assistant on a Raspbian Jessie installation (or most other Raspberry PI compatible builds) the upgrade path is a straight forward 3 step process.
- Update Raspbian
sudo apt-get update
- Upgrade Raspbian
sudo apt-get upgrade -y
- Upgrade Home Assistant
sudo pip3 install --upgrade homeassistant
- Reboot your PI (or whatever computer you are running Home Assistant on. (Strictly speaking you do not have to reboot, you could just restart the service, but I feel this is best practice. Also, I have seen instances where two reboots were needed)
2. Install a Previous Version of Home Assistant
There are times when this fast update cycle leads to minor bugs, or backward compatibility issues (this is actually pretty rare, especially considering the pace of development). The solution is sometimes to temporarily run Home Assistant on an older version.
- Install a previous version
sudo pip3 install homeassistant==0.XX.X #(were 0.XX.X is the version you would like to install
Keep in mind the Dev Team is really good, and they fix bugs quickly, so this should be a temporary workaround. Running in an older version for a long time could cause you other issues and keep you from getting the performance and functionality updates of later builds.
3. Check Your Configuration
The Home Assistant Developers are in the process of moving the ability to check your Home Assistant configuration from the UI, but I feel it is more efficient (at least in the workflow that I use and show in the videos) to do this from the command line.
Once you are finished editing Configuration.yaml and any associated files save them and run:
hass --script check_config
Checking your configuration will validate your yaml structure, ensure you do not have multiple instances of the same component (two media_player instances for example), and check for other less common errors. Where possible the script will provide what file the error is in, and on what line.
Keep in mind, this does not check logical errors like wrong IP addresses, names, and the like.
4. Use the Available Support
One of the great things about Home Assistant is that there is a very large and generous community of users and developers offering support. This support comes in a few forms:
- The Home Assistant Website: There are some very dedicated volunteers keeping the Home Assistant documentation up to date. Start here for self support and to gain a better understanding of the Home Assistant Platform.
- The Home Assistant Community Forums: If you are struggling with something, looking for ideas, looking to catch-up on current events, or want to get involved, you could do worse that to start in the forums.
- The Home Assistant Gitter based Chat Room: People hang out in here offer support and to learn from others. Whenever I am stuck (after doing some of my own research of course), I come here and I am never disappointed.
- Social Media: There are many people in social media world addressing home automation generally, and Home Assistant specifically. Some of these include:
- When all else fails…Search the Web
5. Hide Your Personal Details
The secrets file is great for hiding your personal information (passwords, API keys, IP Addresses) when you need to post portions of your configuration files to the support chat and forums for help. I also like it as part of an overall organizational scheme, having all this type of information in one spot can help in troubleshooting and easy reuse.
The general principle is this. Put all your passwords and keys in one file, and reference that file from your configuration files. In the case of Home Assistant this functionality is built in and very easy to use:
- Create a file in your main Home Assistant directory called “secrets.yaml” (~/.homeassistant/secrets.yaml)
- Create key pairs (one pair per line) of the alias and secret you want to save in the format of Alias: secret (HA_Password: password1234)
- In your configuration files reference the secret in the format of !secret Alias (!secret HA_Password)
- Keep in mind there is a space between !secret and the alias you are calling.
while troubleshooting it is possible to use the hass –script check_config script (from above) to list out all the secrets you are using.
hass --script check_config --secrets
For more information see Home Assistants website.