Tutorial Home Assistant

Dashboard mobile su Home Assistant: card condizionali per mattina, sera e notte

Foto di Massimo Di Vona

Massimo Di Vona

11 maggio 2026

Dashboard mobile Home Assistant con card condizionali per fasce orarie

1. Il problema della dashboard mobile

Home Assistant funziona benissimo sul telefono. Il problema è che la dashboard che hai costruito per il desktop — con le sue colonne affiancate, i widget di stato, il pannello riscaldamento in terza posizione — sul cellulare diventa una lista verticale infinita che scorre dall’alto verso il basso senza alcuna logica.

Trovi le luci in cima anche quando sono le tre di notte e l’unica cosa che ti interessa è la temperatura della camera. Il meteo te lo mostra alle 23:00. Il pulsante “esci di casa” lo trovi dopo tre scroll quando sei già in ascensore con il cappotto.

Non è un bug di Home Assistant. È che la dashboard non è stata pensata per il contesto in cui la usi quando sei sul telefono: un contesto che cambia a seconda dell’ora.

2. L’idea: una dashboard che sa che ora è

L’obiettivo non è fare una dashboard “bella su mobile”. L’obiettivo è fare una dashboard utile sul telefono in quel preciso momento.

La logica è semplice: dividi la giornata in tre fasce e mostri card diverse in ciascuna.

  • Mattina (06:00–12:00): meteo, porta d’ingresso, pulsante uscita, consumi in corso
  • Pomeriggio/Sera (12:00–22:00): clima, luci, media player, sensori comfort
  • Notte (22:00–06:00): temperatura camera, sicurezza, controllo rapido “spegni tutto”

Una sola view, una sola colonna, zero scroll inutile. Home Assistant legge l’ora del sistema e decide da solo cosa mostrare.

La view Mobile con le tre fasce: card diverse per ogni momento della giornata

3. Cosa sono le card condizionali

Le card condizionali sono una funzione nativa di Home Assistant: non servono HACS, non servono integrazioni esterne, non servono custom card. Sono disponibili fin dall’inizio.

Il principio è elementare: aggiungi una card alla dashboard e le dici “mostrami solo quando questa condizione è vera”. La condizione può essere lo stato di un’entità, la presenza di qualcuno in casa, o — nel nostro caso — l’ora del giorno.

Se la condizione non è vera, la card sparisce. Non si grigia, non collassa: sparisce del tutto. Sul mobile questo fa un’enorme differenza perché la view si adatta dinamicamente senza occupare spazio inutile.

Mattina
Pomeriggio/Sera
Sera

4. Creare la dashboard e la view Mobile

Per tenere separato tutto il lavoro e non interferire con la configurazione esistente, la prima cosa da fare è creare una nuova dashboard dedicata. In questo modo puoi sperimentare liberamente e, una volta soddisfatto del risultato, impostarla come home page della Companion App.

Vai su Impostazioni → Dashboard e in basso a destra clicca su New Dashboard.

Settings → Dashboard → New Dashboard: teniamo il tutorial separato dalla configurazione principale

Una volta creata la nuova dashboard, aprila e clicca sulla matita in alto a destra per entrare in modalità modifica. Crea una nuova view e compilala con i seguenti parametri:

  • Nome: Mobile
  • Icona: mdi:cellphone (opzionale, ma utile per riconoscerla subito)
  • URL: mobile
  • Tipo di view: Sezioni (oppure Masonry, se preferisci)
  • Numero massimo di colonne: 1 — importante

Il numero di colonne è il dettaglio che fa la differenza. Anche se Home Assistant è responsive, impostare esplicitamente una colonna singola ti dà controllo totale sul layout e impedisce che le card vengano affiancate su schermi di medie dimensioni.

Una colonna singola: il parametro piu' importante per una view pensata per il mobile

5. Fascia mattina — 06:00–12:00

La mattina sei in modalità “esco di casa”: ti interessa sapere che tempo fa, se il portone è chiuso, e se hai lasciato acceso qualcosa che non dovevi.

