UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

1,699 lines (1,698 loc) 57 kB
{ "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"