#Appunti su Home-Assistant <abstract> **[Home Assistant](https://www.home-assistant.io)** è 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](https://www.home-assistant.io/hassio/), che però noi non utilizzeremo. Può essere controllato da qualsiasi Browser, desktop o mobile e sono presenti le realitive app di controllo per [Android](https://play.google.com/store/apps/details?id=com.axzae.homeassistant) e [iOS](https://itunes.apple.com/us/app/home-assistant-companion/id1099568401?mt=8). </abstract> Per prendere dimestichezza con l'ambiente operativo di Home Assistant è disponibile una pagina DEMO cliccando [QUI](https://home-assistant.io/demo/). <img src="./img/rpi_ha.jpg" class="img-responsive center-block" width="50%"/> ##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](https://downloads.raspberrypi.org/raspbian_lite_latest) Loggarsi nel modo che preferite con l'utente pi poi aggiornare la distribuzione <pre class="terminal"> pi@raspberrypi:~$ sudo apt-get update && sudo apt-get upgrade -y </pre> Se necessario per le vostre esigenze installate mosquitto per il protocollo MQTT <pre class="terminal"> pi@raspberrypi:~$ sudo aptitude install mosquitto mosquitto-clients -y </pre> Installare i pacchetti necessari <pre class="terminal"> pi@raspberrypi:~$ sudo apt-get install python3 python3-venv python3-pip -y </pre> Procediamo alla creazione dell'utente con cui girerà HA <pre class="terminal"> pi@raspberrypi:~$ sudo useradd -rm homeassistant pi@raspberrypi:~$ sudo passwd homeassistant pi@raspberrypi:~$ sudo nano /etc/sudoers </pre> ###Aggiungere alla fine del file poi ctrl+x per chiudere e ctrl+y per salvare poi invio per confermare il file <pre> homeassistant ALL=(ALL) NOPASSWD:ALL </pre> ####*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 <pre class="terminal"> 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 </pre> Se tutto è andato come si deve dovreste trovarvi con un prompt così <pre class="terminal"> (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ </pre> Continuiamo l'installazione <pre class="terminal"> (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ python3 -m pip install wheel (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ pip3 install homeassistant </pre> ##Bene è ora finalmente facciamo partire HA <pre class="terminal"> (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ hass </pre> ###***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 <pre> http://raspberrypi.local:8123 </pre> <img src="./img/home.jpg" class="img-responsive center-block" width="50%"/> ##Ora facciamo in modo che HA parta all'avvio Torniamo sul terminale di prima **CHIUDIAMOLO** ed **APRIAMONE** un'altro <pre class="terminal"> pi@raspberrypi:~$ sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service </pre> ###Copiamo e incolliamo poi ctrl+x per chiudere e ctrl+y per salvare poi invio per confermare il file <pre> [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 </pre> <pre class="terminal"> pi@raspberrypi:~$ sudo systemctl --system daemon-reload pi@raspberrypi:~$ sudo systemctl enable home-assistant@homeassistant pi@raspberrypi:~$ sudo reboot </pre> ## Informazioni Utili <pre class="terminal"> # 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' </pre> # Modalità da seguire per aggiornamenti futuri, visto che è in continuo aggiornamento <pre class="terminal"> 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 </pre> ...A breve altre guide per la configurazione @include='bio_alessio_camaioni'
2018 Ⓒ TanzoLab