Le card che ha senso mostrare in questa fascia, a titolo di esempio:

  • Meteo — previsione giornaliera con temperatura esterna
  • Sensore porta d’ingresso — aperta/chiusa
  • Pulsante uscita — attiva la scena “casa vuota” (riscaldamento in eco, luci spente)
  • Monitor consumi — presa lavatrice o altri carichi attivi

O qualsiasi altra card che preferite: queste sono solo le mie scelte, personalizzate sul mio setup.

Per ognuna di queste, il procedimento è identico. Aggiungi una nuova card, scegli il tipo Condizionale, poi configura due cose: la card interna (quella che vuoi mostrare) e le condizioni (quando mostrarla).

Importante: se vuoi mostrare più card all’interno di una sola condizionale — che è quello che faremo — devi avvolgere tutte le card in una Vertical Stack. La card condizionale accetta solo una card figlia: la Vertical Stack è la soluzione nativa per raggrupparne più di una.

Nel tab Condizioni aggiungi una condizione di tipo Orario:

  • Dopo: 06:00
  • Prima: 12:00
La condizione oraria nell'editor visivo: after 06:00, before 12:00
YAMLCard native — fascia mattina
type: conditional
conditions:
- condition: time
  after: "06:00:00"
  before: "12:00:00"
card:
type: vertical-stack
cards:
  - type: weather-forecast
    entity: weather.home
    forecast_type: daily
  - type: tile
    entity: binary_sensor.porta_ingresso
    name: Porta ingresso
  - type: button
    name: Esco di casa
    icon: mdi:home-export-outline
    tap_action:
      action: call-service
      service: scene.turn_on
      service_data:
        entity_id: scene.casa_vuota
  - type: tile
    entity: sensor.presa_lavatrice_power
    name: Lavatrice
YAMLWeSmart Cards — fascia mattina
type: conditional
conditions:
- condition: time
  after: "06:00:00"
  before: "12:00:00"
card:
type: vertical-stack
cards:
  - type: custom:wesmart-buttons-bar-card
    title: Azioni Rapide
    theme: dark
    buttons:
      - name: Esco di Casa
        icon: mdi:logout
        service: scene.turn_on
        service_data:
          entity_id: scene.esco_di_casa
      - name: Tutte le luci
        icon: mdi:lightbulb
        entity: light.luci_tutte
      - name: Scena Film
        icon: mdi:movie-open
        service: scene.turn_on
        service_data:
          entity_id: scene.serata_film
  - type: custom:wesmart-weather-card
    entity: weather.home
    title: ""
    theme: dark
  - type: custom:wesmart-doors-card
    title: Porte e finestre
    entities:
      - name: Portone Principale
        icon: mdi:door-closed
        entity: binary_sensor.0xa4c138dccb4cb231_contact

Le WeSmart Cards usano nomi di entità reali del mio setup (es. binary_sensor.0xa4c138dccb4cb231_contact). Sostituiscile con le entità della tua installazione prima di incollare.

La fascia mattina in azione: meteo, porta, azioni rapide

6. Fascia pomeriggio/sera — 12:00–22:00

Nel pomeriggio e in serata sei in casa: vuoi il controllo del clima, le luci giuste e, magari, sapere cosa sta suonando in salotto.

Le card utili per questa fascia:

  • Termostato o valvola — temperatura target e attuale
  • Controllo luci — le luci del soggiorno o della stanza in cui ti trovi
  • Media player — se hai un altoparlante o una TV integrata
  • Sensore qualità aria o umidità — comfort nelle ore casalinghe

Stesso procedimento della mattina. Nel tab Condizioni, imposta:

  • Dopo: 12:00
  • Prima: 22:00
YAMLCard native — fascia pomeriggio/sera
type: conditional
conditions:
- condition: time
  after: "12:01:00"
  before: "22:00:00"
card:
type: vertical-stack
cards:
  - type: light
    entity: light.soggiorno
    name: Luci soggiorno
  - type: media-control
    entity: media_player.soggiorno
  - type: thermostat
    entity: climate.soggiorno
  - type: tile
    entity: sensor.umidita_soggiorno
    name: Umidita'
