Crea un modello di automazione

Informazioni su questo codelab
schedule34 minuti
subjectUltimo aggiornamento: 26 settembre 2023
account_circleScritto da: Jonathan Donald and Andres Gomez
  • Come progettare e scrivere un modello di automazione
  • Come testare un modello di automazione utilizzando la console per gli sviluppatori di Google Home
  • Un telefono Android o iOS su cui è installata l'app Google Home.
  • Una luce smart installata in casa o un dispositivo simulato nel Google Home Playground.

Avere familiarità con la scrittura delle automazioni di Google Home. Se non hai mai scritto un'automazione, ti consigliamo di seguire il codelab Creare un'automazione basata su script prima di procedere con questa.

Gli sviluppatori creano modelli di automazione utilizzando l'editor dei modelli di automazione nella console per gli sviluppatori di Google Home. I modelli di automazione contengono l'essenza della logica dello script, facendo riferimento a tipi di dispositivi, ma non a dispositivi specifici.

Utilizzando l'editor di script per le automazioni di Google Home per il web, gli utenti finali prendono un modello di automazione e creano un'istanza personalizzata che agisce sui dispositivi specifici della propria casa. Una volta salvata, l'istanza viene visualizzata nella sezione Routine per la casa nell'app Google Home (GHA).

3. Pianifica il modello di automazione

Quando si crea un'automazione, si inizia a pensare al problema che si sta cercando di risolvere e a cosa farà l'automazione per risolverlo. Ciò include considerazioni quali:

  • Quali dispositivi vuoi automatizzare.
  • Il comando iniziale (o evento) che deve attivare l'esecuzione dell'automazione.
  • Le eventuali condizioni aggiuntive determinano se l'automazione viene eseguita o meno dopo essere stata attivata.
  • Azioni da eseguire.

Ai fini di questo codelab, l'automazione farà due cose:

  1. Accendi una luce in un orario specifico.
  2. Spegni la stessa luce in un orario specifico.

Tenendo conto di questo, puoi aprire l'editor dei modelli e scrivere l'automazione.

4. Scrivi il modello di automazione

Le automazioni sono scritte in modo dichiarativo utilizzando il linguaggio di serializzazione dei dati YAML.

Un modello di automazione ha tre sezioni principali:

  1. Metadati - Il nome dell'automazione, una descrizione di ciò che fa e, facoltativamente, alcuni tag utilizzati per classificare l'automazione. Le parole chiave sono:
    • ILLUMINAZIONE E PRESE
    • CLIMA ED ENERGIA
    • SICUREZZA E AWARENESS
    • INTRATTENIMENTO
    • APPLIANCE E ALTRO
  2. Input - Definisce il tipo di dispositivi che l'automazione intende controllare. Il motore di automazione utilizza queste informazioni per sapere quali tipi di azioni sono valide per i dispositivi previsti.
  3. Regole di automazione: definisce la logica di avvio e il comportamento dell'automazione.

Questo è il modello di automazione che lavorerai:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

Leggi il modello e tieni presente quanto segue:

  • La sezione metadata contiene il nome e la descrizione di questa automazione.
  • La sezione input definisce una variabile denominata the_light che specifica un dispositivo di tipo LIGHT. Ciò significa che questo modello può essere utilizzato solo per le luci, non per altri tipi di dispositivi. In altre parole, quando a un utente viene chiesto di selezionare un dispositivo per $the_light, che configura l'automazione nella propria casa, la scelta del dispositivo è limitata ai dispositivi del tipo specificato.
  • Nella sezione input sono definite anche due variabili denominate time_on e time_off. Ciò consente all'utente di specificare quando avviare le automazioni. time_on rappresenta l'ora in cui la luce è stata accesa e time_off il tempo in cui la luce è stata spenta. Se l'utente non imposta il valore time_on o time_off, vengono utilizzati i valori predefiniti.
  • La sezione automations della nostra automazione contiene due regole di automazione. Ogni regola ha un singolo comando iniziale time.schedule che indica all'automazione a che ora deve essere avviata.

Editor modelli

L'editor di modelli di automazioni è lo strumento che utilizzi per scrivere modelli di automazione.

  1. Vai alla Console per gli sviluppatori di Google Home.
  2. Accedi con lo stesso account con cui è stato configurato il dispositivo nell'app Google Home.
  3. Crea o seleziona un progetto esistente.
  4. In Automazioni, fai clic su Sviluppo.
  5. Fai clic su Crea un modello.
  6. Copia la "Luce programmata" modello di automazione.
  7. Incolla "Luce programmata" di automazione nell'editor dei modelli.
  8. Fai clic su Validate (Convalida). Risolvi gli eventuali errori riscontrati e continua a eseguire la convalida e a correggerli finché non vengono generati errori.
  9. Fai clic su Salva per salvare il modello.

5. Testa il modello

Ora puoi testare il modello nella console.

  1. Assicurati che la lampadina sia collegata e visibile nell'app Google Home.
  2. Se la luce è accesa, spegnila.
  3. Vai alla Console per gli sviluppatori di Google Home.
  4. Apri il progetto in cui hai creato il modello.
  5. Seleziona Automazioni, quindi seleziona la scheda Test.
  6. Fai clic su Apri accanto a "Luce programmata". modello di automazione.
  7. Seleziona la struttura in cui vuoi testare il modello, poi fai clic su Avanti.
  8. Nell'editor InputValue, specifica il nome della lampadina. Ad esempio, se il nome della lampadina è "Luce scrivania - Ufficio", dovrai selezionare Desk light - Office dal menu a discesa che viene visualizzato quando fai clic a destra di lights. In alternativa, puoi digitare il nome del dispositivo.
  9. Sempre nell'editor InputValue, specifica l'ora time_on a un orario, ad esempio cinque minuti nel futuro, e modifica il valore time_off in un'ora immediatamente successiva al time_on.
  10. Al termine, l'editor InputValue dovrebbe avere il seguente aspetto:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. Fai clic su Attiva test.
  12. Attendi che vengano superati i due tempi del comando iniziale. La spia dovrebbe accendersi e poi spegnersi agli orari specificati.

Dopo aver testato il modello, sai che l'automazione funziona correttamente.

6. Complimenti

Hai creato un modello di automazione. Ottimo!

In questo codelab hai imparato a:

  • Come progettare e scrivere un modello di automazione
  • Come testarlo nella console per gli sviluppatori di Google Home.

Passaggi successivi

In questo codelab, hai creato un'automazione molto semplice. Le automazioni possono fare molto di più che programmare l'accensione o lo spegnimento di una luce. Ora che hai compreso le nozioni di base per creare e testare un modello di automazione, puoi provare a creare modelli di automazione di altri tipi di dispositivi utilizzando comandi iniziali, condizioni e azioni diversi.

Per approfondire

Per scoprire di più sulle automazioni di Google Home, consulta la documentazione di riferimento sulle automazioni: