{ "name": "any.any", "version": 0.1, "description": "Generic schema for any devices", "lang": "en", "documentation": "http://recherche.telecom-bretagne.eu/xaal/documentation/", "ref": "http://recherche.telecom-bretagne.eu/xaal/documentation/any.any", "license": "LGPLv3+ Christophe Lohr Telecom Bretagne 2014", "licenseref": "http://www.gnu.org/licenses/lgpl.txt", "internalVariables": [ { "name": "devType", "description": "The name of the schema to which the device obeys", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9_-]*.[a-zA-Z][a-zA-Z0-9_-]*$" } }, { "name": "address", "description": "The address of the device", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" } }, { "name": "parent", "description": "The address of the parent in the case of a composite device, or 0", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" } }, { "name": "busAddr", "description": "The IPv4 or IPv6 multicast address of the xAAL bus used by the device", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "oneOf": [ { "format": "host-name" }, { "format": "ipv4" }, { "format": "ipv6" } ] } }, { "name": "busPort", "description": "The UDP port of xAAL bus used by the device", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer", "minimum": 0, "maximum": 65535 } }, { "name": "TTL", "description": "The TTL used for sending multicast packets", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer", "minimum": 0, "maximum": 255 } }, { "name": "key", "description": "The cryptographic key used for encrypted communications", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } } ], "stateVariables": [ { "name": "ciphers", "description": "List of the supported ciphers", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } ], "methods": [ { "name": "isAlive", "description": "Check if the device is alive", "parameters": [ ] }, { "name": "getDescription", "description": "Get the description of the device", "parameters": [ { "name": "vendorId", "description": "Id of the vendor assigned by the xAAL bureau", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, { "name": "productId", "description": "Id of the product assigned by the vendor", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, { "name": "version", "description": "Version or revision of the product assigned by the vendor", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, { "name": "parent", "description": "Address of the parent in case of a composite, or 0", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" } } ] }, { "name": "getState", "description": "Return stateVariables of the device", "parameters": [ { "name": "ciphers", "description": "List of the supported ciphers", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } ] }, { "name": "setBusConfig", "description": "Configure the xAAL bus to be used by the device", "parameters": [ { "name": "busAddr", "description": "The IPv4 or IPv6 multicast address of the xAAL bus used by the device", "unit": "", "direction": "inout", "type": { "$schema": "http://json-schema.org/schema#", "type": "string", "oneOf": [ { "format": "host-name" }, { "format": "ipv4" }, { "format": "ipv6" } ] } }, { "name": "busPort", "description": "The UDP port of xAAL bus used by the device", "unit": "", "direction": "inout", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer", "minimum": 0, "maximum": 65535 } }, { "name": "TTL", "description": "The TTL used for sending multicast packets", "unit": "", "direction": "inout", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer", "minimum": 0, "maximum": 255 } } ] }, { "name": "setCiphers", "description": "Enable/disable some ciphers on the device", "parameters": [ { "name": "ciphers", "description": "List of ciphers to supported", "unit": "", "direction": "inout", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } ] }, { "name": "setKey", "description": "Change the security key", "parameters": [ { "name": "key", "description": "The new security key", "unit": "", "direction": "in", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } } ] } ], "notifications": [ { "name": "alive", "description": "The device announce that it is alive", "parameters": [ ] }, { "name": "stateChange", "description": "Notify the state variables that have changed", "parameters": [ { "name": "ciphers", "description": "List of the supported ciphers", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } ] }, { "name": "error", "description": "An error has been detected", "parameters": [ { "name": "description", "description": "Textual description of the error", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, { "name": "code", "description": "Numeric code of the error", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer" } } ] } ] }