La structure automations est au 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 les appelle également règle d'automatisation.
Une structure automations contient une ou plusieurs règles d'automatisation. Chaque règle contient toujours un ensemble de déclencheurs et d'actions. Une règle peut éventuellement contenir des conditions, qui sont des qualificatifs 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 peuvent pas le voir. Il est réservé aux développeurs. |
|
|
|
[Starter] |
Obligatoire Liste des starters. |
|
|
Facultatif Condition |
|
|
|
[Action] |
Obligatoire Une liste d'actions |
Exemples
Voici deux exemples d'introduction aux structures automations.
Dans le premier exemple, l'automatisation est lancée lorsqu'un TV nommé "Mon téléviseur" est allumé.
Une fois déclenchées, les actions suivantes sont effectuées :
Deux appareils LIGHT, nommés "Lumière A" et "Lumière 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. Au moins un déclencheur doit être défini sur true pour que les conditions suivantes soient évaluées.
Exemple de time.schedule de départ :
type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE
Exemple de déclencheur basé 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 starter pour les changements de mode de présence à la maison :
type: home.state.HomePresence
state: homePresenceMode
is: HOME
Afficher 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
Voici un exemple de condition time de base qui limite l'exécution d'un script d'automatisation aux week-ends avant 10h du matin :
type: time.between
before: 10am
weekdays:
- SAT
- SUN
Condition de température d'un capteur de 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 possède 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