Le struct automations
est le cœur d'un script d'automatisation. C'est à ce niveau que le comportement de l'automatisation est spécifié, y compris les déclencheurs, les conditions et les actions.
Collectivement, elles sont également appelées règles d'automatisation.
Un struct 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 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 verront pas cette information. Elle est destinée uniquement aux développeurs. |
|
|
Obligatoire Une liste de déclencheurs |
|
|
Facultatif Condition |
|
|
[Action] |
Obligatoire Une liste d'actions |
Exemples
Voici deux exemples d'introduction de structures automations
.
Dans le premier exemple, l'automatisation est lancée lorsqu'un TV
nommé "Mon téléviseur" est activé.
Une fois déclenchées, les actions suivantes sont effectuées:
Deux appareils LIGHT
, nommés "Lumière A" et "Éclairage B", sont allumés et définis sur le niveau de luminosité 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 démarrée au coucher du soleil tous les lundis et jeudis:
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
Entrées
Le Struct Starter est l'endroit où vous spécifiez 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 renvoyer la valeur 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 en cas de changement 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 changement de déclencheur concernant le mode de présence de 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 un struct condition
avec une condition time
et une condition device.state
. Ce Struct permet au script de s'exécuter entre le coucher et le lever du soleil un lundi ou un mardi, ou si le volume du téléviseur est compris 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 10h du matin :
type: time.between
before: 10am
weekdays:
- SAT
- SUN
Une condition de température du capteur de l'appareil du 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 d'extinction des 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