Automatisations

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

name

String

Facultatif

Nom de l'automatisation.

Les utilisateurs ne verront pas cette information. Elle est destinée uniquement aux développeurs.

starters

[Déclencheur]

Obligatoire

Une liste de déclencheurs

condition

État

Facultatif

Condition

actions

[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

Afficher la liste complète des actions