1. Introduction
Points abordés
- Planifier et écrire une automatisation basée sur un script
- Tester une automatisation basée sur un script
Prérequis
- Un téléphone Android ou iOS équipé de l'application Google Home
- Une ampoule connectée ou un autre appareil certifié Fonctionne avec Google Home qui peut être allumé ou éteint.
2. Configurer votre appareil
Si votre appareil n'est pas encore configuré, configurez-le dans votre maison.
Vérifiez que l'appareil apparaît dans l'application Google Home et que vous pouvez l'allumer et l'éteindre à l'aide de l'application Home.
3. Planifier votre automatisation créée avec l'éditeur de script
Commençons par réfléchir à ce que nous voulons que notre script d'automatisation fasse. Cela inclut les éléments suivants:
- Les appareils que vous souhaitez automatiser
- Déclencheur (ou événement) qui doit déclencher l'exécution de l'automatisation créée.
- Conditions supplémentaires, le cas échéant, qui déterminent si l'automatisation créée par le script s'exécute ou non une fois déclenchée.
- Les actions à effectuer.
Pour cet atelier de programmation, nous prévoyons que l'automatisation avec script effectue deux actions:
- Allumer votre ampoule (ou un autre appareil connecté) à une heure précise
- Éteindre votre appareil à une heure précise
Maintenant que nous savons exactement ce que nous voulons que notre script d'automatisation fasse, nous allons ouvrir l'éditeur de script et écrire le script d'automatisation.
4. Écrire l'automatisation créée avec l'éditeur de script
Les automatisations par script sont écrites de manière déclarative à l'aide du langage de sérialisation de données YAML.
Une automatisation avec script se compose de deux sections principales:
- Métadonnées : nom de l'automatisation créée par script et description de son fonctionnement.
- Règles d'automatisation : définissent la logique de déclenchement et le comportement de l'automatisation.
Métadonnées
Les métadonnées de notre automatisation indiquent à l'utilisateur son nom et son fonctionnement. Les métadonnées sont spécifiées dans le bloc metadata
, qui se présente comme suit:
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
Règles d'automatisation
C'est dans une règle d'automatisation que se déroule le travail réel. Elle se compose de trois parties : les déclencheurs, les conditions et les actions, qui sont évaluées dans l'ordre suivant :
1 Déclencheurs | 2 Conditions | 3 Actions |
Ce sont eux qui déclenchent l'automatisation. Au moins un déclencheur doit renvoyer la valeur | Ils sont facultatifs et consistent en une ou plusieurs contraintes supplémentaires évaluées après l'activation d'un déclencheur. Si les conditions se résolvent en Lorsque vous incluez plusieurs contraintes, séparez-les par les mots clés Une condition n'est pas la même chose qu'une notification de changement d'état:
| Les actions sont des opérations effectuées lorsque le déclencheur et les conditions de contrainte sont remplis. |
Le bloc automations
de notre automatisation contient deux règles:
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
Veuillez noter les points suivants :
- Il existe deux règles
automations
. Le premier allume la lumière, et le second l'éteint. - Chaque règle comporte une seule action.
on: true
signifie allumer la lumière. De même,on: false
signifie éteindre la lumière.- Chaque règle comporte un seul déclencheur
time.schedule
qui indique à l'automatisation l'heure à laquelle l'automatisation doit être lancée. - Cette automatisation ne comporte aucune condition.
5. L'automatisation complète avec script
En réunissant tous ces éléments, voici à quoi ressemble l'automatisation complète avec 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
- Copiez l'automatisation (ci-dessus).
- Accédez à Google Home pour le Web.
- Sélectionnez l'onglet "Automatisations", représenté par une icône avec trois étoiles:
- Cliquez sur + Ajouter.
- Dans l'éditeur de script, supprimez le modèle d'automatisation.
- Collez votre automatisation.
- Remplacez
Desk light - Office
par le nom et l'emplacement de votre appareil. - Cliquez sur Valider. L'éditeur de script souligne les sections de votre automatisation qui contiennent des erreurs. Résolvez les erreurs qui se produisent, puis continuez à valider et à corriger jusqu'à ce qu'il n'y ait plus d'erreurs. Par exemple, le nom de votre appareil peut être différent. Dans ce cas, vous pouvez utiliser la fonctionnalité de saisie semi-automatique pour choisir un nom d'appareil valide.
- Cliquez sur Enregistrer.
- Assurez-vous que le bouton Activer, sous le texte de votre script, est activé:
6. Tester l'automatisation
- Assurez-vous que votre appareil est branché et visible dans l'application Google Home.
- Si l'appareil est actuellement allumé, éteignez-le.
- Sur la page Automatisations de Google Home pour le Web, cliquez sur le bouton "Exécuter" à côté de votre automatisation.
- L'appareil devrait s'allumer.
Testons maintenant l'automatisation.
- Éteignez l'appareil.
- Modifiez l'automatisation et remplacez l'heure de l'appareil allumé sur la ligne 7 par une heure dans cinq minutes.
- Modifiez l'heure d'arrêt de l'appareil sur la ligne 14 pour qu'elle soit peu de temps après l'heure d'allumage.
- Cliquez sur Valider. Corrigez les erreurs qui peuvent se produire.
- Cliquez sur Enregistrer.
- Assurez-vous que le bouton Activer est activé.
- Attendez que les deux délais de démarrage soient écoulés. L'appareil devrait s'allumer, puis s'éteindre aux heures que vous avez spécifiées.
7. Félicitations !
Vous avez créé une automatisation à l'aide d'un script. Bravo !
Dans cet atelier de programmation, vous avez appris ce qui suit :
- Concevoir et écrire une automatisation
- Tester une automatisation
Étapes suivantes
Dans cet atelier de programmation, nous avons créé une automatisation très simple. Les automatisations peuvent faire bien plus que programmer l'activation ou la désactivation d'un bouton d'alimentation. Maintenant que vous connaissez les principes de base de la création d'une automatisation, vous pouvez découvrir les différents types de déclencheurs, de conditions et d'actions disponibles dans l'écosystème Google Home.
Essayez les exercices suivants:
- Ajoutez d'autres déclencheurs
time.schedule
à l'automatisation. - Modifiez l'automatisation pour allumer et éteindre un autre appareil selon le même calendrier.
- Sans supprimer les déclencheurs
time.schedule
, modifiez l'automatisation pour qu'elle n'allume les appareils que lorsqu'un autre appareil est allumé. Reportez-vous aux exemples de scripts qui utilisent la clausecondition
. - Modifiez l'automatisation pour qu'elle n'allume les appareils que lorsqu'une personne est à la maison.
Documentation complémentaire
Pour en savoir plus sur les automatisations Google Home, consultez la documentation de référence sur les automatisations: