1. Introduzione
Obiettivi didattici
- Come pianificare e scrivere un'automazione basata su script.
- Come testare un'automazione basata su script.
Che cosa ti serve
- Uno smartphone Android o iOS con l'app Google Home.
- Una luce smart o un altro dispositivo certificato per Funziona con Google Home che può essere acceso o spento.
2. Configura il tuo dispositivo
Se il dispositivo non è ancora configurato, procedi alla configurazione in casa.
Verifica che il dispositivo venga visualizzato nell'app Google Home e che tu possa accenderlo e spegnerlo utilizzando l'app Home.
3. Pianificare l'automazione basata su script
Inizieremo a pensare a cosa vogliamo che faccia la nostra automazione basata su script. Ciò include considerazioni come:
- Quali dispositivi vuoi automatizzare.
- Quale starter (o evento) deve attivare l'esecuzione dell'automazione con script.
- Quali condizioni aggiuntive, se presenti, controllano l'esecuzione o meno dell'automazione con script una volta attivata.
- Quali azioni devono essere eseguite.
Ai fini di questo codelab, il nostro piano prevede che l'automazione basata su script faccia due cose:
- Accendi la luce (o un altro smart device) a un orario specifico.
- Spegnere il dispositivo a un'ora specifica.
Ora che abbiamo ben chiaro cosa vogliamo che faccia la nostra automazione basata su script, apriamo l'editor di script e scriviamo l'automazione.
4. Scrivere l'automazione basata su script
Le automazioni basate su script vengono scritte in modo dichiarativo utilizzando il linguaggio di serializzazione dei dati YAML.
Un'automazione basata su script è composta da due sezioni principali:
- Metadati: il nome dell'automazione basata su script e una descrizione della sua funzione.
- Regole di automazione: definiscono la logica di avvio e il comportamento dell'automazione.
Metadati
I metadati della nostra automazione indicano all'utente il nome e la funzione dell'automazione. 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 di automazione è dove si svolge il vero lavoro. È composta 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 uno starter deve essere valutato come | Questi sono facoltativi e consistono in uno o più vincoli aggiuntivi che vengono valutati dopo l'attivazione di un punto di partenza. Se le condizioni si risolvono in Quando includi più vincoli, separali con le parole chiave Una condizione non è la stessa cosa di una notifica di modifica dello stato:
| Le azioni sono operazioni eseguite quando il comando iniziale e le condizioni di vincolo sono soddisfatti. |
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:
- Esistono due regole per
automations. Il primo accende la luce, il secondo la spegne. - Ogni regola ha una sola azione.
on: truesignifica accendi la luce. Analogamente,on: falsesignifica spegni la luce.- Ogni regola ha un singolo
time.scheduleche indica all'automazione a che ora deve essere avviata. - Non ci sono condizioni in questa automazione.
5. L'automazione basata su script completa
Mettendo insieme tutti questi elementi, ecco come appare l'automazione basata su script completa:
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
- Copia l'automazione (vedi sopra).
- Vai a Google Home per il web.
- Seleziona la scheda Automazioni, rappresentata da un'icona con tre stelle:

- Fai clic su + Aggiungi nuovo confronto.
- Nell'editor di script, elimina il modello di automazione.
- Incolla l'automazione.
- Sostituisci
Desk light - Officecon il nome e la posizione del tuo dispositivo. - Fai clic su Validate (Convalida). L'editor di script sottolinea le sezioni dell'automazione basata su script che contengono errori. Risolvi gli errori che si presentano e continua a eseguire la convalida e la correzione finché non ce ne sono più. Ad esempio, il nome del dispositivo potrebbe essere diverso. In questo caso, puoi utilizzare la funzionalità di completamento automatico per scegliere un nome del dispositivo valido.
- Fai clic su Salva.
- Assicurati che l'opzione Attiva, sotto il testo del copione, sia impostata su On:

6. Testare l'automazione
- Assicurati che il dispositivo sia collegato e visibile nell'app Google Home.
- Se il dispositivo è attualmente acceso, spegnilo.
- Nella pagina Automazioni di Google Home per il web, fai clic sul pulsante "Esegui" accanto all'automazione.

- Il dispositivo dovrebbe accendersi.
Ora testiamo l'automazione.
- Spegni il dispositivo.
- Modifica l'automazione e cambia l'ora "Dispositivo acceso" alla riga 7 con un'ora di cinque minuti successiva.
- Modifica l'ora di spegnimento del dispositivo alla riga 14 con un orario successivo a quello di accensione.
- Fai clic su Validate (Convalida). Risolvi eventuali errori che potrebbero verificarsi.
- Fai clic su Salva.
- Assicurati che l'opzione Attiva sia impostata su On.
- Attendi il superamento dei due orari di inizio. Il dispositivo dovrebbe accendersi e spegnersi negli orari specificati.
7. Complimenti!
Hai creato un'automazione basata su script. Ottimo.
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 programmare l'attivazione/disattivazione di un interruttore. Ora che hai compreso le nozioni di base per la creazione di un'automazione, puoi esplorare i vari tipi di comandi iniziali, condizioni e azioni disponibili nell'ecosistema Google Home.
Prova i seguenti esercizi:
- Aggiungi altri comandi iniziali
time.scheduleall'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 un altro dispositivo è acceso. Fai riferimento agli script di esempio che utilizzano la clausolacondition. - Modifica l'automazione in modo che i dispositivi si accendano solo quando qualcuno è in casa.
Per approfondire
Per scoprire di più sulle automazioni di Google Home, consulta la documentazione di riferimento sulle automazioni: