@iotize/tap
Version:
IoTize Device client for Javascript
1,166 lines (1,164 loc) • 90.6 kB
JavaScript
/**
* 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