Modificare i file di configurazione Home Assistant Core (su Raspbian) con Visual Studio Code (VSCode)

3 minuti di lettura
SCOPI DEL PROGETTO:
  • Modificare i file di configurazione di Home Assistant direttamente da un editor specifico (Microsoft VSCode) senza necessità di ulteriori passi operativi
  • Livello di difficoltà: basso
  • Costo: n.a.
CONCETTI AFFRONTATI:
  • Configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
COMPONENTI FISICI UTILIZZATI:
  • Il Raspberry Pi (dotato di sistema operativo Raspbian) sul quale è in esecuzione Home Assistant 
  • Il computer d’appoggio (Win, macOS, Linux) dal quale si andranno a modificare i file di configurazione
PROGETTO INDICATO PER:

home assistant -su raspberry pi

Note e disclaimer
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno puro scopo didattico);
  • qualsiasi modifica attuata in proprio a un dispositivo ne fa decadere garanzia, omologazioni e certificazioni di qualità.
Revisione progetto: 1.1

Abstract

Come noto, l’HUB per domotica personale Home Assistant prevede la modifica, in taluni casi, dei propri file di configurazione al fine di definire alcune integrazioni, specifiche funzionalità ed altro.

Chi abbia scelto, come modalità di installazione di Raspberry, la modalità HASSIO, è fortemente facilitato dalla presenza di un editor web che consente, appunto, tali modifiche direttamente dal proprio browser; chi invece abbia optato per la più leggera (e preferibile) versione “Core” si trova davanti al bivio di quali strategie adottare per la modifica di tali file.

La modalità più semplice è quella che prevede di collegarsi via SSH al proprio terminale e modificare i file manualmente con comandi come vi o nano (o altri editor); si tratta di una modalità non particolarmente comoda né consigliabile. Un’alternativa è quella di installare un editor sul proprio computer d’appoggio in modo che si colleghi remotamente (e automaticamente) al Raspberry Pi, permettendo l’editing on-line dei propri file di configurazione.

Questa guida illustra come configurare sia il sistema operativo Raspbian che il proprio computer d’appoggio al fine di ottenere lo scopo descritto. Ovviamente le tecniche descritte sono applicabili a qualsiasi sistema operativo sul quale sia in esecuzione Home Assistant Core e che consenta una connessione sicura SSH.

Si parte

Requisiti e assunti

Necessario, innanzitutto, che Home Assistant Core sia installato su Raspbian in modalità venv, ovvero come illustrato in dettaglio in questa nostra guida.

Inoltre, è necessario che su Raspbian sia attivo il servizio SSH (e ovviamente si sia appurato che funzioni) – ma difficilmente è possibile aver installato Home Assistant Core nella modalità descritta senza il supporto SSH (salvo essersi collegati con monitor e tastiera al Raspberry Pi).

Assumeremo inoltre che l’utente col quale ci si collegherà su Raspbian via SSH sia l’utente pi.

Permessi

L’utente pi  – di base – non dovrebbe poter accedere alla cartella /home/homeassistant, ovvero la location dove i file .yaml di configurazione sono solitamente archiviati.

Per far sì che i permessi siano correttamente impostati, aggiungiamo l’utente pi al gruppo homeassistant. |
Collegarsi via SSH a Raspbian ed eseguire i seguenti comandi per impostare i permessi:

sudo chown -R homeassistant:homeassistant /home/homeassistant/ && sudo chmod -R 774 /home/homeassistant/
sudo usermod -a -G homeassistant pi

Microsoft Visual Studio Core

L’editor scelto è Visual Studio Core (VSC), un software gratuito di Microsoft. 
Per utilizzarlo, scaricalo dal sito di Microsoft e installarlo sul proprio computer di appoggio.

Una volta installato, il software va “arricchito” tramite l’estensione Remote SSH, essenziale per gli scopi di questo progetto. Per installarlo è sufficiente recarsi presso la voce “estensioni” di VSC (menu “Impostazioni” > “Estensioni“), cercarlo e installarlo.

Una volta installato, riavviare VSC chiudendolo e riaprendolo.

Connessione

A questo punto siamo pronti per collegarci al Raspberry Pi tramite Visual Studio Core.
Cliccare dunque sull’icona:

Microsoft Visual Studio Code - Remote Explorer

Cliccare poi sul “+” alla voce “Add SSH Target“:

Microsoft Visual Studio Code - Remote Explorer - Add ssh target

Ora, alla voce “Enter SSH Shell Command” inserire il comando ssh, configurandolo con l’IP/porta relative al proprio host.
Se per esempio ci si collega via LAN, indicare solo l’IP del Raspberry Pi:

ssh pi@192.168.1.20

(l’IP 192.168.1.20 è di esempio, ovviamente)

oppure l’FQDN che si usa per la connessione esterna:

ssh pi@MIOINDIRIZZO:PORTA

Proseguire avanti. Alla voce “Select SSH configuration file to update” selezionare la prima voce in elenco.

Terminata la procedura, alla voce “SSH Targets” risulterà l’host appena aggiunto, per esempio:

Microsoft Visual Studio Code - Remote Explorer - SSH targets

A questo punto cliccare sull’icona accanto all’host:

Microsoft Visual Studio Code - Remote Explorer - SSH targets - connessione

per collegarsi al Raspberry. Verrà richiesta la password, ovviamente, dell’utente pi:

Microsoft Visual Studio Code - Remote Explorer - SSH targets - connessione - password

inserita la password, VSC si collegherà al Raspberry Pi.

Apertura percorso

A questo punto è possibile accedere al percorso contenente i file di configurazione di Home Assistant (o qualunque altro per il quale l’utente pi abbia i diritti ad accedere).

Per farlo cliccare su “Open folder…” e indicare il percorso di Home Assistant:

Microsoft Visual Studio Code - Remote Explorer - Open folder

dopo aver cliccato su “OK“, VSC visualizzerà sulla sinistra l’alberatura del percorso:

Microsoft Visual Studio Code - Remote Explorer - Open Path - Tree

A questo punto sarà possibile aggiungere, rimuovere, modificare tutti i file presenti facenti parte della configurazione.

Una volta stabilita la connessione, il plugin eseguirà un processo nodeJS lato server che resterà attivo per tutta la durata della connessione. Si consiglia quindi di cliccare su File > Close Remote Connection quando si termina la sessione di editing, in modo tale da evitare di lasciare appesi processi che per qualche motivo potrebbero rimanere attivi.


Home Assistant Official Logo ATTENZIONE: ricorda che sul nostro community FORUM c'è una sezione ad hoc dedica a Home Assistant, per qualsiasi dubbio, domanda, informazione nel merito specifico di queste componenti.


Telegram News Channel