L'éditeur de scripts vous permet de créer vos propres automatisations pour écrire des routines de maison avancées avec Google Home pour le Web ou dans l'application Google Home. Pour écrire des automatisations à l'aide de scripts, vous devez connaître quelques notions de base sur le langage de script YAML, et savoir structurer votre script et utiliser ses composants.
L'éditeur de script est actuellement disponible en version Preview publique. Vous pouvez accéder à l'éditeur de script avec Google Home pour le Web ou dans l'application mobile Google Home une fois que vous êtes inscrit à la version Preview publique.
Découvrez comment créer des automatisations avec l'éditeur de script :- Créer des automatisations avancées pour votre maison connectée avec l'éditeur de script
- Déclencheurs, conditions et actions compatibles
- Consultez notre atelier de programmation pour voir les étapes de création d'un script
- S'entraîner à écrire une automatisation et exemples de scripts
Principes de base du langage de script YAML
L'éditeur de script utilise YAML, un langage de script flexible qui vous permet de saisir ligne par ligne des instructions correspondant à ce que vous souhaitez que vos appareils fassent et à quel moment. Ces instructions sont rédigées sous la forme de paires clé-valeur.
Paires clé-valeur
Un script YAML se présente sous la forme d'une série de paires clé-valeur :
name: TV on lights off
Dans cet exemple, la clé est name
(nom) et la valeur est TV on lights off
(téléviseur allumé, lumières éteintes).
La clé correspond au mot clé d'un élément que vous souhaitez utiliser. Chaque clé doit être unique, mais leur ordre n'a pas d'importance. Chaque paire clé-valeur commence sur une nouvelle ligne.
La valeur associée à une clé peut prendre plusieurs formes différentes.
Types de données
Primitives
Le type de données primitives inclut tous les types de données de base compatibles avec l'éditeur de script.
Formes primitives | Types de valeurs |
---|---|
Valeur booléenne |
|
Nombre | Nombre entier ou décimal |
Chaîne |
Texte brut Les valeurs de chaîne ne nécessitent des guillemets que si elles commencent par |
Date |
Jour et mois. Format : MM-JJ ou MM/JJ.
|
Heure |
L'heure peut être au format AM/PM ou 24 h. Les secondes sont facultatives. Vous pouvez également indiquer une heure par rapport au soleil. Par exemple, vous pouvez utiliser les mots clés
|
Date et heure |
Année, mois, jour et heure. Vous devez inclure un espace entre la date et l'heure. Le format de date est AAAA-MM-JJ ou AAAA/MM/JJ. Le format de l'heure est le même que pour "Heure" ci-dessus. Les fuseaux horaires ne sont pas pris en charge.
|
Jour de la semaine |
|
Durée |
Une durée.
|
Code couleur hexadécimal |
Code hexadécimal à six caractères qui représente une couleur. La valeur n'est pas précédée du signe #.
|
Température |
Données de température. Ajoutez toujours C ou F pour indiquer s'il s'agit de degrés Celsius ou Fahrenheit.
|
Température de couleur |
Température de couleur en Kelvin.
|
Structures : paires clé-valeur imbriquées
Le type de données structurées est un "bloc" de plusieurs paires clé-valeur. Ces paires sont imbriquées sous une seule clé parente, chaque niveau d'imbrication étant mis en retrait du même nombre d'espaces ou de tabulations pour indiquer la hiérarchie.
actions: device: Light B - Living room state: on
Dans cet exemple, la clé parente est actions
. La valeur de la clé actions
correspond à deux paires clé-valeur imbriquées :
- Paire 1 : clé enfant =
device
(appareil), valeur =Light B - Living room
(Lumière B - Salon) - Paire 2 : clé enfant =
state
(état), valeur =on
(allumé)
Listes : clés avec plusieurs valeurs
Pour inclure plusieurs valeurs dans une même clé, créez une liste avec un trait d'union devant chaque élément de la liste. Une liste peut utiliser des valeurs de type données structurées ou primitives, mais pas les deux en même temps.
weekdays: - MONDAY - THURSDAY
Dans l'exemple, la clé est weekdays
(jours de la semaine) et la valeur est une liste incluant Monday
(lundi) et Thursday
(jeudi).
Structures avancées : combinaison de listes et de paires imbriquées
- type: time.schedule at: 10:00 am weekdays: - MONDAY - THURSDAY - type: time.schedule at: SUNSET weekdays: - MONDAY - THURSDAY
Dans cet exemple, la clé parente est starters
(déclencheurs). La valeur de cette clé parente est une liste dans laquelle chaque élément comprend plusieurs paires clé-valeur.
Certains types de clés exigent des formats spécifiques pour les valeurs, tandis que d'autres héritent des caractéristiques selon les fonctionnalités de l'appareil. Découvrez comment certains déclencheurs, conditions et actions sont structurés.
Syntaxe du langage YAML
Lorsque vous écrivez des scripts pour vos routines, utilisez ces concepts de mise en forme :
Concept | Exemple |
---|---|
Deux-points YAML utilise le caractère deux-points |
state: on |
Retrait Le retrait indique la structure et la hiérarchie, et définit les paires de clés imbriquées. Dans l'exemple, la clé parente est |
|
Trait d'union Un trait d'union suivi d'un espace définit un élément de liste. |
|
Commentaires Utilisez le symbole dièse # pour ajouter des commentaires ou des notes à votre script. Les commentaires sont ignorés par le moteur d'automatisation et n'ont aucune incidence sur votre automatisation. |
# This is a comment. It will be ignored. |
Modèle d'éditeur de script
Lorsque vous créez une automatisation, l'éditeur de script vous fournit un modèle vide pour écrire votre script. La structure du modèle est la suivante :
metadata |
Contient le nom de votre automatisation ainsi qu'une description |
automations |
Définit le comportement de l'automatisation |
starters |
Définit les déclencheurs qui lancent votre automatisation |
condition |
Définit les restrictions qui s'appliquent au déclenchement de votre automatisation (facultatif) |
actions |
Définit les actions exécutées dans votre automatisation |
Le modèle comprend deux blocs principaux : les métadonnées et les automatisations. Le bloc d'automatisations comprend à son tour des sections pour les déclencheurs, les conditions et les actions.
Blocs de métadonnées et d'automatisations
Le modèle de l'éditeur de script contient deux blocs ou clés parentes de premier niveau : metadata
(métadonnées) et automations
(automatisations).
Le bloc metadata
contient le nom et la description de votre automatisation. Il ne sert qu'à identifier celle-ci.
metadata: name: TV time description: When TV is on, turn on lights
Le bloc automations
est le cœur de votre script d'automatisation. C'est là que vous définissez le comportement de votre automatisation à l'aide de déclencheurs, de conditions et d'actions.
automations: starters: # e.g. Motion detected condition: # e.g. Between 2 times actions: # e.g. Turn on lights
Pour mieux comprendre comment utiliser l'éditeur de script, consultez notre atelier de programmation et des exemples de scripts, ou découvrez comment mettre en forme des déclencheurs, des conditions et des actions spécifiques sur le site Developer Center de Google Home.
Saisie semi-automatique
L'éditeur de script vous guide tout au long de la création de votre script en vous proposant des suggestions basées sur les déclencheurs, conditions et actions disponibles dans les cas suivants :
- Le curseur se trouve à un endroit où des options valides sont disponibles (par exemple, après
- type:
).- Vous saisissez du code avec des suggestions valides. La liste des suggestions évolue à mesure que vous tapez du texte.
Vous lancez manuellement la saisie semi-automatique à l'aide du raccourci Ctrl+Espace.
Appuyez sur Entrée pour sélectionner une suggestion dans la liste. La saisie semi-automatique remplira les champs supplémentaires en fonction de la structure que vous aurez choisie.
Astuce : La saisie semi-automatique vous permet de connaître les états ou les commandes disponibles pour votre appareil, ainsi que les appareils disponibles pour un état ou une commande spécifiques.
Pour connaître les états ou les commandes disponibles pour votre appareil, saisissez d'abord la clé device:
(appareil), puis la clé type:
. La fonctionnalité de saisie semi-automatique affichera la liste des états ou des commandes disponibles pour cet appareil.
Exemple
starters: - device: LED lights - Living Room - type:
Pour savoir quels appareils sont disponibles pour un état ou une commande donnés, saisissez d'abord la clé type:
, puis la clé device:
. La fonctionnalité de saisie semi-automatique affichera la liste des appareils de votre maison compatibles avec cet état ou cette commande.
Exemple
starters: - type: device.state.OnOff - device:
Déclencheurs, conditions et actions
Les automatisations sont constituées de déclencheurs d'appareils, de conditions et d'actions. Ces composants définissent les comportements de votre automatisation.
Certains déclencheurs, conditions et actions nécessitent un type spécifique de paire clé-valeur de comparaison pour aider à exécuter la logique d'automatisation et indiquer au script ce qui doit être évalué. La valeur doit correspondre à un type de données compatible. Par exemple, l'état on
(activé) d'une lumière peut être true
(vrai) ou false
(faux). Pour lancer l'automatisation si la lumière est allumée, écrivez ce script :
state: on is: true
Vous trouverez ci-dessous des informations détaillées sur les différents déclencheurs, conditions et actions disponibles. Pour obtenir la liste complète des déclencheurs, conditions et actions, consultez le Developer Center de Google Home.
Déclencheurs
La section "starters" de votre script vous permet de préciser les déclencheurs qui lanceront l'exécution du script. Les déclencheurs sont basés sur ce que votre appareil peut faire ou sur des attributs qui peuvent changer, comme l'état et les événements de l'appareil, ou l'heure. Par exemple, vous pouvez utiliser une ampoule avec les états OnOff
(Activé/Désactivé), Brightness
(Luminosité) et ColorSetting
(Paramètre de couleur). Pour inclure plusieurs déclencheurs, listez chacun d'entre eux en le précédant de la clé -type:
. Votre script doit satisfaire au moins l'une des conditions du déclencheur pour s'exécuter.
Consultez la liste complète des déclencheurs acceptés.
Types de déclencheurs
Déclencheurs de l'Assistant
assistant.command
pour lancer un script lorsqu'un appareil doté de l'Assistant entend une commande commençant par "Ok Google" ou "Hey Google".starters: - type: assistant.command.OkGoogle eventData: query is: party time
Déclencheurs en cas d'événement de l'appareil
Utilisez un déclencheur device.event
pour lancer votre script lorsqu'un événement spécifique se produit, par exemple lorsque quelqu'un sonne à la porte ou qu'un capteur détecte quelque chose. Remarque : Les événements ne sont pas tous pris en charge.
starters: - type: device.event.DoorbellPress device: Doorbell - Front door
starters: - type: device.event.PersonDetection device: Camera - Backyard
Exemple : Démarrer l'automatisation lorsque votre caméra détecte un mouvement.
Remarque :
- Les événements enregistrés nécessitent une caméra, une sonnette ou un écran compatibles, et la détection d'événements doit être configurée.
- Certains événements enregistrés nécessitent un abonnement Nest Aware ou une caméra sur secteur. Par exemple, la détection des sons ne fonctionne que sur la Nest Cam (Extérieur ou intérieur, batterie) lorsqu'elle est branchée.
- Vous pouvez désactiver les déclencheurs basés sur l'état et les événements de l'appareil pendant un certain temps.
Déclencheurs basés sur l'état de l'appareil
device.state
pour que votre automatisation démarre en fonction de l'état d'un appareil. Les états correspondent à des caractéristiques d'un appareil, par exemple lorsque la température de votre thermostat atteint une certaine température, qu'une lumière s'allume ou s'éteint, ou qu'un capteur compatible atteint un seuil défini.
device.state
. Par exemple, pour vérifier si un appareil est allumé, vous pouvez utiliser la commande device.state.OnOff
.device.state
, commencez par trois clés, type
, device
et state
, suivies d'au moins une paire clé-valeur de comparaison.Clé | Valeur | Exemple |
type |
Déclencheur basé sur l'état de l'appareil, commençant par device.state |
device.state.ArmDisarm |
device |
Nom affiché dans l'application Google Home, suivi du nom de la pièce : Device name - Room name |
Alarm - Front Door |
state |
Les données de champ ou d'état du déclencheur que vous souhaitez vérifier. Dans le Developer Center de Google Home, recherchez le déclencheur que vous souhaitez utiliser, puis "Champs acceptés" ou "Données d'état". |
isArmed |
Vous pouvez utiliser les paires clé-valeur de comparaison suivantes avec le déclencheur device.state :
Clés de comparaison | Types de valeurs acceptés | Exemple |
---|---|---|
is |
Chaîne | Nombre | Valeur booléenne | Dynamique | is: on |
isNot |
Chaîne | Nombre | Valeur booléenne | Dynamique | isNot: cast |
greaterThan |
Chaîne | Nombre | Valeur booléenne | Dynamique | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Chaîne | Nombre | Valeur booléenne | Dynamique | lessThan: 10 |
suppressFor |
Durée | suppressFor: 1hour |
Exemple : Lancer l'automatisation si le volume du téléviseur est compris entre 1 et 10.
starters: - type: device.state.Volume device: TV - Living room state: currentVolume greaterThan: 1 lessThan: 10
Déclencheurs selon l'état de la maison
home.state
pour lancer votre script lorsque vous êtes chez vous ou absent. Utilisez la détection de présence pour cela.starters: - type: home.state.HomePresence state: homePresenceMode is: HOME
Déclencheurs temporels
time
(heure) pour lancer votre automatisation en fonction de jours et d'heures spécifiques. Vous pouvez utiliser les paires clé-valeur de comparaison suivantes avec le déclencheur temporel :Clés de comparaison | Types de valeurs acceptés | Exemple |
---|---|---|
before |
Heure | before: sunset |
after |
Heure | after: 7:00 am |
weekdays |
Jour de la semaine | weekdays: MON |
Exemple : Lancer l'automatisation les lundis et mardis, 30 minutes après le lever du soleil.
starters: - type: time.schedule at: sunrise+30min weekdays: - MON - TUE
Désactiver des déclencheurs
Utilisez la clé de comparaison suppressFor
pour indiquer à l'automatisation d'ignorer un déclencheur pendant un certain temps. Par exemple, lorsque votre caméra détecte quelqu'un, annoncez "Il y a quelqu'un à la porte", puis désactivez l'annonce pendant 10 minutes, et ce, même si la caméra détecte toujours quelqu'un.
Exemple : Lorsque quelqu'un passe par l'entrée le matin pour la première fois, ouvrir tous mes volets et désactiver ce déclencheur pendant les 20 prochaines heures.
metadata:
name: Open Blinds
description: Open blinds in the morning after motion detected
automations:
starters:
- type: device.event.MotionDetection
device: Camera - Hallway
suppressFor: 20hours
condition:
type: time.between
after: 5:00
before: 12:00
actions:
- type: device.command.OpenClose
openPercent: 100
devices:
- Blinds1 - Living Room
- Blinds2 - Family Room
Conditions
and
, or
et not
pour exprimer des vérifications de condition plus complexes.type: or conditions: - type: time.between before: sunrise after: sunset weekdays: - MON - TUE - type: device.state.Volume device: My TV - Living Room state: currentVolume greaterThan: 1 lessThan: 10
Dans cet exemple, il existe une condition temporelle et une condition device.state
. Ce script s'exécutera entre le coucher et le lever du soleil le lundi ou le mardi, ou si le volume du téléviseur se situe entre 1 et 10.
Vous pouvez utiliser les types de conditions suivants :
Opérateurs de conditions
Condition AND
Lorsque vous utilisez la condition and
, votre script ne s'exécute que si toutes les conditions enfants sont remplies.
Exemple : Lancer l'automatisation si le téléviseur est allumé ET qu'il est plus de 18h.
condition: type: and conditions: - type: device.state.OnOff device: TV - Living Room state: on is: true - type: time.between after: 6:00 pm
Condition OR
Lorsque vous utilisez la condition or
, votre script s'exécute lorsque l'une des conditions enfants est remplie.
Exemple : Lancer l'automatisation si le téléviseur est allumé OU s'il est plus de 18h.
condition: type: or conditions: - type: device.state.OnOff device: TV - Living Room state: on is: true - type: time.between after: 6:00 pm
Condition NOT
Lorsque vous utilisez la condition not
, votre script ne peut pas s'exécuter si la condition enfant est remplie.
Exemple : Lancer l'automatisation, sauf entre 18h et 20h.
condition: type: not condition: type: time.between after: 6:00pm before: 8:00pm
Conditions basées sur l'état de l'appareil
device.state
pour déterminer le moment où votre script peut s'exécuter en fonction de l'état de l'appareil lorsque le script démarre. Les conditions device.state
sont semblables aux déclencheurs device.state
, si ce n'est qu'au lieu d'indiquer à votre script quand démarrer, elles limitent les situations dans lesquelles il peut s'exécuter.device.state
. Par exemple, pour vérifier si un appareil est allumé, vous pouvez utiliser la commande device.state.OnOff
.device.state
, commencez par trois clés, type
, device
et state
, suivies d'au moins une paire clé-valeur de comparaison.Clé | Valeur | Exemple |
---|---|---|
type |
La condition basée sur l'état de l'appareil, commençant par device.state |
device.state.OnOff |
device |
Nom affiché dans l'application Google Home, suivi du nom de la pièce : Device name - Room name |
Chromecast - Living Room |
state |
État du déclencheur que vous souhaitez vérifier Recherchez la condition basée sur l'état de l'appareil que vous souhaitez utiliser dans le Developer Center de Google Home. |
state: on |
Astuce : Pour connaître les états disponibles pour votre appareil, accédez à votre script, saisissez d'abord la clé device:
, puis la clé type:
. La saisie semi-automatique affichera la liste des états disponibles pour cet appareil.
Vous pouvez utiliser les paires clé-valeur de comparaison suivantes avec la condition device.state
:
Clés de comparaison | Types de valeurs acceptés | Exemple |
---|---|---|
is |
Chaîne | Nombre | Valeur booléenne | Dynamique | is: on |
isNot |
Chaîne | Nombre | Valeur booléenne | Dynamique | isNot: cast |
greaterThan |
Chaîne | Nombre | Valeur booléenne | Dynamique | greaterThan: 1 |
lessThan lessThanOrEqualTo |
Chaîne | Nombre | Valeur booléenne | Dynamique | lessThan: 10 |
Exemple : Lancer l'automatisation si le thermostat détecte un niveau d'humidité supérieur à 55 %.
condition: type: device.state.TemperatureSetting device: My Thermostat - Living Room state: thermostatHumidityAmbient greaterThan: 55
Conditions basées sur l'état de la maison
home.state.HomePresence
pour déterminer le moment où votre script peut s'exécuter en fonction de la présence ou non d'une personne chez vous.home.state.HomePresence
, veillez à configurer la détection de présence dans l'application Google Home et à vous assurer qu'elle fonctionne comme prévu. La présence d'une personne chez vous peut être déterminée par la localisation des téléphones des membres de votre maison, par les capteurs de certains appareils Nest ou par l'activation manuelle des modes Chez moi ou Absent dans l'application Google Home.Consultez ces articles pour en savoir plus sur la détection de présence ainsi que sur les routines Chez moi et Absent :
home.state.HomePresence
:Clés de comparaison | Types de valeurs acceptés | Exemple |
---|---|---|
is |
Chaîne ("HOME" ou "AWAY") | is: away |
isNot |
Chaîne ("HOME" ou "AWAY") | isNot: HOME |
for |
Durée | for: 30min |
suppressFor |
Durée | suppressFor: 1hour |
Exemple : La condition home.state.HomePresence
déclenche l'automatisation si votre présence est définie sur HOME.
condition: type: home.state.HomePresence state: homePresenceMode is: HOME
Conditions temporelles
time.between
pour restreindre la période au cours de laquelle votre script peut s'exécuter. Vous pouvez utiliser les paires clé-valeur de comparaison suivantes avec la condition time.between
:Clés de comparaison | Types de valeurs acceptés | Exemple |
---|---|---|
before |
Heure | before: sunset |
after |
Heure | after: 7:00 am |
weekdays |
Jour de la semaine | weekdays: MON |
Exemple : Ne déclencher l'automatisation que le week-end, avant 10h.
condition: type: time.between before: 10am weekdays: - SAT - SUN
Actions
La section "Actions" de votre script vous permet d'indiquer les actions que vous souhaitez que vos appareils effectuent. Pour inclure plusieurs actions, listez-les en ajoutant - type:
avant chacune d'entre elles. Votre script doit comporter au moins une action pour s'exécuter. La plupart des actions commencent par device.command
.
Vous pouvez utiliser les types d'actions suivants :
Actions de l'Assistant
Utilisez l'action assistant.command
sur vos enceintes ou écrans pour que l'Assistant effectue des actions comme "Éteindre toutes les lumières" ou "Donner la météo".
Grâce aux commandes de l'Assistant, vous pouvez contrôler les appareils d'une pièce en particulier ou de toute la maison sans utiliser de noms d'appareils spécifiques. Vous pouvez ainsi gagner du temps, car les futurs appareils ajoutés à l'application Home pourront fonctionner automatiquement avec cette commande. Les commandes de l'Assistant nécessitent une enceinte ou un écran compatibles pour exécuter l'action.
actions: - type: assistant.command.OkGoogle okGoogle: Turn on living room lights devices: My Speaker - Room Name
actions: - type: assistant.command.OkGoogle okGoogle: Turn off all lights devices: My Speaker - Room Name
actions: - type: assistant.command.Broadcast devices: - My Speaker 1 - Room Name - My Speaker 2 - Room Name message: It’s dinner time.
Les actions de l'Assistant vous permettent également d'effectuer des actions personnalisées, par exemple :
- "Mets Hello d'Adele depuis YouTube Music sur l'enceinte de la chambre."
- "Mets des vidéos amusantes de chats depuis YouTube sur l'écran du salon."
- "Quel temps fera-t-il demain ?"
- "Raconte-moi une blague."
- "Montre-moi la caméra de l'allée sur l'écran du bureau de la maison."
Actions de l'appareil
device.command
pour commander ou régler un appareil. Chaque commande d'action possède son propre ensemble de caractéristiques et sa propre structure. Vous pouvez ajouter des commandes à votre script en spécifiant l'action de commande d'un appareil après device.command
. Par exemple, pour allumer un appareil, vous pouvez utiliser device.command.OnOff
. Une action device.command
doit inclure les informations suivantes :Clé | Valeur | Exemple |
---|---|---|
type |
Action de l'appareil, commençant par device.command |
device.command.OpenClose . |
devices |
Nom de l'appareil affiché dans l'application Google Home, suivi du nom de la pièce : "Device name - Room name". Pour inclure plusieurs appareils, créez une liste. | Blinds - Bedroom |
Astuce : Pour connaître les actions ou les commandes disponibles pour votre appareil, saisissez d'abord la clé "device:", puis la clé "type:". La saisie semi-automatique affichera la liste des actions disponibles pour cet appareil.
De nombreuses actions device.command
disposent de clés supplémentaires qui spécifient l'entrée requise pour la commande. Par exemple, device.command.ThermostatTemperatureSetpoint
nécessite une paire clé-valeur thermostatTemperatureSetpoint
pour indiquer la température à laquelle régler le thermostat.
Pour en savoir plus sur l'utilisation des commandes, recherchez l'action correspondante dans le Developer Center de Google Home et suivez la structure de l'action que vous souhaitez utiliser.
Exemple : Allumer la télévision du salon.
actions: type: device.command.OnOff devices: TV - Living room on: true
Exemple : Allumer une lumière et l'éteindre au bout de cinq minutes.
actions:
- type: device.command.OnOff
devices: Light A - Living Room
on: true
- type: time.delay
for: 5min
- type: device.command.OnOff
devices: Light A - Living Room
on: false
Actions de notification
Utilisez l'action home.command.Notification
pour que votre script envoie des notifications aux appareils mobiles des membres de la maison. Par exemple, vous pouvez recevoir des notifications lorsque des appareils reliés à des prises connectées s'éteignent ou se déconnectent.
actions: - type: home.command.Notification members: - Alex - [email protected] - Kim - [email protected] title: It’s movie time! body: Join me in the living room
Actions temporelles
time.delay
pour que votre script attende un certain temps entre deux actions de votre liste au lieu de les exécuter simultanément. Vous pouvez ajouter plusieurs temporisations à votre script. Par exemple, vous pouvez demander à votre script d'attendre 10 secondes entre chaque action.actions: - type: device.command.OnOff devices: - Bedside Lamp - Bedroom - Ceiling Light - Bedroom on: true - type: time.delay for: 30sec - type: device.command.OnOff devices: - Bedside Lamp - Bedroom - Ceiling Light - Bedroom on: false
Ressources
S'entraîner à écrire un script
Pour commencer, nous allons créer une automatisation très simple, mais couramment utilisée : "Éteindre la lumière lorsque le téléviseur s'allume".
- Accédez à home.google.com/automations et connectez-vous à votre compte.
- Cliquez sur Ajouter
.
- Saisissez les informations des métadonnées. Dans ce script, le nom est
TV on lights off
(téléviseur allumé, lumières éteintes) et la description estTurn off lights when TV turns on
(Éteindre la lumière lorsque le téléviseur s'allume). Veillez à mettre en forme votre script correctement.metadata: name: TV on lights off description: Turn off lights when TV turns on.
- Pour ajouter des déclencheurs, créez une ligne, mettez-la en retrait de deux espaces ou appuyez une fois sur Tabulation, puis saisissez
starters:
. Mettez aussi la ligne suivante en retrait, puis saisissez dessus- type:
.Conseil :- Pour créer une ligne, appuyez sur Maj
Entrée.
- Si vous souhaitez inclure plusieurs déclencheurs, chacun d'entre eux doit commencer par un trait d'union et un espace.
- Pour créer une ligne, appuyez sur Maj
metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type:Remarque : L'éditeur de script vous aidera à structurer votre script en vous proposant des suggestions de saisie semi-automatique en fonction des déclencheurs disponibles. Pour sélectionner une des suggestions, utilisez les touches fléchées de votre clavier, puis appuyez sur Entrée pour l'insérer.
- Ajoutez le déclencheur
device.state
. Rappelez-vous que pour utiliser un déclencheur device.state, vous avez besoin de trois clés,type
,device
etstate
, suivies d'au moins une paire clé-valeur de comparaison. L'éditeur de script vous aidera à structurer votre script en vous proposant des suggestions de saisie semi-automatique en fonction des déclencheurs, des conditions et des actions disponibles. Dans ce script :- Type =
device.state.OnOff
. Il s'agit de l'état de l'appareil qui sera évalué pour lancer notre automatisation. - Appareil =
Chromecast - Living Room
Il s'agit du nom de notre appareil tel qu'il est affiché dans l'application Google Home. - État =
on
. "On" correspond aux données de champ ou d'état prises en charge pour l'état OnOff de l'appareil. - Paire clé-valeur de comparaison =
is: true
. La valeur de cette clé de comparaison est un type de données primitif. Le script s'exécutera si le téléviseur est allumé.metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true
À des fins de comparaison, examinons un script similaire avec un autre déclencheur. Dans le script ci-dessous, l'automatisation démarre lorsque le volume est compris entre 1 et 10, et non lorsque le téléviseur s'allume. Pour effectuer cette modification, nous avons remplacé l'état
OnOff
parVolume
et défini l'état surcurrentVolume
(volume actuel) pour qu'il corresponde au nouvel attribut. Nous avons également remplacé les paires clé-valeur de comparaison par deux paires imbriquées qui créent une plage :greaterThan: 1
(supérieur à 1) etlessThan: 10
(inférieur à 10). Pour voir d'autres exemples, consultez la liste complète des déclencheurs que vous pouvez utiliser.metadata: name: TV on lights off description: Turn off lights when TV turns on automations: starters: - type: device.state.Volume device: Chromecast - Living Room state: currentVolume greaterThan: 1 lessThan: 10
- Type =
- Vous pouvez cliquer sur Enregistrer à tout moment pour enregistrer votre script. Lorsque vous enregistrez un script, l'éditeur le valide automatiquement et recherche les erreurs. Les scripts non valides ne peuvent pas s'exécuter.
- Ajoutez maintenant une action à votre script. Pour ajouter des actions, créez une ligne, mettez-la en retrait de deux espaces ou appuyez une fois sur Tabulation, puis saisissez
actions:
. Mettez aussi la ligne suivante en retrait, puis saisissez dessus- type
.Conseil :- Pour créer une ligne, appuyez sur Maj
Entrée.
- Si vous souhaitez inclure plusieurs actions, chacune d'entre elles doit commencer par un trait d'union et un espace.
metadata: name: TV on lights off description: Turn off lights when TV turns on. automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true actions: - type:
- Pour créer une ligne, appuyez sur Maj
- Pour éteindre les lumières, nous utiliserons l'action
device.command
. Pour utiliser l'action device.command, nous allons inclure les informations suivantes :- Type =
device.command.OnOff
. Il s'agit du nom de la commande ou de l'action.Remarque : Les commandes peuvent avoir plusieurs commandes imbriquées sous vos appareils et chaque commande a son propre état. - Appareils = liste contenant
Floor Lamp - Living Room
(Lampadaire - Salon) etOverhead Light - Living Room
(Plafonnier - Salon). Il s'agit du nom des systèmes d'éclairage tel qu'il s'affiche dans l'application Google Home. Pour inclure plusieurs systèmes d'éclairage, chaque appareil est indiqué sur une ligne distincte, avec un trait d'union au début. - État souhaité de la commande =
on: false
. Cette ligne indique à nos systèmes d'éclairage de s'éteindre.metadata: name: TV on lights off description: Turn off lights when TV turns on. automations: starters: - type: device.state.OnOff device: Chromecast - Living Room state: on is: true actions: - type: device.command.OnOff devices: - Floor Lamp - Living Room - Overhead Light - Living Room on: false
- Type =
- Cliquez sur Enregistrer pour enregistrer le script. S'il n'y a pas d'erreurs, le script se lance automatiquement. Dès que le téléviseur s'allume, la lumière s'éteint. Si vous n'êtes pas encore prêt à exécuter votre script, mettez-le en pause en désactivant l'option Activer.
Si vous souhaitez vous entraîner davantage, modifiez certains de vos scripts pour utiliser différents déclencheurs ou types de données, plusieurs actions ou une condition supplémentaire comme time.between
. Pour en savoir plus, vous pouvez également consulter des exemples de scripts ainsi que cet atelier de programmation. Pour obtenir des informations détaillées sur les déclencheurs, les actions et les conditions, consultez le Developer Center de Google Home.
Aide concernant les scripts d'automatisation
- Pour obtenir de l'aide sur les scripts et découvrir ce sur quoi d'autres travaillent, rejoignez la communauté Google Home Automation.
- Pour que les automatisations fonctionnent, le code des scripts doit être valide. Un message s'affiche s'il y a une erreur. En savoir plus sur les erreurs et avertissements dans l'éditeur de script.
- Pour valider votre code, cliquez ou appuyez sur Valider dans l'éditeur de script, ou essayez d'enregistrer votre script. Voici quelques erreurs courantes :
- Veillez à utiliser le bon nom d'appareil au format suivant : "Nom de l'appareil - Nom de la pièce". En cas de doute, vérifiez le nom de votre appareil dans l'application Google Home.
- Assurez-vous que votre appareil est compatible avec la fonction souhaitée. Vous pouvez également utiliser la saisie semi-automatique pour connaître les options disponibles.
- Veillez à inclure une action. Pour s'exécuter, une automatisation nécessite des actions.
- Si vous parvenez à enregistrer le script, mais que l'automatisation ne fonctionne pas comme prévu, vérifiez manuellement que chaque composant du script fonctionne. Par exemple, si vous avez écrit un script destiné à allumer la lumière et à modifier la luminosité au coucher du soleil, essayez d'effectuer ces tâches à l'aide d'une commande de l'Assistant pour vérifier que chaque opération fonctionne. Vous pouvez également vérifier les points suivants :
- Votre appareil est ajouté ou associé dans l'application Google Home.
- Votre appareil est connecté et en ligne.
- Le nom de l'appareil, les déclencheurs, les conditions et les actions sont écrits correctement.
Remarque : les fabricants peuvent modifier les caractéristiques des appareils lors des mises à jour, ce qui peut empêcher les scripts de fonctionner. Vous pouvez utiliser la saisie semi-automatique pour mettre à jour les scripts concernés. - Le retrait et la mise en forme de votre script sont corrects.
- Avec Google Home pour le Web, vous pouvez également accéder aux journaux d'automatisation
en dessous de votre script pour consulter l'historique de vos automatisations et identifier les problèmes potentiels. Découvrez les types de messages qui apparaissent dans les journaux d'automatisation..
- Utilisez la fonctionnalité expérimentale d'IA générative de l'éditeur de script pour décrire l'automatisation souhaitée. Vous obtiendrez un script que vous pourrez examiner et modifier.
- Découvrez plus en détail les principes de base des routines et comment résoudre les problèmes.
- Découvrez comment créer et modifier des scripts d'automatisation.