Multi Dashboard: come crearle e gestirle

HassioHelp

Multi Dashboard: come crearle e gestirle

.

Argomento: Lovelace

Livello: Novizio (Novizio,Esperto, Pro)

Difficoltà: Bassa (Bassa, Media, Alta)

Home Assistant: v. 0.107.0

Premessa

Con il rilascio di  Homeassistant in versione 0.170.0 è stata introdotta la multi dashboard, in questo articolo vedremo come utilizzarla sia in modalità manuale (yaml) che in modalità automatica (storage). Con particolare attenzione alla modalità manuale ed alle possibilità offerte per dividere il file di lovelace in più file, in modo da mantenere in ordine i file del nostro sistema senza ritrovarci un unico enorme file con tutte le nostre card e view.

Modalità Storage (automatica)

La modalità storage risulta molto semplificata ed evita l’utilizzo del codice e dei file yaml. Ottima per chi è alle prime armi o per chi non vuole perdere tempo. Per poter definire le nostre dashboard ci basta recarci nel menù laterale, impostazioni, cruscotti lovelace:

Da notare che la dashboard “panoramica” è quella creata di default ed i suoi parametri non possono essere modificati.

Per creare una nuova Dashboard ci basterà premere il tasto “+” in basso a destra :

una volta raggiunta questa finestra non ci resta che inserire i seguenti parametri:

  • Titolo: il nome da assegnare alla dashboard
  • Icona: un icona da assegnare alla dashboard (sempre nel solito formato mdi:nomeicona). Questa icona verrà utilizzata nella visualizzazione nel pannello laterale.
  • Url: indica l’url a cui sarà raggiungibile la dashboard, potete lasciare tranquillamente quello che viene assegnato di default.
  • Mostra nella barra laterale: abilita la visualizzazione della dashboard nella barra laterale.
  • Solo per l’amministratore: rende la dashboard visibile solo per gli utenti admin.

Premiamo il tasto crea e ci troveremo la nostra dashboard pronta all’uso. Se invece selezioniamo la dashboard appena creata in basso avremo la possibilità di eliminarla o impostarla come dashboard predefinita per il dispositivo.

Per impostazione predefinita la nuova dashboard verrà creata totalmente in modalità automatica, popolata già da tutti i vostri sensori, switch, light etc etc, e ogni volta che aggiungerete un entità verrà automaticamente aggiunta alla dashboard. Potrete sempre scegliere di prendere il controllo della Dashboard e configurare le vostre card ed i vostri tab per come eravate abituati precedentemente. 

Un altra differenza rispetto al passato si nota nell’uso delle resource, mentre prima dovevamo aggiungerle sfruttando la modalità “raw” adesso ci ritroviamo un apposita scheda per poterlo fare, nella pagina dei cruscotti lovelace in alto troviamo il tab resource.

Per aggiungere la nostra risorsa (custom card) ci basterà premere il tasto “+” in basso a destra:

  • Url: inserite il percorso in cui avete istallato la risorsa
  • Tipo di risorsa: selezionate il tipo di risorsa che state istallando, generalmente questa informazione è reperibile nel github della risorsa stessa.

Da notare che se utilizzate hacs le risorse verranno aggiunte automaticamente.

Modalità Yaml

La modalità “yaml” ci permette di avere il totale controllo sella nostra interfaccia a patto di scrivere ogni riga di configurazione a mano, con il vantaggio di poter tenere ordinati i file come più ci piace.

Per attivarla bisogna dichiarare la configurazione all’interno del file configuration.yaml come segue:

lovelace:
mode: yaml
resources:
  - url: /hacsfiles/sidebar-card/sidebar-card.js
    type: module
dashboards:
  lovelace-floor:
    mode: yaml
    filename: floor.yaml
    title: Floor
    icon: mdi:floor-plan
    show_in_sidebar: true
    require_admin: true
  • mode: indica la modalità di utilizzo generale yaml o storage
  • resource: qui vanno indicate le risorse (custom card) da utilizzare con lovelace
  • dashboard: qui sotto vengono dichiarate le varie dashboard
    • lovelace-floor: è il nome della dashboard e deve contenere sempre un “-“.
    • mode: la modalità di utilizzi per questa dashboard, da notare quindi che si possono usare dashboard miste.
    • filename: il nome del file con estensione “yaml” che contiene la configurazione delle nostre view.
    • title: il nome della dashboard che verrà visualizzato nel frontend.
    • icon: icona da assegnare alla dashboard.
    • show_in_sidebar: true o false, visualizza o meno la dashboard nella barra laterale.
    • require_admin: true o false, rende visibile la dashboard soltanto all’amministatore.

