Créer une automatisation à l'aide d'un script

1. Introduction

Points abordés

  • Planifier et écrire une automatisation à l'aide de l'éditeur de script
  • Tester une automatisation créée avec l'éditeur de script

Prérequis

  • Un téléphone Android ou iOS exécutant l'application Google Home.
  • Une ampoule connectée ou un autre appareil certifié Fonctionne avec Google Home, et qui peut être allumé ou éteint

2. Configurer votre appareil

Si votre appareil n'est pas déjà configuré, vous pouvez le configurer dans votre maison.

Vérifiez que l'appareil apparaît dans l'application Google Home, et que vous pouvez l'allumer et l'éteindre dans cette application.

3. Planifier l'automatisation créée à l'aide de l'éditeur de script

Nous commencerons par réfléchir à ce que nous voulons faire avec notre automatisation créée. Par exemple:

  • Les appareils que vous souhaitez automatiser.
  • Le déclencheur (ou l'événement) qui doit déclencher l'exécution de l'automatisation créée avec l'éditeur de script.
  • Quelles conditions supplémentaires, le cas échéant, déterminent si l'automatisation créée avec l'éditeur de script s'exécute une fois qu'elle est déclenchée ?
  • Actions à effectuer

Dans cet atelier de programmation, nous prévoyons que l'automatisation créée avec l'éditeur de script effectue deux opérations:

  1. Allumez l'ampoule (ou un autre appareil connecté) à une heure précise.
  2. Éteignez votre appareil à une heure spécifique.

Maintenant que nous savons exactement ce que nous voulons faire avec notre automatisation de script, nous allons ouvrir l'éditeur de script et écrire l'automatisation.

4. Écrire l'automatisation créée avec l'éditeur de script

Les scripts d'automatisation sont écrits de manière déclarative à l'aide du langage de sérialisation de données YAML.

Une automatisation créée avec l'éditeur de script est composée de deux sections principales:

  1. Métadonnées : nom de l'automatisation créée avec l'éditeur de script et description de son fonctionnement.
  2. Règles d'automatisation : définissent la logique de lancement et le comportement de l'automatisation.

Métadonnées

Les métadonnées de notre automatisation indiquent à l'utilisateur comment s'appelle l'automatisation et ce qu'elle fait. 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 le véritable travail a lieu. Il se compose de trois parties, les déclencheurs, les conditions et les actions, qui sont évaluées dans l'ordre:

1 Déclencheurs

2 conditions

3 actions

Les déclencheurs permettent de lancer l'automatisation. Au moins un déclencheur doit renvoyer la valeur true pour que les conditions suivantes soient évaluées.

Ces contraintes sont facultatives et consistent en une ou plusieurs contraintes supplémentaires qui sont évaluées après l'activation d'un déclencheur. Si les conditions sont résolues en true, les actions sont exécutées. Si elles renvoient false, les actions ne s'exécutent pas.

Lorsque vous incluez plusieurs contraintes, séparez-les avec des mots clés and et or pour former une seule expression logique. Cette expression doit correspondre à true pour que les actions d'une automatisation puissent continuer.

Une condition est différente d'une notification de changement d'état:

  • Une condition représente un fait qui doit être vrai au moment où le déclencheur "se déclenche" pour que les actions s'exécutent.
  • Une notification de changement d'état est un événement (par exemple, l'allumage d'un autre appareil).

Les actions sont des opérations effectuées lorsque les conditions du déclencheur et des contraintes sont remplies.

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 :

  1. Il existe deux règles automations. Le premier allume la lumière et la seconde l'éteint.
  2. Chaque règle a une seule action.
  3. on: true signifie allumer la lumière. De même, on: false signifie éteindre la lumière.
  4. Chaque règle comporte un seul déclencheur time.schedule qui indique à l'automatisation l'heure à laquelle elle doit la lancer.
  5. Cette automatisation ne contient aucune condition.

5. Automatisation complète avec script

En réunissant tous ces éléments, voici à quoi ressemble une automatisation complète à l'aide de l'éditeur de 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. Copiez l'automatisation (ci-dessus).
  2. Accédez à Google Home pour le Web.
  3. Sélectionnez l'onglet "Automatisations", représenté par une icône avec trois étoiles:
    Onglet "Automatisations"
  4. Cliquez sur + Ajouter.
  5. Dans l'éditeur de script, supprimez le modèle d'automatisation.
  6. Collez votre automatisation.
  7. Remplacez Desk light - Office par le nom et l'emplacement de votre appareil.
  8. Cliquez sur Valider. L'éditeur de script souligne les sections de votre automatisation de script qui contiennent des erreurs. Corrigez toutes les erreurs qui se produisent, puis validez et corrigez les erreurs jusqu'à ce qu'il n'y en ait plus. 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.
  9. Cliquez sur Enregistrer.
  10. Assurez-vous que le bouton bascule Activer, situé sous le texte de votre script, est activé: Éditeur de scripts avec automatisation entièrement validée et activée

6. Tester l'automatisation

  1. Assurez-vous que votre appareil est branché et visible dans l'application Google Home.
  2. Si l'appareil est actuellement allumé, éteignez-le.
  3. Sur la page Automatisations de Google Home pour le Web, cliquez sur le bouton "Exécuter". à côté de votre automatisation.
    Bouton d'exécution du script
  4. L'appareil devrait s'allumer.

Testons maintenant l'automatisation.

  1. Éteignez l'appareil.
  2. Modifier l'automatisation et activer l'appareil l'heure à la ligne 7 à une heure cinq minutes dans le futur.
  3. Éteindre l'appareil à la ligne 14 vers une heure peu après la « on time ».
  4. Cliquez sur Valider. Corrigez les éventuelles erreurs.
  5. Cliquez sur Enregistrer.
  6. Assurez-vous que le bouton Activer est activé.
  7. Attendez que les deux temps de démarrage se terminent. L'appareil doit s'allumer, puis s'éteindre aux heures que vous avez indiquées.

7. Félicitations !

Vous avez créé une automatisation créée avec l'éditeur de script. Bravo !

Dans cet atelier de programmation, vous avez appris ce qui suit :

  • Comment 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 Marche/Arrêt. Maintenant que vous comprenez les bases pour créer une automatisation, vous pouvez découvrir les différents types de déclencheurs, conditions et actions disponibles dans l'écosystème Google Home.

Essayez les exercices suivants:

  • Ajoutez d'autres déclencheurs time.schedule à l'automatisation.
  • Modifier l'automatisation pour allumer et éteindre un autre appareil à la même programmation.
  • Sans supprimer les déclencheurs time.schedule, modifiez l'automatisation pour n'allumer les appareils que lorsqu'un autre est allumé. Consultez les exemples de scripts qui utilisent la clause condition.
  • Modifier l'automatisation pour n'allumer les appareils que lorsqu'il y a quelqu'un à la maison.

Documentation complémentaire

Pour en savoir plus sur les automatisations Google Home, consultez la documentation de référence correspondante: