This post may contain affiliate links. Please see our disclaimer for more info.
In this post, I’ll touch on installing Home Assistant on your Raspberry Pi. To find other related posts, check out the HA series table of contents.
I won’t try to recreate the wheel here – HA documentation on installing is excellent already. Instead, I’ll go through some of my experiences.
To start, if you are unsure of which installation method to use, consider a few things:
1) What device are you installing on? Seems obvious, but if you are installing on Windows, there is only one Windows install. If you are new to HA and not ready to buy a dedicated server but have a Windows or Max OS computer lying around, this is a great place to get your feet wet.
2) If you are looking to install HA on a Raspberry Pi, are you looking for a beginner setup or more advanced? The Hass.io setup is by far the easiest, but has it’s own restrictions. This setup is an all-in-one process – you don’t have to worry about installing an OS on your pi first. In addition, there are add-ins that can be easily added to your HA setup where this is not possible on other installs.
3) You can always change your install method later! Try a way out and feel free to change if you don’t like it. Copy over your configuration and other YAML files to your new setup.
UPDATE 2019: I switched over my setup to hassio. I was looking for more ease of use and easy to add features. I was not disappointed and highly recommend it. See my post here for more details.
I ultimately went with the Hassbian setup because I wanted to use Linux to learn more about running Linux from the command line (want to be a ‘cool’ coder) but to also have complete control on the device. This setup is still fairly easy. The caveat is that you need to be willing to get your hands dirty in configuring Linux (for example setting up a FTP server whereas on Hass.io this can be done easily with an add-on). The benefit is you are able to add whatever compatibility to your Pi that is compatible with Linux. For me, I may want to run a simple web server for a Django project on my Pi. I now have that option!
Getting to know Linux isn’t all that bad. There are plenty of resources out there to learn. Plus it feels cool to type things in a command prompt (see hackertyper.net to see what I mean). Once you do enough googling, the commands start to become second nature. Be willing to learn and patient, and you’ll be fine. After hours of frustration, step away for a bit. The solution will be waiting for you when you return.
I’m using a headless setup. Headless simply means there are no input output devices that interact with a human. In other words, no keyboard/mouse and no monitor. My Raspberry Pi is tucked away in the corner. It’s accessed via SSH. Essentially I can access my Pi from any computer (with a SSH client installed – v easy to do), and you have the command prompt right in front of you. It’s nice to access my Pi on my laptop in the living room. Pro Tip – I tried the Windows SSH client (running on the linux subsystem) and found it buggy – some commands wouldn’t work. Try Putty instead. Also if you are on a Mac, SSH is installed by default. Access it via terminal.
See my equipment in this post.