Progetto home Automation: installiamo HomeAssistant su Odroid C2


Ennesimo cambio di rotta per questo progetto!
Siccome dall’ultima reinstallazione OpenHAB mi stava dando problemi (si bloccava) e siccome non ha ancora un sistema di autenticazione, dopo aver configurato un Sonoff per comunicare con OpenHAB ho deciso di cambiare, perchè non è che mi andasse a genio che chiunque potesse accendere o spegnere le cose di casa mia (si perchè ho attivato l’accesso dall’esterno della rete locale per vedere i consumi ovunque e in ogni momento).

Quindi la mia scelta è ricaduta su HomeAssistant per i seguenti motivi:

  1. È scritto in Python quindi è meno pesante di Java con cui è scritto OpenHAB
  2. L’ultima versione ha integrato un sistema di login, cosa che a me interessava molto per il motivo detto sopra
  3.  Ha un plugin per comandare i dispositivi Mitsubishi attraverso MelCloud (appena avrò tempo aggiungerò una guida anche per questo)
  4. Si adatta senza troppe difficoltà al nostro setup

Quindi… vediamo come procedere! (io ho seguito questo link)

Installazione:

Colleghiamoci in un terminale, creiamo lo user per homeassistant e procediamo con l’installazione in un python virtual environment:

# pacman -S python-pip python-virtualenv python
# useradd -rm homeassistant -G dialout,gpio
$ cd /srv
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistant homeassistant
$ sudo -u homeassistant -H -s
$ cd /srv/homeassistant
$ python3 -m venv .
$ source bin/activate
$ pip3 install homeassistant

E ora per terminare la configurazione avviamolo:
$ hass
Questo creerà tutte le cartelle e le configurazioni necessarie sotto /home/homoassistant/.homeassistant.

NOTA: Ogni volta che dobbiamo fare delle modifiche a Home Assistant dovremmo usare l’utente homeassistant, col quale l’abbiamo installato e che possiede tutti i file necessari a farlo funzionare. Bisognerà quindi cambiare utente col comando:
sudo -u homeassistant -H -s

Per impostare l’avvio automatico al boot possiamo seguire questa guida di cui riassumo velocemente i passaggi.

Per prima cosa creiamo il file del daemon di systemd:
# nano /etc/systemd/system/home-assistant@YOUR_USER.service
e incolliamo:
[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Restart=on-failure
RestartSec=15s
Type=simple
User=homeassistant
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target


Teniamo presente che in ExecStart la directory dopo -c è quella che definisce dov’è la configurazione di HomeAssistant. Lì ho lasciato la configurazione di default ma nel mio caso tutta la configurazione è su un disco esterno in modo da non perderla ogni volta che mi tocca reinstallare tutto.

Ora abilitiamo homeassistant all’avvio con: # systemctl --system daemon-reload
# systemctl enable home-assistant@homeassistant

Aggiornamento:

Quando vorremmo aggiornare homeassistant dovremmo eseguire i seguenti programmi:
$ sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate
$ pip3 install --upgrade homeassistant

Nota: nel caso aggiorniate python ne vostro sistema e all’avvio di home assistant vi dovesse venire l’errore ModuleNotFoundError: No module named ‘homeassistant’ potrebbe essere necessario ricreare il virtual environment nella cartella e poi reinstallare homeassistant. In que caso i comandi saranno:

 $ sudo -u homeassistant -H -s
 $ cd /srv/homeassistant
 $ python3 -m venv .
 $ source bin/activate
 $ pip3 install homeassistant

È tutto! Nelle prossime guide inizieremo a configurarlo per il nostro setup.

NOTA: Consiglio dopo l’installazione di seguire la guida relativa a rendere sicuro Home Assistant.

Questa voce è stata pubblicata in Arch Linux, Home automation, raspberry pi e contrassegnata con , , , , , , , , , , , , , . Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...