Appunti su Home Assistant: Piattaforma Open Source per Home Automation

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 ed è quindi è in continuo e costante aggiornamento.
Si tratta di un software estremamente leggero multi-piattaforma, installabile praticamente ovunque: Linux, Osx, Windows ed è disponibile un’immagine già pronta per il Raspberry Pi, grazie alla quale è possibile semplificare la fase di installazione.
La gestione della piattaforma può avvenire tramite qualsiasi Web browser, desktop o mobile e sono presenti delle app dedicate per il controllo remoto da dispositivi mobili Android e iOS.


Sul sito di FARE ELETTRONICA non molto tempo fa abbiamo visto alcune piattaforme dedicate alla domotica, che permettono di progettare il proprio sistema nei minimi dettagli.
Tra le piattaforme nominate nell’articolo è presente anche Home Assistant, dal quale potete avere un’anteprima su una possibile configurazione visitando questa pagina DEMO.

Installazione su 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 Home Assistant

(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

home assistant dashboard

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

Articolo originale di Alessio Camaioni,  modificato da Ivan Scordato.

Ivan Scordato