YAMLWeSmart Cards — fascia pomeriggio/sera
type: conditional
conditions:
- condition: time
  after: "12:01:00"
  before: "22:00:00"
card:
type: vertical-stack
cards:
  - type: custom:wesmart-lights-card
    title: Luci Principali
    entities:
      - name: Luci Cucina
        icon: mdi:fridge
        entity: light.cucina_tutte_le_luci
      - name: Luci Soggiorno
        icon: mdi:lightbulb
        entity: light.0xa4c1380a031cae28
  - type: custom:wesmart-media-player-card
    entity: media_player.echo_plus_di_massimo
    title: Musica
    theme: dark
  - type: custom:wesmart-climate-card
    entity: climate.0x3c2ef5fffebad64b
  - type: custom:wesmart-sensors-card
    title: Sensori
    entities:
      - sensor.temperatura_percepita_soggiorno
La fascia pomeriggio/sera: luci, media player, clima, sensori

7. Fascia notte — 22:00–06:00

La costruzione della card per la notte è identica alle altre. La notte il telefono lo guardi per due motivi: verificare che tutto sia spento, o controllare la temperatura della camera prima di addormentarti.

Le card che ha senso mostrare:

  • Pulsante “spegni tutto” — attiva una scena che spegne le luci e porta il riscaldamento in modalità notte
  • Temperatura camera da letto — il dato più utile in quel momento
  • Stato luci — un riepilogo rapido di cosa è ancora acceso
  • Sensore porta o finestra — sicurezza prima di dormire

Nel tab Condizioni, imposta:

  • Dopo: 22:00
  • Prima: 06:00

Nota sull’errore comune della mezzanotte. Una fascia che attraversa la mezzanotte non crea problemi, ma vale la pena capire perché. Home Assistant gestisce correttamente questo caso: quando il valore di after è maggiore di before, la condizione oraria viene interpretata automaticamente come una fascia a cavallo della mezzanotte. In pratica funziona già con i valori così come li hai scritti nell’editor visivo — non devi fare nulla di speciale. Se invece stai scrivendo YAML a mano con due condizioni separate, ricordati che devono essere collegate in OR, non in AND.

YAMLCard native — fascia notte
type: conditional
conditions:
- condition: time
  after: "22:00:00"
  before: "06:00:00"
card:
type: vertical-stack
cards:
  - type: button
    name: Spegni tutto
    icon: mdi:power-sleep
    tap_action:
      action: call-service
      service: scene.turn_on
      service_data:
        entity_id: scene.buona_notte
  - type: tile
    entity: sensor.temperatura_camera
    name: Temperatura camera
  - type: tile
    entity: light.tutte_le_luci
    name: Luci accese
  - type: tile
    entity: binary_sensor.finestra_camera
    name: Finestra camera
YAMLWeSmart Cards — fascia notte
type: conditional
conditions:
- condition: time
  after: "22:01:00"
  before: "05:59:00"
card:
type: vertical-stack
cards:
  - type: custom:wesmart-buttons-bar-card
    title: Notte
    theme: dark
    buttons:
      - name: Luci Soggiorno
        icon: mdi:lightbulb
        entity: light.soggiorno
      - name: Spegni Tutto
        icon: mdi:light-switch-off
        service: scene.turn_on
        service_data:
          entity_id: scene.esco_di_casa
  - type: custom:wesmart-infinite-lights-expand-card
    title: Luci
    entities:
      - name: Luce Camera da Letto
        icon: mdi:lightbulb
        entity: light.0xa4c13849ee028be9
  - type: custom:wesmart-switches-card
    title: Sicurezza
    entities:
      - alarm_control_panel.ezviz_alarm
  - type: custom:wesmart-climate-compact-card
    title: Riscaldamento
    icon: mdi:thermostat
    theme: dark
    entities:
      - entity: climate.aqara_termostato
        name: Soggiorno
      - entity: climate.0x3c2ef5fffebad64b
        name: Camera da Letto
La fascia notte: spegni tutto, temperatura camera, sicurezza

8. Come testare senza aspettare l’ora giusta

Non devi aspettare le 22:00 per verificare che la fascia notte funzioni. Il trucco è temporaneo e non richiede nessuna modifica permanente al sistema: nell’editor visivo, sostituisci momentaneamente i valori orari della condizione con un intervallo che include l’ora attuale. Se sono le 15:30, imposta after: 15:00 e before: 16:00 — la card appare subito. Verificato che tutto funziona, ripristina i valori originali.

Per vedere il risultato animato con le tre fasce che si alternano, nel video allegato a questo articolo mostro l’intera sequenza in accelerata: è il modo più rapido per capire come si comporta la view nella pratica.

9. Impostare la Companion App

Costruire la view Mobile non basta: devi anche dire alla Companion App di aprirla per prima quando lanci l’app sul telefono, altrimenti continui ad atterrare sulla dashboard predefinita.

Il percorso è più diretto di quanto sembra. Apri la Companion App, vai sulla dashboard che hai creato e tocca i tre puntini di fianco al nome della view — poi seleziona Save as default. Da quel momento, ogni volta che apri l’app atterri direttamente sulla view giusta, già filtrata per l’ora in cui ti trovi. Il procedimento è lo stesso su iOS e Android.

I tre puntini di fianco alla view → Save as default: un tap e sei a posto

10. Upgrade con le WeSmart Cards

La struttura che hai costruito — card condizionale con fascia oraria — è completamente indipendente dal tipo di card che ci metti dentro. Puoi sostituire qualsiasi card nativa con una WeSmart Card senza toccare le condizioni: cambia solo il blocco card: interno, le condizioni rimangono identiche.

Il risultato visivo cambia radicalmente: le WeSmart Cards usano un design minimal con tema scuro nativo, perfetto per l’uso notturno sul telefono senza abbagliare. Se hai già installato la collezione, è questione di pochi minuti per aggiornare ogni card.

Trovi la presentazione completa del progetto qui: WeSmart Custom Cards per Home Assistant, e la guida all’installazione con tutti gli esempi YAML qui: Installazione e configurazione WeSmart Custom Cards. Il repository GitHub con tutti i file è disponibile su github.com/WeAreSmart-home/wesmart-original-custom-cards.

La card condizionale con card nativa: funzionale ma essenziale
La stessa struttura con WeSmart Cards: tema scuro, design minimal, perfetto per il mobile notturno

Se invece preferisci un’estetica diversa, Bubble Card è un’alternativa altrettanto valida per costruire dashboard personalizzate — trovi esempi e configurazioni pratiche in Bubble Card: esempi per dashboard.

11. YAML completo

Per chi preferisce lavorare direttamente nel raw editor, qui sotto trovi l’intera view in un unico blocco, nella versione con le WeSmart Cards che uso nel mio setup. Il punto importante da sottolineare è la struttura a sezioni separate per fascia: ogni grid contiene una sola card condizionale con la sua Vertical Stack interna. Questo rende il YAML più leggibile e facile da manutenere rispetto ad avere tutto in un’unica sezione.

Ricordati di sostituire tutte le entità con quelle della tua installazione prima di incollare.

YAMLView completa con WeSmart Cards
type: sections
max_columns: 1
title: Condizionale WeSmart
header:
card:
  type: markdown
  text_only: true
  content: |-
    # Ciao {{ user }}
    Tutorial sulle card condizionali
sections:

- type: grid
  cards:
    - type: heading
      heading_style: title
    - type: conditional
      conditions:
        - condition: time
          after: "06:00:00"
          before: "12:00:00"
      card:
        type: vertical-stack
        cards:
          - type: custom:wesmart-buttons-bar-card
            title: Azioni Rapide
            theme: dark
            buttons:
              - name: Esco di Casa
                icon: mdi:logout
                service: scene.turn_on
                service_data:
                  entity_id: scene.esco_di_casa
              - name: Tutte le luci
                icon: mdi:lightbulb
                entity: light.luci_tutte
              - name: Scena Film
                icon: mdi:movie-open
                service: scene.turn_on
                service_data:
                  entity_id: scene.serata_film
          - type: custom:wesmart-weather-card
            entity: weather.home
            title: ""
            theme: dark
          - type: custom:wesmart-doors-card
            title: Porte e finestre
            entities:
              - name: Portone Principale
                icon: mdi:door-closed
                entity: binary_sensor.0xa4c138dccb4cb231_contact

