Home Assistant Dashboards: il modulo di Frontend per creare interfacce grafiche

Fino a poco tempo fa si chiamava Lovelace UI, ora è stato rinominato in Home Assistant Dashboards.
Si tratta del modulo di Frontend di Home Assistant che ci consente di creare interfacce grafiche (UI) personalizzate per interrogare i valori delle nostre entità e per impartire comandi di qualsiasi natura.

Il risultato finale sarà, appunto, un’interfaccia Web fruibile con un qualsiasi browser su desktop/tablet oppure con l’app Home Assistant Companion su smartphone.

In questo articolo vediamo quali sono gli elementi che compongono Home Assistant Dashboards, le diverse modalità di gestione e quale, tra queste, è preferibile usare in base alle proprie esigenze.

Gli strumenti di Home Assistant Dashboards

Home Assistant Dashboards mette a disposizione diversi strumenti che, interagendo tra loro, ci aiutano a realizzare le nostre tanto desiderate interfacce (plance).

I 3 strumenti principali con cui abbiamo direttamente a che fare sono i seguenti:

  • Plancia
    La plancia è l’elemento principale dentro la quale è possibile creare una o più viste.
  • Vista
    La vista è una “sezione” della dashboard e funziona da raccoglitore di una o più card.
  • Card
    Sono gli oggetti che manipoliamo per mostrare informazioni ed eseguire azioni all’interno di una vista.
Gerarchia tra Plancia, Vista e Card

Dietro le quinte invece lavorano per noi altri due strumenti:

  • Tema
    Il tema è lo strumento che definisce l’aspetto grafico della plancia, in gergo chiamato “look & feel”.
    Può essere paragonato ad un foglio di stile CSS di una classica pagina web.
  • Risorse
    Le risorse sono file esterni che includiamo nella nostra configurazione. Possono essere di tipo “Modulo Javascript” oppure “Foglio di stile CSS”.

Vediamo nel dettaglio tutti gli strumenti elencati.

Home Assistant Dashboards può essere gestito in 3 modalità differenti:

  1. Esclusivamente da interfaccia grafica (default)
  2. Esclusivamente via YAML
  3. In modalità mista, sia da interfaccia grafica che via YAML

Nei prossimi paragrafi vediamo come gestirlo tramite la modalità di default, ovvero esclusivamente da interfaccia grafica. Più avanti vediamo nel dettaglio le altre modalità.

Plancia

Come detto sopra la Plancia rappresenta l’elemento principale dell’interfaccia grafica.
Per visualizzare tutte le plance configurate nel sistema è sufficiente andare su Impostazioni >> Plance.

Lista Plance

Da questa schermata possiamo creare una nuova Plancia da zero cliccando sul tasto “AGGIUNGI PLANCIA” posizionato in basso a destra.

  • TITOLO: Nome della nuova Plancia
  • ICONA: Icona assegnata alla nuova Plancia
  • URL: Link interno della Plancia utilizzato per la navigazione
  • SOLO PER L’AMMINISTRATORE: Se questa opzione è attivata la Plancia sarà visibile solo agli utenti con diritti di amministrazione
  • MOSTRA NELLA BARRA LATERALE: Se attiva, questa opzione rende la Plancia visibile nella barra laterale di Home Assistant

Dopo aver cliccato su CREA la nuova Plancia sarà visibile nella lista e cliccando sulla riga corrispondente entriamo in modalità modifica.

Da qui possiamo modificare gli attributi settati in precedenza, eliminare la Plancia oppure impostarla come predefinita sul dispositivo corrente.
Questo significa che sarà proposta come Plancia di default quando accediamo ad Home Assistant.

A questo punto se l’opzione “Mostra nella barra laterale” è stata lasciata attiva, basterà cliccare sull’icona corrispondente nella barra laterale per mostrare a video la nuova Plancia.

Per ogni nuova Plancia creata, Home Assistant genera una visualizzazione automatica di tutte le entità presenti in quel momento.

Generazione automatica iniziale con tutte le entità

Onestamente trovo davvero di scarsa utilità questa scelta, in ogni caso possiamo resettare la Plancia e iniziare la progettazione da uno schema vuoto con pochi e semplici passi:

  • Cliccare sui 3 puntini in alto a destra e poi su Modifica Plancia.
  • Attivare l’opzione Iniziare con una plancia vuota.
  • Cliccare su Prendi il controllo.

A questo punto il sistema mostrerà una Plancia vuota e pronta per essere sviluppata.

Vista

La Vista può essere definita una “sezione” della Plancia con lo scopo di raccogliere al suo interno una o più Card da mostrare a video.
Dentro una Plancia possiamo creare quante Viste vogliamo e queste saranno rappresentate sotto forma di TAB nell’intestazione (header) della Plancia.

Elenco Viste

Per la gestione delle Viste è necessario entrare in modalità modifica sulla Plancia cliccando sui 3 puntini in alto a destra e poi Modifica Plancia.

Ora l’intestazione avrà cambiato aspetto e ci offre la possibilità di creare una nuova vista con l’icona del +, oppure di modificare una vista esistente con l’icona della matita.

Modifica Plancia

Clicchiamo sul tasto + per vedere la finestra di configurazione di una nuova vista.

Configurazione nuova Vista

Qui descrivo le opzioni più importanti, per una panoramica completa ti rimando alla documentazione ufficiale.

  • TITOLO: Qui definisci il nome logico della Vista.
  • ICONA: Qui assegni un’icona alla Vsita. Se lasciato vuoto la Vista sarà visibile in formato TESTO, altrimenti con l’icona scelta.
  • URL: Questo è un parametro molto importante. Viene compilato automaticamente mentre digiti il TITOLO e rappresenta l’indirizzo fisico della Vista da utilizzare per la navigazione nella Dashboard.
    L’indirizzo completo sarà formato dall’URL della Plancia e dall’URL della Vista, ad esempio: /dashboard-test/vista-1.
    Questo valore poi sarà utilizzabile nella tap_action di una Card per navigare verso la Vista.
tap_action:
  action: navigate
  navigation_path: /dashboard-test/vista-1
  • TIPO DI VISUALIZZAZIONE: Qui si definisce in quale modo la Vista deve mostrare il suo contenuto.
    Nella modalità di default (Masonry, oppure Muratura tradotto in italiano) le Card saranno raggruppate per colonne di dimensione predefinita con un layout responsive.
    Nella modalità Pannello invece la Vista consente l’inserimento di una sola Card che occuperà tutta la larghezza dello schermo. Normalmente si una Card strutturale come vertical-stack e poi si sviluppa la vista all’interno.
    Questa modalità offre totale controllo sulla disposizione delle Card e apre le porte alla realizzazione di Plance più o meno complesse.

Card

Le Card rappresentano il cuore pulsante della Plancia.
Sono disponibili come moduli predefiniti e ognuno è progettato con un determinato scopo, ad esempio mostrare il valore di un sensore, oppure per gestire un punto luce, o ancora un pulsante per far compiere determinate azioni ad Home Assistant, e molto altro.

Alla data di stesura di questo articolo sono disponibili 34 Card diverse tra loro, l’elenco completo e la relativa documentazione su come usarle la trovi a questo link.

Oltre le Card “ufficiali” messe a disposizione da Home Assistant Dashboards sono disponibili anche molte Custom Card, ovvero dei componenti custom sviluppati dalla Community.
Una selezione di queste Custom Card è disponibile qui. Possono essere aggiunte alla configurazione tramite installazione manuale (da reperire nella wiki della relativa Card), oppure tramite HACS, un catalogo organizzato e strutturato per cercare componenti, installarli e gestire gli aggiornamenti.

Gerarchicamente le Card vengono create all’interno di una Vista e possono essere organizzate secondo le proprie preferenze, questo un esempio della Vista “VISTA 1” creata in precedenza.

Ovviamente si tratta di un esempio a puro scopo didattico, per mostrare solo alcune delle Card disponibili. Si può fare di meglio, sicuramente.

Per la creazione di una nuova Card, o per gestire quelle precedentemente inserite, devi entrare ancora in modalità modifica sulla Plancia cliccando sui 3 puntini in alto a destra e poi Modifica Plancia.

