UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

582 lines 57.2 kB
/** * Generated file. Do not edit */ import { CloudPlatform, LowPowerOptimizationLevel, TargetProtocol, NfcConnectionPriority, WifiKeyVisibility, WifiMode, WifiSSIDVisibility, HostProtocol, WifiProtocol, } from '@iotize/tap/service/all'; import { isTapFirmwareVersionGreaterThanOrEqual, isTapFirmwareVersionLessThanOrEqual, enumKeyToEnumValue, enumKeysToEnumValues, configValueToBytes, } from '../util'; import { ConfigKeyNotSupportedByFirmwareVersion } from '../errors'; const ɵ0 = (context) => { return context.service.interface.putApplicationDataCall(configValueToBytes(context.value)); }, ɵ1 = (context) => { return context.service.interface.putAppNameCall(context.value); }, ɵ2 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.113')) { return new ConfigKeyNotSupportedByFirmwareVersion('application.productCode', context.firmwareVersion, { minApiVersion: '1.113', maxApiVersion: undefined, }); } } return context.service.interface.putProductCodeCall(context.value); }, ɵ3 = (context) => { return context.service.interface.putUniversalLinkCall(context.value); }, ɵ4 = (context) => { return context.service.interface.putAppPathCall(context.value); }, ɵ5 = (context) => { return context.service.cloud.putDataLogPublishTopicCall(context.value); }, ɵ6 = (context) => { return context.service.cloud.putDataLogSubscribeTopicCall(context.value); }, ɵ7 = (context) => { return context.service.cloud.putDataLogUploadPeriodCall(context.value); }, ɵ8 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionLessThanOrEqual(context.firmwareVersion, '1.103')) { return new ConfigKeyNotSupportedByFirmwareVersion('cloud.mqtt.brokerPort', context.firmwareVersion, { minApiVersion: undefined, maxApiVersion: '1.103', }); } } return context.service.cloud.putMqttBrokerPortCall(context.value); }, ɵ9 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionLessThanOrEqual(context.firmwareVersion, '1.103')) { return new ConfigKeyNotSupportedByFirmwareVersion('cloud.mqtt.clientId', context.firmwareVersion, { minApiVersion: undefined, maxApiVersion: '1.103', }); } } return context.service.cloud.putMqttClientIdCall(context.value); }, ɵ10 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionLessThanOrEqual(context.firmwareVersion, '1.103')) { return new ConfigKeyNotSupportedByFirmwareVersion('cloud.mqtt.password', context.firmwareVersion, { minApiVersion: undefined, maxApiVersion: '1.103', }); } } return context.service.cloud.putMqttPasswordCall(context.value); }, ɵ11 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionLessThanOrEqual(context.firmwareVersion, '1.103')) { return new ConfigKeyNotSupportedByFirmwareVersion('cloud.mqtt.username', context.firmwareVersion, { minApiVersion: undefined, maxApiVersion: '1.103', }); } } return context.service.cloud.putMqttUsernameCall(context.value); }, ɵ12 = (context) => { return context.service.cloud.putPlatformCall(enumKeyToEnumValue(context.value, CloudPlatform)); }, ɵ13 = (context) => { return context.service.interface.putConfigFormatVersionCall(context.value); }, ɵ14 = (context) => { return context.service.bundle.createCall(context.param); }, ɵ15 = (context) => { return context.service.bundle.putAclCall(context.param, context.value); }, ɵ16 = (context) => { return context.service.bundle.putDataLogCryptoGroupIdCall(context.param, context.value); }, ɵ17 = (context) => { return context.service.bundle.putDataLogPeriodCall(context.param, context.value); }, ɵ18 = (context) => { return context.service.bundle.putNameCall(context.param, context.value); }, ɵ19 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.23')) { return new ConfigKeyNotSupportedByFirmwareVersion('data.features[].bundleId', context.firmwareVersion, { minApiVersion: '1.23', maxApiVersion: undefined, }); } } return context.service.interface.setSpecialFeatureProfileCall(context.param, context.value); }, ɵ20 = (context) => { return context.service.group.createCall(context.param); }, ɵ21 = (context) => { return context.service.group.putAliasCall(context.param, context.value); }, ɵ22 = (context) => { return context.service.group.changePasswordKeyCall(context.param, configValueToBytes(context.value)); }, ɵ23 = (context) => { return context.service.group.putSessionLifetimeCall(context.param, context.value); }, ɵ24 = (context) => { return context.service.group.changePasswordCall(context.param, context.value); }, ɵ25 = (context) => { return context.service.group.putNameCall(context.param, context.value); }, ɵ26 = (context) => { return context.service.variable.createCall(context.param, context.value); }, ɵ27 = (context) => { return context.service.variable.putVariableAddressCall(context.param, context.value); }, ɵ28 = (context) => { return context.service.variable.putBundleIdCall(context.param, context.value); }, ɵ29 = (context) => { return context.service.variable.putNumberOfElementsCall(context.param, context.value); }, ɵ30 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.73')) { return new ConfigKeyNotSupportedByFirmwareVersion('data.variables[].meta', context.firmwareVersion, { minApiVersion: '1.73', maxApiVersion: undefined, }); } } return context.service.variable.putMetaCall(context.param, context.value); }, ɵ31 = (context) => { return context.service.variable.putModbusVariableAddressCall(context.param, context.value); }, ɵ32 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.73')) { return new ConfigKeyNotSupportedByFirmwareVersion('data.variables[].rawMeta', context.firmwareVersion, { minApiVersion: '1.73', maxApiVersion: undefined, }); } } return context.service.variable.putRawMetaCall(context.param, configValueToBytes(context.value)); }, ɵ33 = (context) => { return context.service.variable.putTypeCall(context.param, context.value); }, ɵ34 = (context) => { return context.service.variable.setValueCall(context.param, configValueToBytes(context.value)); }, ɵ35 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.90')) { return new ConfigKeyNotSupportedByFirmwareVersion('jvm.code', context.firmwareVersion, { minApiVersion: '1.90', maxApiVersion: undefined, }); } } return context.service.jvm.appendCodeAppendCalls(configValueToBytes(context.value)); }, ɵ36 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.90')) { return new ConfigKeyNotSupportedByFirmwareVersion('jvm.codeSize', context.firmwareVersion, { minApiVersion: '1.90', maxApiVersion: undefined, }); } } return context.service.jvm.putCodeSizeCall(context.value); }, ɵ37 = (context) => { return context.service.jvm.putProfileIdCall(context.value); }, ɵ38 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.7')) { return new ConfigKeyNotSupportedByFirmwareVersion('ports.ethernet.gatewayIp', context.firmwareVersion, { minApiVersion: '2.7', maxApiVersion: undefined, }); } } return context.service.ethernet.putGatewayIpCall(context.value); }, ɵ39 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.7')) { return new ConfigKeyNotSupportedByFirmwareVersion('ports.ethernet.ip', context.firmwareVersion, { minApiVersion: '2.7', maxApiVersion: undefined, }); } } return context.service.ethernet.putIpCall(context.value); }, ɵ40 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.7')) { return new ConfigKeyNotSupportedByFirmwareVersion('ports.ethernet.ipMask', context.firmwareVersion, { minApiVersion: '2.7', maxApiVersion: undefined, }); } } return context.service.ethernet.putIpMaskCall(context.value); }, ɵ41 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.11')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.autoRebootTimeout', context.firmwareVersion, { minApiVersion: '2.11', maxApiVersion: undefined, }); } } return context.service.interface.putAutoRebootTimeoutCall(context.value); }, ɵ42 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.certificate.privateKey', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.interface.putCertificatePrivateKeyAppendCalls(configValueToBytes(context.value)); }, ɵ43 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.certificate.publicKey', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.interface.putCertificatePublicKeyAppendCalls(configValueToBytes(context.value)); }, ɵ44 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.certificate.rootKey', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.interface.putCertificateRootKeyAppendCalls(configValueToBytes(context.value)); }, ɵ45 = (context) => { return context.service.interface.putMaxLowPowerTimeCall(context.value); }, ɵ46 = (context) => { return context.service.interface.putPowerOptimisationLevelCall(enumKeyToEnumValue(context.value, LowPowerOptimizationLevel)); }, ɵ47 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.15')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.powerOptimizationOptions', context.firmwareVersion, { minApiVersion: '2.15', maxApiVersion: undefined, }); } } return context.service.interface.putPowerOptimisationOptionsCall(context.value); }, ɵ48 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.11')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.scram.hashIteration', context.firmwareVersion, { minApiVersion: '1.11', maxApiVersion: undefined, }); } } return context.service.scram.putHashIterationCall(context.value); }, ɵ49 = (context) => { return context.service.interface.putSecurityOptionsCall(context.value); }, ɵ50 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.107')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.time.ntpServer', context.firmwareVersion, { minApiVersion: '1.107', maxApiVersion: undefined, }); } } return context.service.time.putNtpServerCall(context.value); }, ɵ51 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.107')) { return new ConfigKeyNotSupportedByFirmwareVersion('tap.time.zone', context.firmwareVersion, { minApiVersion: '1.107', maxApiVersion: undefined, }); } } return context.service.time.putTimeZoneCall(context.value); }, ɵ52 = (context) => { return context.service.target.putFirmwareVersionCall(context.value); }, ɵ53 = (context) => { return context.service.target.putModbusDefaultSlaveAddressCall(context.value); }, ɵ54 = (context) => { return context.service.target.putProtocolCall(enumKeyToEnumValue(context.value, TargetProtocol)); }, ɵ55 = (context) => { return context.service.interface.putConfigVersionCall(context.value); }, ɵ56 = (context) => { return context.service.interface.putAuthorizedHostProtocolCall(enumKeysToEnumValues(context.value, HostProtocol)); }, ɵ57 = (context) => { return context.service.interface.putHostInactivityPeriodCall(context.value); }, ɵ58 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.13')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.options.network', context.firmwareVersion, { minApiVersion: '2.13', maxApiVersion: undefined, }); } } return context.service.interface.putNetworkOptionsCall(context.value); }, ɵ59 = (context) => { return context.service.interface.putPairingOptionsCall(context.value); }, ɵ60 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.7')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.ethernet.dnsIp', context.firmwareVersion, { minApiVersion: '2.7', maxApiVersion: undefined, }); } } return context.service.ethernet.putDnsIpCall(context.value); }, ɵ61 = (context) => { return context.service.lora.putConfigCall(context.value); }, ɵ62 = (context) => { return context.service.lora.putIdsCall(configValueToBytes(context.value)); }, ɵ63 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.11')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.lte.applicationData', context.firmwareVersion, { minApiVersion: '2.11', maxApiVersion: undefined, }); } } return context.service.lte.putApplicationDataCall(configValueToBytes(context.value)); }, ɵ64 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.brokerCertificate', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.mqtt.putBrokerCertificateAppendCalls(configValueToBytes(context.value)); }, ɵ65 = (context) => { return context.service.mqtt.putBrokerHostnameCall(context.value); }, ɵ66 = (context) => { return context.service.mqtt.putBrokerPortCall(context.value); }, ɵ67 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.clientId', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.mqtt.putClientIdCall(context.value); }, ɵ68 = (context) => { return context.service.mqtt.putPasswordCall(context.value); }, ɵ69 = (context) => { return context.service.mqtt.putRelayNetKeyCall(context.value); }, ɵ70 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.requestTopic', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.mqtt.putRequestTopicCall(context.value); }, ɵ71 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.107')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.responseTopic', context.firmwareVersion, { minApiVersion: '1.107', maxApiVersion: undefined, }); } } return context.service.mqtt.putResponseTopicCall(context.value); }, ɵ72 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.topicPrefix', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.mqtt.putTopicPrefixCall(context.value); }, ɵ73 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.86')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.mqtt.username', context.firmwareVersion, { minApiVersion: '1.86', maxApiVersion: undefined, }); } } return context.service.mqtt.putUsernameCall(context.value); }, ɵ74 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.55')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.nfc.autoLogProfileId', context.firmwareVersion, { minApiVersion: '1.55', maxApiVersion: undefined, }); } } return context.service.interface.putNfcAutologProfileIdCall(context.value); }, ɵ75 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.85')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.nfc.connectionPriority', context.firmwareVersion, { minApiVersion: '1.85', maxApiVersion: undefined, }); } } return context.service.interface.putNfcConnectionPriorityCall(enumKeyToEnumValue(context.value, NfcConnectionPriority)); }, ɵ76 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.88')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.countryCode', context.firmwareVersion, { minApiVersion: '1.88', maxApiVersion: undefined, }); } } return context.service.wifi.putCountryCodeCall(context.value); }, ɵ77 = (context) => { return context.service.wifi.putDnsIpCall(context.value); }, ɵ78 = (context) => { return context.service.wifi.putGatewayIpCall(context.value); }, ɵ79 = (context) => { return context.service.wifi.putIpCall(context.value); }, ɵ80 = (context) => { return context.service.wifi.putKeyCall(context.value); }, ɵ81 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.88')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.keyVisibility', context.firmwareVersion, { minApiVersion: '1.88', maxApiVersion: undefined, }); } } return context.service.wifi.putKeyVisibilityCall(enumKeyToEnumValue(context.value, WifiKeyVisibility)); }, ɵ82 = (context) => { return context.service.wifi.putIpMaskCall(context.value); }, ɵ83 = (context) => { return context.service.wifi.putModeCall(enumKeyToEnumValue(context.value, WifiMode)); }, ɵ84 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '2.13')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.networkMode', context.firmwareVersion, { minApiVersion: '2.13', maxApiVersion: undefined, }); } } return context.service.wifi.putNetworkModeCall(enumKeyToEnumValue(context.value, WifiMode)); }, ɵ85 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.88')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.protocol', context.firmwareVersion, { minApiVersion: '1.88', maxApiVersion: undefined, }); } } return context.service.wifi.putProtocolCall(enumKeysToEnumValues(context.value, WifiProtocol)); }, ɵ86 = (context) => { return context.service.wifi.putSSIDCall(context.value); }, ɵ87 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.88')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.ssidVisibility', context.firmwareVersion, { minApiVersion: '1.88', maxApiVersion: undefined, }); } } return context.service.wifi.putSSIDVisibilityCall(enumKeyToEnumValue(context.value, WifiSSIDVisibility)); }, ɵ88 = (context) => { if (context.firmwareVersion) { if (!isTapFirmwareVersionGreaterThanOrEqual(context.firmwareVersion, '1.88')) { return new ConfigKeyNotSupportedByFirmwareVersion('wireless.protocols.wifi.txPower', context.firmwareVersion, { minApiVersion: '1.88', maxApiVersion: undefined, }); } } return context.service.wifi.putTxPowerCall(context.value); }; export const WRITE_CONFIGURATOR_CONFIG = { 'application.data': ɵ0, 'application.name': ɵ1, 'application.productCode': ɵ2, 'application.universalLink': ɵ3, 'application.uri': ɵ4, 'cloud.dataLog.mqttPublishTopic': ɵ5, 'cloud.dataLog.mqttSubscribeTopic': ɵ6, 'cloud.dataLog.uploadPeriod': ɵ7, 'cloud.mqtt.brokerPort': ɵ8, 'cloud.mqtt.clientId': ɵ9, 'cloud.mqtt.password': ɵ10, 'cloud.mqtt.username': ɵ11, 'cloud.platform': ɵ12, configFormatVersion: ɵ13, 'data.bundles[]': ɵ14, 'data.bundles[].acl[].$': ɵ15, 'data.bundles[].dataLog.cryptoGroupId': ɵ16, 'data.bundles[].dataLog.period': ɵ17, 'data.bundles[].name': ɵ18, 'data.features[].bundleId': ɵ19, 'data.profiles[]': ɵ20, 'data.profiles[].alias': ɵ21, 'data.profiles[].key': ɵ22, 'data.profiles[].lifeTime': ɵ23, 'data.profiles[].password': ɵ24, 'data.profiles[].username': ɵ25, 'data.variables[]': ɵ26, 'data.variables[].address': ɵ27, 'data.variables[].bundleId': ɵ28, 'data.variables[].length': ɵ29, 'data.variables[].meta': ɵ30, 'data.variables[].modbusAddress': ɵ31, 'data.variables[].rawMeta': ɵ32, 'data.variables[].type': ɵ33, 'data.variables[].value': ɵ34, 'jvm.code': ɵ35, 'jvm.codeSize': ɵ36, 'jvm.profileId': ɵ37, 'ports.ethernet.gatewayIp': ɵ38, 'ports.ethernet.ip': ɵ39, 'ports.ethernet.ipMask': ɵ40, 'tap.autoRebootTimeout': ɵ41, 'tap.certificate.privateKey': ɵ42, 'tap.certificate.publicKey': ɵ43, 'tap.certificate.rootKey': ɵ44, 'tap.maxLowPowerTime': ɵ45, 'tap.powerOptimization': ɵ46, 'tap.powerOptimizationOptions': ɵ47, 'tap.scram.hashIteration': ɵ48, 'tap.security': ɵ49, 'tap.time.ntpServer': ɵ50, 'tap.time.zone': ɵ51, 'target.firmwareVersion': ɵ52, 'target.modbusDefaultSlaveAddress': ɵ53, 'target.protocol.type': ɵ54, version: ɵ55, 'wireless.options.authorizedProtocols': ɵ56, 'wireless.options.inactivityTimeout': ɵ57, 'wireless.options.network': ɵ58, 'wireless.options.pairing': ɵ59, 'wireless.protocols.ethernet.dnsIp': ɵ60, 'wireless.protocols.lora.config': ɵ61, 'wireless.protocols.lora.ids': ɵ62, 'wireless.protocols.lte.applicationData': ɵ63, 'wireless.protocols.mqtt.brokerCertificate': ɵ64, 'wireless.protocols.mqtt.brokerHostname': ɵ65, 'wireless.protocols.mqtt.brokerPort': ɵ66, 'wireless.protocols.mqtt.clientId': ɵ67, 'wireless.protocols.mqtt.password': ɵ68, 'wireless.protocols.mqtt.relayNetKey': ɵ69, 'wireless.protocols.mqtt.requestTopic': ɵ70, 'wireless.protocols.mqtt.responseTopic': ɵ71, 'wireless.protocols.mqtt.topicPrefix': ɵ72, 'wireless.protocols.mqtt.username': ɵ73, 'wireless.protocols.nfc.autoLogProfileId': ɵ74, 'wireless.protocols.nfc.connectionPriority': ɵ75, 'wireless.protocols.wifi.countryCode': ɵ76, 'wireless.protocols.wifi.dnsIp': ɵ77, 'wireless.protocols.wifi.gatewayIp': ɵ78, 'wireless.protocols.wifi.ip': ɵ79, 'wireless.protocols.wifi.key': ɵ80, 'wireless.protocols.wifi.keyVisibility': ɵ81, 'wireless.protocols.wifi.mask': ɵ82, 'wireless.protocols.wifi.mode': ɵ83, 'wireless.protocols.wifi.networkMode': ɵ84, 'wireless.protocols.wifi.protocol': ɵ85, 'wireless.protocols.wifi.ssid': ɵ86, 'wireless.protocols.wifi.ssidVisibility': ɵ87, 'wireless.protocols.wifi.txPower': ɵ88, }; export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ16, ɵ17, ɵ18, ɵ19, ɵ20, ɵ21, ɵ22, ɵ23, ɵ24, ɵ25, ɵ26, ɵ27, ɵ28, ɵ29, ɵ30, ɵ31, ɵ32, ɵ33, ɵ34, ɵ35, ɵ36, ɵ37, ɵ38, ɵ39, ɵ40, ɵ41, ɵ42, ɵ43, ɵ44, ɵ45, ɵ46, ɵ47, ɵ48, ɵ49, ɵ50, ɵ51, ɵ52, ɵ53, ɵ54, ɵ55, ɵ56, ɵ57, ɵ58, ɵ59, ɵ60, ɵ61, ɵ62, ɵ63, ɵ64, ɵ65, ɵ66, ɵ67, ɵ68, ɵ69, ɵ70, ɵ71, ɵ72, ɵ73, ɵ74, ɵ75, ɵ76, ɵ77, ɵ78, ɵ79, ɵ80, ɵ81, ɵ82, ɵ83, ɵ84, ɵ85, ɵ86, ɵ87, ɵ88 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtY29uZmlndXJhdG9yLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRvci9zcmMvbGliL2dlbmVyYXRlZC93cml0ZS1jb25maWd1cmF0b3ItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBR0gsT0FBTyxFQWVMLGFBQWEsRUFLYix5QkFBeUIsRUFHekIsY0FBYyxFQUlkLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUNMLHNDQUFzQyxFQUN0QyxtQ0FBbUMsRUFDbkMsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sV0FBVyxDQUFDO1dBSTdDLENBQUMsT0FBa0QsRUFBRSxFQUFFO0lBQ3pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQ3JELGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FDbEMsQ0FBQztBQUNKLENBQUMsT0FFbUIsQ0FBQyxPQUE4QyxFQUFFLEVBQUU7SUFDckUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUMsT0FFMEIsQ0FDekIsT0FBOEMsRUFDOUMsRUFBRTtJQUNGLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtRQUMzQixJQUNFLENBQUMsc0NBQXNDLENBQ3JDLE9BQU8sQ0FBQyxlQUFlLEVBQ3ZCLE9BQU8sQ0FDUixFQUNEO1lBQ0EsT0FBTyxJQUFJLHNDQUFzQyxDQUMvQyx5QkFBeUIsRUFDekIsT0FBTyxDQUFDLGVBQWUsRUFD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