- type: grid
  cards:
    - type: heading
      heading_style: title
    - type: conditional
      conditions:
        - condition: time
          after: "12:01:00"
          before: "22:00:00"
      card:
        type: vertical-stack
        cards:
          - type: custom:wesmart-lights-card
            title: Luci Principali
            entities:
              - name: Luci Cucina
                icon: mdi:fridge
                entity: light.cucina_tutte_le_luci
              - name: Luci Soggiorno
                icon: mdi:lightbulb
                entity: light.0xa4c1380a031cae28
          - type: custom:wesmart-media-player-card
            entity: media_player.echo_plus_di_massimo
            title: Musica
            theme: dark
          - type: custom:wesmart-climate-card
            entity: climate.0x3c2ef5fffebad64b
          - type: custom:wesmart-sensors-card
            title: Sensori
            entities:
              - sensor.temperatura_percepita_soggiorno

- type: grid
  cards:
    - type: heading
      heading_style: title
    - type: conditional
      conditions:
        - condition: time
          after: "22:01:00"
          before: "05:59:00"
      card:
        type: vertical-stack
        cards:
          - type: custom:wesmart-buttons-bar-card
            title: Notte
            theme: dark
            buttons:
              - name: Luci Soggiorno
                icon: mdi:lightbulb
                entity: light.soggiorno
              - name: Spegni Tutto
                icon: mdi:light-switch-off
                service: scene.turn_on
                service_data:
                  entity_id: scene.esco_di_casa
          - type: custom:wesmart-infinite-lights-expand-card
            title: Luci
            entities:
              - name: Luce Camera da Letto
                icon: mdi:lightbulb
                entity: light.0xa4c13849ee028be9
          - type: custom:wesmart-switches-card
            title: Sicurezza
            entities:
              - alarm_control_panel.ezviz_alarm
          - type: custom:wesmart-climate-compact-card
            title: Riscaldamento
            icon: mdi:thermostat
            theme: dark
            entities:
              - entity: climate.aqara_termostato
                name: Soggiorno
              - entity: climate.0x3c2ef5fffebad64b
                name: Camera da Letto

Nota: questo YAML usa le WeSmart Cards del mio setup personale — incluse entità con indirizzi Zigbee (0xa4c138...) che sono specifici della mia installazione. Se vuoi partire dalle card native senza dipendenze esterne, usa i blocchi YAML delle singole sezioni 5, 6 e 7 riportati sopra.

12. FAQ

Posso aggiungere altre fasce orarie?

Sì, il procedimento è identico. Puoi creare tutte le fasce che vuoi — una fascia pomeridiana, una per il pranzo, una per l’ora di sport. Aggiungi una nuova card condizionale con la fascia oraria desiderata e riempila con le card più utili in quel contesto.

Funziona anche senza Companion App?

Sì. Le card condizionali funzionano nel browser come in qualsiasi altro client. L’ora usata è quella del sistema su cui gira Home Assistant, non quella del dispositivo che stai usando per visualizzare. Se il tuo server è sincronizzato correttamente — e lo è quasi sempre — il risultato è identico. La Companion App serve solo per impostare la view Mobile come home page predefinita: senza di essa devi navigare manualmente alla tab corretta ogni volta.

Funziona su Android?

Sì, senza alcuna differenza. La Companion App per Android ha le stesse impostazioni di quella iOS. Il percorso è identico: tre puntini di fianco alla view → Save as default.

Foto di Massimo Di Vona

Massimo Di Vona

Esperto di Smart Home e domotica, fondatore di WeAreSmart.it.

Massimo si occupa di tendenze tecnologiche da oltre un decennio, con un'attenzione particolare alle automazioni domestiche e alla smart home, ambiti che ha approfondito in particolare con Home Assistant. Si interessa anche di intelligenza artificiale e delle sue applicazioni nella tecnologia consumer.

Home AssistantDashboardCard condizionaliLovelaceDomoticaWeSmart CardsTutorial