Successivamente clicca sul pulsante AGGIUNGI SCHEDA in basso a destra.

La schermata che si apre mostra il catalogo completo delle Card ufficiali disponibili. Eventualmente, se hai installato Custom Card, e lo sviluppatore ha previsto la gestione tramite UI, potrai gestire anche loro tramite questa modalità.

Elenco Card

Cliccando su una qualsiasi scheda puoi accedere alla sua maschera di configurazione, che cambia in base alla tipologia di scheda scelta. Per familiarizzare un po’ ne vediamo qualcuna, il mio consiglio è quello di provarle tutte, capire come funzionano e come ti possano tornare utili per le tue esigenze.

Scheda Luce

Proviamo, ad esempio, ad aprire la scheda Luce, la Card pensata per gestire un punto luce domotizzato. Di seguito la sua maschera di configurazione.

Pagina di configurazione della Card Luce

Nel campo Entità puoi selezionare l’entità del dominio “light” da gestire, con Nome e Icona puoi eventualmente customizzare i valori rispetto a quelli ereditati dall’entità stessa.
Sui campi “Azione”, invece, definisci cosa deve fare Home Assistant in caso di doppio click o click prolungato. Il click/tap normale non è previsto perchè in questo caso farà di default un toggle (cambio stato: se è accesa la spegne, se è spenta la accende) sulla luce.
Il campo Tema serve per applicare un tema specifico (tra poco vediamo cosa sono) solo a questa Card, funzionalità che, a onor del vero, non mi è mai tornata utile.

Tutte le modifiche che fai in questa schermata saranno visibili in tempo reale nell’anteprima della Card. Una volta conclusa la configurazione clicca sul tasto SALVA per portare la Card nella vista.

Scheda Sensore

Ora apriamo una scheda di tipo Sensore. Di seguito la sua maschera di configurazione.

Pagina di configurazione della Card Sensore

Come vedi anche qui puoi selezionare l’entità di interesse, customizzare Nome e Icona ma poi gli altri campi sono specifici per questo tipo di Card, come le ore da mostrare nel grafico, oppure la customizzazione dell’unità di misura.

Scheda Termostato

Infine diamo un’occhiata alla scheda Termostato, la Card specifica per gestire, appunto, un termostato Smart oppure una valvola termostatica.

Questa Card prevede solo la selezione dell’entità da gestire e la customizzazione del nome.

Hai notato che in ogni scheda è presente un tasto “MOSTRA EDITOR DEL CODICE“?

Da li puoi accedere al codice YAML che Home Assistant Dashboards ha scritto per te in base alle scelte fatte nei campi di configurazione.

Consiglio spassionato: guardalo sempre, studia il codice e prendi familiarità con il codice YAML per scrivere le Card. Usare l’interfaccia grafica è sicuramente pratico e comodo ma lavorare direttamente in YAML è di gran lunga il metodo migliore. Tra poco vedremo perchè e come.

Card di tipo Stack

Bene, a scopo didattico abbiamo usato le schede Luce, Sensore e Termostato. Vediamo quale risultato abbiamo ottenuto con l’inserimento nella Vista di queste 3 semplici Card.

Non è il massimo vero? Card molto grandi e posizionate in ordine apparentemente casuale.

Questo accade perché stiamo lavorando su una Vista in modalità Masonry (Muratura).
In questa modalità le Card vengono automaticamente organizzate secondo le regole del layout responsive. In questo caso sono su un desktop con una superficie schermo abbastanza ampia e quindi le card vengono mostrate affiancate. La stessa Vista su uno smartphone, invece, mostrerà le Card una sotto l’altra.

Ma come fare quindi per organizzare le Card secondo le nostre preferenze?

Fortunatamente ci vengono in aiuto le Card di tipo Stack. Sono Card particolari, diverse dalle altre, le possiamo considerare strutturali. Non mostrano nulla a video ma hanno la capacità di includere e organizzare al loro interno altre Card, sviluppandosi in formato verticale oppure orizzontale.

Ad oggi le Card strutturali sono 3:

