UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

1,166 lines (1,164 loc) 90.6 kB
/** * DO NOT EDIT * This file has been generated from file assets\schema\v1\tap-config.json */ /** * This file has been generated from JSON file C:\Users\scale\dev\iotize\bitbucket\standalone\iotize-device-client.js\assets\schema\v1\common.json */ var common = { "$id": "http://iotize.com/schemas/v1/common.json", "definitions": { "address": { "oneOf": [ { "type": "integer", "minimum": 0, "default": 0, "examples": [192] }, { "type": "string", "pattern": "^0x([0-9a-fA-F]+)$", "examples": ["0x2000000"] } ] }, "hexString": { "type": "string", "pattern": "^0x([0-9a-fA-F]+)$", "examples": ["0xB3"], "default": "0x00" }, "uint8": { "type": "integer", "minimum": 0, "maximum": 255, "description": "Unsigned integer on 8 bytes" }, "uint16": { "type": "integer", "minimum": 0, "maximum": 65535, "description": "Unsigned integer on 16 bytes" }, "uint32": { "type": "integer", "minimum": 0, "maximum": 4294967296, "description": "Unsigned integer on 32 bytes" }, "semanticVersion": { "title": "SemanticVersion", "type": "string", "default": "1.0.0", "examples": ["1.0.0"], "pattern": "^(\\d+)\\.(\\d+)\\.(\\d+)$" }, "IpAddressV4": { "title": "SemanticVersion", "type": "string", "default": "1.0.0", "examples": ["1.0.0"], "pattern": "^[0-255]\\.[0-255]\\.[0-255]\\.[0-255]$" } } }; /** * This file has been generated from JSON file C:\Users\scale\dev\iotize\bitbucket\standalone\iotize-device-client.js\assets\schema\v1\tap-config.json */ var tapConfig = { "title": "Tap configurator config", "$id": "http://iotize.com/schemas/v1/tap-config.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["config"], "additionalProperties": false, "properties": { "meta": { "type": "object", "title": "TapConfiguratorOptions", "properties": { "version": { "type": "string", "pattern": "^(\\d+)\\.(\\d+)\\.(\\d+)$" }, "options": { "type": "object", "description": "Options for the configurator engine", "properties": { "skipFactoryReset": { "type": "boolean", "description": "If set to true, configurator will not perform a factory reset before configuration. Values that are not written in this configuration will not be removed.", "default": false } } } }, "additionalProperties": true }, "config": { "type": "object", "title": "TapConfig", "additionalProperties": false, "required": ["version"], "properties": { "version": { "$ref": "#/definitions/semanticVersion" }, "configFormatVersion": { "type": "integer" }, "target": { "title": "TargetConfig", "oneOf": [ { "$ref": "#/definitions/TapnpassTargetConfig" }, { "$ref": "#/definitions/MCUTargetConfig" } ] }, "wireless": { "title": "Wireless Config", "type": "object", "additionalProperties": false, "properties": { "options": { "type": "object", "title": "WirelessOptionsConfig", "additionalProperties": false, "properties": { "inactivityTimeout": { "$ref": "#/definitions/uint8" }, "authorizedProtocols": { "type": "array", "items": { "$ref": "#/definitions/HostProtocol" } }, "pairing": { "$ref": "#/definitions/WirelessPairingConfig" } } }, "protocols": { "type": "object", "title": "WirelessProtocolsConfig", "additionalProperties": false, "properties": { "ble": { "title": "BleProtocolConfig", "type": "object", "required": [], "properties": { "pairingMode": { "deprecated": true, "type": "boolean", "description": "True to require BLE pairing. Deprecated, use wireless.options.pairing option instead." } } }, "lora": { "title": "LoraProtocolConfig", "type": "object", "required": [], "properties": { "config": { "$ref": "#/definitions/LoraConfig" }, "ids": { "$ref": "#/definitions/hexString" } } }, "mqtt": { "title": "MqttProtocolConfig", "type": "object", "additionalProperties": false, "properties": { "brokerCertificate": { "title": "Broker certificate", "description": "MQTT broker certificate", "$ref": "#/definitions/Certificate" }, "brokerHostname": { "type": "string", "description": "You can either specify the broker hostname or protocol://hostname. If protocol is not specified, it will be deduce from configured port." }, "brokerPort": { "type": "string", "description": "Broker port. Default MQTT port are 1883 for non secure and 8883 to use with TLS." }, "clientId": { "type": "string", "description": "MQTT client identifier." }, "password": { "type": "string", "description": "Required only if your broker requires a username/password authentification" }, "relayNetKey": { "type": "string", "deprecated": true, "description": "@deprecated This option is deprecated. Use request topic and response topic instead." }, "topicPrefix": { "type": "string", "deprecated": true, "description": "@deprecated This option is deprecated. Use request topic and response topic instead." }, "requestTopic": { "type": "string", "description": "Topic used to send requests for LwM2M over MQTT. Tap will subscribe to this topic and wait for incomming LwM2M requests." }, "responseTopic": { "type": "string", "description": "Topic used to send response for LwM2M over MQTT. Tap will publish LwM2M responses on this." }, "username": { "type": "string", "description": "Required only if your broker requires a username/password authentification" } } }, "nfc": { "title": "NfcProtocolConfig", "type": "object", "required": [], "additionalProperties": false, "properties": { "autoLogProfileId": { "$ref": "#/definitions/uint16" }, "connectionPriority": { "$ref": "#/definitions/NfcConnectionPriority" }, "pairingMode": { "deprecated": true, "description": "This option has been moved. Use wireless.options.pairing option instead", "$ref": "#/definitions/NfcPairingModeConfig", "tsType": "NfcPairingModeConfig" } } }, "wifi": { "title": "WifiProtocolConfig", "type": "object", "additionalProperties": false, "required": [], "properties": { "ip": { "$ref": "#/definitions/IPV4Address" }, "gatewayIp": { "$ref": "#/definitions/IPV4Address" }, "key": { "tsType": "string", "type": "string", "description": "WEP/WPA2 key of the Wi-Fi network access point", "maxLength": 64, "minLength": 8 }, "keyVisibility": { "$ref": "#/definitions/WifiKeyVisibility" }, "mask": { "$ref": "#/definitions/IPV4AddressMask" }, "mode": { "$ref": "#/definitions/WifiMode" }, "protocol": { "type": "array", "items": { "$ref": "#/definitions/WifiProtocol" } }, "countryCode": { "description": "Country code ISO 3166", "type": "integer", "maximum": 999, "minimum": 0 }, "ssid": { "tsType": "string", "description": "Wi-Fi SSID", "type": "string", "maxLength": 32, "minLength": 1 }, "ssidVisibility": { "$ref": "#/definitions/WifiSSIDVisibility" }, "txPower": { "$ref": "#/definitions/uint8" }, "dnsIp": { "$ref": "#/definitions/IPV4Address" } } }, "ethernet": { "title": "EthernetProtocolConfig", "type": "object", "required": [], "additionalProperties": false, "properties": { "dnsIp": { "$ref": "#/definitions/IPV4Address" } } } } } } }, "slaveServer": { "$ref": "#/definitions/SlaveServerConfig" }, "ports": { "description": "Communication ports", "type": "object", "additionalProperties": false, "properties": { "ethernet": { "$ref": "#/definitions/EthernetConfig" } } }, "application": { "$ref": "#/definitions/ApplicationConfig" }, "jvm": { "$ref": "#/definitions/JVMConfig" }, "cloud": { "$ref": "#/definitions/CloudConfig" }, "tap": { "$ref": "#/definitions/TapOptions" }, "data": { "type": "object", "additionalProperties": false, "title": "DataConfig", "properties": { "profiles": { "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/definitions/specialprofile" }, { "$ref": "#/definitions/anonymousprofile" }, { "$ref": "#/definitions/profile" } ] } }, "bundles": { "type": "array", "items": { "type": "object", "title": "BundleConfig", "required": ["id"], "properties": { "name": { "$id": "#/properties/config/properties/schema/properties/bundles/items/properties/name", "type": "string", "title": "Bundle name", "default": "", "examples": ["Sensors"], "pattern": "^(.*)$" }, "id": { "$id": "#/properties/config/properties/schema/properties/bundles/items/properties/id", "type": "integer", "title": "Bundle id", "default": 0, "minimum": 0, "maximum": 65535, "examples": [1] }, "dataLog": { "type": "object", "default": { "period": 0 }, "required": ["period"], "properties": { "period": { "type": "integer", "minimum": 0, "description": "Data log period acquisition in seconds" } } }, "features": { "type": "array", "items": { "$ref": "#/definitions/SpecialFeature" } }, "variables": { "type": "array", "items": { "title": "VariableConfig", "anyOf": [ { "$ref": "#/definitions/TargetVariable" }, { "$ref": "#/definitions/ModbusVariable" }, { "$ref": "#/definitions/InTapVariable" }, { "$ref": "#/definitions/GPIOVariable" } ] } }, "acls": { "type": "object", "title": "AclMapConfig", "additionalProperties": { "type": "object", "title": "AclConfig", "required": ["read", "write"], "additionalProperties": false, "properties": { "read": { "type": "boolean", "description": "Grant read right", "default": false, "examples": [true] }, "write": { "type": "boolean", "description": "Grant write right", "default": false, "examples": [false] } } } } } } } } } } } }, "definitions": { "TargetConfig.Protocol.SWDConfig": { "title": "SWDProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": ["SWD"], "default": "SWD" } } }, "TargetConfig.Protocol.NoneConfig": { "title": "NoneProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": ["NONE"], "default": "NONE" } } }, "TargetConfig.Protocol.S3PConfig": { "title": "S3PProtocolConfig", "type": "object", "required": ["type", "config"], "additionalProperties": false, "properties": { "type": { "enum": ["S3P"], "default": "S3P" }, "config": { "title": "S3PConfig", "type": "object", "required": ["mode", "delay"], "additionalProperties": false, "properties": { "mode": { "$ref": "#/definitions/S3PModeConfig" }, "delay": { "$ref": "#/definitions/uint8" } } } } }, "TargetConfig.Protocol.ModbusConfig": { "title": "ModbusProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["MODBUS"], "default": "MODBUS" }, "config": { "$ref": "#/definitions/ModbusConfig" } } }, "TargetConfig.Protocol.ModbusTcpConfig": { "title": "ModbusTcpProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["MODBUS_TCP"], "default": "MODBUS_TCP" }, "config": { "$ref": "#/definitions/ModbusTcpConfig" } } }, "TargetConfig.Protocol.DirectIOConfig": { "title": "DirectIOProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["DIRECT_IO"], "default": "DIRECT_IO" } } }, "TargetConfig.Protocol.SerialConfig": { "title": "SerialProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["SERIAL"], "default": "SERIAL" }, "config": { "type": "object", "required": ["serial"], "additionalProperties": true, "properties": { "serial": { "$ref": "#/definitions/TargetSerialModbusConfigurationConfig.Serial" } } } } }, "TargetConfig.Protocol.CustomConfig": { "title": "CustomProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["CUSTOM"], "default": "CUSTOM" }, "config": { "$ref": "#/definitions/hexString" } } }, "TargetConfig.Protocol.GPIOConfig": { "title": "GPIOProtocolConfig", "description": "Deprecated. Use DirectIO protocol instead.", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["GPIO"], "default": "GPIO" } } }, "TargetConfig.Protocol.CanConfig": { "title": "CanProtocolConfig", "type": "object", "required": ["type"], "additionalProperties": false, "properties": { "type": { "enum": ["CAN"], "default": "CAN" }, "config": { "$ref": "#/definitions/CanConfig" } } }, "ApplicationConfig": { "title": "ApplicationConfig", "description": "Options related to the application that communicates with this Tap", "type": "object", "required": [], "additionalProperties": false, "properties": { "name": { "type": "string", "title": "Application name", "description": "Application name (name will be broadcast with BLE or WiFi)", "default": "TAP", "examples": ["Sensor demo"], "maxLength": 32, "minLength": 1 }, "uri": { "oneOf": [ { "title": "ApplicationUriConfig", "type": "object", "required": ["value", "type"], "additionalProperties": false, "properties": { "type": { "$ref": "#/definitions/AppPathType" }, "value": { "type": "string", "maxLength": 64 } } }, { "type": "string", "title": "Application url", "description": "Application url loaded by Tap Manager", "default": "", "examples": ["http://yourappyurl.com"], "maxLength": 128 } ] }, "universalLink": { "type": "string", "title": "Universal link", "default": "", "examples": ["https://iotize.com"], "maxLength": 128 }, "productCode": { "description": "Product code. It can be used to identify which kind of target this Tap is linked to. It's used by multi tap configuration applications.", "type": "string", "maxLength": 32, "default": "", "examples": ["light", "motor-sensors"] }, "data": { "$ref": "#/definitions/hexString" } } }, "BaseVariable": { "title": "BaseVariableConfig", "type": "object", "required": ["id"], "properties": { "id": { "type": "integer", "title": "Variable id", "minimum": 0, "maximum": 65535, "default": 0, "examples": [1] }, "length": { "type": "integer", "description": "Variable length (number of items) > 1 if it's an array", "default": 1, "minimum": 0, "maximum": 65535, "examples": [1] }, "meta": { "type": "object", "additionalProperties": false, "properties": { "name": { "type": "string", "title": "Variable name", "default": "", "examples": ["Temperature"], "pattern": "^(.*)$", "maxLength": 50, "minLength": 0 }, "unit": { "type": "string", "title": "Unit", "pattern": "^(.*)$", "maxLength": 30, "minLength": 0 } } }, "rawMeta": { "$ref": "#/definitions/hexString" }, "metaDataLength": { "type": "integer", "minimum": 0, "maximum": 200, "description": "Size (in bytes) reserved for variable meta data" } } }, "TargetVariable": { "title": "TargetVariableConfig", "additionalProperties": false, "required": ["id", "address", "dataType", "domain"], "properties": { "id": true, "meta": true, "rawMeta": true, "address": true, "domain": true, "dataType": true, "length": true, "metaDataLength": true }, "allOf": [ { "$ref": "#/definitions/BaseVariable" }, { "type": "object", "additionalProperties": true, "required": ["address", "dataType", "domain"], "properties": { "dataType": { "$ref": "#/definitions/VariableTypeConfig.Data" }, "domain": { "default": "TARGET", "enum": ["TARGET"] }, "address": { "$ref": "#/definitions/address" } } } ] }, "InTapVariable": { "title": "InTapVariableConfig", "type": "object", "allOf": [ { "$ref": "#/definitions/BaseVariable" }, { "type": "object", "required": ["domain", "dataType"], "properties": { "domain": { "enum": ["IN_TAP_STATIC", "IN_TAP_VOLATIL"] }, "dataType": { "$ref": "#/definitions/VariableTypeConfig.Data" }, "value": { "oneOf": [ { "oneOf": [ { "$ref": "#/definitions/hexString" }, { "type": "number" } ] }, { "type": "array", "description": "Initial variable value for each item (according to variable length).", "items": { "oneOf": [ { "$ref": "#/definitions/hexString" }, { "type": "number" } ] } } ] } } } ] }, "GPIOVariable": { "title": "GPIOVariableConfig", "type": "object", "additionalProperties": true, "allOf": [ { "$ref": "#/definitions/BaseVariable" }, { "type": "object", "required": ["gpio"], "properties": { "gpio": { "$ref": "#/definitions/GPIOMapping" } } } ] }, "ModbusVariable": { "title": "ModbusVariableConfig", "type": "object", "additionalProperties": true, "allOf": [ { "$ref": "#/definitions/BaseVariable" }, { "type": "object", "required": ["modbusAddress"], "properties": { "modbusAddress": { "$ref": "#/definitions/ModbusVariableAddress" }, "domain": { "enum": ["TARGET"] }, "dataType": { "$ref": "#/definitions/VariableTypeConfig.Data" } } } ] }, "anonymousprofile": { "title": "AnonymousProfileConfig", "required": ["username"], "properties": { "username": { "enum": ["anonymous"] } } }, "specialprofile": { "required": ["username"], "title": "SpecialProfileConfig", "type": "object", "additionalProperties": false, "properties": { "key": { "$ref": "#/definitions/userKey" }, "password": { "type": "string", "default": "", "examples": ["admin"], "pattern": "^(.*)$", "maxLength": 16 }, "username": { "$ref": "#/definitions/SpecialUsername" }, "lifeTime": { "$id": "#/properties/config/properties/schema/properties/profiles/properties/admin/properties/lifeTime", "type": "integer", "title": "Session Lifetime", "description": "Session lifetime in seconds", "minimum": 0, "maximum": 65535, "default": 300, "examples": [200] }, "salt": { "$id": "#/properties/config/properties/schema/properties/profiles/properties/admin/properties/salt", "type": "integer", "title": "Profile salt", "default": 0, "examples": [220238910087] }, "users": { "type": "array", "items": { "$ref": "#/definitions/user" } } } }, "user": { "required": ["id", "username"], "title": "UserConfig", "type": "object", "additionalProperties": true, "properties": { "key": { "$ref": "#/definitions/userKey" }, "password": { "type": "string", "default": "", "examples": ["admin"], "pattern": "^(.*)$", "maxLength": 16 }, "username": { "type": "string", "description": "Username", "default": "", "examples": ["admin"], "pattern": "^(.*)$", "maxLength": 16 }, "id": { "type": "integer", "title": "Profile id", "default": 0, "minimum": 0, "maximum": 65533, "examples": [1] }, "salt": { "type": "integer", "title": "Profile salt", "default": 0, "examples": [220238910087] } } }, "profile": { "title": "ProfileConfig", "allOf": [ { "$ref": "#/definitions/user" }, { "type": "object", "properties": { "lifeTime": { "type": "integer", "title": "Session Lifetime", "tsType": "number", "description": "Session lifetime in seconds", "minimum": 0, "maximum": 65535, "default": 300, "examples": [200] }, "users": { "type": "array", "items": { "$ref": "#/definitions/user" } } } } ] }, "userKey": { "examples": ["0x99C243D5F82EB712C281D5FFE7D12097"], "allOf": [ { "$ref": "#/definitions/hexString" }, { "type": "string", "tsType": "any", "maxLength": 74, "minLength": 34 } ] }, "JVMConfig": { "title": "JvmConfig", "type": "object", "additionalProperties": false, "properties": { "codeSize": { "description": "JVM code size in bytes. If not set, code size will be deduced from actual code size.", "$ref": "#/definitions/uint32" }, "code": { "description": "Compressed byte code content", "$ref": "#/definitions/hexString" }, "profileId": { "type": "integer", "description": "User profile id" } } }, "CloudConfig": { "type": "object", "title": "CloudConfig", "additionalProperties": false, "properties": { "platform": { "$ref": "#/definitions/CloudPlatform" }, "dataLog": { "type": "object", "additionalProperties": false, "properties": { "uploadPeriod": { "$ref": "#/definitions/uint32" }, "mqttPublishTopic": { "type": "string" }, "mqttSubscribeTopic": { "type": "string" } } } } }, "EthernetConfig": { "title": "EthernetConfig", "type": "object", "additionalProperties": false, "properties": { "ip": { "$ref": "#/definitions/IPV4Address" }, "ipMask": { "$ref": "#/definitions/IPV4AddressMask" }, "gatewayIp": { "$ref": "#/definitions/IPV4Address" } } }, "ModbusTcpModbusConfig": { "title": "EthernetModbusConfig", "additionalProperties": false, "type": "object", "properties": { "defaultSlaveAddress": { "title": "Default slave address", "tsType": "string", "$ref": "#/definitions/IPV4Address", "description": "Default slave address for Modbus TCP protocol" }, "port": { "title": "Port", "tsType": "number", "type": "integer", "description": "Port for Modbus TCP protocol", "default": 502, "minimum": 0, "maximum": 65535 }, "timeout": { "title": "Timeout", "tsType": "number", "description": "Timeout for Modbus TCP protocol", "type": "integer", "default": 100, "minimum": 0, "maximum": 3000 }, "firstRegisterAddress": { "title": "First register address", "tsType": "number", "description": "First register address (0 or 1)", "type": "integer", "default": 0, "minimum": 0, "maximum": 1 } } }, "TapOptions": { "type": "object", "title": "Tap Options", "additionalProperties": false, "properties": { "certificate": { "type": "object", "required": [], "additionalProperties": false, "properties": { "privateKey": { "title": "Device private key", "description": "Device private key. This key is private and must not be shared.", "$ref": "#/definitions/Certificate" }, "publicKey": { "title": "Device public key", "$ref": "#/definitions/Certificate" }, "rootKey": { "title": "Root certificate", "description": "Public key certificate that identifies a root certificate authority (CA)", "$ref": "#/definitions/Certificate" } } }, "powerOptimization": { "$ref": "#/definitions/LowPowerOptimizationLevel" }, "scram": { "type": "object", "required": [], "additionalProperties": false, "properties": { "hashIteration": { "$ref": "#/definitions/uint16" } } }, "security": { "$ref": "#/definitions/SecurityOptions" }, "time": { "type": "object", "title": "TapTimeConfig", "description": "Configure time zone and NTP server for your Tap", "required": [], "additionalProperties": false, "properties": { "ntpServer": { "title": "NTP server url", "type": "string", "tsType": "string", "description": "URL of the NTP server for retrieving Universal Coordinated Time. (UTC)", "maxLength": 100 }, "zone": { "title": "Time zone", "type": "string", "tsType": "string", "description": "Time zone\nExpecting a POSIX-style TZ string\nBlank string means revert to default