Automatisations

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

name

String

Facultatif

Nom de l'automatisation.

Les utilisateurs ne peuvent pas le voir. Il est réservé aux développeurs.

starters

[Starter]

Obligatoire

Liste des starters.

condition

Condition

Facultatif

Condition

actions

[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

Consultez la liste complète des actions.