Pubblicità

Mai più errori con la differenziata! Il Blueprint di Home Assistant per Google Home e Smartphone

Quante volte vi è capitato di dimenticare di tirare fuori il bidone dell’umido o della carta la sera prima della raccolta? Oppure di dover correre a controllare il calendario cartaceo del comune all’ultimo minuto?

Per risolvere questo classico “dilemma domestico”, abbiamo creato un Blueprint per Home Assistant semplice, versatile e pronto all’uso.

Grazie a questa automazione, il vostro sistema domotico vi ricorderà esattamente cosa esporre tramite un annuncio vocale sui Google Home di casa e una notifica sul vostro smartphone.

📋 Prerequisiti Importanti

Prima di procedere con l’installazione e l’uso dell’automazione, assicuratevi di avere configurato questi due elementi essenziali:

  1. Integrazione Google Home / Cast: I vostri dispositivi Google Home / Nest Mini devono essere già integrati in Home Assistant (tramite l’integrazione Google Cast o Google Assistant) in modo che figurino tra le entità media_player.
  2. App Home Assistant Companion: Per ricevere le notifiche push sullo smartphone, è necessario che sul dispositivo sia installata l’applicazione ufficiale Home Assistant Companion (disponibile per Android e iOS) e che l’integrazione mobile_app sia attiva per quel telefono.

🌟 Cosa fa questo Blueprint?

  1. Annuncio Vocale (TTS): Regola automaticamente il volume del Google Home all’orario stabilito e riproduce un messaggio vocale chiaro (es. “Promemoria raccolta differenziata. Ricordati di mettere fuori: Plastica e Lattine”).
  2. Notifica Smartphone: Invia una notifica push istantanea all’app Home Assistant Companion del telefono selezionato, così non vi sfuggirà l’avviso nemmeno se siete fuori stanza.
  3. Controllo Intelligente: Se per un determinato giorno la casella del rifiuto è vuota o impostata su “nessun rifiuto”, l’automazione non invierà alcuna notifica e non disturberà.

🛠️ Come inserire il codice su Home Assistant

Ci sono diversi modi per installare questo Blueprint all’interno della vostra configurazione di Home Assistant:

Metodo 1: Tramite Samba Share (Consigliato)

Se utilizzate l’add-on Samba Share (che vi permette di accedere alle cartelle di Home Assistant direttamente dalle risorse di rete del vostro computer/PC Windows o Mac):

  1. Aprite la cartella di rete di Home Assistant e navigate in config/blueprints/automation/.
  2. Create una nuova sotto-cartella (es. raccolta_rifiuti) o un nuovo file chiamato notifica_rifiuti.yaml.
  3. Incollate il codice YAML riportato qui sotto e salvate il file.
  4. Su Home Assistant andate in Strumenti per gli sviluppatori > YAML e cliccate su Ricarica Automazioni / Blueprint.

Metodo 2: Tramite configuration.yaml o Editor di Testo

In alternativa, potete gestire e inserire i riferimenti al Blueprint o alle automazioni agendo direttamente sul file configuration.yaml tramite gli editor integrati come File Editor o VS Code, oppure tramite la sezione Blueprint dell’interfaccia grafica.

⚙️ Configurazione dell’Automazione

Una volta salvato o importato il Blueprint, la configurazione sarà guidata e facilissima:

  • Orari di Notifica: Potete impostare un Primo Orario (ad esempio la sera alle 20:00) e un Secondo Orario Opzionale (ad esempio un secondo promemoria la mattina presto alle 07:00).
  • Dispositivo Smartphone: Selezionate lo smartphone registrato con l’app Home Assistant Companion dal menu a tendina dell’integrazione mobile_app.
  • Speaker Google Home: Potete scegliere un primo speaker principale e (opzionalmente) un secondo speaker per diffondere il messaggio in un’altra stanza.
  • Volume Annuncio: Un comodo slider da 0 a 100% per decidere a che volume deve parlare il Google Home.
  • Calendario Settimanale: Sette caselle di testo (da Lunedì a Domenica) in cui scrivere i rifiuti previsti per ciascun giorno. Se un giorno non c’è raccolta, vi basterà lasciare la parola di default “nessun rifiuto”.

