The Automation script language is based on YAML, and has a hierarchical schema. The basic structure looks like this:
metadata
|
contains the name of the Automation and a description |
automations
|
defines the logic of the Automation |
starters
|
defines the conditions which trigger the Automation |
condition
|
defines additional conditions evaluated to start the Automation |
actions
|
lists the actions to take |
Conventions
Each field is a key-value pair:
<key>: <value> # <comments>
Where:
<key>
is a literal keyword<value>
can be:A primitive type: bool, number, string, time, etc.
A struct type: a collection of fields.
An array of the data type. For example,
- string
is an array of strings.A reference to a data value, which is defined elsewhere. For example, in
device: $tv
, thetv
is a variable, which refers to a device data.
<comments>
are used for any additional information for the author. The script engine ignores comments-they have no bearing on the operation of the script.