Hi
A few hours later and I have Buster installed and Python Upgraded to 3.7.3 if like me your running home assistant on a Pi with virtual environment you may find this useful to save some time or if your going for a fresh install of Buster and Home Assistant under Python 3.7.x.
No doubt you will get errors and dependencies that are specific to your set up but this may be of use to cut out some time and bite the bullet and upgrade to stop the notification on the newer home assistant installations.
I tried my best to copy and paste actions as I went through this so I could save time on my other Pi’s. I’ll probably get this system fully functional and just image it to another SD then copy and change config and lets encrypt files for my other installs/domains on my other Pi’s.
I always backup .homeassistant directory with all the config files and make an image of the current setup with Win32DiskImager! Things can go wrong so beware. Although I was pleasantly surprised no major issues!!
I’m running Home Assistant in this location- srv/homeassistant/homeassistant_venv with my config in
home/homeassistant/.homeassistant
First Buster with Python 3.7.3;
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Then manually edit the following files, and change everywhere listed as ‘stretch’ to ‘buster’ and save the files.
/etc/apt/sources.list
and /etc/apt/sources.list.d/raspi.list
Then run again;
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
press q when it comes to the end for quit, carries on with install`
I said ‘n (no)’ to keep existing config files as they came up through the install as I wanted my configs
Then reboot and you should have Buster and Python…
Then you have to create a new venv, using Python 3.7 Use the same method that you used originally but for me I first renamed the old one,
You can check Python version with python3 –version
(should be 3.7.3 or whatever Buster has)
Then move old virtual environment;
mv homeassistant homeassistant.old
I was missing venv package so ran that first and then created a new venv, activated and installed homeassistant; (there were errors running the last command, I worked round these);
Sudo apt-get install python3_venv
python3 -m venv homeassistant
source bin/activate
python3 -m pip install homeassistant
hass --open-ui
Home assistant wouldn’t start correctly as modules were missing, I needed some keys for these;
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Ran another;
then sudo apt-get update
sudo apt-get upgrade
Had an issue with pip so installed easy install (if haven’t got already sudo apt-get install python3-setuptools
or google) and ran;
sudo easy_install pip
I froze old Venv and created requirements.txt
source /srv/homeassistant_old/homeassistant_venv/bin/activate
pip3 freeze —local > ~/requirements.txt
deactivate
Install requirements new Venv;
source /srv/homeassistant/homeassistant_venv/bin/activate
pip3.7 install -r requirements.txt
Have any issues with errors on the above find the file home/pi/requirements.txt and take out the lines where those modules are causing an issue and re save. I had python-apt==1.8.4 so removed it.
I had an issue with PyGObject so ran;
apt-get install libcairo2-dev
Then keep running until no errors in the Virtual environment, the order of things I needed were below;
pip3.7 install -r requirements.txt
sudo -H pip3 install setuptools –upgrade
sudo -H pip install setuptools –upgrade
sudo apt install libgirepository1.0-dev
pip3.7 install -r requirements.txt
sudo reboot
I found the homeassistant status command useful throughout for errors or if homeassistant was running
systemctl status [email protected] -l
or the log as it loads;
tail -F /var/log/syslog
or check the log out at home/homeassistant/.homeassistant/home-assistant.log
or the system log at
var/log/syslog
Always make sure when compiling HA I was in Virtual Environment;
source /srv/homeassistant/homeassistant_venv/bin/activate
I had no front end module so;
pip install home-assistant-frontend
I needed to change the open zwave directory in my home/homeassistant/.homeassistant/configuration.yaml
zwave:
usb_path: /dev/ttyACM0
config_path: /srv/homeassistant/homeassistant_venv/lib/**python3.7**/site-packages/python_openzwave/ozw_config
And as per my last python upgrade there is some messing around with running commands and tts but nothing you can’t google and correct if they are an issue. I removed/reinstalled pulseaudio / mplayer/ vlc-bin / omxplayer and the libraries. I followed something I did on here previously for Bluetooth (out of date to a degree for that now). I’m using the 3.5mm jack so ensured that was activated in raspi-config
I deleted home/pi/duckdns folder and reinstalled duckdns from the install instructions for a pi on the duckdns website against my domain name as I was getting HTTP/SSL errors but they seem to now be gone, that was an error like this
https://community.home-assistant.io/t/log-error-ssl-handshake-failed/93236
I’m still having an issue with playing mp3’s but that’s my set up and may not affect others, I’ll figure that out.
But log looks good (zwave socket and orvibo were unplugged and I still have emulated hue in config);
2019-11-09 11:52:49 WARNING (MainThread) [homeassistant.components.emulated_hue] Emulated Hue running in legacy mode because type has been specified. More info at https://xxx
2019-11-09 11:53:01 ERROR (SyncWorker_10) [homeassistant.components.orvibo.switch] S20 at 192.168.1.201 couldn't be initialized
2019-11-09 11:53:46 WARNING (MainThread) [homeassistant.components.zwave] Z-Wave node 36 not ready after 30 seconds, continuing anyway
2019-11-09 11:53:53 WARNING (MainThread) [homeassistant.components.zwave] Z-Wave entity Unknown Node 36 Switch (node_id: 36) not ready after 37 seconds, continuing anyway
At last got sound for mp3’s and tts working.
I think my key was adding users pi and homeassistant to pulse access;
In the file /etc/pulse/daemon.conf make the daemon “system-wide” so it is active for the whole system:
change to system-instance = 1
Added users pi, home assistant to the groups pulse
, pulse-access
.
sudo adduser pi pulse
sudo adduser homeassistant pulse
sudo adduser pi pulse-access
sudo adduser homeassistant pulse-access