La structure automations est le cœur d'un script d'automatisation. C'est là que le comportement de l'automatisation est spécifié, y compris les déclencheurs, les conditions et les actions.
Collectivement, on parle également de règle d'automatisation.
Une structure automations contient une ou plusieurs règles d'automatisation, et chaque règle contient toujours un ensemble de déclencheurs et d'actions. Une règle peut éventuellement contenir des conditions, qui sont des qualificateurs supplémentaires qui doivent être en place pour que le script soit exécuté.
| Clé | Type | Description |
|---|---|---|
|
|
Facultatif Nom de l'automatisation. Les utilisateurs ne pourront pas le voir. Il est destiné aux développeurs. |
|
|
|
[Starter] |
Obligatoire Liste des déclencheurs. |
|
|
Facultatif Condition |
|
|
|
[Action] |
Obligatoire Liste des actions |
Exemples
Voici deux exemples d'introduction de structures automations.
Dans le premier exemple, l'automatisation est lancée lorsqu'un
TV nommé "My TV" est allumé.
Une fois déclenchée, les actions suivantes sont effectuées :
Deux LIGHT
appareils, nommés "Light A" et "Light B", sont allumés et réglés sur un niveau de
luminosité de 50.
automations:
- name: Dim the lights
starters:
- type: device.state.OnOff
device: My TV - Living Room
state: on
is: true
actions:
- type: device.command.OnOff
devices:
- Light A - Living Room
- Light B - Living Room
on: true
- type: device.command.BrightnessAbsolute
devices:
- Light A - Living Room
- Light B - Living Room
brightness: 50
Dans le deuxième exemple, la même automatisation est lancée au coucher du soleil chaque lundi et jeudi :
automations:
- name: Dim the lights
starters:
- type: time.schedule
at: SUNSET
weekday:
- MONDAY
- THURSDAY
state: on
is: true
actions:
- type: device.command.OnOff
devices:
- Light A - Living Room
- Light B - Living Room
on: true
- type: device.command.BrightnessAbsolute
devices:
- Light A - Living Room
- Light B - Living Room
brightness: 50
Titulaires
La structure Starter vous permet de spécifier les déclencheurs qui entraînent l'exécution du script d'automatisation. Chaque automation peut contenir un ou plusieurs déclencheurs, et au moins un déclencheur doit être évalué sur true pour que les conditions suivantes soient évaluées.
Exemple de déclencheur time.schedule :
type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE
Exemple de déclencheur sur les changements d'état de l'appareil :
type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10
Exemple de déclencheur sur un événement d'appareil :
type: device.event.DoorbellPress
device: My doorbell - Frontdoor
Exemple de déclencheur sur les changements de mode de présence à la maison :
type: home.state.HomePresence
state: homePresenceMode
is: HOME
Consultez la liste complète des déclencheurs.
Condition
Les conditions peuvent être combinées avec les opérateurs logiques and, or et not pour exprimer une logique plus complexe.
Dans l'exemple suivant, il existe une structure condition avec une condition time et une condition device.state. Cette structure permet au script de s'exécuter 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 :
type: or
conditions:
- type: time.between
before: sunrise
after: sunset
weekdays:
- MON
- TUE
- type: device.state
device: My TV - Living Room
trait: Volume
state: currentVolume
greaterThanOrEqualTo: 1
lessThanOrEqualTo: 10
Exemple de condition time de base qui limite l'exécution d'un script d'automatisation aux week-ends avant 10h00 :
type: time.between
before: 10am
weekdays:
- SAT
- SUN
Condition de température du capteur d'un thermostat :
type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F
Exemple de condition home.state.HomePresence :
type: home.state.HomePresence
state: homePresenceMode
is: AWAY
Consultez la liste complète des conditions.
Actions
Comme les déclencheurs et les conditions, chaque action comporte un type qui indique le type d'action spécifié.
Les plus importants et les plus utiles sont les types de commandes device.command. Exemple d'action pour éteindre les lumières.
type: device.command.OnOff
devices:
- Light A - Living Room
on: false
Action permettant d'ajouter un délai entre plusieurs autres actions.
type: time.delay
for: 5min