Attenzione: nella modalita yaml la  dashboard predefinita rimane sempre il file ui-lovelace.yaml che non va dichiarato tramite la precedente configurazione.

Modalità Yaml e organizzazione dei file.

Da utilizzatore della modalità yaml voglio affrontare l’argomento dell’organizzazione e la suddivisione dei file lovelcace. Partendo dalla dichiarazione della modalità yaml, ho scelto di utilizzare un file separato piuttosto che inserire risorse e dashboard dentro configuration.yaml. Per cui utilizzando il metodo “include” dentro il configuration.yaml ho inserito:

lovelace: !include lovelca.yaml

fatto questo ho creato dentro la cartella config il file lovelace.yaml costituito nel seguente modo:

mode: yaml
resources:
 - url: /hacsfiles/sidebar-card/sidebar-card.js
   type: module
dashboards:
 lovelace-floor:
   mode: yaml
   filename: floor.yaml
   title: Floor
   icon: mdi:floor-plan
   show_in_sidebar: true
   require_admin: true

Passiamo adesso a come dividere il file vero e proprio che contiene le card, prendiamo in analisi un fie lovelace costituito nella seguente maniera:

title: Home
views:
  - title: Home
    path: default_view
    icon: 'mdi:home'
    cards:
      - type: glance     
        title: chi è a casa            
        entities:
          - entity: person.pippo
      - type: media-control
        entity: media_player.tutta_la_casa

Per dividere ed ordinare questo file abbiamo due possibilità:

1) mettendo l’include accanto alla voce “card: “

title: Home
views:
  - title: Home
    path: default_view
    icon: 'mdi:home'
    cards: !include lovelace/home.yaml

In questo modo andremo poi a creare dentro la cartella “/config/lovelace/” il file “home.yaml” composto come di seguito:

- type: glance     
   title: chi è a casa            
   entities:
     - entity: person.pippo
- type: media-control
  entity: media_player.tutta_la_casa

in questo modo andremo poi ad inserire nel file appena creato tutte le card che si trovano all’interno della vista Home.

 

2) mettendo “include” sotto la voce card:

title: Home
views:
  - title: Home
    path: default_view
    icon: 'mdi:home'
    cards:
      - !include lovelace/home/chi_e_a_casa.yaml
      - !include lovelace/home/media_player_gh.yaml

In questo modo andremo poi a creare dentro la cartella “/lovelace/home” i due file “chi_e_a_casa.yaml” e “media_player_gh.yaml” ognuno dei quali conterrà solo una card, come nel seguente esempio:

type: media-control
entity: media_player.tutta_la_casa

Da notare che in questo caso il codice non deve iniziare con il “-” in quanto questo file può contenere una sola card!!!!

Conclusioni

Finalmente con questo aggiornamento abbiamo la possibilità di creare delle dashboard fatte su misura per ogni tipologia di dispositivo che utilizziamo e con un po’ di creatività riusciamo anche a creare delle dashboard per singoli utenti e tenere nascoste tutte quelle card che un utente semplice non deve visualizzare!!!!

 

8 risposte

  1. Avatar Stefano ha detto:

    Ma sbaglio, o con questo sistema, il file incluso nel configuration.yaml (lovelace: !include lovelace.yaml), diventa “statico” fino al restart del sistema?
    In particolare mi pare che i “resources” che prima potevo aggiungere e togliere a piacimento, e poi mi bastava fare un Refresh dell’interfaccia Lovelace, adesso vengono recepiti solo al riavvio.

    • Mauro Cimino Mauro Cimino ha detto:

      Che intendi per statico? Per le risorse le puoi ricaricare con i 3 puntini in alto a destra

      • Avatar Stefano ha detto:

        Allora devo riprovare..
        Mi pare però che ciò che ho definito nella sezione “dashboard:” si ricarichi solo con un riavvio, o c’è altro modo?
        Dopo tutto è come se fosse scritto direttamente nel configuration (dove le direttive “!” vengono risolte solo all’avvio). Ho l’impressione che la stessa cosa avvenga anche per le risorse.

  2. Avatar christofer ha detto:

    salve sono nuovo e sono alle prime armi sto seguendo tutto passo passo ma se vado creare un nuova dashboard non mi appare il campo “url” non capisco dovo sbaglio 🙁 grazie e scusate il disturbo

  3. Avatar Jeanpaul Milani ha detto:

    Una domanda ma come si gestisce il dashboard principale che si eredita dalle vecchie versioni, quella indicata con panoramica?

Lascia un commento

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