Installing Home Assistant Supervised on Raspberry Pi OS

Tags: #<Tag:0x00007f73956d4600>

The only officially supported OS will be Debian, however, being that Raspberry Pi OS is Debian based, this method should continue to work without issue.

The only real problem I can foresee is that you won’t be able to lodge a Github issue if your install breaks for some reason. The community would always be happy to help though.


I am now considering something more powerful than a Pi … what would you consider?
I will also use it as a media server.

First of all thanks for an excellent job.
I need to remove the containers created by this installation, but they always return automatically, how do I remove the installation?

I use an old Dell Optiplex 990 that picked up on eBay for under $100 (AUD), added an SSD. Runs HA, Plex, Shinobi for CCTV and may other things, very sold performer and for almost the same money as a 4gb RPi 4 set up would cost.

1 Like

The Supervisor will continually restart, so you need to untag it and stop it. You can then stop the other containers and delete.

Some useful info on Docker commands is HERE

perfect, today I should pick up aFujitsu ESPRIMO E5730 Intel Core™2 Duo 4GB RAM and will try it out.
What OS are you using?

Followed the guide, but home assistant is not running.
The took only 1 minute to run on my raspberry pi 4.
No containers are actively running when I do docker ps
Any idea what I am missing?

[email protected]:~# curl -sL "" | bash -s -- -m raspberrypi4
[Info] Install supervisor Docker container
[Info] Install supervisor startup scripts
[Info] Install AppArmor scripts
[Info] Run
[Info] Install cli 'ha'
[email protected]:~# ha
Error: No such container: hassio_cli

Thank you very much for this post! My system crashed today and I could not make it run anymore. This guide helpt me out getting the supervisor version installed again! I installed everything successfully on my SSD that my Pi uses to boot.

For those readers here that are interested. I run the above instructions using DietPi instead of Raspberry Pi OS Lite. DietPi is based in Raspberry Pi OS, but it’s even smaller and more stripped from software that is not needed. Works perfectly.

Haven’t test this yet, but you can also let it install HA for you from the available download options.

Thanks for this guide. I just got a pi4 up and running with SSD USB boot. It’s so quick.

My only issue is that my Zwave USB stick is not visible to home assistant. Is there an easy way to enable this USB device in the docker container? I’ve been googling quite a bit, but I want to make sure I don’t botch this build.


You may need to make a UDEV rule to mount it each boot so HA will see it. It’s been a while since I’ve done this, but these are my own notes on how to do that may help you.

SSH into your Pi using Putty and run this command;


You’ll see a list of connected USB devices.

Bus 001 Device 004: ID 0578:0578 Intrinsix Corp.
Bus 001 Device 005: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I’ll use this card reader as an example.
Bus 001 Device 005: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader

The info you need from that line is 058f:6366. This (058f) is the idVendor and this (6366) is the idProduct.

Use the below line and change the values to match those of your Z-Wave stick.

ACTION=="add", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", SYMLINK+="zwave"

Create a UDEV Rule and paste in the above line you just edited.

sudo nano /etc/udev/rules.d/99-usb-serial.rules

Ctrl+x to save, then reboot the Pi.

Reboot and test if symlink was created:

ls /dev/zwave

If that worked, you would tell HA that the Z-wave stick is lcoated at /dev/zwave

There might be a better way to do this, like I said , my notes are a little old.

1 Like

Thank you very much for not just giving me some code to run, but breaking it down and explaining what it means. I appreciate the opportunity to better understand this.

Unfortunately, even after following all of these steps and rebooting the pi, nothing is returned when I enter ls /dev/zwave/. I went to dev to be sure and see a bunch of items, but zwave is no where to be found.

I did all of this while sshed as user pi.

I’ll try to take what you’ve shared with me and google my way to the finishline. I’m sure we are close and there is something I’m missing.

Try a USB 2 hub between the pi4 and the zwave stick. The most popular zwave stick is incompatible with the Pi without hub between.

I actually have a USB hub in the middle and it does allow me to see the zwave stick.

Strangely enough, I added an addon-on to ssh right into the hassio portion of my pi and I was able to see the zwave stick if i ran “hassio hardware info”. So it natively is making it’s way into docker and into home assistant. For some reason its not appearing in the hardware GUI.

Using this approach, I was able to get this info “/dev/serial/by-id/usb-0658_0200-if00”. That’s the zwave stick and I should be able to use that info to configure my zwave network. It matches what I discovered originally with kanga_who’s guide from the pi user end.

I guess what I learned is that it passed all along and I just had to go digging to see it behind the scenes. Now to start testing this with my network to make sure it works.

Thank you both for your help. I really appreciate it. I’m so happy to have my pi4 finally running this on a SSD.

Edit: It works! I added this to my config and now my Zwave works!

  usb_path: /dev/serial/by-id/usb-0658_0200-if00
1 Like

@kanga_who, my install still running on the previous Raspbian image, but I noticed my swap was always at 100%.

the reason is that it is limited by default to help with SD Card wear. To resolve (I am running rootfs on an SSD), you need to edit the swap config file

sudo nano /etc/dphys-swapfile 

I simply commented out the line that limited max size and let the system decide how big to make the swap file.

System has been more stable since.

1 Like

I’ve followed all the instructions and have supervised HA running on my Rpi 4…with rtl_433 running on the same Rpi4. I’ve installed Node-Red (using the supervisor Add on store) and node red sees the info from rtl_433. My problem is that I can’t get node-red to connect to home assistant so I can use the home assistant node-red nodes. It’s unclear to me how to set the node properties to connect.

I’ve installed the node-red companion component using HACS but even if I check the “I use the home assistant add-on” box, it won’t connect and I am told I need to install the companion component which is already installed.

Is there a way to connect Node-red nodes to home assistant when it’s installed following this guide?

Thank you so much for this. I installed this on a 120Gb SSD that boots on a Raspberry Pi 4 and it works perfect.
Created a snapshot of my SD Home Assistant and restored it to the SSD after going through your tutorial and booooommmmm everything was back as before, but now running on a bootable SSD on Raspberry 4.

Great work!


Hello, can you tell me witch tutorial you used for booting the pi4 ? thanks


I only just found out that Deconz is not working anymore using this tutorial. It does not connect to the Conbee II anymore. Seems a file access rights problem, but I am not sure.

[Edit]: SOLVED: Using a USB extension cable and put the Conbee II about 2 meters away from the SSD solved this problem. Everything works fine now.

I had the same issue and I found that the “Zigbee Kanal” and the “Netzwerk Id” was missing