@iotize/tap
Version:
IoTize Device client for Javascript
1,699 lines (1,698 loc) • 57 kB
JSON
{
"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": {
"$id": "#/properties/config/properties/schema/properties/bundles/items/properties/acls",
"type": "object",
"title": "AclMapConfig",
"additionalProperties": {
"$id": "#/properties/config/properties/schema/properties/bundles/items/properties/acls/properties/anonymous",
"type": "object",
"title": "AclConfig",
"required": ["read", "write"],
"additionalProperties": false,
"properties": {
"read": {
"$id": "#/properties/config/properties/schema/properties/bundles/items/properties/acls/properties/anonymous/properties/read",
"type": "boolean",
"description": "Grant read right",
"default": false,
"examples": [true]
},
"write": {
"$id": "#/properties/config/properties/schema/properties/bundles/items/properties/acls/properties/anonymous/properties/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 Universal Time = 'UTC0'\nsee https://www.iana.org/time-zones for more information",
"examples": ["", "UTC-1", "CST-8", "EST+5EDT,M4.1.0/2,M10.5.0/2"],
"maxLength": 64
}
}
},
"autoRebootTimeout": {
"type": "integer",
"default": 0
},
"maxLowPowerTime": {
"type": "integer",
"default": 0
}
}
},
"MCUTargetConfig": {
"title": "MCU Target config",
"required": ["type", "protocol"],
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"enum": ["MCU"],
"default": "MCU"
},
"firmwareVersion": {
"$ref": "#/definitions/semanticVersion"
},
"protocol": {
"title": "MCUTargetProtocolConfig",
"oneOf": [
{
"$ref": "#/definitions/TargetConfig.Protocol.SWDConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.NoneConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.S3PConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.ModbusConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.ModbusTcpConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.DirectIOConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.SerialConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.GPIOConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.CustomConfig"
},
{
"$ref": "#/definitions/TargetConfig.Protocol.CanConfig"
}
]
}
}
},
"TapnpassTargetConfig": {
"title": "Tapnpass Target config",
"required": ["type", "protocol"],
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"enum": ["TAPNPASS"],
"default": "TAPNPASS"
},
"firmwareVersion": {
"$ref": "#/definitions/semanticVersion"
},
"protocol": {
"type": "object",
"additionalProperties": false,
"properties": {
"config": {
"oneOf": [
{
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig"
}
]
}
}
}
}
},
"SpecialUsername": {
"title": "SpecialUsername config",
"enum": ["admin", "supervisor"]
},
"S3PModeConfig": {
"enum": ["INDEXED", "EMULATION"],
"title": "S3P Mode Config"
},
"ModbusConfig": {
"title": "ModbusProtocolConfig",
"type": "object",
"additionalProperties": false,
"required": ["modbus", "serial"],
"properties": {
"modbus": {
"$ref": "#/definitions/TargetSerialModbusConfigurationConfig.Modbus"
},
"serial": {
"$ref": "#/definitions/TargetSerialModbusConfigurationConfig.Serial"
},
"usb": {
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig.Usb"
}
}
},
"CanConfig": {
"title": "CanConfig",
"type": "object",
"required": ["frequency", "mode", "filter", "code", "mask"],
"additionalProperties": false,
"properties": {
"frequency": {
"$ref": "#/definitions/uint32",
"description": "Frequency in kbps"
},
"mode": {
"title": "CanModeConfig",
"type": "string",
"enum": ["NORMAL", "NO_ACK", "LISTEN"],
"default": "NORMAL"
},
"filter": {
"title": "CanFilterConfig",
"type": "string",
"enum": ["SINGLE", "DUAL"],
"default": "SINGLE"
},
"code": {
"$ref": "#/definitions/hexString",
"examples": ["0x00000000"],
"maxLength": 10
},
"mask": {
"$ref": "#/definitions/hexString",
"maxLength": 10
}
}
},
"ModbusTcpConfig": {
"title": "ModbusTcpConfig",
"type": "object",
"additionalProperties": false,
"required": [],
"properties": {
"modbus": {
"$ref": "#/definitions/ModbusTcpModbusConfig"
}
}
},
"GPIOMapping": {
"title": "GPIO mapping config",
"enum": [
"RST",
"TDI",
"TDO",
"SWDCK",
"SWDIO",
"SCL_FACTORYRST",
"EXT_A2",
"EXT_A3",
"EXT_A4",
"EXT_A5",
"EXT_A6",
"EXT_A7",
"EXT_A8",
"EXT_A9",
"EXT_A10",
"EXT_A11",
"EXT_B2",
"EXT_B3",
"EXT_B4",
"EXT_B5",
"EXT_B6",
"EXT_B7",
"EXT_B8",
"EXT_B9",
"EXT_B10",
"EXT_B11"
]
},
"SpecialFeature": {
"title": "SpecialFeature config",
"type": "string",
"examples": ["SWD_DIRECT_ACCESS"],
"enum": [
"SWD_DIRECT_ACCESS",
"SERIAL_ACCESS",
"MODBUS_DIRECT_ACCESS",
"TAPNPASS_CONTROL_ACCESS",
"SP_CODEEXEC_ACCESS"
]
},
"SecurityConfig": {
"title": "SecurityConfig",
"additionalProperties": false,
"type": "object",
"required": [],
"properties": {
"scramActivated": {
"type": "boolean",
"title": "Enable SCAN authentification",
"default": false
},
"hashPassword": {
"type": "boolean",
"default": true
},
"disableHardwareFactoryReset": {
"title": "Locking factory reset with lwm2m",
"type": "boolean",
"default": false
},
"disableLoginWithUID": {
"title": "Disable login with UID",
"type": "boolean",
"default": false
},
"disableResourceFactoryReset": {
"title": "Disable hardware factory reset",
"type": "boolean",
"default": false
}
}
},
"AppPathType": {
"type": "string",
"enum": [
"PRIMER_CLOUD_WEB_APP_URL",
"URL",
"ANDROID_APP_ID",
"PRIMER_CLOUD_CONFIG_URL",
"AAR_2"
]
},
"TargetSerialModbusConfigurationConfig.Modbus": {
"title": "ModbusConfig",
"type": "object",
"required": ["slave", "offsetFirstRegister"],
"additionalProperties": false,
"properties": {
"slave": {
"type": "integer",
"minimum": 0,
"maximum": 256,
"default": 1,
"description": "Default slave address"
},
"offsetFirstRegister": {
"type": "boolean",
"default": false,
"description": "True if first register address will be 1\nFalse if first register address is 0"
}
}
},
"TargetSerialModbusConfigurationConfig.Serial": {
"title": "SerialConfig",
"type": "object",
"required": [
"baudRate",
"stopBits",
"bitParity",
"dataBits",
"handshakeDelimiter",
"timeout"
],
"additionalProperties": false,
"properties": {
"baudRate": {
"type": "integer",
"minimum": 0,
"maximum": 1048576,
"default": 9600
},
"physicalPort": {
"$ref": "#/definitions/SerialSettings.PhysicalPort"
},
"stopBits": {
"$ref": "#/definitions/SerialSettings.StopBits"
},
"bitParity": {
"$ref": "#/definitions/SerialSettings.BitParity"
},
"dataBits": {
"$ref": "#/definitions/SerialSettings.DataBits"
},
"handshakeDelimiter": {
"$ref": "#/definitions/SerialSettings.HandshakeDelimiter"
},
"hardwareFlowControl": {
"$ref": "#/definitions/SerialSettings.HardwareFlowControl"
},
"timeout": {
"type": "integer",
"minimum": 0,
"maximum": 256,
"default": 100
}
}
},
"SerialSettings.BitParity": {
"title": "BitParity",
"type": "string",
"enum": ["NONE", "ODD", "EVEN"],
"default": "NONE"
},
"SerialSettings.HardwareFlowControl": {
"title": "Handshake",
"type": "string",
"enum": ["NONE", "RTS", "CTS", "RTS_CTS"],
"default": "NONE",
"description": "Type of handshake management"
},
"SerialSettings.StopBits": {
"title": "StopBit",
"type": "string",
"enum": ["ONE", "ONE_AND_HALF", "TWO"],
"default": "ONE"
},
"SerialSettings.PhysicalPort": {
"title": "PhysicalPort",
"type": "string",
"default": "AUTO",
"enum": [
"NONE",
"RS232",
"USB",
"AUTO",
"RS485",
"RS485_WITH_SIGNAL_DIRECTION"
]
},
"SerialSettings.HandshakeDelimiter": {
"title": "HandshakeDelimiter",
"type": "string",
"enum": ["NONE", "CR", "LF", "CR_LF"],
"default": "NONE"
},
"SerialSettings.DataBits": {
"type": "string",
"enum": ["_7", "_8", "_9"],
"default": "_8"
},
"CloudPlatform": {
"title": "CloudPlatformKey",
"enum": [
"CUSTOM",
"IOTIZE",
"IBM_BLUEMIX",
"MICROSOFT_AZURE",
"AMAZON_AWS"
]
},
"SecurityOptions": {
"title": "SecurityOptions config",
"type": "object",
"required": [],
"additionalProperties": false,
"properties": {
"scramActivated": {
"type": "boolean",
"description": "true if scram is activated"
},
"hashPassword": {
"type": "boolean",
"description": "true if login is done using the hash of the password instead of the password itself"
},
"disableHardwareFactoryReset": {
"type": "boolean",
"description": "true to disable factory reset using hardware"
},
"disableLoginWithUID": {
"type": "boolean",
"description": "true to disable login using UID (resource /1024//5)"
},
"disableResourceFactoryReset": {
"type": "boolean",
"description": "true to disable factory reset using LwM2M resource"
}
}
},
"LoraConfig": {
"title": "LoraConfig",
"type": "object",
"required": [
"classA",
"classB",
"classC",
"dataLoggingEnabled",
"singlePacketEnabled"
],
"additionalProperties": false,
"properties": {
"classA": {
"type": "boolean"
},
"classB": {
"type": "boolean"
},
"classC": {
"type": "boolean"
},
"dataLoggingEnabled": {
"type": "boolean"
},
"singlePacketEnabled": {
"type": "boolean"
}
}
},
"HostProtocol": {
"title": "Host protocol config",
"type": "string",
"examples": ["BLE"],
"enum": [
"NFC",
"BLUETOOTH",
"GSM",
"USB_RLINK",
"USB_CMISIS_DAP",
"LORA",
"WIFI",
"BLE",
"UART",
"MQTT",
"WEBSOCKET",
"SLAVE_SERVER"
]
},
"NfcConnectionPriority": {
"title": "NfcConnectionPriorityConfig",
"enum": ["NFC_PRIORITY", "NFC_NON_PRIORITY"]
},
"NfcPairingModeConfig": {
"title": "NfcPairingModeConfig",
"type": "string",
"enum": ["NO", "MANDATORY", "MANDATORY_FOR_LOGIN"],
"default": "NO"
},
"LowPowerOptimizationLevel": {
"title": "LowPowerOptimizationLevel config",
"type": "string",
"default": "NO",
"examples": ["NO"],
"enum": ["NO", "STANDBY", "SHUTDOWN"]
},
"WifiMode": {
"title": "Network mode config",
"type": "string",
"default": "PEER_TO_PEER",
"examples": ["PEER_TO_PEER"],
"enum": ["PEER_TO_PEER", "NETWORK"]
},
"TapnpassProtocolConfigurationConfig": {
"title": "TapnpassProtocolConfigurationConfig",
"type": "object",
"required": ["modbus", "serial", "usb"],
"additionalProperties": false,
"properties": {
"modbus": {
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig.Modbus"
},
"serial": {
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig.Serial"
},
"usb": {
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig.Usb"
}
}
},
"TapnpassProtocolConfigurationConfig.Modbus": {
"title": "Modbus",
"type": "object",
"required": ["slave", "offsetFirstRegister"],
"additionalProperties": false,
"properties": {
"slave": {
"type": "integer",
"minimum": 0,
"maximum": 256
},
"offsetFirstRegister": {
"type": "boolean"
}
}
},
"TapnpassProtocolConfigurationConfig.Serial": {
"title": "Serial",
"type": "object",
"required": [
"baudRate",
"identification",
"ledStatus",
"physicalPort",
"stopBits",
"bitParity",
"dataBits",
"handshakeDelimiter",
"hardwareFlowControl",
"timeout"
],
"additionalProperties": false,
"properties": {
"baudRate": {
"type": "integer",
"minimum": 0,
"maximum": 1048576
},
"identification": {
"type": "boolean"
},
"ledStatus": {
"type": "boolean"
},
"physicalPort": {
"$ref": "#/definitions/SerialSettings.PhysicalPort"
},
"stopBits": {
"$ref": "#/definitions/SerialSettings.StopBits"
},
"bitParity": {
"$ref": "#/definitions/SerialSettings.BitParity"
},
"dataBits": {
"$ref": "#/definitions/SerialSettings.DataBits"
},
"handshakeDelimiter": {
"$ref": "#/definitions/SerialSettings.HandshakeDelimiter"
},
"hardwareFlowControl": {
"$ref": "#/definitions/SerialSettings.HardwareFlowControl"
},
"timeout": {
"type": "integer",
"minimum": 0,
"maximum": 256,
"default": 100
}
}
},
"TapnpassProtocolConfigurationConfig.Usb": {
"type": "object",
"required": ["aliases"],
"additionalProperties": false,
"properties": {
"aliases": {
"type": "array",
"items": {
"$ref": "#/definitions/TapnpassProtocolConfigurationConfig.Usb.Alias"
}
}
}
},
"TapnpassProtocolConfigurationConfig.Usb.Alias": {
"type": "object",
"additionalProperties": false,
"required": ["vid", "pid", "equ"],
"properties": {
"vid": {
"$ref": "#/definitions/uint16"
},
"pid": {
"$ref": "#/definitions/uint16"
},
"equ": {
"type": "integer",
"maximum": 5,
"minimum": 0
}
}
},
"TargetSerialModbusConfigurationConfig": {
"title": "TargetSerialModbusConfigurationConfig",
"type": "object",
"required": ["modbus", "serial"],
"additionalProperties": false,
"properties": {
"modbus": {
"$ref": "#/definitions/TargetSerialModbusConfigurationConfig.Modbus"
},
"serial": {
"$ref": "#/definitions/TargetSerialModbusConfigurationConfig.Serial"
}
}
},
"ModbusVariableAddress"