{ "title": "any.any", "version": 0.2, "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": "Copyright Christophe Lohr Telecom Bretagne 2014 - 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.", "variables": { "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_-]*$" } }, "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}$" } }, "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}$" } }, "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" } ] } }, "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 } }, "TTL": { "description": "The TTL used for sending multicast packets", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer", "minimum": 0, "maximum": 255 } }, "key": { "description": "The cryptographic key used for encrypted communications", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, "ciphers": { "description": "List of the activated ciphers", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } }, "methods": { "isAlive": { "description": "Check if the device is alive", "parameters": { }, "relatedVariables": [ ] }, "getDescription": { "description": "Get the description of the device", "parameters": { "vendorId": { "description": "Id of the vendor assigned by the xAAL bureau", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, "productId": { "description": "Id of the product assigned by the vendor", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, "version": { "description": "Version or revision of the product assigned by the vendor", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, "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}$" } } }, "relatedVariables": [ ] }, "getVariables": { "description": "Return variables of the device", "parameters": { }, "relatedVariables": [ ] }, "setBusConfig": { "description": "Configure the xAAL bus to be used by the device", "parameters": { "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" } ] } }, "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 } }, "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 } } }, "relatedVariables": [ "busAddr", "busPort", "TTL"] }, "getCiphers": { "description": "Get list of supported & enabled ciphers", "parameters": { "supportedCiphers": { "description": "List ciphers supported by the device", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } }, "enabledCiphers": { "description": "List ciphers enabled on the device", "unit": "", "direction": "out", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } }, "relatedVariables": [ ] }, "setCiphers": { "description": "Enable/disable some ciphers on the device", "parameters": { "ciphers": { "description": "List of ciphers to supported", "unit": "", "direction": "inout", "type": { "$schema": "http://json-schema.org/schema#", "type": "array", "items": { "type": "string" } } } }, "relatedVariables": [ "ciphers" ] }, "setKey": { "description": "Change the security key", "parameters": { "key": { "description": "The new security key", "unit": "", "direction": "in", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } } }, "relatedVariables": [ ] } }, "notifications": { "alive": { "description": "The device announce that it is alive", "parameters": { } }, "variablesChange": { "description": "Report variables that have changed", "parameters": { } }, "error": { "description": "An error has been detected", "parameters": { "description": { "description": "Textual description of the error", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "string" } }, "code": { "description": "Numeric code of the error", "unit": "", "type": { "$schema": "http://json-schema.org/schema#", "type": "integer" } } } } } }