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, - - stringis an array of strings.
- A reference to a data value, which is defined elsewhere. For example, in - device: $tv, the- tvis 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.