Automatizaciones

La estructura automations es el núcleo de una secuencia de comandos de automatización. Aquí es donde se especifica el comportamiento de la automatización, incluidos los activadores, las condiciones y las acciones. En conjunto, también se conocen como una 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 estar vigentes para que se ejecute la secuencia de comandos.

Clave Tipo Descripción

name

String

Opcional

Nombre de la automatización.

Los usuarios no verán esto, solo es para referencia del desarrollador.

starters

[Starter]

Obligatorio

Una lista de activadores.

condition

Condition

Opcional

Condición

actions

[Action]

Obligatorio

Una lista de acciones

Ejemplos

A continuación, se presentan dos ejemplos introductorios de estructuras automations.

En el primer ejemplo, la automatización se inicia cuando se enciende un TV llamado "Mi TV".

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

Se encienden dos LIGHT dispositivos, llamados "Luz A" y "Luz B", y se configuran 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 uno de ellos debe evaluarse como true para que se evalúen las condiciones posteriores.

Un ejemplo de un activador time.schedule:

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

Un ejemplo de un activador en los cambios de estado del dispositivo:

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

Un ejemplo de un activador en un evento del dispositivo:

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

Un ejemplo de un activador en los cambios de modo de presencia en la casa:

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

Consulta la lista completa de activadores.

Condición

Las condiciones se pueden combinar con los 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. Esta estructura permite que la secuencia de comandos se ejecute si es lunes o martes entre el atardecer y el amanecer, 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

Un ejemplo básico de 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

Un ejemplo de una condición home.state.HomePresence:

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

Consulta la lista completa de condiciones.

Acciones

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

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

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

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

type: time.delay
for: 5min

Consulta la lista completa de acciones.