📄 Il Codice del Blueprint (YAML)

Ecco il codice completo da incollare nel vostro file YAML:

blueprint:
  name: "Notifica Raccolta Rifiuti Google Home + Smartphone"
  description: >
    Annuncia i rifiuti da esporre sui Google Home e invia una notifica
    allo smartphone selezionato.

  domain: automation

  input:

    notification_time_1:
      name: Primo Orario Notifica
      selector:
        time: {}

    notification_time_2:
      name: Secondo Orario Notifica (Opzionale)
      default: []
      selector:
        time: {}

    notify_device:
      name: Dispositivo Smartphone Notifiche
      description: Seleziona il dispositivo smartphone dell'app mobile.
      selector:
        device:
          integration: mobile_app

    tts_target_1:
      name: Primo Speaker Google Home
      selector:
        entity:
          filter:
            - domain: media_player

    tts_target_2:
      name: Secondo Speaker Google Home (Opzionale)
      default: ""
      selector:
        entity:
          filter:
            - domain: media_player

    announcement_volume:
      name: Volume Annuncio
      default: 0.7
      selector:
        number:
          min: 0
          max: 1
          step: 0.05
          mode: slider

    monday_waste:
      name: Rifiuti per Lunedì
      default: "nessun rifiuto"
      selector:
        text: {}

    tuesday_waste:
      name: Rifiuti per Martedì
      default: "nessun rifiuto"
      selector:
        text: {}

    wednesday_waste:
      name: Rifiuti per Mercoledì
      default: "nessun rifiuto"
      selector:
        text: {}

    thursday_waste:
      name: Rifiuti per Giovedì
      default: "nessun rifiuto"
      selector:
        text: {}

    friday_waste:
      name: Rifiuti per Venerdì
      default: "nessun rifiuto"
      selector:
        text: {}

    saturday_waste:
      name: Rifiuti per Sabato
      default: "nessun rifiuto"
      selector:
        text: {}

    sunday_waste:
      name: Rifiuti per Domenica
      default: "nessun rifiuto"
      selector:
        text: {}

mode: single

trigger:
  - platform: time
    at: !input notification_time_1

  - platform: time
    at: !input notification_time_2

action:

  - variables:
      day_name: "{{ now().strftime('%A') }}"

      monday_waste: !input monday_waste
      tuesday_waste: !input tuesday_waste
      wednesday_waste: !input wednesday_waste
      thursday_waste: !input thursday_waste
      friday_waste: !input friday_waste
      saturday_waste: !input saturday_waste
      sunday_waste: !input sunday_waste

      waste_msg: >-
        {% set waste_map = {
          'Monday': monday_waste,
          'Tuesday': tuesday_waste,
          'Wednesday': wednesday_waste,
          'Thursday': thursday_waste,
          'Friday': friday_waste,
          'Saturday': saturday_waste,
          'Sunday': sunday_waste
        } %}
        {{ waste_map.get(day_name, 'nessun rifiuto') }}

      speakers:
        - !input tts_target_1
        - !input tts_target_2

  - condition: template
    value_template: >
      {{ waste_msg != '' and waste_msg != 'nessun rifiuto' }}

  - service: media_player.volume_set
    target:
      entity_id: >
        {{ speakers | reject('eq', '') | list }}
    data:
      volume_level: !input announcement_volume

  - delay: "00:00:01"

  - action: tts.google_say
    data:
      cache: false
      entity_id: >
        {{ speakers | reject('eq', '') | list }}
      message: >
        Promemoria raccolta differenziata.
        Ricordati di mettere fuori:
        {{ waste_msg }}

  - domain: mobile_app
    type: notify
    device_id: !input notify_device
    title: "♻️ Raccolta Differenziata"
    message: "{{ waste_msg }}"

💡 Consiglio Extra

Se la vostra zona segue una rotazione a settimane alterne, potete specificare entrambe le tipologie di rifiuto nel testo del giorno oppure affiancare automazioni condizionali.

Provalo subito nella tua domotica e facci sapere nei commenti come lo hai personalizzato!

Leave a Comment

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.