In questo articolo il mio scopo è quello di fare una panoramica generale su Home Assistant Dashboards, non quello di approfondire gli argomenti. Probabilmente farò un articolo dedicato su come usare questo tipo di Card, ma ti assicuro che sono molto semplici e una volta capiti i meccanismi sarai in grado di posizionare le Card come meglio credi.

Ti voglio mostrare però come cambia il risultato dell’esempio precedente usando una vertical-stack e una horizontal-stack.

Esempio Vista usando Card di tipo Stack

Già meglio vero? E’ un semplice esempio ma spero che riesca a far capire l’utilità delle Card di tipo Stack al fine di organizzare la Vista in base allo schema che hai in mente.

Di seguito il codice YAML ottenuto con l’uso delle Card Stack:

type: vertical-stack
cards:
  - type: horizontal-stack
    cards:
      - type: light
        entity: light.scrivania
      - type: sensor
        hours_to_show: 24
        graph: line
        detail: 1
        entity: sensor.temperatura_studio_temperature
  - type: thermostat
    entity: climate.netatmo_sala

La Vertical Stack fa da contenitore principale, nella quale sono inserite 2 Card che si sviluppano in verticale.
La prima è una Horizontal Stack che è servita per affiancare la Luce e il Sensore, la seconda invece è il termostato che finisce sotto le altre due in virtù delle caratteristiche della Vertical Stack.

Tema

Il Tema è lo strumento di Home Assistant Dashboards con cui si definisce l’aspetto grafico di una Plancia. Ricorda un po’ un foglio di stile CSS di una classica pagina web, ma molto più semplice e limitato nell’utilizzo.

Normalmente viene applicato all’intera Plancia, ma volendo è possibile indicare un tema diverso per una vista singola e in alcuni casi anche per una singola Card.

Si tratta sostanzialmente di un file di testo in notazione YAML con un elenco di coppie chiave/valore. Di seguito un estratto del tema “Google Dark Theme”:

Google Dark Theme:
  # Header:
  app-header-background-color: rgb(23, 23, 23)
  app-header-text-color: rgb(198, 203, 210)
  app-header-selection-bar-color: var(--primary-color)
  app-header-edit-background-color: rgb(136, 136, 136)
  # Main Interface Colors
  primary-color: rgb(138, 180, 248)
  primary-background-color: rgb(23, 23, 23)
  secondary-background-color: rgb(32, 33, 36)
  divider-color: var(--primary-background-color)
  accent-color: var(--primary-color)
  # Text
  primary-text-color: rgb(242, 242, 242)
  secondary-text-color: rgb(166, 166, 166)
  text-primary-color: var(--primary-text-color)
  disabled-text-color: rgba(184, 190, 199, 0.4)

Possiamo avere diversi temi installati nel nostro ambiente, ma prima è necessario configurare il sistema in modo che sappia dove andare a leggere i file di Tema. E’ sufficiente inserire questo codice del file configuration.yaml e creare la directory “themes” sotto /config.

frontend:
  themes: !include_dir_merge_named themes

Con questa direttiva gli stiamo dicendo che tutti i file yaml che si trovano dentro la directory “themes” (e relative sottodirectory) sono temi da caricare nel sistema. Qui a fianco un esempio della mia directory themes.

I file di Tema possono essere reperiti in rete oppure meglio ancora possono essere installati tramite HACS. Quest’ultima modalità è senz’altro la migliore in quanto consente anche di seguire gli aggiornamenti quando vengono rilasciati.

Per selezionare un tema tra quelli installati andiamo nelle impostazioni Utente (ultima icona in basso nella barra laterale) e poi selezioniamo il Tema nella casella a discesa.

Il Tema, volendo, può anche essere personalizzato a piacere modificando i valori delle variabili, in questo caso per rendere effettive le modifiche è necessario eseguire il servizio reload_themes.

service: frontend.reload_themes

Con il Custom Component Card Mod è possibile un uso più avanzato dei temi cambiando lo stile, ad esempio, di un tipo di Card specifica, oppure cambiare il comportamento delle viste in modalità Masonry o Panel ma sono aspetti abbastanza complessi da approfondire eventualmente in un articolo dedicato.

Risorse

Sulle Risorse in realtà non c’è molto da dire ma sapere cosa sono può tornare utile.

Si tratta di risorse esterne che possono essere aggiunte al sistema. Possono essere di tipo “Modulo Javascript” oppure “Foglio di stile CSS“.

Le troviamo su Impostazioni > Plance e poi la voce Risorse nel menù in alto a destra.

Se non vedi i 3 puntini del menù in alto a destra devi attivare la Modalità Avanzata nelle Impostazioni Utente.

Questo un esempio della schermata Risorse:

Con il tasto Aggiungi Risorsa possiamo caricare a sistema un file manualmente, per l’installazione di un Custom Component ad esempio. Resta sempre preferibile usare HACS per questo tipo di attività il quale gestisce automaticamente le risorse dei componenti installati (come vedi nella schermata).

Se invece, ad esempio, volessi cambiare il Font usato dal Tema selezionato, allora in questo caso è necessario aggiungere manualmente una risorsa che sarà il link del Font scelto, oppure il puntamento al filesystem se l’hai scaricato in locale.

Le modalità di gestione

Finora abbiamo visto una panoramica generale di tutti gli strumenti che Home Assistant Dashboards ci mette a disposizione per la realizzazione di una Plancia. Ora, invece, ci concentriamo sulle diverse modalità di gestione di Home Assistant Dashboards e su quali sono i criteri da seguire per scegliere quella più adatta alle proprie esigenze e aspettative.

Abbiamo a disposizione 3 modalità diverse per usare e gestire Home Assistant Dashboards:

  1. Esclusivamente da interfaccia grafica
  2. Esclusivamente via YAML
  3. In modalità mista, sia da interfaccia grafica che via YAML

Vediamole nel dettaglio.

Modalità esclusiva da interfaccia grafica

Questa è la modalità di DEFAULT, ovvero quella che troviamo attiva subito dopo una nuova installazione. Non richiede nessun tipo di configurazione e gli strumenti si usano esattamente come visto nel capitolo precedente, tutto esclusivamente tramite l’interfaccia grafica.

Fin da subito abbiamo a disposizione la Plancia predefinita “Panoramica”, ma possiamo creare anche altre Plance come visto prima.

C’è però una cosa importante da sapere. E’ vero che si opera direttamente da interfaccia e non si scrive nemmeno una riga di codice in questa modalità, ma da qualche parte dovranno pur essere archiviate le informazioni che abbiamo specificato, giusto?

In questo caso è Home Assistant Dashboards stesso a generare tutto il codice YAML necessario per la generazione della Plancia.
Come abbiamo visto qui, ogni Card ha la possibilità di mostrare il codice YAML generato, ma possiamo avere anche una visione di insieme del codice YAML dell’intera plancia consultando l’Editor di configurazione testuale.

Per aprire l’Editor di configurazione testuale basta cliccare sui 3 puntini in alto a destra e poi su Modifica Plancia.

Successivamente ancora sui 3 puntini e poi su Editor di configurazione testuale.

A questo punto l’Editor si apre e puoi vedere tutto il codice YAML generato per la Plancia selezionata. Troverai l’elenco delle Viste sotto la direttiva views: e poi per ogni Vista la configurazione delle Cards.

Una volta presa dimestichezza con il codice generato vedrai che a volte risulta più pratico e veloce fare modifiche direttamente qui piuttosto che andare a cercare la Card di interesse nell’interfaccia, soprattutto su Plance con molte Cards.

Modalità esclusiva via YAML

Nella modalità YAML funziona esattamente al contrario. L’interfaccia grafica viene completamente disabilitata e le Plance si disegnano solamente scrivendo a mano codice YAML.

Per attivare questa modalità occorrono alcuni step di configurazione:

  • Creare un nuovo file ui-lovelace.yaml nella directory principale di configurazione (/config)
  • Aggiungere al file configuration.yaml la seguente configurazione:
lovelace:
  mode: yaml
  • Riavviare Home Assistant

Dopo il riavvio di Home Assistant la Plancia predefinita “Panoramica” potrà essere gestita editando il file ui-lovelace.yaml e la modalità da interfaccia grafica verrà disabilitata.

ATTENZIONE!

Per non perdere tutto il lavoro fatto sulla Plancia prima di attivare la modalità YAML puoi aprire l’Editor di configurazione testuale, copiare tutto il testo presente e riportarlo nel file ui-lovelace.yaml creato in precedenza.

In questa modalità anche la gestione delle Risorse via interfaccia viene disabilitata e sarà quindi necessario aggiungere la direttiva resources: nella configurazione, di seguito un esempio:

lovelace:
  mode: yaml
  resources:
    - url: /local/my-custom-card.js
      type: module
    - url: /local/my-webfont.css
      type: css

Per creare nuove Plance oltre quella predefinita possiamo aggiungere la direttiva dashboards: con sotto l’elenco delle plance che vogliamo gestire, di seguito un esempio:

lovelace:
  mode: yaml
  # Gestione risorse
  resources:
    - url: /local/my-custom-card.js
      type: module
    - url: /local/my-webfont.css
      type: css
  # Gestione plance
  dashboards:
    lovelace-desktop:
      mode: yaml
      title: Desktop
      icon: mdi:monitor
      show_in_sidebar: true
      filename: lovelace/lovelace-desktop.yaml        
    lovelace-tablet:
      mode: yaml
      title: Tablet
      icon: mdi:tablet
      show_in_sidebar: true
      filename: lovelace/lovelace-tablet.yaml        
    lovelace-smartphone:
      mode: yaml
      title: Smartphone
      icon: mdi:cellphone
      show_in_sidebar: true
      filename: lovelace/lovelace-smartphone.yaml  

Questa configurazione va a creare altre 3 Plance oltre quella predefinita, una per Desktop, una per Tablet e l’ultima per Smartphone.

Il significato dei parametri della plancia è facilmente intuibile, del resto sono gli stessi a disposizione quando si crea una plancia da interfaccia grafica.
Qui però abbiamo anche il parametro filename: con il quale andiamo a specificare qual è il file principale della relativa plancia. Per capirci, l’analogo file ui-lovelace.yaml della plancia predefinita.

In questo caso i file sono nella directory lovelace creata dentro la directory principale di configurazione /config.
Possiamo specificare un percorso relativo a partire dalla directory di configurazione /config, oppure un percorso assoluto, ad esempio /config/lovelace/lovelace-desktop.yaml

Per rendere effettiva qualsiasi modifica a questa configurazione sarà sempre necessario riavviare Home Assistant.

Modalità mista: sia da interfaccia che via YAML

Con quest’ultima modalità possiamo gestire Home Assistant Dashboards sia da interfaccia grafica che da codice YAML. Anche in questa modalità è necessario aggiungere una configurazione nel file configuration.yaml.

lovelace:
  mode: storage
  # Gestione plance
  dashboards:
    lovelace-desktop:
      mode: yaml
      title: Desktop
      icon: mdi:monitor
      show_in_sidebar: true
      filename: lovelace/lovelace-desktop.yaml        
    lovelace-tablet:
      mode: yaml
      title: Tablet
      icon: mdi:tablet
      show_in_sidebar: true
      filename: lovelace/lovelace-tablet.yaml        
    lovelace-smartphone:
      mode: yaml
      title: Smartphone
      icon: mdi:cellphone
      show_in_sidebar: true
      filename: lovelace/lovelace-smartphone.yaml  

In questo caso le Risorse tornano ad essere gestite via interfaccia e la direttiva resources: non è più necessaria. La differenza principale rispetto alla configurazione precedente (modalità esclusiva YAML) è la seconda riga mode: storage.

Con mode: storage la Plancia predefinita “Panoramica” resta gestibile via interfaccia grafica, mentre tutte le altre Plance configurate (Desktop, Tablet e Smartphone) diventano gestibili solo via YAML.

In questo modo non solo la Plancia predefinita può essere gestita via interfaccia, ma anche tutte le plance create con l’interfaccia stessa, come visto nel capitolo dedicato.

