UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

990 lines (989 loc) 31.8 kB
/** * DO NOT EDIT * This file has been generated from file assets\schema\v1\tap-config.json */ /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "semanticVersion". */ export declare type SemanticVersion = string; export declare type TargetConfig = TapnpassTargetConfig | MCUTargetConfig; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.PhysicalPort". */ export declare type PhysicalPort = "NONE" | "RS232" | "USB" | "AUTO" | "RS485" | "RS485_WITH_SIGNAL_DIRECTION"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.StopBits". */ export declare type StopBit = "ONE" | "ONE_AND_HALF" | "TWO"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.BitParity". */ export declare type BitParity = "NONE" | "ODD" | "EVEN"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.DataBits". */ export declare type SerialSettingsDataBits = "_7" | "_8" | "_9"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.HandshakeDelimiter". */ export declare type HandshakeDelimiter = "NONE" | "CR" | "LF" | "CR_LF"; /** * Type of handshake management * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SerialSettings.HardwareFlowControl". */ export declare type Handshake = "NONE" | "RTS" | "CTS" | "RTS_CTS"; /** * Unsigned integer on 16 bytes * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "uint16". */ export declare type Uint16 = number; export declare type MCUTargetProtocolConfig = SWDProtocolConfig | NoneProtocolConfig | S3PProtocolConfig | ModbusProtocolConfig | ModbusTcpProtocolConfig | DirectIOProtocolConfig | SerialProtocolConfig | GPIOProtocolConfig | CustomProtocolConfig | CanProtocolConfig; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "S3PModeConfig". */ export declare type S3PModeConfig = "INDEXED" | "EMULATION"; /** * Unsigned integer on 8 bytes * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "uint8". */ export declare type Uint8 = number; /** * Default slave address for Modbus TCP protocol */ export declare type DefaultSlaveAddress = string; /** * Port for Modbus TCP protocol */ export declare type Port = number; /** * Timeout for Modbus TCP protocol */ export declare type Timeout = number; /** * First register address (0 or 1) */ export declare type FirstRegisterAddress = number; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "hexString". */ export declare type HexString = string | Uint8Array; export declare type CanModeConfig = "NORMAL" | "NO_ACK" | "LISTEN"; export declare type CanFilterConfig = "SINGLE" | "DUAL"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "HostProtocol". */ export declare type HostProtocolConfig = "NFC" | "BLUETOOTH" | "GSM" | "USB_RLINK" | "USB_CMISIS_DAP" | "LORA" | "WIFI" | "BLE" | "UART" | "MQTT" | "WEBSOCKET" | "SLAVE_SERVER"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "NfcPairingModeConfig". */ export declare type NfcPairingModeConfig = "NO" | "MANDATORY" | "MANDATORY_FOR_LOGIN"; /** * MQTT broker certificate */ export declare type BrokerCertificate = string | Uint8Array; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "NfcConnectionPriority". */ export declare type NfcConnectionPriorityConfig = "NFC_PRIORITY" | "NFC_NON_PRIORITY"; /** * This option has been moved. Use wireless.options.pairing option instead */ export declare type NfcPairingModeConfig1 = NfcPairingModeConfig; /** * IP V4 * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "IPV4Address". */ export declare type IPV4Address = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "WifiKeyVisibility". */ export declare type WifiKeyVisibility = "VISIBLE" | "HIDDEN"; /** * IP V4 mask * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "IPV4AddressMask". */ export declare type IPV4AddressMask = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "WifiMode". */ export declare type NetworkModeConfig = "PEER_TO_PEER" | "NETWORK"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "WifiProtocol". */ export declare type WifiProtocol = "B" | "G" | "N"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "WifiSSIDVisibility". */ export declare type WifiSSIDVisibility = "VISIBLE" | "HIDDEN_FROM_SCAN" | "HIDDEN"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SlaveServerConfig". */ export declare type SlaveServerConfig = SlaveServerModbusTcpConfig | SlaveServerModbusRtuConfig | SlaveServerSpiConfig | SlaveServerCanConfig; /** * First register address (0 or 1) */ export declare type FirstRegisterAddress1 = number; /** * Application name (name will be broadcast with BLE or WiFi) */ export declare type ApplicationName = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "AppPathType". */ export declare type AppPathType = "PRIMER_CLOUD_WEB_APP_URL" | "URL" | "ANDROID_APP_ID" | "PRIMER_CLOUD_CONFIG_URL" | "AAR_2"; /** * Application url loaded by Tap Manager */ export declare type ApplicationUrl = string; export declare type UniversalLink = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "CloudPlatform". */ export declare type CloudPlatformKey = "CUSTOM" | "IOTIZE" | "IBM_BLUEMIX" | "MICROSOFT_AZURE" | "AMAZON_AWS"; /** * Unsigned integer on 32 bytes * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "uint32". */ export declare type Uint32 = number; /** * Device private key. This key is private and must not be shared. */ export declare type DevicePrivateKey = string | Uint8Array; export declare type DevicePublicKey = string | Uint8Array; /** * Public key certificate that identifies a root certificate authority (CA) */ export declare type RootCertificate = string | Uint8Array; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "LowPowerOptimizationLevel". */ export declare type LowPowerOptimizationLevelConfig = "NO" | "STANDBY" | "SHUTDOWN"; /** * URL of the NTP server for retrieving Universal Coordinated Time. (UTC) */ export declare type NTPServerUrl = string; /** * Time zone * Expecting a POSIX-style TZ string * Blank string means revert to default Universal Time = 'UTC0' * see https://www.iana.org/time-zones for more information */ export declare type TimeZone = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "userKey". */ export declare type UserKey = HexString & any; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SpecialUsername". */ export declare type SpecialUsernameConfig = "admin" | "supervisor"; /** * Session lifetime in seconds */ export declare type SessionLifetime = number; export declare type ProfileSalt = number; export declare type ProfileId = number; export declare type ProfileSalt1 = number; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "profile". */ export declare type ProfileConfig = UserConfig & { lifeTime?: SessionLifetime1; users?: UserConfig[]; [k: string]: any; }; /** * Session lifetime in seconds */ export declare type SessionLifetime1 = number; export declare type BundleName = string; export declare type BundleId = number; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SpecialFeature". */ export declare type SpecialFeatureConfig = "SWD_DIRECT_ACCESS" | "SERIAL_ACCESS" | "MODBUS_DIRECT_ACCESS" | "TAPNPASS_CONTROL_ACCESS" | "SP_CODEEXEC_ACCESS"; export declare type VariableConfig = TargetVariableConfig | ModbusVariableConfig | InTapVariableConfig | GPIOVariableConfig; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetVariable". */ export declare type TargetVariableConfig = BaseVariableConfig & { dataType: VariableTypeDataConfig; domain: "TARGET"; address: Address; [k: string]: any; }; export declare type VariableId = number; export declare type VariableName = string; export declare type Unit = string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "VariableTypeConfig.Data". */ export declare type VariableTypeDataConfig = "BOOLEAN" | "INT8" | "INT16" | "INT32" | "UINT8" | "UINT16" | "UINT32" | "FLOAT32" | "ASCII"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "address". */ export declare type Address = number | string; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ModbusVariable". */ export declare type ModbusVariableConfig = BaseVariableConfig & { modbusAddress: ModbusVariableAddress; domain?: "TARGET"; dataType?: VariableTypeDataConfig; [k: string]: any; }; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "InTapVariable". */ export declare type InTapVariableConfig = BaseVariableConfig & { domain: "IN_TAP_STATIC" | "IN_TAP_VOLATIL"; dataType: VariableTypeDataConfig; value?: (HexString | number) | (HexString | number)[]; [k: string]: any; }; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "GPIOVariable". */ export declare type GPIOVariableConfig = BaseVariableConfig & { gpio: GPIOMappingConfig; [k: string]: any; }; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "GPIOMapping". */ export declare type GPIOMappingConfig = "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"; export declare type EnableSCANAuthentification = boolean; export declare type LockingFactoryResetWithLwm2M = boolean; export declare type DisableLoginWithUID = boolean; export declare type DisableHardwareFactoryReset = boolean; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetProtocol". */ export declare type TargetProtocolConfig = "NONE" | "SWD" | "S3P" | "JTAG" | "MODBUS" | "GPIO" | "SERIAL" | "CUSTOM" | "CAN" | "MODBUS_TCP"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "VariableFormat". */ export declare type VariableFormatConfig = "_1_BIT" | "_8_BITS" | "_16_BITS" | "_32_BITS"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "VariableTypeConfig.Domain". */ export declare type VariableTypeConfigDomain = "IN_TAP_STATIC" | "IN_TAP_VOLATIL" | "GPIO" | "TARGET"; /** * This interface was referenced by `VariableTypeConfig`'s JSON-Schema * via the `definition` "Data". */ export declare type Data = "BOOLEAN" | "INT8" | "INT16" | "INT32" | "ASCII" | "FLOAT32" | "UINT8" | "UINT16" | "UINT32"; /** * This interface was referenced by `VariableTypeConfig`'s JSON-Schema * via the `definition` "Domain". */ export declare type Domain = "TARGET" | "GPIO" | "IN_TAP_STATIC" | "IN_TAP_VOLATIL"; /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "Certificate". */ export declare type Certificate = string | Uint8Array; /** * Signed integer on 8 bytes * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "int8". */ export declare type Int8 = number; export interface TapConfiguratorConfig { meta?: TapConfiguratorOptions; config: TapConfig; } export interface TapConfiguratorOptions { version?: string; /** * Options for the configurator engine */ options?: { /** * 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. */ skipFactoryReset?: boolean; [k: string]: any; }; [k: string]: any; } export interface TapConfig { version: SemanticVersion; configFormatVersion?: number; target?: TargetConfig; wireless?: WirelessConfig; slaveServer?: SlaveServerConfig; /** * Communication ports */ ports?: { ethernet?: EthernetConfig; }; application?: ApplicationConfig; jvm?: JvmConfig; cloud?: CloudConfig; tap?: TapOptions; data?: DataConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassTargetConfig". */ export interface TapnpassTargetConfig { type: "TAPNPASS"; firmwareVersion?: SemanticVersion; protocol: { config?: TapnpassProtocolConfigurationConfig; }; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassProtocolConfigurationConfig". */ export interface TapnpassProtocolConfigurationConfig { modbus: Modbus; serial: Serial; usb: TapnpassProtocolConfigurationConfigUsb; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassProtocolConfigurationConfig.Modbus". */ export interface Modbus { slave: number; offsetFirstRegister: boolean; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassProtocolConfigurationConfig.Serial". */ export interface Serial { baudRate: number; identification: boolean; ledStatus: boolean; physicalPort: PhysicalPort; stopBits: StopBit; bitParity: BitParity; dataBits: SerialSettingsDataBits; handshakeDelimiter: HandshakeDelimiter; hardwareFlowControl: Handshake; timeout: number; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassProtocolConfigurationConfig.Usb". */ export interface TapnpassProtocolConfigurationConfigUsb { aliases: TapnpassProtocolConfigurationConfigUsbAlias[]; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapnpassProtocolConfigurationConfig.Usb.Alias". */ export interface TapnpassProtocolConfigurationConfigUsbAlias { vid: Uint16; pid: Uint16; equ: number; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "MCUTargetConfig". */ export interface MCUTargetConfig { type: "MCU"; firmwareVersion?: SemanticVersion; protocol: MCUTargetProtocolConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.SWDConfig". */ export interface SWDProtocolConfig { type: "SWD"; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.NoneConfig". */ export interface NoneProtocolConfig { type: "NONE"; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.S3PConfig". */ export interface S3PProtocolConfig { type: "S3P"; config: S3PConfig; } export interface S3PConfig { mode: S3PModeConfig; delay: Uint8; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.ModbusConfig". */ export interface ModbusProtocolConfig { type: "MODBUS"; config?: ModbusProtocolConfig1; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ModbusConfig". */ export interface ModbusProtocolConfig1 { modbus: ModbusConfig; serial: SerialConfig; usb?: TapnpassProtocolConfigurationConfigUsb; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetSerialModbusConfigurationConfig.Modbus". */ export interface ModbusConfig { /** * Default slave address */ slave: number; /** * True if first register address will be 1 * False if first register address is 0 */ offsetFirstRegister: boolean; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetSerialModbusConfigurationConfig.Serial". */ export interface SerialConfig { baudRate: number; physicalPort?: PhysicalPort; stopBits: StopBit; bitParity: BitParity; dataBits: SerialSettingsDataBits; handshakeDelimiter: HandshakeDelimiter; hardwareFlowControl?: Handshake; timeout: number; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.ModbusTcpConfig". */ export interface ModbusTcpProtocolConfig { type: "MODBUS_TCP"; config?: ModbusTcpConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ModbusTcpConfig". */ export interface ModbusTcpConfig { modbus?: EthernetModbusConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ModbusTcpModbusConfig". */ export interface EthernetModbusConfig { defaultSlaveAddress?: DefaultSlaveAddress; port?: Port; timeout?: Timeout; firstRegisterAddress?: FirstRegisterAddress; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.DirectIOConfig". */ export interface DirectIOProtocolConfig { type: "DIRECT_IO"; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.SerialConfig". */ export interface SerialProtocolConfig { type: "SERIAL"; config?: { serial: SerialConfig; [k: string]: any; }; } /** * Deprecated. Use DirectIO protocol instead. * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.GPIOConfig". */ export interface GPIOProtocolConfig { type: "GPIO"; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.CustomConfig". */ export interface CustomProtocolConfig { type: "CUSTOM"; config?: HexString; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetConfig.Protocol.CanConfig". */ export interface CanProtocolConfig { type: "CAN"; config?: CanConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "CanConfig". */ export interface CanConfig { /** * Frequency in kbps */ frequency: number; mode: CanModeConfig; filter: CanFilterConfig; code: string | Uint8Array; mask: string | Uint8Array; } export interface WirelessConfig { options?: WirelessOptionsConfig; protocols?: WirelessProtocolsConfig; } export interface WirelessOptionsConfig { inactivityTimeout?: Uint8; authorizedProtocols?: HostProtocolConfig[]; pairing?: WirelessPairingConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "WirelessPairingConfig". */ export interface WirelessPairingConfig { /** * Set to true if Tap should try to activate BLE pairing */ blePairing?: boolean; nfcPairingMode?: NfcPairingModeConfig; } export interface WirelessProtocolsConfig { ble?: BleProtocolConfig; lora?: LoraProtocolConfig; mqtt?: MqttProtocolConfig; nfc?: NfcProtocolConfig; wifi?: WifiProtocolConfig; ethernet?: EthernetProtocolConfig; } export interface BleProtocolConfig { /** * True to require BLE pairing. Deprecated, use wireless.options.pairing option instead. */ pairingMode?: boolean; [k: string]: any; } export interface LoraProtocolConfig { config?: LoraConfig; ids?: HexString; [k: string]: any; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "LoraConfig". */ export interface LoraConfig { classA: boolean; classB: boolean; classC: boolean; dataLoggingEnabled: boolean; singlePacketEnabled: boolean; } export interface MqttProtocolConfig { brokerCertificate?: BrokerCertificate; /** * You can either specify the broker hostname or protocol://hostname. If protocol is not specified, it will be deduce from configured port. */ brokerHostname?: string; /** * Broker port. Default MQTT port are 1883 for non secure and 8883 to use with TLS. */ brokerPort?: string; /** * MQTT client identifier. */ clientId?: string; /** * Required only if your broker requires a username/password authentification */ password?: string; /** * @deprecated This option is deprecated. Use request topic and response topic instead. */ relayNetKey?: string; /** * @deprecated This option is deprecated. Use request topic and response topic instead. */ topicPrefix?: string; /** * Topic used to send requests for LwM2M over MQTT. Tap will subscribe to this topic and wait for incomming LwM2M requests. */ requestTopic?: string; /** * Topic used to send response for LwM2M over MQTT. Tap will publish LwM2M responses on this. */ responseTopic?: string; /** * Required only if your broker requires a username/password authentification */ username?: string; } export interface NfcProtocolConfig { autoLogProfileId?: Uint16; connectionPriority?: NfcConnectionPriorityConfig; pairingMode?: NfcPairingModeConfig1; } export interface WifiProtocolConfig { ip?: IPV4Address; gatewayIp?: IPV4Address; /** * WEP/WPA2 key of the Wi-Fi network access point */ key?: string; keyVisibility?: WifiKeyVisibility; mask?: IPV4AddressMask; mode?: NetworkModeConfig; protocol?: WifiProtocol[]; /** * Country code ISO 3166 */ countryCode?: number; /** * Wi-Fi SSID */ ssid?: string; ssidVisibility?: WifiSSIDVisibility; txPower?: Uint8; dnsIp?: IPV4Address; } export interface EthernetProtocolConfig { dnsIp?: IPV4Address; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SlaveServerModbusTcpConfig". */ export interface SlaveServerModbusTcpConfig { type: "MODBUS_TCP"; config: { firstRegisterAddress?: FirstRegisterAddress1; /** * Tcp port */ port: number; }; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SlaveServerModbusRtuConfig". */ export interface SlaveServerModbusRtuConfig { type: "MODBUS_RTU"; config: TapnpassProtocolConfigurationConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SlaveServerSpiConfig". */ export interface SlaveServerSpiConfig { type: "SPI"; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SlaveServerCanConfig". */ export interface SlaveServerCanConfig { type: "CAN"; config: CanConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "EthernetConfig". */ export interface EthernetConfig { ip?: IPV4Address; ipMask?: IPV4AddressMask; gatewayIp?: IPV4Address; } /** * Options related to the application that communicates with this Tap * * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ApplicationConfig". */ export interface ApplicationConfig { name?: ApplicationName; uri?: ApplicationUriConfig | ApplicationUrl; universalLink?: UniversalLink; /** * 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. */ productCode?: string; data?: HexString; } export interface ApplicationUriConfig { type: AppPathType; value: string; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "JVMConfig". */ export interface JvmConfig { /** * JVM code size in bytes. If not set, code size will be deduced from actual code size. */ codeSize?: number; /** * Compressed byte code content */ code?: string | Uint8Array; /** * User profile id */ profileId?: number; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "CloudConfig". */ export interface CloudConfig { platform?: CloudPlatformKey; dataLog?: { uploadPeriod?: Uint32; mqttPublishTopic?: string; mqttSubscribeTopic?: string; }; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TapOptions". */ export interface TapOptions { certificate?: { privateKey?: DevicePrivateKey; publicKey?: DevicePublicKey; rootKey?: RootCertificate; }; powerOptimization?: LowPowerOptimizationLevelConfig; scram?: { hashIteration?: Uint16; }; security?: SecurityOptionsConfig; time?: TapTimeConfig; autoRebootTimeout?: number; maxLowPowerTime?: number; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SecurityOptions". */ export interface SecurityOptionsConfig { /** * true if scram is activated */ scramActivated?: boolean; /** * true if login is done using the hash of the password instead of the password itself */ hashPassword?: boolean; /** * true to disable factory reset using hardware */ disableHardwareFactoryReset?: boolean; /** * true to disable login using UID (resource /1024//5) */ disableLoginWithUID?: boolean; /** * true to disable factory reset using LwM2M resource */ disableResourceFactoryReset?: boolean; } /** * Configure time zone and NTP server for your Tap */ export interface TapTimeConfig { ntpServer?: NTPServerUrl; zone?: TimeZone; } export interface DataConfig { profiles?: (SpecialProfileConfig | AnonymousProfileConfig | ProfileConfig)[]; bundles?: BundleConfig[]; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "specialprofile". */ export interface SpecialProfileConfig { key?: UserKey; password?: string; username: SpecialUsernameConfig; lifeTime?: SessionLifetime; salt?: ProfileSalt; users?: UserConfig[]; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "user". */ export interface UserConfig { key?: UserKey; password?: string; /** * Username */ username: string; id: ProfileId; salt?: ProfileSalt1; [k: string]: any; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "anonymousprofile". */ export interface AnonymousProfileConfig { username: "anonymous"; [k: string]: any; } export interface BundleConfig { name?: BundleName; id: BundleId; dataLog?: { /** * Data log period acquisition in seconds */ period: number; [k: string]: any; }; features?: SpecialFeatureConfig[]; variables?: VariableConfig[]; acls?: AclMapConfig; [k: string]: any; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "BaseVariable". */ export interface BaseVariableConfig { id: VariableId; /** * Variable length (number of items) > 1 if it's an array */ length?: number; meta?: { name?: VariableName; unit?: Unit; }; rawMeta?: HexString; /** * Size (in bytes) reserved for variable meta data */ metaDataLength?: number; [k: string]: any; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "ModbusVariableAddress". */ export interface ModbusVariableAddress { functionCode: number; slave: number; address: number; } export interface AclMapConfig { [k: string]: AclConfig; } export interface AclConfig { /** * Grant read right */ read: boolean; /** * Grant write right */ write: boolean; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "SecurityConfig". */ export interface SecurityConfig { scramActivated?: EnableSCANAuthentification; hashPassword?: boolean; disableHardwareFactoryReset?: LockingFactoryResetWithLwm2M; disableLoginWithUID?: DisableLoginWithUID; disableResourceFactoryReset?: DisableHardwareFactoryReset; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "TargetSerialModbusConfigurationConfig". */ export interface TargetSerialModbusConfigurationConfig { modbus: ModbusConfig; serial: SerialConfig; } /** * This interface was referenced by `TapConfiguratorConfig`'s JSON-Schema * via the `definition` "VariableTypeConfig". */ export interface VariableTypeConfig { domain: VariableTypeConfigDomain; data: VariableTypeDataConfig; }