Automatizaciones

La estructura automations es el núcleo de una secuencia de comandos de automatización. Aquí es donde se especifica el comportamiento de automatización, incluidos los activadores, las condiciones y las acciones. En conjunto, estas también se denominan regla de automatización.

Una estructura automations contiene una o más reglas de automatización, y cada regla siempre contiene un conjunto de activadores y acciones. De manera opcional, una regla puede contener condiciones, que son calificadores adicionales que deben implementarse para que se ejecute la secuencia de comandos.

Clave Tipo Descripción

name

String

Opcional

Nombre de la automatización.

Esto no se muestra a los usuarios, es solo de referencia para desarrolladores.

starters

[Activador]

Obligatorias

Una lista de activadores

condition

Estado

Opcional

Condición

actions

[Acción]

Obligatorias

Una lista de acciones

Ejemplos

A continuación, se incluyen dos ejemplos introductorios de structs automations.

En el primer ejemplo, la automatización se inicia cuando se activa una TV llamada "Mi TV".

Una vez que se activa, se realizan las siguientes acciones:

Dos dispositivos LIGHT, llamados "Light A" y "Light B", están encendidos y establecidos en el nivel de brillo 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

En el segundo ejemplo, la misma automatización se inicia al atardecer todos los lunes y jueves:

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

Entradas

La estructura Starter es donde especificas los activadores que hacen que se ejecute la secuencia de comandos de automatización. Cada automation puede contener uno o más activadores, y al menos un activador debe evaluarse como true para que se evalúen las condiciones posteriores.

Ejemplo de un activador time.schedule:

type: time.schedule
at: sunrise+30min
weekdays:
- MON
- TUE

Ejemplo de un activador en el estado del dispositivo que cambia:

type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10

Ejemplo de un activador en un evento de dispositivo:

type: device.event.DoorbellPress
device: My doorbell - Frontdoor

Un ejemplo de un activador en el modo de presencia en casa cambia:

type: home.state.HomePresence
state: homePresenceMode
is: HOME

Ver la lista completa de activadores.

Condición

Las condiciones se pueden combinar con operadores lógicos and, or y not para expresar una lógica más compleja.

En el siguiente ejemplo, hay una estructura condition con una condición time y una condición device.state. Este Struct permite que se ejecute la secuencia de comandos si es entre el atardecer y el amanecer un lunes o martes, o si el volumen de la TV está entre 1 y 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

Este es un ejemplo básico de una condición time que limita la ejecución de una secuencia de comandos de automatización a los fines de semana antes de las 10:00 a.m.:

type: time.between
before: 10am
weekdays:
- SAT
- SUN

Una condición de temperatura del sensor del dispositivo del termostato:

type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F

Ejemplo de una condición home.state.HomePresence:

type: home.state.HomePresence
state: homePresenceMode
is: AWAY

Consulte la lista completa de condiciones.

Acciones

Al igual que los activadores y las condiciones, cada acción tiene un type que indica el tipo de acción que se especifica.

Los más importantes y útiles son los tipos de comandos device.command. Ejemplo de acción de apagar luces

type: device.command.OnOff
devices:
- Light A - Living Room
on: false

Una acción para agregar un retraso entre varias acciones distintas.

type: time.delay
for: 5min

Ver la lista completa de las acciones.