@iotize/tap
Version:
IoTize Device client for Javascript
990 lines (989 loc) • 31.8 kB
TypeScript
/**
* 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;
}