Créer un modèle d'automatisation

1. Introduction

Points abordés

  • Découvrez comment concevoir et rédiger un modèle d'automatisation.
  • Comment tester un modèle d'automatisation à l'aide de la Google Home Developer Console.

Prérequis

  • Un téléphone Android ou iOS sur lequel est installée 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 dans la Google Home Developer Console. Les modèles d'automatisation contiennent l'essentiel de la logique du script, en référençant les types d'appareils, mais pas les appareils spécifiques.

À l'aide de l'éditeur de script d'automatisation de Google Home pour le Web, les utilisateurs finaux prennent un modèle d'automatisation et créent une instance personnalisée qui agit sur les appareils spécifiques de leur propre maison. Une fois enregistrée, l'instance apparaît sous Routines de la maison dans l'application Google Home (GHA).

3. Planifier votre modèle d'automatisation

Lorsque vous créez une automatisation, vous commencez par réfléchir au problème que vous essayez de résoudre et à ce que l'automatisation fera pour le résoudre. Voici quelques exemples de ces considérations :

  • les appareils que vous souhaitez automatiser.
  • Le déclencheur (ou l'événement) qui doit lancer l'exécution de l'automatisation.
  • Conditions supplémentaires, le cas échéant, qui déterminent si l'automatisation s'exécute une fois déclenchée.
  • Actions à effectuer.

Dans cet atelier de programmation, l'automatisation effectuera deux actions :

  1. allumer une lumière à une heure précise ;
  2. Éteignez la même lumière à une heure précise.

Maintenant que vous avez ces informations en tête, vous êtes prêt à ouvrir l'éditeur de modèle 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 :

  1. Métadonnées : nom de l'automatisation, description de son fonctionnement et, éventuellement, tags utilisés pour la classer. Les mots clés sont les suivants :
    • ÉCLAIRAGE ET PRISES
    • CLIMAT ET ÉNERGIE
    • SÉCURITÉ ET SURVEILLANCE
    • DIVERTISSEMENT
    • APPAREILS ET PLUS
  2. Entrée : définit le ou les types d'appareils que l'automatisation est censée contrôler. Le moteur d'automatisation utilise ces informations pour savoir quels types d'actions sont valides pour les appareils concernés.
  3. Règles d'automatisation : définissent la logique d'initiation et le comportement de l'automatisation.

Voici le modèle d'automatisation avec lequel vous allez travailler :

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ée the_light qui spécifie un appareil de type LIGHT. Cela signifie que ce modèle ne peut être utilisé que pour les lumières, et non pour d'autres types d'appareils. En d'autres termes, lorsqu'un utilisateur configure votre automatisation dans sa maison et qu'il 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 et time_off sont également définies dans la section input. Ils permettent à l'utilisateur de spécifier quand démarrer les automatisations. time_on représente l'heure à laquelle la lumière est allumée et time_off représente l'heure à laquelle elle est éteinte. Si l'utilisateur ne définit pas la valeur de time_on ou time_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éclencheur time.schedule qui indique à l'automatisation à quelle heure elle doit se lancer.

L'éditeur de modèles

L'éditeur de modèles d'automatisation est l'outil que vous utilisez pour écrire des modèles d'automatisation.

  1. Accédez à la Google Home Developer Console.
  2. Connectez-vous avec le même compte que celui avec lequel votre appareil est configuré dans l'application Google Home.
  3. Créez un projet ou sélectionnez-en un existant.
  4. Sous Automatisations, cliquez sur Développer.
  5. Cliquez sur Créer un modèle.
  6. Copiez le modèle d'automatisation "Lumière programmée".
  7. Collez le modèle d'automatisation "Lumière programmée" dans l'éditeur de modèles.
  8. Cliquez sur Valider. Corrigez les erreurs qui peuvent s'afficher, puis continuez à valider et à corriger jusqu'à ce qu'il n'y ait plus d'erreurs.
  9. Cliquez sur Enregistrer pour enregistrer le modèle.

5. Tester le modèle

Vous pouvez maintenant tester le modèle dans la console.

  1. Assurez-vous que votre ampoule est branchée et visible dans l'application Google Home.
  2. Si le voyant est allumé, éteignez-le.
  3. Accédez à la Google Home Developer Console.
  4. Ouvrez le projet dans lequel vous avez créé votre modèle.
  5. Sélectionnez Automatisations, puis l'onglet Tester.
  6. Cliquez sur Ouvrir à côté du modèle d'automatisation "Lumière programmée".
  7. Sélectionnez la structure dans laquelle vous souhaitez tester le modèle, puis cliquez sur Suivant.
  8. Dans l'éditeur InputValue, spécifiez le nom de votre lampe. Par exemple, si votre lampe est nommée "Lampe de bureau - Bureau", sélectionnez Desk light - Office dans le menu déroulant qui s'affiche lorsque vous cliquez à droite de lights. Vous pouvez également saisir le nom de l'appareil.
  9. Toujours dans l'éditeur InputValue, définissez l'heure time_on sur une heure, par exemple, cinq minutes dans le futur, et définissez l'heure time_off sur une heure peu après l'heure time_on.
  10. 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
    
  11. Cliquez sur Activer le test.
  12. Attendez que les deux temps de démarrage soient écoulés. Le voyant doit s'allumer, puis s'éteindre aux heures spécifiées.

Une fois que vous avez testé votre modèle avec succès, vous savez que votre automatisation fonctionne correctement.

6. Félicitations !

Vous avez créé un modèle d'automatisation. Formidable !

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

  • Découvrez comment concevoir et rédiger un modèle d'automatisation.
  • Comment le tester dans la Google Home Developer Console.

Étapes suivantes

Dans cet atelier de programmation, vous avez créé une automatisation très simple. Les automatisations peuvent faire bien plus que programmer l'activation ou la désactivation d'une lumière. Maintenant que vous comprenez les bases de la création et du test d'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 sur les automatisations :