Crea un'automazione basata su script

1. Introduzione

Obiettivi didattici

  • Come pianificare e scrivere un'automazione basata su script.
  • Come testare un'automazione basata su script.

Che cosa ti serve

  • Un telefono Android o iOS su cui è installata l'app Google Home.
  • Una luce smart o un altro dispositivo certificato per Funziona con Google Home e che può essere acceso o spento.

2. Configura il tuo dispositivo

Se il dispositivo non è già configurato, configuralo a casa tua.

Verifica che il dispositivo sia visualizzato nell'app Google Home e che tu possa accenderlo e spegnerlo utilizzando l'app Home.

3. Pianifica l'automazione basata su script

Inizieremo pensando a cosa vogliamo che l'automazione basata su script faccia. Ciò include considerazioni quali:

  • Quali dispositivi vuoi automatizzare.
  • Quale comando iniziale (o evento) deve attivare l'esecuzione dell'automazione basata su script.
  • Quali condizioni aggiuntive, se presenti, determinano se l'automazione basata su script viene eseguita o meno dopo l'attivazione.
  • Quali azioni devono essere eseguite.

Ai fini di questo codelab, il nostro piano prevede che l'automazione basata su script faccia due cose:

  1. Accendi la lampadina (o un altro smart device) a un orario specifico.
  2. Spegni il dispositivo in un orario specifico.

Ora che abbiamo capito esattamente cosa vogliamo che faccia l'automazione basata su script, apriremo l'editor di script e scriveremo l'automazione basata su script.

4. Scrivi l'automazione basata su script

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

Un'automazione basata su script è composta da due sezioni principali:

  1. Metadati: il nome dell'automazione basata su script e una descrizione delle funzioni.
  2. Regole di automazione: definisce la logica e il comportamento di avvio dell'automazione.

Metadati

I metadati della nostra automazione indicano all'utente come viene chiamata l'automazione e a cosa serve. I metadati sono specificati nel blocco metadata, che ha il seguente aspetto:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

Regole di automazione

Una regola dell'automazione è il luogo in cui si svolge il lavoro reale. È costituito da tre parti, comandi iniziali, condizioni e azioni, che vengono valutate in ordine:

1 Comandi iniziali

2 Condizioni

3 azioni

I comandi iniziali sono ciò che avvia l'automazione. Almeno un comando iniziale deve restituire un valore true affinché vengano valutate le condizioni successive.

Questi sono facoltativi e consistono di uno o più vincoli aggiuntivi valutati dopo l'attivazione di un comando iniziale. Se le condizioni vengono risolte in true, le azioni vengono eseguite. Se viene risolta in false, le azioni non vengono eseguite.

Quando includi più vincoli, separali con parole chiave and e or per formare una singola espressione logica. Questa espressione deve risolversi in true affinché le azioni di un'automazione possano procedere.

Una condizione non è uguale a una notifica di modifica dello stato:

  • Una condizione rappresenta un fatto che deve essere vero nel momento in cui il comando iniziale "si attiva" per consentire l'esecuzione delle azioni.
  • Una notifica di cambio di stato è un evento, ad esempio l'accensione di un altro dispositivo.

Le azioni sono operazioni che vengono eseguite una volta soddisfatte le condizioni del comando iniziale ed eventuali vincoli.

Il blocco automations della nostra automazione contiene due regole:

automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false

Tieni presente quanto segue:

  1. Ci sono due regole automations. La prima accende la luce e la seconda la spegne.
  2. Ogni regola ha una singola azione.
  3. on: true significa accendere la luce. Analogamente, on: false significa spegnere la luce.
  4. Ogni regola ha un singolo comando iniziale time.schedule che indica all'automazione a che ora avviarla.
  5. Non sono presenti condizioni in questa automazione.

5. L'automazione completa basata su script

Riassumendo, ecco come si presenta l'automazione completa basata su script:

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times
automations:
  - starters:
      - type: time.schedule
        at: 1:00 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: true
  - starters:
      - type: time.schedule
        at: 1:05 PM
    actions:
      - type: device.command.OnOff
        devices: Desk light - Office
        on: false
  1. Copia l'automazione (sopra).
  2. Vai a Google Home per il web.
  3. Seleziona la scheda Automazioni, rappresentata da un'icona con tre stelle:
    Scheda Automazioni
  4. Fai clic su + Aggiungi nuovo confronto.
  5. Nell'editor di script, elimina il modello di automazione.
  6. Incolla l'automazione.
  7. Sostituisci Desk light - Office con il nome e la posizione del tuo dispositivo.
  8. Fai clic su Validate (Convalida). L'editor di script evidenzia le sezioni dell'automazione basata su script che contengono errori. Risolvi eventuali errori e continua a eseguire le operazioni di convalida e correzione finché non si verificano più errori. Ad esempio, il nome del tuo dispositivo potrebbe essere diverso. In questo caso, puoi utilizzare la funzionalità di completamento automatico per scegliere un nome dispositivo valido.
  9. Fai clic su Salva.
  10. Assicurati che l'opzione Attiva, sotto il testo dello script, sia in posizione on: Editor di script con automazione basata su script completamente convalidata e attivata

6. Testa l'automazione

  1. Assicurati che il dispositivo sia collegato alla corrente e visibile nell'app Google Home.
  2. Se il dispositivo è attualmente acceso, spegnilo.
  3. Nella pagina Automazioni di Google Home per il web, fai clic sul pulsante "Esegui" accanto all'automazione.
    Pulsante esecuzione script
  4. Il dispositivo dovrebbe accendersi.

Ora testiamo l'automazione.

  1. Spegni il dispositivo.
  2. Modifica l'automazione e cambia l'ora di "accensione del dispositivo" sulla riga 7 impostandola su un orario di cinque minuti nel futuro.
  3. Modifica l'orario di "dispositivo spento" sulla riga 14 impostandolo su un orario subito dopo l'ora di accensione.
  4. Fai clic su Validate (Convalida). Risolvi gli eventuali errori che potrebbero verificarsi.
  5. Fai clic su Salva.
  6. Assicurati che l'opzione Attiva sia in posizione on.
  7. Attendi il superamento dei due tempi iniziali. Il dispositivo dovrebbe accendersi e spegnersi agli orari specificati.

7. Complimenti!

Hai creato correttamente un'automazione basata su script, fantastico!

In questo codelab hai imparato a:

  • Come progettare e scrivere un'automazione.
  • Come testare un'automazione.

Passaggi successivi

In questo codelab, abbiamo creato un'automazione molto semplice. Le automazioni possono fare molto di più che pianificare l'accensione e lo spegnimento di un interruttore. Ora che conosci le nozioni di base per creare un'automazione, puoi esplorare i vari tipi di comandi iniziali, condizioni e azioni disponibili nell'ecosistema di Google Home.

Prova i seguenti esercizi:

  • Aggiungi altri comandi iniziali di time.schedule all'automazione.
  • Modifica l'automazione per accendere e spegnere un altro dispositivo con la stessa programmazione.
  • Senza rimuovere i comandi iniziali time.schedule, modifica l'automazione in modo che accenda i dispositivi solo quando è acceso un altro dispositivo. Fai riferimento agli script di esempio che utilizzano la clausola condition.
  • Modificare l'automazione in modo che accenda i dispositivi solo quando c'è qualcuno in casa.

Per approfondire

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