1. Introduction
Points abordés
- Concevoir et rédiger un modèle d'automatisation
- Tester un modèle d'automatisation à l'aide de la console développeur de Google Home
Prérequis
- Un téléphone Android ou iOS exécutant l'application Google Home.
- Il peut s'agir d'une ampoule connectée intégrée à votre maison ou d'un appareil simulé dans Google Home Playground.
Prérequis
Vous devez savoir comment écrire une automatisation Google Home. Si vous n'avez jamais écrit d'automatisation, envisagez de suivre l'atelier de programmation Créer une automatisation à l'aide de l'éditeur de script avant de poursuivre.
2. Modèles et instances d'automatisation
Les développeurs créent des modèles d'automatisation à l'aide de l'éditeur de modèles d'automatisation de la Google Home Developer Console. Les modèles d'automatisation contiennent l'essence même de la logique de script. Ils font référence à des types d'appareils, mais pas à des appareils spécifiques.
À l'aide de l'éditeur de script d'automatisation de Google Home pour le Web, les utilisateurs finaux créent un modèle d'automatisation personnalisé qui agit sur les appareils spécifiques de leur maison. Une fois enregistrée, l'instance apparaît sous Routines de la maison dans l'application Google Home.
3. Planifier votre modèle d'automatisation
Pour créer une automatisation, on commence par réfléchir au problème à résoudre et à ce qu'elle fera pour y remédier. Par exemple:
- Les appareils que vous souhaitez automatiser.
- Quel déclencheur (ou événement) doit déclencher l'exécution de l'automatisation ?
- Quelles conditions supplémentaires, le cas échéant, déterminent si l'automatisation s'exécute ou non une fois qu'elle est déclenchée ?
- Actions à effectuer
Pour les besoins de cet atelier de programmation, l'automatisation va effectuer les deux opérations suivantes:
- Allumer une lumière à une heure précise.
- Éteignez la même lumière à une heure précise.
Sachant cela, vous pouvez ouvrir l'éditeur de modèles et écrire l'automatisation.
4. Écrire le modèle d'automatisation
Les automatisations sont écrites de manière déclarative à l'aide du langage de sérialisation des données YAML.
Un modèle d'automatisation comporte trois sections principales:
- Métadonnées : nom de l'automatisation, description de ce qu'elle fait et, éventuellement, certaines balises permettant de la classer. Les mots clés sont:
- ÉCLAIRAGES ET PLUGS
- CLIMAT ET ÉNERGIE
- SÉCURITÉ ET NOTORIÉTÉ
- DIVERTISSEMENT
- APPAREILS ET PLUS
- Entrée : définit le type d'appareil que l'automatisation doit contrôler. Le moteur d'automatisation utilise ces informations pour identifier les types d'actions valides pour les appareils concernés.
- Règles d'automatisation : définissent la logique de lancement et le comportement de l'automatisation.
Voici le modèle d'automatisation que vous allez utiliser:
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
Lisez le modèle et notez les points suivants:
- La section
metadata
contient le nom et la description de cette automatisation. - La section
input
définit une variable nomméethe_light
qui spécifie un appareil de typeLIGHT
. Cela signifie que ce modèle ne peut être utilisé que pour les ampoules, et non pour d'autres types d'appareils. En d'autres termes, lorsqu'un utilisateur qui configure votre automatisation dans sa maison est invité à sélectionner un appareil pour$the_light
, son choix est limité aux appareils du type que vous avez spécifié. - Deux variables nommées
time_on
ettime_off
sont également définies dans la sectioninput
. Ils permettent à l'utilisateur de spécifier quand lancer les automatisations.time_on
représente l'heure à laquelle la lumière est allumée ettime_off
l'heure où elle est éteinte. Si l'utilisateur ne définit pas la valeur detime_on
outime_off
, les valeurs par défaut sont utilisées. - La section
automations
de notre automatisation contient deux règles d'automatisation. Chaque règle comporte un seul déclencheurtime.schedule
qui indique à l'automatisation l'heure à laquelle elle doit lancer cette automatisation.
Éditeur de modèle
L'éditeur de modèles d'automatisations vous permet d'écrire des modèles d'automatisations.
- Accédez à la console développeur de Google Home.
- Connectez-vous avec le compte avec lequel votre appareil est configuré dans l'application Google Home.
- Créez un projet ou sélectionnez-en un existant.
- Sous Automatisations, cliquez sur Développer.
- Cliquez sur Créer un modèle.
- Copiez l'option "Lumière programmée". modèle d'automatisation.
- Collez le texte "Lumière programmée" modèle d'automatisation dans l'éditeur de modèles.
- Cliquez sur Valider. Corrigez toutes les erreurs qui peuvent se produire, et continuez à valider et à corriger jusqu'à ce qu'aucune erreur ne soit générée.
- Cliquez sur Enregistrer pour enregistrer le modèle.
5. Tester le modèle
Vous pouvez maintenant tester le modèle dans la console.
- Assurez-vous que votre ampoule est branchée et visible dans l'application Google Home.
- Si le voyant est allumé, éteignez-le.
- Accédez à la console développeur de Google Home.
- Ouvrez le projet dans lequel vous avez créé votre modèle.
- Sélectionnez Automatisations, puis sélectionnez l'onglet Test.
- Cliquez sur Ouvrir à côté de "Lumière programmée". modèle d'automatisation.
- Sélectionnez la structure dans laquelle vous souhaitez tester le modèle, puis cliquez sur Suivant.
- Dans l'éditeur InputValue, indiquez le nom de l'ampoule. Par exemple, si votre ampoule s'appelle "Lumière du bureau - Bureau", sélectionnez
Desk light - Office
dans le menu déroulant qui s'affiche lorsque vous cliquez à droite delights
. Vous pouvez également saisir le nom de l'appareil. - Toujours dans l'éditeur InputValue, indiquez une heure (
time_on
) dans le futur (cinq minutes dans le futur), puis remplacez l'heuretime_off
par une heure peu aprèstime_on
. - Lorsque vous avez terminé, l'éditeur InputValue doit se présenter comme suit:
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am
- Cliquez sur Activer le test.
- Attendez que les deux temps de démarrage se terminent. La lumière doit s'allumer, puis s'éteindre aux heures indiquées.
Une fois que vous avez testé votre modèle, vous savez que votre automatisation est fonctionnelle.
6. Félicitations !
Vous avez créé un modèle d'automatisation. Parfait !
Dans cet atelier de programmation, vous avez appris ce qui suit :
- Concevoir et rédiger un modèle d'automatisation
- Comment la tester dans la console développeur de Google Home
Étapes suivantes
Dans cet atelier de programmation, vous avez créé une automatisation très simple. Les automatisations offrent bien plus que programmer l'activation ou la désactivation d'une lumière. Maintenant que vous comprenez les bases pour créer et tester un modèle d'automatisation, vous pouvez essayer de créer des modèles d'automatisation pour d'autres types d'appareils, en utilisant différents déclencheurs, conditions et actions.
Documentation complémentaire
Pour en savoir plus sur les automatisations Google Home, consultez la documentation de référence correspondante: