{ "title": "scenario.basic", "description": "Simple Scenario", "lang": "en", "documentation": "http://recherche.imt-atlantique.fr/xaal/documentation/", "ref": "http://recherche.imt-atlantique.fr/xaal/documentation/scenario.basic", "license": "Copyright Christophe Lohr IMT Atlantique 2019 - Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.", "extends": "basic.basic", "attributes": { "enabled":"enabled_t", "properties":"properties_t" }, "methods": { "get_attributes": { "description": "Return attributes of the device", "in": { "attributes":"attributes_t" }, "out": { "enabled":"enabled_t", "properties":"properties_t" } }, "enable": { "description": "Enable the scenario", "related_attributes": [ "enabled", "properties" ] }, "disable": { "description": "Disable the scenario", "related_attributes": [ "enabled", "properties" ] }, "run": { "description": "Run the scenario (if enabled)", "in": { "options":"options_t" }, "related_attributes": [ "properties" ] }, "abort": { "description": "Abort the scenario (if running)", "related_attributes": [ "properties" ] } }, "notifications": { "attributes_change": { "description": "Report attributes that have changed", "out": { "enabled":"enabled_t", "properties":"properties_t" } } }, "datamodel": { "enabled_t": { "description": "State of scenario (true=enabled false=disabled)", "type": "data = bool" }, "properties_t": { "description": "Fancy properties defined and managed by the scenario, if any", "type": "data = { * (tstr => tstr) }" }, "options_t": { "description": "Options to run a scenario, if any, deeply dependent of the scenario", "type": "data = any" }, "attributes_t": { "description": "List of wanted attributes", "type": "data = [ ? \"enabled\", ? \"properties\" ]" } } }