Considerazioni finali

Arrivati a questo punto sono sicuro che ti stai chiedendo questo: “Ma perchè mai dovrei impazzire con il codice YAML quando ho a disposizione un’interfaccia grafica pratica e comoda?“.

All’inizio della mia avventura con Home Assistant me lo sono chiesto anche io, ma poi quando ho scoperto ed apprezzato i vantaggi della modalità YAML non ho avuto più dubbi.

Ebbene si, la modalità YAML ha dei notevoli vantaggi rispetto alla modalità da interfaccia, vediamo quali sono:

  • Poter dividere la configurazione della Plancia in più file
    Grazie alla direttiva !include è possibile organizzare la Plancia in file separati ottenendo un codice molto più compatto e leggibile. Ti assicuro che sviluppando una Plancia più o meno complessa in modalità interfaccia, il codice YAML generato nell’Editor di configurazione testuale diventa completamente ingestibile. Per capire fino in fondo i vantaggi dell’utilizzo di !include ti consiglio di leggere questo articolo, dove ho raccontato nei dettagli una Plancia ottimizzata per il Tablet.
  • Poter condividere “pezzi” di configurazione tra diverse Plance
    Se sei come me un fan del Custom Component Button Card conosci sicuramente i suoi Template. Ecco, sempre grazie alla direttiva !include, possiamo usare la stessa configurazione dei Template in Plance diverse semplicemente aggiungendo questo nel file principale della Plancia:

    button_card_templates: !include button_card_templates.yaml

    Nella modalità da interfaccia invece saremmo obbligati a duplicare tutta la configurazione dei Template su ogni Plancia, con tutti gli svantaggi che comporta.
  • Poter inserire commenti
    Eh si, da interfaccia non è possibile inserire commenti nel codice YAML generato. Se apriamo l’Editor di configurazione testuale e proviamo ad inserire commenti con # ad inizio riga, al successivo salvataggio riceviamo il seguente messaggio:
  • Poter eseguire backup della configurazione della Plancia
    In realtà i backup della Plancia possiamo farli anche in modalità da interfaccia, ma in maniera decisamente poco pratica. Occorre andare a copiare manualmente tutto il codice YAML generato nell’Editor di configurazione testuale e riportarlo in un file offline. Capisci che questa operazione è completamente manuale e non può essere schedulata in nessun modo.
    In modalità YAML invece è sufficiente fare il backup della directory principale che contiene tutti i file, operazione che può essere tranquillamente anche schedulata in automatico.

Molto bene, ora conosci anche tutti i vantaggi della modalita YAML rispetto all’uso dell’interfaccia grafica per sviluppare una Plancia da zero.

Ma chi te lo dice se possono effettivamente fare al caso tuo? Per scegliere quale modalità usare devi semplicemente considerare le tue esigenze.

Se non hai ambizioni particolari e non ti interessa avere una Plancia elaborata, di conseguenza ti basta avere un pannello semplice da gestire. In questo caso ti consiglio vivamente di non complicarti la vita e di lasciar perdere la modalità YAML a favore dell’interfaccia grafica. Va bene lo stesso.

Diversamente, se sei attratto dalle Plance complesse che vedi in giro e ti piacerebbe provare a costruirne una, allora la modalità YAML diventa essenziale per tutti i motivi spiegati sopra.

ATTENZIONE!

Se sei interessato a seguire i progetti di Home Assistant Dashboards che trovi in questo blog, l’utilizzo della modalità YAML è un requisito fondamentale.

Anche tutti i progetti elaborati che trovi in rete sono basati sulla modalità YAML.

Siamo arrivati alla fine di questa lunga e spero esaustiva panoramica su Home Assistant Dashboards. Mi auguro ti sia stata utile per comprendere tutti i concetti che ci sono dietro, nel caso fammelo sapere nei commenti.

A presto e buone Plance!
Max.

Piaciuto l’articolo?

Se ti va, puoi darmi una mano con le spese di gestione del blog. Grazie!


Con la piattaforma buymeacoffee


Con una donazione Paypal


Se compri su Amazon inizia da qui
Perché?

Fallo girare!

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *