Appunti su Home-Assistant

Home Assistant è un software open-source basato su Python 3 in grado di controllare tutti i dispositivi tecnologici all’interno della nostra abitazione, dalle luci al sistema di riscaldamento come le automazioni delle tapparelle. Essendo un prodotto open-source è supportato dall’intera community quindi è in continuo e costante aggiornamento. Questo software è multi-piattaforma quindi è installabile praticamente ovunque: Linux, Osx, Windows. E' estremamente leggero riguardo alle risorse hardware richieste, il che lo fa un compagno ideale per Raspberry per il quale esiste una apposita immagine già pronta, che però noi non utilizzeremo. Può essere controllato da qualsiasi Browser, desktop o mobile e sono presenti le realitive app di controllo per Android e iOS.

Per prendere dimestichezza con l'ambiente operativo di Home Assistant è disponibile una pagina DEMO cliccando QUI.

Installazione da Raspbian Lite

Prenderò in cosiderazione l'installazione da RaspbianLite in modo da avere il pieno controllo sul raspberry

Partire da una SD con caricata l'ultima versione di Raspbian Lite disponibile

Loggarsi nel modo che preferite con l'utente pi poi aggiornare la distribuzione

pi@raspberrypi:~$ sudo apt-get update && sudo apt-get upgrade -y

Se necessario per le vostre esigenze installate mosquitto per il protocollo MQTT

pi@raspberrypi:~$ sudo aptitude install mosquitto mosquitto-clients -y

Installare i pacchetti necessari

pi@raspberrypi:~$ sudo apt-get install python3 python3-venv python3-pip -y

Procediamo alla creazione dell'utente con cui girerà HA

pi@raspberrypi:~$ sudo useradd -rm homeassistant
pi@raspberrypi:~$ sudo passwd homeassistant
pi@raspberrypi:~$ sudo nano /etc/sudoers

Aggiungere alla fine del file poi ctrl+x per chiudere e ctrl+y per salvare poi invio per confermare il file

homeassistant   ALL=(ALL) NOPASSWD:ALL

Questo passaggio è necessario per aggiungere l'utente homeassistant al gruppo sudo per poter lanciare i comandi shell con sudo all'interno di HA

Ora procediamo all'installazione vera e propria

pi@raspberrypi:~$ cd /srv
pi@raspberrypi:/srv$ sudo mkdir homeassistant
pi@raspberrypi:/srv$ sudo chown homeassistant:homeassistant homeassistant
pi@raspberrypi:/srv$ sudo su -s /bin/bash homeassistant
homeassistant@raspberrypi:/srv$ cd /srv/homeassistant
homeassistant@raspberrypi:/srv/homeassistant$ python3 -m venv . *(okkio che c'è un punto che ci deve essere)*
homeassistant@raspberrypi:/srv/homeassistant$ source bin/activate

Se tutto è andato come si deve dovreste trovarvi con un prompt così

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $

Continuiamo l'installazione

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel
(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant

Bene è ora finalmente facciamo partire HA

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ hass

Andate pure a prendere un caffè ora installerà tutte le dipendenze e cercherà tutti i dispositivi plug&play nella vostra rete, ci vorrà un pò, dai 5 ai 20 minuti in base alla vostra linea internet

Dopo aprite un browser e digitate l'indirizzo e sarete nella schermata iniziale di HomeAssistant

http://raspberrypi.local:8123

Ora facciamo in modo che HA parta all'avvio

Torniamo sul terminale di prima CHIUDIAMOLO ed APRIAMONE un'altro

pi@raspberrypi:~$ sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service

Copiamo e incolliamo poi ctrl+x per chiudere e ctrl+y per salvare poi invio per confermare il file

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target
pi@raspberrypi:~$ sudo systemctl --system daemon-reload
pi@raspberrypi:~$ sudo systemctl enable home-assistant@homeassistant
pi@raspberrypi:~$ sudo reboot

Informazioni Utili

# Controllate la stato del servizio
pi@raspberrypi:~$ sudo systemctl status home-assistant@homeassistant
# Riavviare il servizio
pi@raspberrypi:~$ sudo systemctl restart home-assistant@homeassistant
# Riavviare il servizio e tenere sotto controllo il log
pi@raspberrypi:~$ sudo systemctl restart home-assistant@homeassistant && sudo journalctl -f -u home-assistant@homeassistant
# Vedere il log del servizio - crtl+c per uscire
pi@raspberrypi:~$ sudo journalctl -f -u home-assistant@homeassistant
# Vedere solamente gli errori log del servizio - crtl+c per uscire
pi@raspberrypi:~$ sudo journalctl -f -u home-assistant@homeassistant | grep -i 'error'

Modalità da seguire per aggiornamenti futuri, visto che è in continuo aggiornamento

pi@raspberrypi:~$ sudo systemctl stop home-assistant@homeassistant
pi@raspberrypi:~$ sudo su -s /bin/bash homeassistant 
homeassistant@raspberrypi:~$ cd /srv/homeassistant
homeassistant@raspberrypi:~$ source bin/activate
(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install --upgrade homeassistant
(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ exit
pi@raspberrypi:~$ sudo reboot

...A breve altre guide per la configurazione

Alessio Camaioni (graphic designer - developer)
Socio di Eliografica dove si occupa di grafica e stampa. Appassionato di Tecnologia, Programmazione, Networking e Domotica.
http://www.eliografica.com · info@lxs.it · Telegram: @LxS77