Créer un modèle d'automatisation

À propos de cet atelier de programmation
schedule34 minutes
subjectDernière mise à jour : 26 septembre 2023
account_circleRédigé par Jonathan Donald and Andres Gomez
  • 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
  • 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.

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.

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:

  1. Allumer une lumière à une heure précise.
  2. É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:

  1. 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
  2. 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.
  3. 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ée the_light qui spécifie un appareil de type LIGHT. 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 et time_off sont également définies dans la section input. Ils permettent à l'utilisateur de spécifier quand lancer les automatisations. time_on représente l'heure à laquelle la lumière est allumée et time_off l'heure où 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 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.

  1. Accédez à la console développeur de Google Home.
  2. Connectez-vous avec le compte 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 l'option "Lumière programmée". modèle d'automatisation.
  7. Collez le texte "Lumière programmée" modèle d'automatisation dans l'éditeur de modèles.
  8. 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.
  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 console développeur de Google Home.
  4. Ouvrez le projet dans lequel vous avez créé votre modèle.
  5. Sélectionnez Automatisations, puis sélectionnez l'onglet Test.
  6. Cliquez sur Ouvrir à côté de "Lumière programmée". modèle d'automatisation.
  7. Sélectionnez la structure dans laquelle vous souhaitez tester le modèle, puis cliquez sur Suivant.
  8. 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 de lights. Vous pouvez également saisir le nom de l'appareil.
  9. Toujours dans l'éditeur InputValue, indiquez une heure (time_on) dans le futur (cinq minutes dans le futur), puis remplacez l'heure time_off par une heure peu après 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 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: