Installing Home Assistant Supervised on Raspberry Pi OS

OMG. Your post just saved me! Thank you very much!! You cant imagine how thankfull i am. Tomorrow i would have resetted my whole raspberry ! Have a great day!

You’ve already answered your own question in this sentence.

20-11-24 03:44:54 ERROR (SyncWorker_7) [supervisor.docker] Dockerd connection issue for hassio_observer: UnixHTTPConnectionPool(host=‘localhost’, port=None): Read timed out. (read timeout=900)
20-11-24 04:06:54 ERROR (MainThread) [supervisor.plugins.observer] Can’t start observer plugin
20-11-24 04:06:54 ERROR (MainThread) [supervisor.misc.tasks] Observer watchdog reanimation failed!

I get periods of blackdowns in my sensor history graphs when this error happens for hours, any idea what is causing it?

Also do you advice to install the new update for the core?

I’m not sure what you mean? All HA updates are installed through the HA web interface, in the Supervisor panel…

I was meaning the update to 0.118.3, yes.
I still have this kind of error, is this ok or not?

20-11-25 09:02:36 ERROR (MainThread) [supervisor.core] Detected unsupported OS: Raspbian GNU/Linux 10 (buster)
20-11-25 09:02:36 ERROR (MainThread) [supervisor.core] NetworkManager is not correctly configured
20-11-25 09:02:36 INFO (MainThread) [main] Running Supervisor
20-11-25 09:02:36 WARNING (MainThread) [supervisor.core] System running in a unsupported environment!

The part about Raspberry OS I understand, but about Network Manager, why it is configured wrong and how can I check it?
Today I couldn’t communicate with the RPi over WiFi, I opened the TV connected to it and it had lost the Wifi connection.

If you search the HA website, you will find this, which states the following…


If you have not already, install Network Manager on the host.

When it is installed, you need to make sure it manages at least one interface see the documentation for the network manager.

Here are some example files that can be used to make the Network Manager control all physical interfaces.

/etc/NetworkManager/NetworkManager.conf :

[main]
dns=default
plugins=keyfile
autoconnect-retries-default=0
rc-manager=file

[keyfile]
unmanaged-devices=type:bridge;type:tun;type:veth

[logging]
backend=journal

/etc/NetworkManager/system-connections/default :

[connection]
id=Supervisor default
uuid=b653440a-544a-4e4f-aef5-6c443171c4f8
type=802-3-ethernet
llmnr=2
mdns=2

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

/etc/network/interfaces :

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

You can also re-run the installer script.

sudo -i
curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s -- -m raspberrypi3

If you would like to run a supported installation on the Pi, follow this guide instead, and I would strongly recommend you use a network cable plugged into the Pi at all time, not WiFi.

I used your script for installation, unfortunately after installing NM the RPi4 keeps on randomizing it’s MAC and getting different IPs over WiFi after each reboot so I made a small modifications in conf.d to cancel the randomization.
I am not an expert in NM or Linux but I will check the configuration to see if it the same.
I don’t have any possibility to connect the RPi4 over Ethernet unfortunately, but as the last installation ran for 6 months over WiFi without any problems I don’t see how this is the problem.

Thanks for that. I followed your script to install to a resurrected Pi2B v1.1 with the OS booting from SSD (and before the purists strike, I know the initial boot is to the SD card but thereafter everything is via the SSD). So far seems to have worked a treat. Awaiting delivery of a zigbee stick before beginning the transfer of devices from Samsung Smartthings in an attempt to remove the need for an internet connection to run even the simplest automations.

1 Like

The new docker version will not start my ha. I searched now on the forum and found following solution:

sudo apt remove docker-ce docker-ce-cli
sudo apt autoremove --purge -y
sudo reboot

and install it again with an older version and stay with this:

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster
sudo apt install docker-ce=5:19.03.14~3-0~raspbian-buster
sudo apt-mark hold docker-ce docker-ce-cli containerd.io
sudo reboot

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster

not found!!!

Yes, it works! Than you!

Hi,
thank you very much for this great tutorial. I’ve followed it step by step and it works nicely.
However, when i reboot Raspberry Pi OS, Home Assistant does not start automatically again.
When I check the running containers using

sudo docker ps

all I get is the “hassio_observer”:

CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS         PORTS                  NAMES
dcc711d72348   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   16 minutes ago   Up 7 minutes   0.0.0.0:4357->80/tcp   hassio_observer

The other containers are there (visisble via “docker ps -a”) but not running. Do you know how I could make them run manually or ideally automatically at reboot?

Thanks a lot in advance!

After last update, now I’m in the same situation.
I’ve tried to reinstall all but then when I restart the Pi again only the observer is up and the other element are down.
If I start manually the supervisor it is strange for me that it deletes all the images and start downloading again them all:

myrpi:~# docker container start hassio_supervisor
hassio_supervisor
myrpi:~# docker container ls
CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS         PORTS                  NAMES
4568d1a70f4d   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   30 minutes ago   Up 6 minutes   0.0.0.0:4357->80/tcp   hassio_observer
d68b940ddb00   homeassistant/armv7-hassio-supervisor           "/init"   32 minutes ago   Up 4 seconds                          hassio_supervisor
myrpi:~# docker container logs hassio_supervisor
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] udev.sh: executing...
[10:45:06] INFO: Update udev information
[cont-init.d] udev.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[10:45:06] INFO: Starting local supervisor watchdog...
20-12-15 10:45:11 INFO (MainThread) [__main__] Initializing Supervisor setup
20-12-15 10:45:11 INFO (MainThread) [supervisor.bootstrap] Initializing Supervisor Sentry
20-12-15 10:45:11 INFO (MainThread) [supervisor.bootstrap] Seting up coresys for machine: raspberrypi3
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.supervisor] Attaching to Supervisor homeassistant/armv7-hassio-supervisor with version 2020.12.6
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/raspberrypi3-homeassistant:2020.12.0']
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-cli:2020.11.1']
20-12-15 10:45:11 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-dns:2020.11.0']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-observer:2020.10.1']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-multicast:3']
20-12-15 10:45:12 INFO (SyncWorker_0) [supervisor.docker.interface] Cleanup images: ['homeassistant/armv7-hassio-audio:17']
20-12-15 10:45:12 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.INITIALIZE
20-12-15 10:45:12 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
20-12-15 10:45:12 INFO (MainThread) [__main__] Setting up Supervisor
20-12-15 10:45:12 INFO (MainThread) [supervisor.api] Starting API on 172.30.32.2
myrpi:~# docker container ls
CONTAINER ID   IMAGE                                           COMMAND   CREATED          STATUS          PORTS                  NAMES
4568d1a70f4d   homeassistant/armv7-hassio-observer:2020.10.1   "/init"   30 minutes ago   Up 6 minutes    0.0.0.0:4357->80/tcp   hassio_observer
d68b940ddb00   homeassistant/armv7-hassio-supervisor           "/init"   32 minutes ago   Up 19 seconds                          hassio_supervisor
#

I think it could be something related to the last version of docker, but still not sure.

@maristos @miky_italy Use this link instead, this one is deprecated (you have to go down to docker V19 to have it running again, it is explained in this link):

sudo apt remove docker-ce docker-ce-cli
sudo apt autoremove --purge -y
sudo reboot

then...

sudo apt install docker-ce-cli=5:19.03.14~3-0~debian-buster
sudo apt install docker-ce=5:19.03.14~3-0~debian-buster
sudo apt-mark hold docker-ce docker-ce-cli containerd.io
sudo reboot
2 Likes

Thank you, it is what I was going to do, but about the downgrade I had to discover the old version, now I have the guide :smiley:

At the moment I was going to downgrade the docker I found an update to the 20.10.0 -> 20.10.1 so I tried that before downgrade: it didn’t work so for who want to try at least that version still doesn’t work.
For who is reading this thread, Raspbian OS related, the correct commands for downgrade are:

sudo apt install docker-ce-cli=5:19.03.14~3-0~raspbian-buster
sudo apt install docker-ce=5:19.03.14~3-0~raspbian-buster

At least if you don’t want to switch to the supported version (my work in progress) Debian version, but for me now it is enough to fix it.

1 Like

Thank you very much, that did the trick for me, too!
Impressive how fast this deprecation comes into effect.

1 Like

I previously had the core Home Assistant only, but wanted the Supervisor features.

It took me a few attempts, but I managed to get it working by following the tips here.

2 problems that I kinda got stuck on:

  1. Make sure you entirely remove your docker processes and containers before making a new attempt at something.
  2. Determine if you are on 64 or 32bit. I had assumed wrongly I was on 64.

Thanks :+1:

Hi mate,
I had the same issue. Not sure if you resolved it yet?
My solution:
Firstly I did not want a random MAC address each scan so added

[device]
wifi.scan-rand-mac-address=no

to the file /etc/NetworkManager/NetworkManager.conf
But this install script overides it and restarts Network Manager which seems to be what caused the error.
Resolved it by running the script as normal.
Addding the above text to NetworkManager.conf
Then edit the script and remove the section that edits the network config and restarts NetworkManager.
All installed perfectly.
Let me know if you need more details.

Hello all;

I am having problems with this install. The last step always stops at [info] Install supervisor Docker container - I can’t get past that.

Can anybody help? I’ve been trying for three days straight.

pi@mycelium-pi4:~ $ sudo -i
root@mycelium-pi4:~# apt-get install -y software-properties-common apparmor-utils apt-transport-https ca-certificates curl dbus jq network-manager
Reading package lists... Done
Building dependency tree       
Reading state information... Done
apparmor-utils is already the newest version (2.13.2-10).
apt-transport-https is already the newest version (1.8.2.2).
ca-certificates is already the newest version (20200601~deb10u2).
curl is already the newest version (7.64.0-4+deb10u1).
dbus is already the newest version (1.12.20-0+deb10u1).
jq is already the newest version (1.5+dfsg-2+b1).
network-manager is already the newest version (1.14.6-2+deb10u1).
software-properties-common is already the newest version (0.96.20.2-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@mycelium-pi4:~# systemctl disable ModemManager

root@mycelium-pi4:~# 
root@mycelium-pi4:~# systemctl stop ModemManager
root@mycelium-pi4:~# curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s -- -m raspberrypi4
[info] 
[info] This script is taken from the official
[info] 
[info] Home Assistant Supervised script available at
[info] 
[info] https://github.com/home-assistant/supervised-installer
[info] 
[info] Creating NetworkManager configuration
[warn] Changes are needed to the /etc/network/interfaces file
[info] If you have modified the network on the host manualy, those can now be overwritten
[info] If you do not overwrite this now you need to manually adjust it later
[info] Do you want to proceed with overwriting the /etc/network/interfaces file? [N/y] 
y
[info] Replacing /etc/network/interfaces
[info] Restarting NetworkManager
[info] Install supervisor Docker container
packet_write_wait: Connection to 192.168.1.127 port 22: Broken pipe
StiofansMacBookPro:~ stiofandegeata$ 

I have just taken the plunge and bought an Odroid Blue 4/128 to replace my Pi4 with SSD - it has simply become untenable to try and go against the flow. I will miss easy access to the logs, but running unsupported is increasingly challenging.

I do have other things running on the Pi so a little prep was required.

  • Take a full snapshot and download it.
  • Change the fixed IP with nmcli and change the hostname (if you have one set).
  • Stop HA starting at boot on the Pi - you need to disable and mask the services
 sudo systemctl disable docker.service
 sudo systemctl mask docker.service
 sudo systemctl disable containerd.service
 sudo systemctl mask containerd.service
  • Move any USB devices from Pi to Blue
  • Reboot Pi
  • Onboarding - upload the snapshot - this does take an age - don’t be impatient.
  • Change the fixed IP in the Supervisor menu (if you use it)
  • Change the DNS server (if you use an internal DNS).

That is it - it just simply all works