community italiana di domotica personale
 
Aggiornare Python su Raspberry Pi OS dalla 3.5.x alla 3.6.x (o superiori) – e ripristinare Home Assistant Core

Aggiornare Python su Raspberry Pi OS dalla 3.5.x alla 3.6.x (o superiori) – e ripristinare Home Assistant Core

SCOPI DELLA GUIDA
  • Aggiornare la versione di Python dalla 3.5.x (o inferiori) alla 3.6.x (garantendo il funzionamento di Home Assistant da Agosto 2019 in poi)
  • Livello di difficoltàbasso
CONCETTI AFFRONTATI:
  • Utilizzo e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI
DISPOSITIVI FISICI UTILIZZATI:
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:
Ambiente Home Assistant Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 1.4

Abstract

A partire dalla versione 0.94 di Home Assistant, la versione di Python 3.5.x (o inferiori) non è più accettata come valida, ma considerata deprecata. A partire dal 1 Agosto 2019, il primo aggiornamento di Home Assistant utile considererà tale versione obsoleta come non più valida, pertanto Home Assistant non funzionerà semplicemente più.

Questo vale solo per le installazioni di Home Assistant su sistemi dotati di sistema operativo Raspberry Pi OS dove l’HUB sia installato come applicativo (no Home Assistant OS, no Home Assistant OS su Docker) – ad esempio come in questa guida – oppure, sempre come applicativo, sul altri sistemi operativi.

Questa guida illustra come aggiornare Python su un sistema Raspberry Pi con sistema operativo Raspberry Pi OS da una versione inferiore alla 3.6.x a quest’ultima.

ATTENZIONE: provvedere ad effettuare PRIMA l’aggiornamento alla versione 0.94 di Home Assistant (come spiegato in calce al post che illustra questa nuova versione), verificare che esso riparta correttamente – ed eventualmente risolvere gli eventuali problemi – e POI provvedere a questo aggiornamento. Diversamente, un eventuale mancato riavvio di Home Assistant potrebbe essere imputato alla procedura che segue quando invece potrebbe derivare dalle novità introdotte dalla 0.94. La procedura che segue è testata e funzionante.
N.b. Si è scelto di proporre l’aggiornamento alla 3.6 anziché direttamente alla 3.7 per il fatto che la prima è certamente più collaudata, testata e supportata della seconda, anche e non solo in ottica Home Assistant. Per chi volesse installare direttamente la 3.7, la guida è questa.

Verifiche

Prima di proseguire, verificare che la configurazione di Home Assistant sia presente sotto il path:

/home/homeassistant/.homeassistant

In secondo luogo, eseguire il seguente comando:

python3 --version

se la versione è inferiore alla 3.6.x, allora è il momento di agire.

Aggiornamento

Innanzitutto fermare Home Assistant:

sudo systemctl stop home-assistant@homeassistant

a questo punto eseguire la seguente sequenza di comandi:

sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev -y
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
tar xzvf Python-3.6.4.tgz
cd Python-3.6.4/
./configure
make
sudo make install

prendersi una pausa, ci vorrà un po’.
Al termine, disabilitare temporaneamente il servizio di Home Assistant e provvedere ad un riavvio:

sudo systemctl disable home-assistant@homeassistant
sudo reboot

Salvare Home Assistant

A questo punto è necessario salvare la propria configurazione di Home Assistant:

cd /srv/homeassistant 
sudo rm * -R
cd .. 
sudo chown homeassistant:homeassistant homeassistant
cd /home/homeassistant
sudo mv .homeassistant/ .homeassistant_backup
sudo su -s /bin/bash homeassistant

Aggiornare

Ora è possibile aggiornare:

cd /srv/homeassistant
python3.6 -m venv .
source bin/activate
pip3 install homeassistant
hass -v

Attendere l’avvio completo di Home Assistant, attendendo di leggere la riga di log:

INFO (MainThread) [homeassistant.core] Starting Home Assistant

dopodiché, brekkare con ctrl+c.
Infine, ripristinare la configurazione di Home Assistant.

deactivate 
exit
cd /home/homeassistant
sudo rm .homeassistant/ -R
sudo mv .homeassistant_backup/ .homeassistant
sudo chmod -R 0777 /home/homeassistant/
sudo systemctl enable home-assistant@homeassistant
sudo reboot

A questo punto Raspberry dovrebbe effettuare un reboot e Home Assistant dovrebbe riavviarsi correttamente, questa volta eseguito su Python 3.6.x.

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.