1. Introduzione
Obiettivi didattici
- Come progettare e scrivere un modello di automazione
- Come testare un modello di automazione utilizzando la console per gli sviluppatori di Google Home
Che cosa ti serve
- 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.
Prerequisiti
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.
2. Modelli e istanze di automazione
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:
- Accendi una luce in un orario specifico.
- 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:
- 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
- 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.
- 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 denominatathe_light
che specifica un dispositivo di tipoLIGHT
. 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 denominatetime_on
etime_off
. Ciò consente all'utente di specificare quando avviare le automazioni.time_on
rappresenta l'ora in cui la luce è stata accesa etime_off
il tempo in cui la luce è stata spenta. Se l'utente non imposta il valoretime_on
otime_off
, vengono utilizzati i valori predefiniti. - La sezione
automations
della nostra automazione contiene due regole di automazione. Ogni regola ha un singolo comando inizialetime.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.
- Vai alla Console per gli sviluppatori di Google Home.
- Accedi con lo stesso account con cui è stato configurato il dispositivo nell'app Google Home.
- Crea o seleziona un progetto esistente.
- In Automazioni, fai clic su Sviluppo.
- Fai clic su Crea un modello.
- Copia la "Luce programmata" modello di automazione.
- Incolla "Luce programmata" di automazione nell'editor dei modelli.
- Fai clic su Validate (Convalida). Risolvi gli eventuali errori riscontrati e continua a eseguire la convalida e a correggerli finché non vengono generati errori.
- Fai clic su Salva per salvare il modello.
5. Testa il modello
Ora puoi testare il modello nella console.
- Assicurati che la lampadina sia collegata e visibile nell'app Google Home.
- Se la luce è accesa, spegnila.
- Vai alla Console per gli sviluppatori di Google Home.
- Apri il progetto in cui hai creato il modello.
- Seleziona Automazioni, quindi seleziona la scheda Test.
- Fai clic su Apri accanto a "Luce programmata". modello di automazione.
- Seleziona la struttura in cui vuoi testare il modello, poi fai clic su Avanti.
- 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 dilights
. In alternativa, puoi digitare il nome del dispositivo. - Sempre nell'editor InputValue, specifica l'ora
time_on
a un orario, ad esempio cinque minuti nel futuro, e modifica il valoretime_off
in un'ora immediatamente successiva altime_on
. - 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
- Fai clic su Attiva test.
- 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: