Progetto fai-da-te / Dashboard

Scheda raccolta differenziata per Home Assistant: guida completa

Un pacchetto pronto all'uso che aggiunge a Home Assistant una scheda con i sei secchi della raccolta differenziata (plastica, carta, umido, indifferenziato, vetro, pannolini), un calendario settimanale personalizzabile e un promemoria automatico la sera prima del ritiro, via notifica push, annuncio vocale (Alexa o Google) o Telegram.

Livello: principiante~20 minutiSolo Home Assistant Core, nessun HACS
Scarica il pacchetto (.zip)↓
Anteprima della scheda con le sei icone della raccolta differenziata: plastica, carta, umido, indifferenziato, vetro e pannolini

Così appariranno i secchi sulla dashboard una volta installata la scheda.

01

Cosa ottieni

Una scheda con i secchi accesi solo per il rifiuto previsto oggi, e un promemoria che parte da solo la sera prima.

02

Cosa serve prima di iniziare

  • Un'istanza Home Assistant già funzionante e raggiungibile.
  • Un modo per copiare file nella cartella di configurazione: l'add-on File editor (il più semplice, si installa dal negozio componenti aggiuntivi) oppure Samba/SSH se li usi già.
  • Nessuna conoscenza di programmazione: si copia, si incolla, si personalizza dal menu.

1. Scarica ed estrai il pacchetto

Clicca sul pulsante Scarica il pacchetto (.zip) in alto, poi estrai lo zip sul computer (tasto destro sul file → Estrai tutto su Windows, doppio clic su Mac). Otterrai una cartella con dentro quattro elementi: www, packages, dashboard e un file README.md. In questa guida copieremo www e packages nei prossimi due passaggi, mentre le schede della dashboard le scriveremo direttamente dal browser: la cartella dashboard contiene già gli stessi due file YAML pronti all'uso, comodi come riferimento o se preferisci incollarli da lì invece di ricopiarli dalla pagina.

2. Copia le icone dei secchi

Se non hai già l'add-on File editor, installalo così: Impostazioni → Componenti aggiuntivi → Negozio componenti aggiuntivi, cerca File editor, apri la sua pagina e premi Installa, poi Avvia. Quando è avviato comparirà una nuova voce nel menu laterale.

  1. Apri File editor dal menu laterale.
  2. Clicca l'icona della cartella in alto per sfogliare i file, ed entra nella cartella www (se non esiste, creala con l'icona apposita).
  3. Copia al suo interno l'intera cartella rifiuti che hai estratto dallo zip, in modo da ottenere il percorso www/rifiuti/ con dentro 12 file .svg.

3. Copia la configurazione

Sempre in File editor, verifica che nel file configuration.yaml (nella cartella principale) sia presente questa riga; se manca, aggiungila all'inizio del file:

homeassistant:
  packages: !include_dir_named packages

Poi crea (se non esiste già) una cartella chiamata packages nella cartella principale, ed entraci dentro. Apri il file rifiuti.yaml che trovi nella cartella packages dello zip, copiane tutto il contenuto, crea un nuovo file con lo stesso nome rifiuti.yaml dentro la cartella packages di Home Assistant e incollacelo dentro.

4. Riavvia Home Assistant

Questo passaggio è necessario solo la prima volta, per far leggere a Home Assistant i nuovi file.

  1. Vai su Impostazioni (icona a forma di ingranaggio, in fondo al menu laterale).
  2. Apri Sistema.
  3. In alto a destra premi i tre puntini ⋮ e scegli Riavvia Home Assistant, poi conferma.

Attendi circa un minuto: quando la pagina torna raggiungibile, la configurazione è attiva.

5. Crea la vista "Opzioni"

Questa è una seconda pagina della dashboard, dove terrai il calendario settimanale e le notifiche. Non comparirà tra le schede in alto: ci si arriva solo tramite un pulsante dedicato, che creeremo al passaggio 6.

  1. Apri la dashboard dove vuoi installare il progetto e premi la matita in alto a destra (Modifica dashboard).
  2. Premi il simbolo + accanto alle schede, in cima alla pagina.
  3. Nella finestra che si apre, scrivi come titolo Opzioni Rifiuti, come icona mdi:cog, e come disposizione scegli Muratura. Salva.
  4. Premi di nuovo i tre puntini ⋮ in alto a destra e scegli Editor di configurazione testuale.
  5. Nel testo, trova la vista appena creata (riconoscibile dal titolo Opzioni Rifiuti che hai appena scritto) e sostituisci tutto il suo contenuto con questo:
title: Opzioni Rifiuti
path: rifiuti-opzioni
icon: mdi:cog
visible: false
cards:
  - type: markdown
    content: "[⬅️ Torna a Rifiuti](/lovelace/rifiuti)"

  - type: entities
    title: "Pianificazione settimanale (codici: plastica, carta, umido, indifferenziato, vetro, pannolini — separati da virgola)"
    entities:
      - entity: input_text.rifiuti_lunedi
        name: Lunedì
      - entity: input_text.rifiuti_martedi
        name: Martedì
      - entity: input_text.rifiuti_mercoledi
        name: Mercoledì
      - entity: input_text.rifiuti_giovedi
        name: Giovedì
      - entity: input_text.rifiuti_venerdi
        name: Venerdì
      - entity: input_text.rifiuti_sabato
        name: Sabato
      - entity: input_text.rifiuti_domenica
        name: Domenica

  - type: entities
    title: "Canali di notifica"
    entities:
      - entity: input_boolean.rifiuti_notifica_app
      - entity: input_boolean.rifiuti_notifica_vocale
      - entity: input_boolean.rifiuti_notifica_telegram
      - entity: input_datetime.rifiuti_ora_promemoria
        name: "Orario promemoria (sera prima)"
      - entity: input_boolean.rifiuti_promemoria_mattina_attivo
      - entity: input_datetime.rifiuti_ora_promemoria_mattina
        name: "Orario promemoria (mattina)"

  - type: entities
    title: "Destinatari notifiche"
    entities:
      - entity: input_text.rifiuti_notify_app_service
      - entity: input_select.rifiuti_vocale_assistente
        name: "Assistente vocale (Alexa o Google)"
      - entity: input_text.rifiuti_notify_vocale_entity
      - entity: input_text.rifiuti_notify_telegram_target

  - type: button
    name: "Invia notifica di prova"
    icon: mdi:bell-ring
    tap_action:
      action: call-service
      service: script.rifiuti_test_notifica

Premi Salva in alto a destra, poi chiudi l'editor con la X.

6. Crea la scheda principale "Rifiuti"

Ripeti la stessa procedura del passaggio precedente per creare la scheda che mostra i secchi.

  1. Sempre in modifica dashboard, premi di nuovo il + accanto alle schede.
  2. Titolo Rifiuti, icona mdi:trash-can, disposizione Muratura. Salva.
  3. Apri di nuovo tre puntini ⋮ → Editor di configurazione testuale, trova questa nuova vista Rifiuti e sostituisci il suo contenuto con:
title: Rifiuti
path: rifiuti
icon: mdi:trash-can
cards:
  - type: vertical-stack
    cards:
      - type: grid
        columns: 3
        square: false
        cards:
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_plastica
            name: Plastica
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/plastica_on.svg
              "off": /local/rifiuti/plastica_off.svg
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_carta
            name: Carta
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/carta_on.svg
              "off": /local/rifiuti/carta_off.svg
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_umido
            name: Umido
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/umido_on.svg
              "off": /local/rifiuti/umido_off.svg
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_indifferenziato
            name: Indifferenziato
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/indifferenziato_on.svg
              "off": /local/rifiuti/indifferenziato_off.svg
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_vetro
            name: Vetro
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/vetro_on.svg
              "off": /local/rifiuti/vetro_off.svg
          - type: picture-entity
            entity: binary_sensor.rifiuti_oggi_pannolini
            name: Pannolini
            show_state: false
            show_name: true
            state_image:
              "on": /local/rifiuti/pannolini_on.svg
              "off": /local/rifiuti/pannolini_off.svg

      - type: markdown
        content: >
          ## 🗑️ Raccolta rifiuti

          **Oggi ({{ now().strftime('%A') }}):** {{ state_attr('sensor.rifiuti_oggi','lista') | map('capitalize') | list | join(', ') if (state_attr('sensor.rifiuti_oggi','lista') | count) > 0 else 'nessuna raccolta' }}

          **Domani:** {{ state_attr('sensor.rifiuti_domani','lista') | map('capitalize') | list | join(', ') if (state_attr('sensor.rifiuti_domani','lista') | count) > 0 else 'nessuna raccolta' }}

      - type: tile
        entity: sensor.rifiuti_oggi
        name: Opzioni
        icon: mdi:cog
        color: blue
        tap_action:
          action: navigate
          navigation_path: /lovelace/rifiuti-opzioni

Premi Salva, poi Fatto in alto per uscire dalla modifica. Dovresti già vedere i sei secchi, tutti spenti (grigi): è normale, non hai ancora impostato il calendario.

7. Trova il nome del servizio di notifica del tuo telefono

Ti serve solo se vuoi ricevere il promemoria come notifica push sul telefono.

  1. Apri l'app Home Assistant Companion sul telefono almeno una volta, così risulta collegato.
  2. Sul sito, vai su Impostazioni → Dispositivi e servizi → scheda Azioni.
  3. Nel campo di ricerca scrivi notify e individua la voce con il nome del tuo telefono, ad esempio notify.mobile_app_iphone_di_mario: è il nome completo che ti servirà al passaggio successivo.

8. Imposta il calendario e i destinatari

Qui non si tocca più nessun file: tutto si fa dalla scheda appena creata.

  1. Apri la scheda Rifiuti dalla dashboard e tocca la riga Opzioni.
  2. In Pianificazione settimanale, scrivi in ogni giorno uno o più codici tra plastica, carta, umido, indifferenziato, vetro, pannolini, separati da virgola se un giorno ne prevede più di uno (es. plastica,umido). Lascia vuoto un giorno senza raccolta.
  3. In Destinatari notifiche, incolla nel primo campo il nome trovato al passaggio 7 (es. notify.mobile_app_iphone_di_mario).
  4. In Canali di notifica, attiva l'interruttore notifica push (app Home Assistant).

9. Prova

Sempre nella pagina Opzioni, in fondo trovi il pulsante Invia notifica di prova: premilo e verifica che la notifica arrivi davvero sul telefono, prima di fidarti del promemoria automatico che parte da solo ogni sera alle 20:00 (orario modificabile nella stessa pagina) se il giorno dopo è prevista una raccolta.

In Canali di notifica trovi anche un secondo promemoria opzionale, disattivato di default: parte al mattino (07:30, orario anch'esso modificabile) e avvisa se oggi stesso è prevista una raccolta — utile se preferisci un secondo avviso il giorno stesso invece del solo promemoria della sera prima. Attivalo con l'interruttore Rifiuti - promemoria aggiuntivo al mattino.

Vuoi anche l'annuncio vocale o Telegram?

Sono entrambi opzionali e si attivano dalla stessa pagina Opzioni, con questi prerequisiti:

  • Annuncio vocale: nel campo "dispositivo per annuncio vocale" inserisci l'entità del tuo altoparlante (es. media_player.echo_soggiorno o media_player.google_nest_cucina), poi scegli nel campo "Assistente vocale (Alexa o Google)" quale dei due usare — nessun file da modificare.
    • Google Nest/Home è l'opzione di default: basta l'integrazione nativa Google Cast, già inclusa in Home Assistant, nessuna installazione aggiuntiva.
    • Alexa richiede invece l'integrazione non ufficiale Alexa Media Player (si installa tramite HACS), perché l'integrazione Alexa ufficiale non permette di far parlare i dispositivi: installala prima di selezionare "Alexa", altrimenti l'invio fallirà.
  • Telegram: serve aver già collegato un bot tramite l'integrazione ufficiale Telegram Bot di Home Assistant.

Personalizzare i colori delle icone

I 12 file .svg dentro www/rifiuti sono semplice testo: aprili con un editor qualsiasi se vuoi cambiare colori o forme, senza bisogno di programmi di grafica.