var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// dist/index.js
var require_dist = __commonJS({
"dist/index.js"(exports, module2) {
var __create2 = Object.create;
var __defProp2 = Object.defineProperty;
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames2 = Object.getOwnPropertyNames;
var __getProtoOf2 = Object.getPrototypeOf;
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
var __commonJS2 = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export2 = (target, all) => {
for (var name in all)
__defProp2(target, name, { get: all[name], enumerable: true });
};
var __copyProps2 = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames2(from))
if (!__hasOwnProp2.call(to, key) && key !== except)
__defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
}
return to;
};
var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
var require_dist2 = __commonJS2({
"dist/index.js"(exports2, module22) {
var __create22 = Object.create;
var __defProp22 = Object.defineProperty;
var __getOwnPropDesc22 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames22 = Object.getOwnPropertyNames;
var __getProtoOf22 = Object.getPrototypeOf;
var __hasOwnProp22 = Object.prototype.hasOwnProperty;
var __commonJS22 = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames22(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export22 = (target, all) => {
for (var name in all)
__defProp22(target, name, { get: all[name], enumerable: true });
};
var __copyProps22 = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames22(from))
if (!__hasOwnProp22.call(to, key) && key !== except)
__defProp22(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc22(from, key)) || desc.enumerable });
}
return to;
};
var __toESM22 = (mod, isNodeMode, target) => (target = mod != null ? __create22(__getProtoOf22(mod)) : {}, __copyProps22(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp22(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS22 = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
var require_dist22 = __commonJS22({
"dist/index.js"(exports22, module222) {
var __create222 = Object.create;
var __defProp222 = Object.defineProperty;
var __getOwnPropDesc222 = Object.getOwnPropertyDescriptor;
var __getOwnPropNames222 = Object.getOwnPropertyNames;
var __getProtoOf222 = Object.getPrototypeOf;
var __hasOwnProp222 = Object.prototype.hasOwnProperty;
var __export222 = (target, all) => {
for (var name in all)
__defProp222(target, name, { get: all[name], enumerable: true });
};
var __copyProps222 = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames222(from))
if (!__hasOwnProp222.call(to, key) && key !== except)
__defProp222(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc222(from, key)) || desc.enumerable });
}
return to;
};
var __toESM222 = (mod, isNodeMode, target) => (target = mod != null ? __create222(__getProtoOf222(mod)) : {}, __copyProps222(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp222(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS222 = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
var node_bacnet_exports222 = {};
__export222(node_bacnet_exports222, {
_: () => import_underscore222.default,
bacnetErrorToString: () => bacnetErrorToString222,
default: () => node_bacnet_default222,
enums: () => enum_exports222,
parseValue: () => parseValue222
});
module222.exports = __toCommonJS222(node_bacnet_exports222);
var enum_exports222 = {};
__export222(enum_exports222, {
ASN1_ARRAY_ALL: () => ASN1_ARRAY_ALL222,
ASN1_INSTANCE_BITS: () => ASN1_INSTANCE_BITS222,
ASN1_MAX_APPLICATION_TAG: () => ASN1_MAX_APPLICATION_TAG222,
ASN1_MAX_BITSTRING_BYTES: () => ASN1_MAX_BITSTRING_BYTES222,
ASN1_MAX_INSTANCE: () => ASN1_MAX_INSTANCE222,
ASN1_MAX_OBJECT: () => ASN1_MAX_OBJECT222,
ASN1_MAX_OBJECT_TYPE: () => ASN1_MAX_OBJECT_TYPE222,
ASN1_MAX_PRIORITY: () => ASN1_MAX_PRIORITY222,
ASN1_MAX_PROPERTY_ID: () => ASN1_MAX_PROPERTY_ID222,
ASN1_MIN_PRIORITY: () => ASN1_MIN_PRIORITY222,
ASN1_NO_PRIORITY: () => ASN1_NO_PRIORITY222,
AbortReason: () => AbortReason222,
AccessAuthenticationFactorDisable: () => AccessAuthenticationFactorDisable222,
AccessCredentialDisable: () => AccessCredentialDisable222,
AccessCredentialDisableReason: () => AccessCredentialDisableReason222,
AccessEvent: () => AccessEvent222,
AccessPassbackMode: () => AccessPassbackMode222,
AccessUserType: () => AccessUserType222,
AccessZoneOccupancyState: () => AccessZoneOccupancyState222,
Action: () => Action222,
ApplicationTag: () => ApplicationTag222,
ApplicationTagName: () => ApplicationTagName222,
AuthenticationFactorType: () => AuthenticationFactorType222,
AuthenticationStatus: () => AuthenticationStatus222,
AuthorizationExemption: () => AuthorizationExemption222,
AuthorizationMode: () => AuthorizationMode222,
BVLC_HEADER_LENGTH: () => BVLC_HEADER_LENGTH322,
BVLL_TYPE_BACNET_IP: () => BVLL_TYPE_BACNET_IP222,
BackupState: () => BackupState222,
BinaryLightingPV: () => BinaryLightingPV222,
BinaryPV: () => BinaryPV222,
BvlcResultFormat: () => BvlcResultFormat222,
BvlcResultPurpose: () => BvlcResultPurpose222,
CharacterStringEncoding: () => CharacterStringEncoding222,
ConfirmedServiceChoice: () => ConfirmedServiceChoice222,
CovType: () => CovType222,
DaysOfWeek: () => DaysOfWeek222,
DeviceStatus: () => DeviceStatus222,
DoorAlarmState: () => DoorAlarmState222,
DoorSecuredStatus: () => DoorSecuredStatus222,
DoorStatus: () => DoorStatus222,
DoorValue: () => DoorValue222,
EnableDisable: () => EnableDisable222,
EngineeringUnits: () => EngineeringUnits222,
ErrorClass: () => ErrorClass222,
ErrorClassName: () => ErrorClassName222,
ErrorCode: () => ErrorCode222,
ErrorCodeName: () => ErrorCodeName222,
EscalatorFault: () => EscalatorFault222,
EscalatorMode: () => EscalatorMode222,
EscalatorOperationDirection: () => EscalatorOperationDirection222,
EventState: () => EventState222,
EventTransitionBits: () => EventTransitionBits222,
EventType: () => EventType222,
FaultType: () => FaultType222,
FileAccessMethod: () => FileAccessMethod222,
IPMode: () => IPMode222,
LifeSafetyMode: () => LifeSafetyMode222,
LifeSafetyOperation: () => LifeSafetyOperation222,
LifeSafetyState: () => LifeSafetyState222,
LiftCarDirection: () => LiftCarDirection222,
LiftCarDoorCommand: () => LiftCarDoorCommand222,
LiftCarDriveStatus: () => LiftCarDriveStatus222,
LiftCarMode: () => LiftCarMode222,
LiftFault: () => LiftFault222,
LiftGroupMode: () => LiftGroupMode222,
LightingInProgress: () => LightingInProgress222,
LightingOperation: () => LightingOperation222,
LightingTransition: () => LightingTransition222,
LimitEnable: () => LimitEnable222,
LockStatus: () => LockStatus222,
LogStatus: () => LogStatus222,
LoggingType: () => LoggingType222,
Maintenance: () => Maintenance222,
MaxApduLengthAccepted: () => MaxApduLengthAccepted222,
MaxSegmentsAccepted: () => MaxSegmentsAccepted222,
NetworkLayerMessageType: () => NetworkLayerMessageType222,
NetworkNumberQuality: () => NetworkNumberQuality222,
NetworkPortCommand: () => NetworkPortCommand222,
NetworkType: () => NetworkType222,
NodeType: () => NodeType222,
NotifyType: () => NotifyType222,
NpduControlBit: () => NpduControlBit222,
NpduControlPriority: () => NpduControlPriority222,
ObjectType: () => ObjectType222,
ObjectTypesSupported: () => ObjectTypesSupported222,
PDU_TYPE_MASK: () => PDU_TYPE_MASK222,
PduConReqBit: () => PduConReqBit222,
PduSegAckBit: () => PduSegAckBit222,
PduType: () => PduType222,
Polarity: () => Polarity222,
ProgramError: () => ProgramError222,
ProgramRequest: () => ProgramRequest222,
ProgramState: () => ProgramState222,
PropertyIdentifier: () => PropertyIdentifier222,
PropertyStates: () => PropertyStates222,
ProtocolLevel: () => ProtocolLevel222,
ReadRangeType: () => ReadRangeType222,
ReinitializedState: () => ReinitializedState222,
RejectReason: () => RejectReason222,
Relationship: () => Relationship222,
Reliability: () => Reliability222,
RestartReason: () => RestartReason222,
ResultFlags: () => ResultFlags222,
SecurityLevel: () => SecurityLevel222,
SecurityPolicy: () => SecurityPolicy222,
Segmentation: () => Segmentation222,
ServicesSupported: () => ServicesSupported222,
ShedState: () => ShedState222,
SilencedState: () => SilencedState222,
StatusFlags: () => StatusFlags222,
TimeStamp: () => TimeStamp222,
TimerState: () => TimerState222,
TimerTransition: () => TimerTransition222,
UnconfirmedServiceChoice: () => UnconfirmedServiceChoice222,
VTClass: () => VTClass222,
WriteStatus: () => WriteStatus222,
getEnumName: () => getEnumName222
});
var import_debug422 = __toESM222(require("debug"));
var debug522 = (0, import_debug422.default)("bacnet=enum=debug");
var trace322 = (0, import_debug422.default)("bacnet=enum=trace");
function invertEnum222(enumToInvert) {
const invertedEnum = {};
Object.keys(enumToInvert).forEach((key) => {
invertedEnum[enumToInvert[key]] = key;
});
return invertedEnum;
}
function getEnumName222(group, value, addNumberValue = true, undefinedFallbackValue = void 0) {
if (!Number.isInteger(value)) {
throw new Error(
'getEnumName() can only be passed an integer value, was given "' + value + '"'
);
}
let foundEntry;
try {
const invertedGroup = invertEnum222(group);
foundEntry = invertedGroup[value];
if (foundEntry === void 0 && undefinedFallbackValue) {
foundEntry = undefinedFallbackValue;
}
if (foundEntry === void 0) {
foundEntry = value.toString();
} else if (addNumberValue) {
foundEntry += "(" + value + ")";
}
} catch (e) {
trace322(e.message);
foundEntry = null;
}
return foundEntry;
}
var PDU_TYPE_MASK222 = 240;
var ASN1_MAX_OBJECT222 = 1023;
var ASN1_INSTANCE_BITS222 = 22;
var ASN1_MAX_INSTANCE222 = 4194303;
var ASN1_MAX_BITSTRING_BYTES222 = 15;
var ASN1_ARRAY_ALL222 = 4294967295;
var ASN1_NO_PRIORITY222 = 0;
var ASN1_MIN_PRIORITY222 = 1;
var ASN1_MAX_PRIORITY222 = 16;
var ASN1_MAX_APPLICATION_TAG222 = 16;
var ASN1_MAX_OBJECT_TYPE222 = 1024;
var ASN1_MAX_PROPERTY_ID222 = 4194303;
var BVLL_TYPE_BACNET_IP222 = 129;
var BVLC_HEADER_LENGTH322 = 4;
var ConfirmedServiceChoice222 = /* @__PURE__ */ ((ConfirmedServiceChoice2222) => {
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["VT_OPEN"] = 21] = "VT_OPEN";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["VT_CLOSE"] = 22] = "VT_CLOSE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["VT_DATA"] = 23] = "VT_DATA";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["READ_RANGE"] = 26] = "READ_RANGE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["LIFE_SAFETY_OPERATION"] = 27] = "LIFE_SAFETY_OPERATION";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["SUBSCRIBE_COV_PROPERTY"] = 28] = "SUBSCRIBE_COV_PROPERTY";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["GET_EVENT_INFORMATION"] = 29] = "GET_EVENT_INFORMATION";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 30] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2222[ConfirmedServiceChoice2222["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 31] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ConfirmedServiceChoice2222;
})(ConfirmedServiceChoice222 || {});
var UnconfirmedServiceChoice222 = /* @__PURE__ */ ((UnconfirmedServiceChoice2222) => {
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["I_AM"] = 0] = "I_AM";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["I_HAVE"] = 1] = "I_HAVE";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UNCONFIRMED_COV_NOTIFICATION"] = 2] = "UNCONFIRMED_COV_NOTIFICATION";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UNCONFIRMED_EVENT_NOTIFICATION"] = 3] = "UNCONFIRMED_EVENT_NOTIFICATION";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UNCONFIRMED_PRIVATE_TRANSFER"] = 4] = "UNCONFIRMED_PRIVATE_TRANSFER";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UNCONFIRMED_TEXT_MESSAGE"] = 5] = "UNCONFIRMED_TEXT_MESSAGE";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["TIME_SYNCHRONIZATION"] = 6] = "TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["WHO_HAS"] = 7] = "WHO_HAS";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["WHO_IS"] = 8] = "WHO_IS";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UTC_TIME_SYNCHRONIZATION"] = 9] = "UTC_TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["WRITE_GROUP"] = 10] = "WRITE_GROUP";
UnconfirmedServiceChoice2222[UnconfirmedServiceChoice2222["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 11] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return UnconfirmedServiceChoice2222;
})(UnconfirmedServiceChoice222 || {});
var AbortReason222 = /* @__PURE__ */ ((AbortReason2222) => {
AbortReason2222[AbortReason2222["OTHER"] = 0] = "OTHER";
AbortReason2222[AbortReason2222["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
AbortReason2222[AbortReason2222["INVALID_APDU_IN_THIS_STATE"] = 2] = "INVALID_APDU_IN_THIS_STATE";
AbortReason2222[AbortReason2222["PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 3] = "PREEMPTED_BY_HIGHER_PRIORITY_TASK";
AbortReason2222[AbortReason2222["SEGMENTATION_NOT_SUPPORTED"] = 4] = "SEGMENTATION_NOT_SUPPORTED";
AbortReason2222[AbortReason2222["SECURITY_ERROR"] = 5] = "SECURITY_ERROR";
AbortReason2222[AbortReason2222["INSUFFICIENT_SECURITY"] = 6] = "INSUFFICIENT_SECURITY";
AbortReason2222[AbortReason2222["WINDOW_SIZE_OUT_OF_RANGE"] = 7] = "WINDOW_SIZE_OUT_OF_RANGE";
AbortReason2222[AbortReason2222["APPLICATION_EXCEEDED_REPLY_TIME"] = 8] = "APPLICATION_EXCEEDED_REPLY_TIME";
AbortReason2222[AbortReason2222["OUT_OF_RESOURCES"] = 9] = "OUT_OF_RESOURCES";
AbortReason2222[AbortReason2222["TSM_TIMEOUT"] = 10] = "TSM_TIMEOUT";
AbortReason2222[AbortReason2222["APDU_TOO_LONG"] = 11] = "APDU_TOO_LONG";
return AbortReason2222;
})(AbortReason222 || {});
var RejectReason222 = /* @__PURE__ */ ((RejectReason2222) => {
RejectReason2222[RejectReason2222["OTHER"] = 0] = "OTHER";
RejectReason2222[RejectReason2222["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
RejectReason2222[RejectReason2222["INCONSISTENT_PARAMETERS"] = 2] = "INCONSISTENT_PARAMETERS";
RejectReason2222[RejectReason2222["INVALID_PARAMETER_DATA_TYPE"] = 3] = "INVALID_PARAMETER_DATA_TYPE";
RejectReason2222[RejectReason2222["INVALID_TAG"] = 4] = "INVALID_TAG";
RejectReason2222[RejectReason2222["MISSING_REQUIRED_PARAMETER"] = 5] = "MISSING_REQUIRED_PARAMETER";
RejectReason2222[RejectReason2222["PARAMETER_OUT_OF_RANGE"] = 6] = "PARAMETER_OUT_OF_RANGE";
RejectReason2222[RejectReason2222["TOO_MANY_ARGUMENTS"] = 7] = "TOO_MANY_ARGUMENTS";
RejectReason2222[RejectReason2222["UNDEFINED_ENUMERATION"] = 8] = "UNDEFINED_ENUMERATION";
RejectReason2222[RejectReason2222["UNRECOGNIZED_SERVICE"] = 9] = "UNRECOGNIZED_SERVICE";
return RejectReason2222;
})(RejectReason222 || {});
var ErrorClass222 = /* @__PURE__ */ ((ErrorClass2222) => {
ErrorClass2222[ErrorClass2222["DEVICE"] = 0] = "DEVICE";
ErrorClass2222[ErrorClass2222["OBJECT"] = 1] = "OBJECT";
ErrorClass2222[ErrorClass2222["PROPERTY"] = 2] = "PROPERTY";
ErrorClass2222[ErrorClass2222["RESOURCES"] = 3] = "RESOURCES";
ErrorClass2222[ErrorClass2222["SECURITY"] = 4] = "SECURITY";
ErrorClass2222[ErrorClass2222["SERVICES"] = 5] = "SERVICES";
ErrorClass2222[ErrorClass2222["VT"] = 6] = "VT";
ErrorClass2222[ErrorClass2222["COMMUNICATION"] = 7] = "COMMUNICATION";
return ErrorClass2222;
})(ErrorClass222 || {});
var ErrorClassName222 = invertEnum222(
ErrorClass222
);
var ErrorCode222 = /* @__PURE__ */ ((ErrorCode2222) => {
ErrorCode2222[ErrorCode2222["ABORT_APDU_TOO_LONG"] = 123] = "ABORT_APDU_TOO_LONG";
ErrorCode2222[ErrorCode2222["ABORT_APPLICATION_EXCEEDED_REPLY_TIME"] = 124] = "ABORT_APPLICATION_EXCEEDED_REPLY_TIME";
ErrorCode2222[ErrorCode2222["ABORT_BUFFER_OVERFLOW"] = 51] = "ABORT_BUFFER_OVERFLOW";
ErrorCode2222[ErrorCode2222["ABORT_INSUFFICIENT_SECURITY"] = 135] = "ABORT_INSUFFICIENT_SECURITY";
ErrorCode2222[ErrorCode2222["ABORT_INVALID_APDU_IN_THIS_STATE"] = 52] = "ABORT_INVALID_APDU_IN_THIS_STATE";
ErrorCode2222[ErrorCode2222["ABORT_OTHER"] = 56] = "ABORT_OTHER";
ErrorCode2222[ErrorCode2222["ABORT_OUT_OF_RESOURCES"] = 125] = "ABORT_OUT_OF_RESOURCES";
ErrorCode2222[ErrorCode2222["ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 53] = "ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK";
ErrorCode2222[ErrorCode2222["ABORT_PROPRIETARY"] = 55] = "ABORT_PROPRIETARY";
ErrorCode2222[ErrorCode2222["ABORT_SECURITY_ERROR"] = 136] = "ABORT_SECURITY_ERROR";
ErrorCode2222[ErrorCode2222["ABORT_SEGMENTATION_NOT_SUPPORTED"] = 54] = "ABORT_SEGMENTATION_NOT_SUPPORTED";
ErrorCode2222[ErrorCode2222["ABORT_TSM_TIMEOUT"] = 126] = "ABORT_TSM_TIMEOUT";
ErrorCode2222[ErrorCode2222["ABORT_WINDOW_SIZE_OUT_OF_RANGE"] = 127] = "ABORT_WINDOW_SIZE_OUT_OF_RANGE";
ErrorCode2222[ErrorCode2222["ACCESS_DENIED"] = 85] = "ACCESS_DENIED";
ErrorCode2222[ErrorCode2222["ADDRESSING_ERROR"] = 115] = "ADDRESSING_ERROR";
ErrorCode2222[ErrorCode2222["BAD_DESTINATION_ADDRESS"] = 86] = "BAD_DESTINATION_ADDRESS";
ErrorCode2222[ErrorCode2222["BAD_DESTINATION_DEVICE_ID"] = 87] = "BAD_DESTINATION_DEVICE_ID";
ErrorCode2222[ErrorCode2222["BAD_SIGNATURE"] = 88] = "BAD_SIGNATURE";
ErrorCode2222[ErrorCode2222["BAD_SOURCE_ADDRESS"] = 89] = "BAD_SOURCE_ADDRESS";
ErrorCode2222[ErrorCode2222["BAD_TIMESTAMP"] = 90] = "BAD_TIMESTAMP";
ErrorCode2222[ErrorCode2222["BUSY"] = 82] = "BUSY";
ErrorCode2222[ErrorCode2222["CANNOT_USE_KEY"] = 91] = "CANNOT_USE_KEY";
ErrorCode2222[ErrorCode2222["CANNOT_VERIFY_MESSAGE_ID"] = 92] = "CANNOT_VERIFY_MESSAGE_ID";
ErrorCode2222[ErrorCode2222["CHARACTER_SET_NOT_SUPPORTED"] = 41] = "CHARACTER_SET_NOT_SUPPORTED";
ErrorCode2222[ErrorCode2222["COMMUNICATION_DISABLED"] = 83] = "COMMUNICATION_DISABLED";
ErrorCode2222[ErrorCode2222["CONFIGURATION_IN_PROGRESS"] = 2] = "CONFIGURATION_IN_PROGRESS";
ErrorCode2222[ErrorCode2222["CORRECT_KEY_REVISION"] = 93] = "CORRECT_KEY_REVISION";
ErrorCode2222[ErrorCode2222["COV_SUBSCRIPTION_FAILED"] = 43] = "COV_SUBSCRIPTION_FAILED";
ErrorCode2222[ErrorCode2222["DATATYPE_NOT_SUPPORTED"] = 47] = "DATATYPE_NOT_SUPPORTED";
ErrorCode2222[ErrorCode2222["DELETE_FDT_ENTRY_FAILED"] = 120] = "DELETE_FDT_ENTRY_FAILED";
ErrorCode2222[ErrorCode2222["DESTINATION_DEVICE_ID_REQUIRED"] = 94] = "DESTINATION_DEVICE_ID_REQUIRED";
ErrorCode2222[ErrorCode2222["DEVICE_BUSY"] = 3] = "DEVICE_BUSY";
ErrorCode2222[ErrorCode2222["DISTRIBUTE_BROADCAST_FAILED"] = 121] = "DISTRIBUTE_BROADCAST_FAILED";
ErrorCode2222[ErrorCode2222["DUPLICATE_ENTRY"] = 137] = "DUPLICATE_ENTRY";
ErrorCode2222[ErrorCode2222["DUPLICATE_MESSAGE"] = 95] = "DUPLICATE_MESSAGE";
ErrorCode2222[ErrorCode2222["DUPLICATE_NAME"] = 48] = "DUPLICATE_NAME";
ErrorCode2222[ErrorCode2222["DUPLICATE_OBJECT_ID"] = 49] = "DUPLICATE_OBJECT_ID";
ErrorCode2222[ErrorCode2222["DYNAMIC_CREATION_NOT_SUPPORTED"] = 4] = "DYNAMIC_CREATION_NOT_SUPPORTED";
ErrorCode2222[ErrorCode2222["ENCRYPTION_NOT_CONFIGURED"] = 96] = "ENCRYPTION_NOT_CONFIGURED";
ErrorCode2222[ErrorCode2222["ENCRYPTION_REQUIRED"] = 97] = "ENCRYPTION_REQUIRED";
ErrorCode2222[ErrorCode2222["FILE_ACCESS_DENIED"] = 5] = "FILE_ACCESS_DENIED";
ErrorCode2222[ErrorCode2222["FILE_FULL"] = 128] = "FILE_FULL";
ErrorCode2222[ErrorCode2222["INCONSISTENT_CONFIGURATION"] = 129] = "INCONSISTENT_CONFIGURATION";
ErrorCode2222[ErrorCode2222["INCONSISTENT_OBJECT_TYPE"] = 130] = "INCONSISTENT_OBJECT_TYPE";
ErrorCode2222[ErrorCode2222["INCONSISTENT_PARAMETERS"] = 7] = "INCONSISTENT_PARAMETERS";
ErrorCode2222[ErrorCode2222["INCONSISTENT_SELECTION_CRITERION"] = 8] = "INCONSISTENT_SELECTION_CRITERION";
ErrorCode2222[ErrorCode2222["INCORRECT_KEY"] = 98] = "INCORRECT_KEY";
ErrorCode2222[ErrorCode2222["INTERNAL_ERROR"] = 131] = "INTERNAL_ERROR";
ErrorCode2222[ErrorCode2222["INVALID_ARRAY_INDEX"] = 42] = "INVALID_ARRAY_INDEX";
ErrorCode2222[ErrorCode2222["INVALID_CONFIGURATION_DATA"] = 46] = "INVALID_CONFIGURATION_DATA";
ErrorCode2222[ErrorCode2222["INVALID_DATA_TYPE"] = 9] = "INVALID_DATA_TYPE";
ErrorCode2222[ErrorCode2222["INVALID_EVENT_STATE"] = 73] = "INVALID_EVENT_STATE";
ErrorCode2222[ErrorCode2222["INVALID_FILE_ACCESS_METHOD"] = 10] = "INVALID_FILE_ACCESS_METHOD";
ErrorCode2222[ErrorCode2222["INVALID_FILE_START_POSITION"] = 11] = "INVALID_FILE_START_POSITION";
ErrorCode2222[ErrorCode2222["INVALID_KEY_DATA"] = 99] = "INVALID_KEY_DATA";
ErrorCode2222[ErrorCode2222["INVALID_PARAMETER_DATA_TYPE"] = 13] = "INVALID_PARAMETER_DATA_TYPE";
ErrorCode2222[ErrorCode2222["INVALID_TAG"] = 57] = "INVALID_TAG";
ErrorCode2222[ErrorCode2222["INVALID_TIMESTAMP"] = 14] = "INVALID_TIMESTAMP";
ErrorCode2222[ErrorCode2222["INVALID_VALUE_IN_THIS_STATE"] = 138] = "INVALID_VALUE_IN_THIS_STATE";
ErrorCode2222[ErrorCode2222["KEY_UPDATE_IN_PROGRESS"] = 100] = "KEY_UPDATE_IN_PROGRESS";
ErrorCode2222[ErrorCode2222["LIST_ELEMENT_NOT_FOUND"] = 81] = "LIST_ELEMENT_NOT_FOUND";
ErrorCode2222[ErrorCode2222["LOG_BUFFER_FULL"] = 75] = "LOG_BUFFER_FULL";
ErrorCode2222[ErrorCode2222["LOGGED_VALUE_PURGED"] = 76] = "LOGGED_VALUE_PURGED";
ErrorCode2222[ErrorCode2222["MALFORMED_MESSAGE"] = 101] = "MALFORMED_MESSAGE";
ErrorCode2222[ErrorCode2222["MESSAGE_TOO_LONG"] = 113] = "MESSAGE_TOO_LONG";
ErrorCode2222[ErrorCode2222["MISSING_REQUIRED_PARAMETER"] = 16] = "MISSING_REQUIRED_PARAMETER";
ErrorCode2222[ErrorCode2222["NETWORK_DOWN"] = 58] = "NETWORK_DOWN";
ErrorCode2222[ErrorCode2222["NO_ALARM_CONFIGURED"] = 74] = "NO_ALARM_CONFIGURED";
ErrorCode2222[ErrorCode2222["NO_OBJECTS_OF_SPECIFIED_TYPE"] = 17] = "NO_OBJECTS_OF_SPECIFIED_TYPE";
ErrorCode2222[ErrorCode2222["NO_PROPERTY_SPECIFIED"] = 77] = "NO_PROPERTY_SPECIFIED";
ErrorCode2222[ErrorCode2222["NO_SPACE_FOR_OBJECT"] = 18] = "NO_SPACE_FOR_OBJECT";
ErrorCode2222[ErrorCode2222["NO_SPACE_TO_ADD_LIST_ELEMENT"] = 19] = "NO_SPACE_TO_ADD_LIST_ELEMENT";
ErrorCode2222[ErrorCode2222["NO_SPACE_TO_WRITE_PROPERTY"] = 20] = "NO_SPACE_TO_WRITE_PROPERTY";
ErrorCode2222[ErrorCode2222["NO_VT_SESSIONS_AVAILABLE"] = 21] = "NO_VT_SESSIONS_AVAILABLE";
ErrorCode2222[ErrorCode2222["NOT_CONFIGURED"] = 132] = "NOT_CONFIGURED";
ErrorCode2222[ErrorCode2222["NOT_CONFIGURED_FOR_TRIGGERED_LOGGING"] = 78] = "NOT_CONFIGURED_FOR_TRIGGERED_LOGGING";
ErrorCode2222[ErrorCode2222["NOT_COV_PROPERTY"] = 44] = "NOT_COV_PROPERTY";
ErrorCode2222[ErrorCode2222["NOT_KEY_SERVER"] = 102] = "NOT_KEY_SERVER";
ErrorCode2222[ErrorCode2222["NOT_ROUTER_TO_DNET"] = 110] = "NOT_ROUTER_TO_DNET";
ErrorCode2222[ErrorCode2222["OBJECT_DELETION_NOT_PERMITTED"] = 23] = "OBJECT_DELETION_NOT_PERMITTED";
ErrorCode2222[ErrorCode2222["OBJECT_IDENTIFIER_ALREADY_EXISTS"] = 24] = "OBJECT_IDENTIFIER_ALREADY_EXISTS";
ErrorCode2222[ErrorCode2222["OPERATIONAL_PROBLEM"] = 25] = "OPERATIONAL_PROBLEM";
ErrorCode2222[ErrorCode2222["OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED"] = 45] = "OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED";
ErrorCode2222[ErrorCode2222["OTHER"] = 0] = "OTHER";
ErrorCode2222[ErrorCode2222["OUT_OF_MEMORY"] = 133] = "OUT_OF_MEMORY";
ErrorCode2222[ErrorCode2222["PARAMETER_OUT_OF_RANGE"] = 80] = "PARAMETER_OUT_OF_RANGE";
ErrorCode2222[ErrorCode2222["PASSWORD_FAILURE"] = 26] = "PASSWORD_FAILURE";
ErrorCode2222[ErrorCode2222["PROPERTY_IS_NOT_A_LIST"] = 22] = "PROPERTY_IS_NOT_A_LIST";
ErrorCode2222[ErrorCode2222["PROPERTY_IS_NOT_AN_ARRAY"] = 50] = "PROPERTY_IS_NOT_AN_ARRAY";
ErrorCode2222[ErrorCode2222["READ_ACCESS_DENIED"] = 27] = "READ_ACCESS_DENIED";
ErrorCode2222[ErrorCode2222["READ_BDT_FAILED"] = 117] = "READ_BDT_FAILED";
ErrorCode2222[ErrorCode2222["READ_FDT_FAILED"] = 119] = "READ_FDT_FAILED";
ErrorCode2222[ErrorCode2222["REGISTER_FOREIGN_DEVICE_FAILED"] = 118] = "REGISTER_FOREIGN_DEVICE_FAILED";
ErrorCode2222[ErrorCode2222["REJECT_BUFFER_OVERFLOW"] = 59] = "REJECT_BUFFER_OVERFLOW";
ErrorCode2222[ErrorCode2222["REJECT_INCONSISTENT_PARAMETERS"] = 60] = "REJECT_INCONSISTENT_PARAMETERS";
ErrorCode2222[ErrorCode2222["REJECT_INVALID_PARAMETER_DATA_TYPE"] = 61] = "REJECT_INVALID_PARAMETER_DATA_TYPE";
ErrorCode2222[ErrorCode2222["REJECT_INVALID_TAG"] = 62] = "REJECT_INVALID_TAG";
ErrorCode2222[ErrorCode2222["REJECT_MISSING_REQUIRED_PARAMETER"] = 63] = "REJECT_MISSING_REQUIRED_PARAMETER";
ErrorCode2222[ErrorCode2222["REJECT_OTHER"] = 69] = "REJECT_OTHER";
ErrorCode2222[ErrorCode2222["REJECT_PARAMETER_OUT_OF_RANGE"] = 64] = "REJECT_PARAMETER_OUT_OF_RANGE";
ErrorCode2222[ErrorCode2222["REJECT_PROPRIETARY"] = 68] = "REJECT_PROPRIETARY";
ErrorCode2222[ErrorCode2222["REJECT_TOO_MANY_ARGUMENTS"] = 65] = "REJECT_TOO_MANY_ARGUMENTS";
ErrorCode2222[ErrorCode2222["REJECT_UNDEFINED_ENUMERATION"] = 66] = "REJECT_UNDEFINED_ENUMERATION";
ErrorCode2222[ErrorCode2222["REJECT_UNRECOGNIZED_SERVICE"] = 67] = "REJECT_UNRECOGNIZED_SERVICE";
ErrorCode2222[ErrorCode2222["ROUTER_BUSY"] = 111] = "ROUTER_BUSY";
ErrorCode2222[ErrorCode2222["SECURITY_ERROR"] = 114] = "SECURITY_ERROR";
ErrorCode2222[ErrorCode2222["SECURITY_NOT_CONFIGURED"] = 103] = "SECURITY_NOT_CONFIGURED";
ErrorCode2222[ErrorCode2222["SERVICE_REQUEST_DENIED"] = 29] = "SERVICE_REQUEST_DENIED";
ErrorCode2222[ErrorCode2222["SOURCE_SECURITY_REQUIRED"] = 104] = "SOURCE_SECURITY_REQUIRED";
ErrorCode2222[ErrorCode2222["SUCCESS"] = 84] = "SUCCESS";
ErrorCode2222[ErrorCode2222["TIMEOUT"] = 30] = "TIMEOUT";
ErrorCode2222[ErrorCode2222["TOO_MANY_KEYS"] = 105] = "TOO_MANY_KEYS";
ErrorCode2222[ErrorCode2222["UNKNOWN_AUTHENTICATION_TYPE"] = 106] = "UNKNOWN_AUTHENTICATION_TYPE";
ErrorCode2222[ErrorCode2222["UNKNOWN_DEVICE"] = 70] = "UNKNOWN_DEVICE";
ErrorCode2222[ErrorCode2222["UNKNOWN_FILE_SIZE"] = 122] = "UNKNOWN_FILE_SIZE";
ErrorCode2222[ErrorCode2222["UNKNOWN_KEY"] = 107] = "UNKNOWN_KEY";
ErrorCode2222[ErrorCode2222["UNKNOWN_KEY_REVISION"] = 108] = "UNKNOWN_KEY_REVISION";
ErrorCode2222[ErrorCode2222["UNKNOWN_NETWORK_MESSAGE"] = 112] = "UNKNOWN_NETWORK_MESSAGE";
ErrorCode2222[ErrorCode2222["UNKNOWN_OBJECT"] = 31] = "UNKNOWN_OBJECT";
ErrorCode2222[ErrorCode2222["UNKNOWN_PROPERTY"] = 32] = "UNKNOWN_PROPERTY";
ErrorCode2222[ErrorCode2222["UNKNOWN_ROUTE"] = 71] = "UNKNOWN_ROUTE";
ErrorCode2222[ErrorCode2222["UNKNOWN_SOURCE_MESSAGE"] = 109] = "UNKNOWN_SOURCE_MESSAGE";
ErrorCode2222[ErrorCode2222["UNKNOWN_SUBSCRIPTION"] = 79] = "UNKNOWN_SUBSCRIPTION";
ErrorCode2222[ErrorCode2222["UNKNOWN_VT_CLASS"] = 34] = "UNKNOWN_VT_CLASS";
ErrorCode2222[ErrorCode2222["UNKNOWN_VT_SESSION"] = 35] = "UNKNOWN_VT_SESSION";
ErrorCode2222[ErrorCode2222["UNSUPPORTED_OBJECT_TYPE"] = 36] = "UNSUPPORTED_OBJECT_TYPE";
ErrorCode2222[ErrorCode2222["VALUE_NOT_INITIALIZED"] = 72] = "VALUE_NOT_INITIALIZED";
ErrorCode2222[ErrorCode2222["VALUE_OUT_OF_RANGE"] = 37] = "VALUE_OUT_OF_RANGE";
ErrorCode2222[ErrorCode2222["VALUE_TOO_LONG"] = 134] = "VALUE_TOO_LONG";
ErrorCode2222[ErrorCode2222["VT_SESSION_ALREADY_CLOSED"] = 38] = "VT_SESSION_ALREADY_CLOSED";
ErrorCode2222[ErrorCode2222["VT_SESSION_TERMINATION_FAILURE"] = 39] = "VT_SESSION_TERMINATION_FAILURE";
ErrorCode2222[ErrorCode2222["WRITE_ACCESS_DENIED"] = 40] = "WRITE_ACCESS_DENIED";
ErrorCode2222[ErrorCode2222["WRITE_BDT_FAILED"] = 116] = "WRITE_BDT_FAILED";
return ErrorCode2222;
})(ErrorCode222 || {});
var ErrorCodeName222 = invertEnum222(
ErrorCode222
);
var AccessAuthenticationFactorDisable222 = /* @__PURE__ */ ((AccessAuthenticationFactorDisable2222) => {
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["NONE"] = 0] = "NONE";
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["DISABLED"] = 1] = "DISABLED";
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["DISABLED_LOST"] = 2] = "DISABLED_LOST";
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["DISABLED_STOLEN"] = 3] = "DISABLED_STOLEN";
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["DISABLED_DAMAGED"] = 4] = "DISABLED_DAMAGED";
AccessAuthenticationFactorDisable2222[AccessAuthenticationFactorDisable2222["DISABLED_DESTROYED"] = 5] = "DISABLED_DESTROYED";
return AccessAuthenticationFactorDisable2222;
})(AccessAuthenticationFactorDisable222 || {});
var AccessCredentialDisable222 = /* @__PURE__ */ ((AccessCredentialDisable2222) => {
AccessCredentialDisable2222[AccessCredentialDisable2222["NONE"] = 0] = "NONE";
AccessCredentialDisable2222[AccessCredentialDisable2222["DISABLE"] = 1] = "DISABLE";
AccessCredentialDisable2222[AccessCredentialDisable2222["DISABLE_MANUAL"] = 2] = "DISABLE_MANUAL";
AccessCredentialDisable2222[AccessCredentialDisable2222["DISABLE_LOCKOUT"] = 3] = "DISABLE_LOCKOUT";
return AccessCredentialDisable2222;
})(AccessCredentialDisable222 || {});
var AccessCredentialDisableReason222 = /* @__PURE__ */ ((AccessCredentialDisableReason2222) => {
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED"] = 0] = "DISABLED";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_NEEDS_PROVISIONING"] = 1] = "DISABLED_NEEDS_PROVISIONING";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_UNASSIGNED"] = 2] = "DISABLED_UNASSIGNED";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_NOT_YET_ACTIVE"] = 3] = "DISABLED_NOT_YET_ACTIVE";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_EXPIRED"] = 4] = "DISABLED_EXPIRED";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_LOCKOUT"] = 5] = "DISABLED_LOCKOUT";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_MAX_DAYS"] = 6] = "DISABLED_MAX_DAYS";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_MAX_USES"] = 7] = "DISABLED_MAX_USES";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_INACTIVITY"] = 8] = "DISABLED_INACTIVITY";
AccessCredentialDisableReason2222[AccessCredentialDisableReason2222["DISABLED_MANUAL"] = 9] = "DISABLED_MANUAL";
return AccessCredentialDisableReason2222;
})(AccessCredentialDisableReason222 || {});
var AccessEvent222 = /* @__PURE__ */ ((AccessEvent2222) => {
AccessEvent2222[AccessEvent2222["NONE"] = 0] = "NONE";
AccessEvent2222[AccessEvent2222["GRANTED"] = 1] = "GRANTED";
AccessEvent2222[AccessEvent2222["MUSTER"] = 2] = "MUSTER";
AccessEvent2222[AccessEvent2222["PASSBACK_DETECTED"] = 3] = "PASSBACK_DETECTED";
AccessEvent2222[AccessEvent2222["DURESS"] = 4] = "DURESS";
AccessEvent2222[AccessEvent2222["TRACE"] = 5] = "TRACE";
AccessEvent2222[AccessEvent2222["LOCKOUT_MAX_ATTEMPTS"] = 6] = "LOCKOUT_MAX_ATTEMPTS";
AccessEvent2222[AccessEvent2222["LOCKOUT_OTHER"] = 7] = "LOCKOUT_OTHER";
AccessEvent2222[AccessEvent2222["LOCKOUT_RELINQUISHED"] = 8] = "LOCKOUT_RELINQUISHED";
AccessEvent2222[AccessEvent2222["LOCKED_BY_HIGHER_PRIORITY"] = 9] = "LOCKED_BY_HIGHER_PRIORITY";
AccessEvent2222[AccessEvent2222["OUT_OF_SERVICE"] = 10] = "OUT_OF_SERVICE";
AccessEvent2222[AccessEvent2222["OUT_OF_SERVICE_RELINQUISHED"] = 11] = "OUT_OF_SERVICE_RELINQUISHED";
AccessEvent2222[AccessEvent2222["ACCOMPANIMENT_BY"] = 12] = "ACCOMPANIMENT_BY";
AccessEvent2222[AccessEvent2222["AUTHENTICATION_FACTOR_READ"] = 13] = "AUTHENTICATION_FACTOR_READ";
AccessEvent2222[AccessEvent2222["AUTHORIZATION_DELAYED"] = 14] = "AUTHORIZATION_DELAYED";
AccessEvent2222[AccessEvent2222["VERIFICATION_REQUIRED"] = 15] = "VERIFICATION_REQUIRED";
AccessEvent2222[AccessEvent2222["NO_ENTRY_AFTER_GRANTED"] = 16] = "NO_ENTRY_AFTER_GRANTED";
AccessEvent2222[AccessEvent2222["DENIED_DENY_ALL"] = 128] = "DENIED_DENY_ALL";
AccessEvent2222[AccessEvent2222["DENIED_UNKNOWN_CREDENTIAL"] = 129] = "DENIED_UNKNOWN_CREDENTIAL";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_UNAVAILABLE"] = 130] = "DENIED_AUTHENTICATION_UNAVAILABLE";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_TIMEOUT"] = 131] = "DENIED_AUTHENTICATION_FACTOR_TIMEOUT";
AccessEvent2222[AccessEvent2222["DENIED_INCORRECT_AUTHENTICATION_FACTOR"] = 132] = "DENIED_INCORRECT_AUTHENTICATION_FACTOR";
AccessEvent2222[AccessEvent2222["DENIED_ZONE_NO_ACCESS_RIGHTS"] = 133] = "DENIED_ZONE_NO_ACCESS_RIGHTS";
AccessEvent2222[AccessEvent2222["DENIED_POINT_NO_ACCESS_RIGHTS"] = 134] = "DENIED_POINT_NO_ACCESS_RIGHTS";
AccessEvent2222[AccessEvent2222["DENIED_NO_ACCESS_RIGHTS"] = 135] = "DENIED_NO_ACCESS_RIGHTS";
AccessEvent2222[AccessEvent2222["DENIED_OUT_OF_TIME_RANGE"] = 136] = "DENIED_OUT_OF_TIME_RANGE";
AccessEvent2222[AccessEvent2222["DENIED_THREAT_LEVEL"] = 137] = "DENIED_THREAT_LEVEL";
AccessEvent2222[AccessEvent2222["DENIED_PASSBACK"] = 138] = "DENIED_PASSBACK";
AccessEvent2222[AccessEvent2222["DENIED_UNEXPECTED_LOCATION_USAGE"] = 139] = "DENIED_UNEXPECTED_LOCATION_USAGE";
AccessEvent2222[AccessEvent2222["DENIED_MAX_ATTEMPTS"] = 140] = "DENIED_MAX_ATTEMPTS";
AccessEvent2222[AccessEvent2222["DENIED_LOWER_OCCUPANCY_LIMIT"] = 141] = "DENIED_LOWER_OCCUPANCY_LIMIT";
AccessEvent2222[AccessEvent2222["DENIED_UPPER_OCCUPANCY_LIMIT"] = 142] = "DENIED_UPPER_OCCUPANCY_LIMIT";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_LOST"] = 143] = "DENIED_AUTHENTICATION_FACTOR_LOST";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_STOLEN"] = 144] = "DENIED_AUTHENTICATION_FACTOR_STOLEN";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_DAMAGED"] = 145] = "DENIED_AUTHENTICATION_FACTOR_DAMAGED";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_DESTROYED"] = 146] = "DENIED_AUTHENTICATION_FACTOR_DESTROYED";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_DISABLED"] = 147] = "DENIED_AUTHENTICATION_FACTOR_DISABLED";
AccessEvent2222[AccessEvent2222["DENIED_AUTHENTICATION_FACTOR_ERROR"] = 148] = "DENIED_AUTHENTICATION_FACTOR_ERROR";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_UNASSIGNED"] = 149] = "DENIED_CREDENTIAL_UNASSIGNED";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_NOT_PROVISIONED"] = 150] = "DENIED_CREDENTIAL_NOT_PROVISIONED";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_NOT_YET_ACTIVE"] = 151] = "DENIED_CREDENTIAL_NOT_YET_ACTIVE";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_EXPIRED"] = 152] = "DENIED_CREDENTIAL_EXPIRED";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_MANUAL_DISABLE"] = 153] = "DENIED_CREDENTIAL_MANUAL_DISABLE";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_LOCKOUT"] = 154] = "DENIED_CREDENTIAL_LOCKOUT";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_MAX_DAYS"] = 155] = "DENIED_CREDENTIAL_MAX_DAYS";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_MAX_USES"] = 156] = "DENIED_CREDENTIAL_MAX_USES";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_INACTIVITY"] = 157] = "DENIED_CREDENTIAL_INACTIVITY";
AccessEvent2222[AccessEvent2222["DENIED_CREDENTIAL_DISABLED"] = 158] = "DENIED_CREDENTIAL_DISABLED";
AccessEvent2222[AccessEvent2222["DENIED_NO_ACCOMPANIMENT"] = 159] = "DENIED_NO_ACCOMPANIMENT";
AccessEvent2222[AccessEvent2222["DENIED_INCORRECT_ACCOMPANIMENT"] = 160] = "DENIED_INCORRECT_ACCOMPANIMENT";
AccessEvent2222[AccessEvent2222["DENIED_LOCKOUT"] = 161] = "DENIED_LOCKOUT";
AccessEvent2222[AccessEvent2222["DENIED_VERIFICATION_FAILED"] = 162] = "DENIED_VERIFICATION_FAILED";
AccessEvent2222[AccessEvent2222["DENIED_VERIFICATION_TIMEOUT"] = 163] = "DENIED_VERIFICATION_TIMEOUT";
AccessEvent2222[AccessEvent2222["DENIED_OTHER"] = 164] = "DENIED_OTHER";
return AccessEvent2222;
})(AccessEvent222 || {});
var AccessPassbackMode222 = /* @__PURE__ */ ((AccessPassbackMode2222) => {
AccessPassbackMode2222[AccessPassbackMode2222["PASSBACK_OFF"] = 0] = "PASSBACK_OFF";
AccessPassbackMode2222[AccessPassbackMode2222["HARD_PASSBACK"] = 1] = "HARD_PASSBACK";
AccessPassbackMode2222[AccessPassbackMode2222["SOFT_PASSBACK"] = 2] = "SOFT_PASSBACK";
return AccessPassbackMode2222;
})(AccessPassbackMode222 || {});
var AccessUserType222 = /* @__PURE__ */ ((AccessUserType2222) => {
AccessUserType2222[AccessUserType2222["ASSET"] = 0] = "ASSET";
AccessUserType2222[AccessUserType2222["GROUP"] = 1] = "GROUP";
AccessUserType2222[AccessUserType2222["PERSON"] = 2] = "PERSON";
return AccessUserType2222;
})(AccessUserType222 || {});
var AccessZoneOccupancyState222 = /* @__PURE__ */ ((AccessZoneOccupancyState2222) => {
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["NORMAL"] = 0] = "NORMAL";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["BELOW_LOWER_LIMIT"] = 1] = "BELOW_LOWER_LIMIT";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["AT_LOWER_LIMIT"] = 2] = "AT_LOWER_LIMIT";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["AT_UPPER_LIMIT"] = 3] = "AT_UPPER_LIMIT";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["ABOVE_UPPER_LIMIT"] = 4] = "ABOVE_UPPER_LIMIT";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["DISABLED"] = 5] = "DISABLED";
AccessZoneOccupancyState2222[AccessZoneOccupancyState2222["NOT_SUPPORTED"] = 6] = "NOT_SUPPORTED";
return AccessZoneOccupancyState2222;
})(AccessZoneOccupancyState222 || {});
var Action222 = /* @__PURE__ */ ((Action2222) => {
Action2222[Action2222["DIRECT"] = 0] = "DIRECT";
Action2222[Action2222["REVERSE"] = 1] = "REVERSE";
return Action2222;
})(Action222 || {});
var AuthenticationFactorType222 = /* @__PURE__ */ ((AuthenticationFactorType2222) => {
AuthenticationFactorType2222[AuthenticationFactorType2222["UNDEFINED"] = 0] = "UNDEFINED";
AuthenticationFactorType2222[AuthenticationFactorType2222["ERROR"] = 1] = "ERROR";
AuthenticationFactorType2222[AuthenticationFactorType2222["CUSTOM"] = 2] = "CUSTOM";
AuthenticationFactorType2222[AuthenticationFactorType2222["SIMPLE_NUMBER16"] = 3] = "SIMPLE_NUMBER16";
AuthenticationFactorType2222[AuthenticationFactorType2222["SIMPLE_NUMBER32"] = 4] = "SIMPLE_NUMBER32";
AuthenticationFactorType2222[AuthenticationFactorType2222["SIMPLE_NUMBER56"] = 5] = "SIMPLE_NUMBER56";
AuthenticationFactorType2222[AuthenticationFactorType2222["SIMPLE_ALPHA_NUMERIC"] = 6] = "SIMPLE_ALPHA_NUMERIC";
AuthenticationFactorType2222[AuthenticationFactorType2222["ABA_TRACK2"] = 7] = "ABA_TRACK2";
AuthenticationFactorType2222[AuthenticationFactorType2222["WIEGAND26"] = 8] = "WIEGAND26";
AuthenticationFactorType2222[AuthenticationFactorType2222["WIEGAND37"] = 9] = "WIEGAND37";
AuthenticationFactorType2222[AuthenticationFactorType2222["WIEGAND37_FACILITY"] = 10] = "WIEGAND37_FACILITY";
AuthenticationFactorType2222[AuthenticationFactorType2222["FACILITY16_CARD32"] = 11] = "FACILITY16_CARD32";
AuthenticationFactorType2222[AuthenticationFactorType2222["FACILITY32_CARD32"] = 12] = "FACILITY32_CARD32";
AuthenticationFactorType2222[AuthenticationFactorType2222["FASC_N"] = 13] = "FASC_N";
AuthenticationFactorType2222[AuthenticationFactorType2222["FASC_N_BCD"] = 14] = "FASC_N_BCD";
AuthenticationFactorType2222[AuthenticationFactorType2222["FASC_N_LARGE"] = 15] = "FASC_N_LARGE";
AuthenticationFactorType2222[AuthenticationFactorType2222["FASC_N_LARGE_BCD"] = 16] = "FASC_N_LARGE_BCD";
AuthenticationFactorType2222[AuthenticationFactorType2222["GSA75"] = 17] = "GSA75";
AuthenticationFactorType2222[AuthenticationFactorType2222["CHUID"] = 18] = "CHUID";
AuthenticationFactorType2222[AuthenticationFactorType2222["CHUID_FULL"] = 19] = "CHUID_FULL";
AuthenticationFactorType2222[AuthenticationFactorType2222["GUID"] = 20] = "GUID";
AuthenticationFactorType2222[AuthenticationFactorType2222["CBEFF_A"] = 21] = "CBEFF_A";
AuthenticationFactorType2222[AuthenticationFactorType2222["CBEFF_B"] = 22] = "CBEFF_B";
AuthenticationFactorType2222[AuthenticationFactorType2222["CBEFF_C"] = 23] = "CBEFF_C";
AuthenticationFactorType2222[AuthenticationFactorType2222["USER_PASSWORD"] = 24] = "USER_PASSWORD";
return AuthenticationFactorType2222;
})(AuthenticationFactorType222 || {});
var AuthenticationStatus222 = /* @__PURE__ */ ((AuthenticationStatus2222) => {
AuthenticationStatus2222[AuthenticationStatus2222["NOT_READY"] = 0] = "NOT_READY";
AuthenticationStatus2222[AuthenticationStatus2222["READY"] = 1] = "READY";
AuthenticationStatus2222[AuthenticationStatus2222["DISABLED"] = 2] = "DISABLED";
AuthenticationStatus2222[AuthenticationStatus2222["WAITING_FOR_AUTHENTICATION_FACTOR"] = 3] = "WAITING_FOR_AUTHENTICATION_FACTOR";
AuthenticationStatus2222[AuthenticationStatus2222["WAITING_FOR_ACCOMPANIMENT"] = 4] = "WAITING_FOR_ACCOMPANIMENT";
AuthenticationStatus2222[AuthenticationStatus2222["WAITING_FOR_VERIFICATION"] = 5] = "WAITING_FOR_VERIFICATION";
AuthenticationStatus2222[AuthenticationStatus2222["IN_PROGRESS"] = 6] = "IN_PROGRESS";
return AuthenticationStatus2222;
})(AuthenticationStatus222 || {});
var AuthorizationExemption222 = /* @__PURE__ */ ((AuthorizationExemption2222) => {
AuthorizationExemption2222[AuthorizationExemption2222["PASSBACK"] = 0] = "PASSBACK";
AuthorizationExemption2222[AuthorizationExemption2222["OCCUPANCY_CHECK"] = 1] = "OCCUPANCY_CHECK";
AuthorizationExemption2222[AuthorizationExemption2222["ACCESS_RIGHTS"] = 2] = "ACCESS_RIGHTS";
AuthorizationExemption2222[AuthorizationExemption2222["LOCKOUT"] = 3] = "LOCKOUT";
AuthorizationExemption2222[AuthorizationExemption2222["DENY"] = 4] = "DENY";
AuthorizationExemption2222[AuthorizationExemption2222["VERIFICATION"] = 5] = "VERIFICATION";
AuthorizationExemption2222[AuthorizationExemption2222["AUTHORIZATION_DELAY"] = 6] = "AUTHORIZATION_DELAY";
return AuthorizationExemption2222;
})(AuthorizationExemption222 || {});
var AuthorizationMode222 = /* @__PURE__ */ ((AuthorizationMode2222) => {
AuthorizationMode2222[AuthorizationMode2222["AUTHORIZE"] = 0] = "AUTHORIZE";
AuthorizationMode2222[AuthorizationMode2222["GRANT_ACTIVE"] = 1] = "GRANT_ACTIVE";
AuthorizationMode2222[AuthorizationMode2222["DENY_ALL"] = 2] = "DENY_ALL";
AuthorizationMode2222[AuthorizationMode2222["VERIFICATION_REQUIRED"] = 3] = "VERIFICATION_REQUIRED";
AuthorizationMode2222[AuthorizationMode2222["AUTHORIZATION_DELAYED"] = 4] = "AUTHORIZATION_DELAYED";
AuthorizationMode2222[AuthorizationMode2222["NONE"] = 5] = "NONE";
return AuthorizationMode2222;
})(AuthorizationMode222 || {});
var BackupState222 = /* @__PURE__ */ ((BackupState2222) => {
BackupState2222[BackupState2222["IDLE"] = 0] = "IDLE";
BackupState2222[BackupState2222["PREPARING_FOR_BACKUP"] = 1] = "PREPARING_FOR_BACKUP";
BackupState2222[BackupState2222["PREPARING_FOR_RESTORE"] = 2] = "PREPARING_FOR_RESTORE";
BackupState2222[BackupState2222["PERFORMING_A_BACKUP"] = 3] = "PERFORMING_A_BACKUP";
BackupState2222[BackupState2222["PERFORMING_A_RESTORE"] = 4] = "PERFORMING_A_RESTORE";
BackupState2222[BackupState2222["BACKUP_FAILURE"] = 5] = "BACKUP_FAILURE";
BackupState2222[BackupState2222["RESTORE_FAILURE"] = 6] = "RESTORE_FAILURE";
return BackupState2222;
})(BackupState222 || {});
var BinaryLightingPV222 = /* @__PURE__ */ ((BinaryLightingPV2222) => {
BinaryLightingPV2222[BinaryLightingPV2222["OFF"] = 0] = "OFF";
BinaryLightingPV2222[BinaryLightingPV2222["ON"] = 1] = "ON";
BinaryLightingPV2222[BinaryLightingPV2222["WARN"] = 2] = "WARN";
BinaryLightingPV2222[BinaryLightingPV2222["WARN_OFF"] = 3] = "WARN_OFF";
BinaryLightingPV2222[BinaryLightingPV2222["WARN_RELINQUISH"] = 4] = "WARN_RELINQUISH";
BinaryLightingPV2222[BinaryLightingPV2222["STOP"] = 5] = "STOP";
return BinaryLightingPV2222;
})(BinaryLightingPV222 || {});
var BinaryPV222 = /* @__PURE__ */ ((BinaryPV2222) => {
BinaryPV2222[BinaryPV2222["INACTIVE"] = 0] = "INACTIVE";
BinaryPV2222[BinaryPV2222["ACTIVE"] = 1] = "ACTIVE";
return BinaryPV2222;
})(BinaryPV222 || {});
var DeviceStatus222 = /* @__PURE__ */ ((DeviceStatus2222) => {
DeviceStatus2222[DeviceStatus2222["OPERATIONAL"] = 0] = "OPERATIONAL";
DeviceStatus2222[DeviceStatus2222["OPERATIONAL_READ_ONLY"] = 1] = "OPERATIONAL_READ_ONLY";
DeviceStatus2222[DeviceStatus2222["DOWNLOAD_REQUIRED"] = 2] = "DOWNLOAD_REQUIRED";
DeviceStatus2222[DeviceStatus2222["DOWNLOAD_IN_PROGRESS"] = 3] = "DOWNLOAD_IN_PROGRESS";
DeviceStatus2222[DeviceStatus2222["NON_OPERATIONAL"] = 4] = "NON_OPERATIONAL";
DeviceStatus2222[DeviceStatus2222["BACKUP_IN_PROGRESS"] = 5] = "BACKUP_IN_PROGRESS";
return DeviceStatus2222;
})(DeviceStatus222 || {});
var DoorAlarmState222 = /* @__PURE__ */ ((DoorAlarmState2222) => {
DoorAlarmState2222[DoorAlarmState2222["NORMAL"] = 0] = "NORMAL";
DoorAlarmState2222[DoorAlarmState2222["ALARM"] = 1] = "ALARM";
DoorAlarmState2222[DoorAlarmState2222["DOOR_OPEN_TOO_LONG"] = 2] = "DOOR_OPEN_TOO_LONG";
DoorAlarmState2222[DoorAlarmState2222["FORCED_OPEN"] = 3] = "FORCED_OPEN";
DoorAlarmState2222[DoorAlarmState2222["TAMPER"] = 4] = "TAMPER";
DoorAlarmState2222[DoorAlarmState2222["DOOR_FAULT"] = 5] = "DOOR_FAULT";
DoorAlarmState2222[DoorAlarmState2222["LOCK_DOWN"] = 6] = "LOCK_DOWN";
DoorAlarmState2222[DoorAlarmState2222["FREE_ACCESS"] = 7] = "FREE_ACCESS";
DoorAlarmState2222[DoorAlarmState2222["EGRESS_OPEN"] = 8] = "EGRESS_OPEN";
return DoorAlarmState2222;
})(DoorAlarmState222 || {});
var DoorSecuredStatus222 = /* @__PURE__ */ ((DoorSecuredStatus2222) => {
DoorSecuredStatus2222[DoorSecuredStatus2222["SECURED"] = 0] = "SECURED";
DoorSecuredStatus2222[DoorSecuredStatus2222["UNSECURED"] = 1] = "UNSECURED";
DoorSecuredStatus2222[DoorSecuredStatus2222["UNKNOWN"] = 2] = "UNKNOWN";
return DoorSecuredStatus2222;
})(DoorSecuredStatus222 || {});
var DoorStatus222 = /* @__PURE__ */ ((DoorStatus2222) => {
DoorStatus2222[DoorStatus2222["CLOSED"] = 0] = "CLOSED";
DoorStatus2222[DoorStatus2222["OPENED"] = 1] = "OPENED";
DoorStatus2222[DoorStatus2222["UNKNOWN"] = 2] = "UNKNOWN";
DoorStatus2222[DoorStatus2222["DOOR_FAULT"] = 3] = "DOOR_FAULT";
DoorStatus2222[DoorStatus2222["UNUSED"] = 4] = "UNUSED";
DoorStatus2222[DoorStatus2222["NONE"] = 5] = "NONE";
DoorStatus2222[DoorStatus2222["CLOSING"] = 6] = "CLOSING";
DoorStatus2222[DoorStatus2222["OPENING"] = 7] = "OPENING";
DoorStatus2222[DoorStatus2222["SAFETY_LOCKED"] = 8] = "SAFETY_LOCKED";
DoorStatus2222[DoorStatus2222["LIMITED_OPENED"] = 9] = "LIMITED_OPENED";
return DoorStatus2222;
})(DoorStatus222 || {});
var DoorValue222 = /* @__PURE__ */ ((DoorValue2222) => {
DoorValue2222[DoorValue2222["LOCK"] = 0] = "LOCK";
DoorValue2222[DoorValue2222["UNLOCK"] = 1] = "UNLOCK";
DoorValue2222[DoorValue2222["PULSE_UNLOCK"] = 2] = "PULSE_UNLOCK";
DoorValue2222[DoorValue2222["EXTENDED_PULSE_UNLOCK"] = 3] = "EXTENDED_PULSE_UNLOCK";
return DoorValue2222;
})(DoorValue222 || {});
var EngineeringUnits222 = /* @__PURE__ */ ((EngineeringUnits2222) => {
EngineeringUnits2222[EngineeringUnits2222["METERS_PER_SECOND_PER_SECOND"] = 166] = "METERS_PER_SECOND_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["SQUARE_METERS"] = 0] = "SQUARE_METERS";
EngineeringUnits2222[EngineeringUnits2222["SQUARE_CENTIMETERS"] = 116] = "SQUARE_CENTIMETERS";
EngineeringUnits2222[EngineeringUnits2222["SQUARE_FEET"] = 1] = "SQUARE_FEET";
EngineeringUnits2222[EngineeringUnits2222["SQUARE_INCHES"] = 115] = "SQUARE_INCHES";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY1"] = 105] = "CURRENCY1";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY2"] = 106] = "CURRENCY2";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY3"] = 107] = "CURRENCY3";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY4"] = 108] = "CURRENCY4";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY5"] = 109] = "CURRENCY5";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY6"] = 110] = "CURRENCY6";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY7"] = 111] = "CURRENCY7";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY8"] = 112] = "CURRENCY8";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY9"] = 113] = "CURRENCY9";
EngineeringUnits2222[EngineeringUnits2222["CURRENCY10"] = 114] = "CURRENCY10";
EngineeringUnits2222[EngineeringUnits2222["MILLIAMPERES"] = 2] = "MILLIAMPERES";
EngineeringUnits2222[EngineeringUnits2222["AMPERES"] = 3] = "AMPERES";
EngineeringUnits2222[EngineeringUnits2222["AMPERES_PER_METER"] = 167] = "AMPERES_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["AMPERES_PER_SQUARE_METER"] = 168] = "AMPERES_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["AMPERE_SQUARE_METERS"] = 169] = "AMPERE_SQUARE_METERS";
EngineeringUnits2222[EngineeringUnits2222["DECIBELS"] = 199] = "DECIBELS";
EngineeringUnits2222[EngineeringUnits2222["DECIBELS_MILLIVOLT"] = 200] = "DECIBELS_MILLIVOLT";
EngineeringUnits2222[EngineeringUnits2222["DECIBELS_VOLT"] = 201] = "DECIBELS_VOLT";
EngineeringUnits2222[EngineeringUnits2222["FARADS"] = 170] = "FARADS";
EngineeringUnits2222[EngineeringUnits2222["HENRYS"] = 171] = "HENRYS";
EngineeringUnits2222[EngineeringUnits2222["OHMS"] = 4] = "OHMS";
EngineeringUnits2222[EngineeringUnits2222["OHM_METER_SQUARED_PER_METER"] = 237] = "OHM_METER_SQUARED_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["OHM_METERS"] = 172] = "OHM_METERS";
EngineeringUnits2222[EngineeringUnits2222["MILLIOHMS"] = 145] = "MILLIOHMS";
EngineeringUnits2222[EngineeringUnits2222["KILOHMS"] = 122] = "KILOHMS";
EngineeringUnits2222[EngineeringUnits2222["MEGOHMS"] = 123] = "MEGOHMS";
EngineeringUnits2222[EngineeringUnits2222["MICROSIEMENS"] = 190] = "MICROSIEMENS";
EngineeringUnits2222[EngineeringUnits2222["MILLISIEMENS"] = 202] = "MILLISIEMENS";
EngineeringUnits2222[EngineeringUnits2222["SIEMENS"] = 173] = "SIEMENS";
EngineeringUnits2222[EngineeringUnits2222["SIEMENS_PER_METER"] = 174] = "SIEMENS_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["TESLAS"] = 175] = "TESLAS";
EngineeringUnits2222[EngineeringUnits2222["VOLTS"] = 5] = "VOLTS";
EngineeringUnits2222[EngineeringUnits2222["MILLIVOLTS"] = 124] = "MILLIVOLTS";
EngineeringUnits2222[EngineeringUnits2222["KILOVOLTS"] = 6] = "KILOVOLTS";
EngineeringUnits2222[EngineeringUnits2222["MEGAVOLTS"] = 7] = "MEGAVOLTS";
EngineeringUnits2222[EngineeringUnits2222["VOLT_AMPERES"] = 8] = "VOLT_AMPERES";
EngineeringUnits2222[EngineeringUnits2222["KILOVOLT_AMPERES"] = 9] = "KILOVOLT_AMPERES";
EngineeringUnits2222[EngineeringUnits2222["MEGAVOLT_AMPERES"] = 10] = "MEGAVOLT_AMPERES";
EngineeringUnits2222[EngineeringUnits2222["VOLT_AMPERES_REACTIVE"] = 11] = "VOLT_AMPERES_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["KILOVOLT_AMPERES_REACTIVE"] = 12] = "KILOVOLT_AMPERES_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["MEGAVOLT_AMPERES_REACTIVE"] = 13] = "MEGAVOLT_AMPERES_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["VOLTS_PER_DEGREE_KELVIN"] = 176] = "VOLTS_PER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["VOLTS_PER_METER"] = 177] = "VOLTS_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_PHASE"] = 14] = "DEGREES_PHASE";
EngineeringUnits2222[EngineeringUnits2222["POWER_FACTOR"] = 15] = "POWER_FACTOR";
EngineeringUnits2222[EngineeringUnits2222["WEBERS"] = 178] = "WEBERS";
EngineeringUnits2222[EngineeringUnits2222["AMPERE_SECONDS"] = 238] = "AMPERE_SECONDS";
EngineeringUnits2222[EngineeringUnits2222["VOLT_AMPERE_HOURS"] = 239] = "VOLT_AMPERE_HOURS";
EngineeringUnits2222[EngineeringUnits2222["KILOVOLT_AMPERE_HOURS"] = 240] = "KILOVOLT_AMPERE_HOURS";
EngineeringUnits2222[EngineeringUnits2222["MEGAVOLT_AMPERE_HOURS"] = 241] = "MEGAVOLT_AMPERE_HOURS";
EngineeringUnits2222[EngineeringUnits2222["VOLT_AMPERE_HOURS_REACTIVE"] = 242] = "VOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["KILOVOLT_AMPERE_HOURS_REACTIVE"] = 243] = "KILOVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["MEGAVOLT_AMPERE_HOURS_REACTIVE"] = 244] = "MEGAVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["VOLT_SQUARE_HOURS"] = 245] = "VOLT_SQUARE_HOURS";
EngineeringUnits2222[EngineeringUnits2222["AMPERE_SQUARE_HOURS"] = 246] = "AMPERE_SQUARE_HOURS";
EngineeringUnits2222[EngineeringUnits2222["JOULES"] = 16] = "JOULES";
EngineeringUnits2222[EngineeringUnits2222["KILOJOULES"] = 17] = "KILOJOULES";
EngineeringUnits2222[EngineeringUnits2222["KILOJOULES_PER_KILOGRAM"] = 125] = "KILOJOULES_PER_KILOGRAM";
EngineeringUnits2222[EngineeringUnits2222["MEGAJOULES"] = 126] = "MEGAJOULES";
EngineeringUnits2222[EngineeringUnits2222["WATT_HOURS"] = 18] = "WATT_HOURS";
EngineeringUnits2222[EngineeringUnits2222["KILOWATT_HOURS"] = 19] = "KILOWATT_HOURS";
EngineeringUnits2222[EngineeringUnits2222["MEGAWATT_HOURS"] = 146] = "MEGAWATT_HOURS";
EngineeringUnits2222[EngineeringUnits2222["WATT_HOURS_REACTIVE"] = 203] = "WATT_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["KILOWATT_HOURS_REACTIVE"] = 204] = "KILOWATT_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["MEGAWATT_HOURS_REACTIVE"] = 205] = "MEGAWATT_HOURS_REACTIVE";
EngineeringUnits2222[EngineeringUnits2222["BTUS"] = 20] = "BTUS";
EngineeringUnits2222[EngineeringUnits2222["KILO_BTUS"] = 147] = "KILO_BTUS";
EngineeringUnits2222[EngineeringUnits2222["MEGA_BTUS"] = 148] = "MEGA_BTUS";
EngineeringUnits2222[EngineeringUnits2222["THERMS"] = 21] = "THERMS";
EngineeringUnits2222[EngineeringUnits2222["TON_HOURS"] = 22] = "TON_HOURS";
EngineeringUnits2222[EngineeringUnits2222["JOULES_PER_KILOGRAM_DRY_AIR"] = 23] = "JOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2222[EngineeringUnits2222["KILOJOULES_PER_KILOGRAM_DRY_AIR"] = 149] = "KILOJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2222[EngineeringUnits2222["MEGAJOULES_PER_KILOGRAM_DRY_AIR"] = 150] = "MEGAJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2222[EngineeringUnits2222["BTUS_PER_POUND_DRY_AIR"] = 24] = "BTUS_PER_POUND_DRY_AIR";
EngineeringUnits2222[EngineeringUnits2222["BTUS_PER_POUND"] = 117] = "BTUS_PER_POUND";
EngineeringUnits2222[EngineeringUnits2222["JOULES_PER_DEGREE_KELVIN"] = 127] = "JOULES_PER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["KILOJOULES_PER_DEGREE_KELVIN"] = 151] = "KILOJOULES_PER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["MEGAJOULES_PER_DEGREE_KELVIN"] = 152] = "MEGAJOULES_PER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["JOULES_PER_KILOGRAM_DEGREE_KELVIN"] = 128] = "JOULES_PER_KILOGRAM_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["NEWTON"] = 153] = "NEWTON";
EngineeringUnits2222[EngineeringUnits2222["CYCLES_PER_HOUR"] = 25] = "CYCLES_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["CYCLES_PER_MINUTE"] = 26] = "CYCLES_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["HERTZ"] = 27] = "HERTZ";
EngineeringUnits2222[EngineeringUnits2222["KILOHERTZ"] = 129] = "KILOHERTZ";
EngineeringUnits2222[EngineeringUnits2222["MEGAHERTZ"] = 130] = "MEGAHERTZ";
EngineeringUnits2222[EngineeringUnits2222["PER_HOUR"] = 131] = "PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR"] = 28] = "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2222[EngineeringUnits2222["PERCENT_RELATIVE_HUMIDITY"] = 29] = "PERCENT_RELATIVE_HUMIDITY";
EngineeringUnits2222[EngineeringUnits2222["MICROMETERS"] = 194] = "MICROMETERS";
EngineeringUnits2222[EngineeringUnits2222["MILLIMETERS"] = 30] = "MILLIMETERS";
EngineeringUnits2222[EngineeringUnits2222["CENTIMETERS"] = 118] = "CENTIMETERS";
EngineeringUnits2222[EngineeringUnits2222["KILOMETERS"] = 193] = "KILOMETERS";
EngineeringUnits2222[EngineeringUnits2222["METERS"] = 31] = "METERS";
EngineeringUnits2222[EngineeringUnits2222["INCHES"] = 32] = "INCHES";
EngineeringUnits2222[EngineeringUnits2222["FEET"] = 33] = "FEET";
EngineeringUnits2222[EngineeringUnits2222["CANDELAS"] = 179] = "CANDELAS";
EngineeringUnits2222[EngineeringUnits2222["CANDELAS_PER_SQUARE_METER"] = 180] = "CANDELAS_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["WATTS_PER_SQUARE_FOOT"] = 34] = "WATTS_PER_SQUARE_FOOT";
EngineeringUnits2222[EngineeringUnits2222["WATTS_PER_SQUARE_METER"] = 35] = "WATTS_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["LUMENS"] = 36] = "LUMENS";
EngineeringUnits2222[EngineeringUnits2222["LUXES"] = 37] = "LUXES";
EngineeringUnits2222[EngineeringUnits2222["FOOT_CANDLES"] = 38] = "FOOT_CANDLES";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAMS"] = 196] = "MILLIGRAMS";
EngineeringUnits2222[EngineeringUnits2222["GRAMS"] = 195] = "GRAMS";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS"] = 39] = "KILOGRAMS";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_MASS"] = 40] = "POUNDS_MASS";
EngineeringUnits2222[EngineeringUnits2222["TONS"] = 41] = "TONS";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_SECOND"] = 154] = "GRAMS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_MINUTE"] = 155] = "GRAMS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS_PER_SECOND"] = 42] = "KILOGRAMS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS_PER_MINUTE"] = 43] = "KILOGRAMS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS_PER_HOUR"] = 44] = "KILOGRAMS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_MASS_PER_SECOND"] = 119] = "POUNDS_MASS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_MASS_PER_MINUTE"] = 45] = "POUNDS_MASS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_MASS_PER_HOUR"] = 46] = "POUNDS_MASS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["TONS_PER_HOUR"] = 156] = "TONS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["MILLIWATTS"] = 132] = "MILLIWATTS";
EngineeringUnits2222[EngineeringUnits2222["WATTS"] = 47] = "WATTS";
EngineeringUnits2222[EngineeringUnits2222["KILOWATTS"] = 48] = "KILOWATTS";
EngineeringUnits2222[EngineeringUnits2222["MEGAWATTS"] = 49] = "MEGAWATTS";
EngineeringUnits2222[EngineeringUnits2222["BTUS_PER_HOUR"] = 50] = "BTUS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["KILO_BTUS_PER_HOUR"] = 157] = "KILO_BTUS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["JOULE_PER_HOURS"] = 247] = "JOULE_PER_HOURS";
EngineeringUnits2222[EngineeringUnits2222["HORSEPOWER"] = 51] = "HORSEPOWER";
EngineeringUnits2222[EngineeringUnits2222["TONS_REFRIGERATION"] = 52] = "TONS_REFRIGERATION";
EngineeringUnits2222[EngineeringUnits2222["PASCALS"] = 53] = "PASCALS";
EngineeringUnits2222[EngineeringUnits2222["HECTOPASCALS"] = 133] = "HECTOPASCALS";
EngineeringUnits2222[EngineeringUnits2222["KILOPASCALS"] = 54] = "KILOPASCALS";
EngineeringUnits2222[EngineeringUnits2222["MILLIBARS"] = 134] = "MILLIBARS";
EngineeringUnits2222[EngineeringUnits2222["BARS"] = 55] = "BARS";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_FORCE_PER_SQUARE_INCH"] = 56] = "POUNDS_FORCE_PER_SQUARE_INCH";
EngineeringUnits2222[EngineeringUnits2222["MILLIMETERS_OF_WATER"] = 206] = "MILLIMETERS_OF_WATER";
EngineeringUnits2222[EngineeringUnits2222["CENTIMETERS_OF_WATER"] = 57] = "CENTIMETERS_OF_WATER";
EngineeringUnits2222[EngineeringUnits2222["INCHES_OF_WATER"] = 58] = "INCHES_OF_WATER";
EngineeringUnits2222[EngineeringUnits2222["MILLIMETERS_OF_MERCURY"] = 59] = "MILLIMETERS_OF_MERCURY";
EngineeringUnits2222[EngineeringUnits2222["CENTIMETERS_OF_MERCURY"] = 60] = "CENTIMETERS_OF_MERCURY";
EngineeringUnits2222[EngineeringUnits2222["INCHES_OF_MERCURY"] = 61] = "INCHES_OF_MERCURY";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_CELSIUS"] = 62] = "DEGREES_CELSIUS";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_KELVIN"] = 63] = "DEGREES_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_KELVIN_PER_HOUR"] = 181] = "DEGREES_KELVIN_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_KELVIN_PER_MINUTE"] = 182] = "DEGREES_KELVIN_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_FAHRENHEIT"] = 64] = "DEGREES_FAHRENHEIT";
EngineeringUnits2222[EngineeringUnits2222["DEGREE_DAYS_CELSIUS"] = 65] = "DEGREE_DAYS_CELSIUS";
EngineeringUnits2222[EngineeringUnits2222["DEGREE_DAYS_FAHRENHEIT"] = 66] = "DEGREE_DAYS_FAHRENHEIT";
EngineeringUnits2222[EngineeringUnits2222["DELTA_DEGREES_FAHRENHEIT"] = 120] = "DELTA_DEGREES_FAHRENHEIT";
EngineeringUnits2222[EngineeringUnits2222["DELTA_DEGREES_KELVIN"] = 121] = "DELTA_DEGREES_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["YEARS"] = 67] = "YEARS";
EngineeringUnits2222[EngineeringUnits2222["MONTHS"] = 68] = "MONTHS";
EngineeringUnits2222[EngineeringUnits2222["WEEKS"] = 69] = "WEEKS";
EngineeringUnits2222[EngineeringUnits2222["DAYS"] = 70] = "DAYS";
EngineeringUnits2222[EngineeringUnits2222["HOURS"] = 71] = "HOURS";
EngineeringUnits2222[EngineeringUnits2222["MINUTES"] = 72] = "MINUTES";
EngineeringUnits2222[EngineeringUnits2222["SECONDS"] = 73] = "SECONDS";
EngineeringUnits2222[EngineeringUnits2222["HUNDREDTHS_SECONDS"] = 158] = "HUNDREDTHS_SECONDS";
EngineeringUnits2222[EngineeringUnits2222["MILLISECONDS"] = 159] = "MILLISECONDS";
EngineeringUnits2222[EngineeringUnits2222["NEWTON_METERS"] = 160] = "NEWTON_METERS";
EngineeringUnits2222[EngineeringUnits2222["MILLIMETERS_PER_SECOND"] = 161] = "MILLIMETERS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["MILLIMETERS_PER_MINUTE"] = 162] = "MILLIMETERS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["METERS_PER_SECOND"] = 74] = "METERS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["METERS_PER_MINUTE"] = 163] = "METERS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["METERS_PER_HOUR"] = 164] = "METERS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["KILOMETERS_PER_HOUR"] = 75] = "KILOMETERS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["FEET_PER_SECOND"] = 76] = "FEET_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["FEET_PER_MINUTE"] = 77] = "FEET_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["MILES_PER_HOUR"] = 78] = "MILES_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_FEET"] = 79] = "CUBIC_FEET";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_METERS"] = 80] = "CUBIC_METERS";
EngineeringUnits2222[EngineeringUnits2222["IMPERIAL_GALLONS"] = 81] = "IMPERIAL_GALLONS";
EngineeringUnits2222[EngineeringUnits2222["MILLILITERS"] = 197] = "MILLILITERS";
EngineeringUnits2222[EngineeringUnits2222["LITERS"] = 82] = "LITERS";
EngineeringUnits2222[EngineeringUnits2222["US_GALLONS"] = 83] = "US_GALLONS";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_FEET_PER_SECOND"] = 142] = "CUBIC_FEET_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_FEET_PER_MINUTE"] = 84] = "CUBIC_FEET_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["MILLION_STANDARD_CUBIC_FEET_PER_MINUTE"] = 254] = "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_FEET_PER_HOUR"] = 191] = "CUBIC_FEET_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_FEET_PER_DAY"] = 248] = "CUBIC_FEET_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["STANDARD_CUBIC_FEET_PER_DAY"] = 47808] = "STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["MILLION_STANDARD_CUBIC_FEET_PER_DAY"] = 47809] = "MILLION_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["THOUSAND_CUBIC_FEET_PER_DAY"] = 47810] = "THOUSAND_CUBIC_FEET_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["THOUSAND_STANDARD_CUBIC_FEET_PER_DAY"] = 47811] = "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["POUNDS_MASS_PER_DAY"] = 47812] = "POUNDS_MASS_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_METERS_PER_SECOND"] = 85] = "CUBIC_METERS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_METERS_PER_MINUTE"] = 165] = "CUBIC_METERS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_METERS_PER_HOUR"] = 135] = "CUBIC_METERS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["CUBIC_METERS_PER_DAY"] = 249] = "CUBIC_METERS_PER_DAY";
EngineeringUnits2222[EngineeringUnits2222["IMPERIAL_GALLONS_PER_MINUTE"] = 86] = "IMPERIAL_GALLONS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["MILLILITERS_PER_SECOND"] = 198] = "MILLILITERS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["LITERS_PER_SECOND"] = 87] = "LITERS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["LITERS_PER_MINUTE"] = 88] = "LITERS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["LITERS_PER_HOUR"] = 136] = "LITERS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["US_GALLONS_PER_MINUTE"] = 89] = "US_GALLONS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["US_GALLONS_PER_HOUR"] = 192] = "US_GALLONS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_ANGULAR"] = 90] = "DEGREES_ANGULAR";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_CELSIUS_PER_HOUR"] = 91] = "DEGREES_CELSIUS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_CELSIUS_PER_MINUTE"] = 92] = "DEGREES_CELSIUS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_FAHRENHEIT_PER_HOUR"] = 93] = "DEGREES_FAHRENHEIT_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["DEGREES_FAHRENHEIT_PER_MINUTE"] = 94] = "DEGREES_FAHRENHEIT_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["JOULE_SECONDS"] = 183] = "JOULE_SECONDS";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS_PER_CUBIC_METER"] = 186] = "KILOGRAMS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["KILOWATT_HOURS_PER_SQUARE_METER"] = 137] = "KILOWATT_HOURS_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["KILOWATT_HOURS_PER_SQUARE_FOOT"] = 138] = "KILOWATT_HOURS_PER_SQUARE_FOOT";
EngineeringUnits2222[EngineeringUnits2222["WATT_HOURS_PER_CUBIC_METER"] = 250] = "WATT_HOURS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["JOULES_PER_CUBIC_METER"] = 251] = "JOULES_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["MEGAJOULES_PER_SQUARE_METER"] = 139] = "MEGAJOULES_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["MEGAJOULES_PER_SQUARE_FOOT"] = 140] = "MEGAJOULES_PER_SQUARE_FOOT";
EngineeringUnits2222[EngineeringUnits2222["MOLE_PERCENT"] = 252] = "MOLE_PERCENT";
EngineeringUnits2222[EngineeringUnits2222["NO_UNITS"] = 95] = "NO_UNITS";
EngineeringUnits2222[EngineeringUnits2222["NEWTON_SECONDS"] = 187] = "NEWTON_SECONDS";
EngineeringUnits2222[EngineeringUnits2222["NEWTONS_PER_METER"] = 188] = "NEWTONS_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["PARTS_PER_MILLION"] = 96] = "PARTS_PER_MILLION";
EngineeringUnits2222[EngineeringUnits2222["PARTS_PER_BILLION"] = 97] = "PARTS_PER_BILLION";
EngineeringUnits2222[EngineeringUnits2222["PASCAL_SECONDS"] = 253] = "PASCAL_SECONDS";
EngineeringUnits2222[EngineeringUnits2222["PERCENT"] = 98] = "PERCENT";
EngineeringUnits2222[EngineeringUnits2222["PERCENT_OBSCURATION_PER_FOOT"] = 143] = "PERCENT_OBSCURATION_PER_FOOT";
EngineeringUnits2222[EngineeringUnits2222["PERCENT_OBSCURATION_PER_METER"] = 144] = "PERCENT_OBSCURATION_PER_METER";
EngineeringUnits2222[EngineeringUnits2222["PERCENT_PER_SECOND"] = 99] = "PERCENT_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["PER_MINUTE"] = 100] = "PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["PER_SECOND"] = 101] = "PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["PSI_PER_DEGREE_FAHRENHEIT"] = 102] = "PSI_PER_DEGREE_FAHRENHEIT";
EngineeringUnits2222[EngineeringUnits2222["RADIANS"] = 103] = "RADIANS";
EngineeringUnits2222[EngineeringUnits2222["RADIANS_PER_SECOND"] = 184] = "RADIANS_PER_SECOND";
EngineeringUnits2222[EngineeringUnits2222["REVOLUTIONS_PER_MINUTE"] = 104] = "REVOLUTIONS_PER_MINUTE";
EngineeringUnits2222[EngineeringUnits2222["SQUARE_METERS_PER_NEWTON"] = 185] = "SQUARE_METERS_PER_NEWTON";
EngineeringUnits2222[EngineeringUnits2222["WATTS_PER_METER_PER_DEGREE_KELVIN"] = 189] = "WATTS_PER_METER_PER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["WATTS_PER_SQUARE_METER_DEGREE_KELVIN"] = 141] = "WATTS_PER_SQUARE_METER_DEGREE_KELVIN";
EngineeringUnits2222[EngineeringUnits2222["PER_MILLE"] = 207] = "PER_MILLE";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_GRAM"] = 208] = "GRAMS_PER_GRAM";
EngineeringUnits2222[EngineeringUnits2222["KILOGRAMS_PER_KILOGRAM"] = 209] = "KILOGRAMS_PER_KILOGRAM";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_KILOGRAM"] = 210] = "GRAMS_PER_KILOGRAM";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAMS_PER_GRAM"] = 211] = "MILLIGRAMS_PER_GRAM";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAMS_PER_KILOGRAM"] = 212] = "MILLIGRAMS_PER_KILOGRAM";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_MILLILITER"] = 213] = "GRAMS_PER_MILLILITER";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_LITER"] = 214] = "GRAMS_PER_LITER";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAMS_PER_LITER"] = 215] = "MILLIGRAMS_PER_LITER";
EngineeringUnits2222[EngineeringUnits2222["MICROGRAMS_PER_LITER"] = 216] = "MICROGRAMS_PER_LITER";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_CUBIC_METER"] = 217] = "GRAMS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAMS_PER_CUBIC_METER"] = 218] = "MILLIGRAMS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["MICROGRAMS_PER_CUBIC_METER"] = 219] = "MICROGRAMS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["NANOGRAMS_PER_CUBIC_METER"] = 220] = "NANOGRAMS_PER_CUBIC_METER";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_CUBIC_CENTIMETER"] = 221] = "GRAMS_PER_CUBIC_CENTIMETER";
EngineeringUnits2222[EngineeringUnits2222["BECQUERELS"] = 222] = "BECQUERELS";
EngineeringUnits2222[EngineeringUnits2222["KILOBECQUERELS"] = 223] = "KILOBECQUERELS";
EngineeringUnits2222[EngineeringUnits2222["MEGABECQUERELS"] = 224] = "MEGABECQUERELS";
EngineeringUnits2222[EngineeringUnits2222["GRAY"] = 225] = "GRAY";
EngineeringUnits2222[EngineeringUnits2222["MILLIGRAY"] = 226] = "MILLIGRAY";
EngineeringUnits2222[EngineeringUnits2222["MICROGRAY"] = 227] = "MICROGRAY";
EngineeringUnits2222[EngineeringUnits2222["SIEVERTS"] = 228] = "SIEVERTS";
EngineeringUnits2222[EngineeringUnits2222["MILLISIEVERTS"] = 229] = "MILLISIEVERTS";
EngineeringUnits2222[EngineeringUnits2222["MICROSIEVERTS"] = 230] = "MICROSIEVERTS";
EngineeringUnits2222[EngineeringUnits2222["MICROSIEVERTS_PER_HOUR"] = 231] = "MICROSIEVERTS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["MILLIREMS"] = 47814] = "MILLIREMS";
EngineeringUnits2222[EngineeringUnits2222["MILLIREMS_PER_HOUR"] = 47815] = "MILLIREMS_PER_HOUR";
EngineeringUnits2222[EngineeringUnits2222["DECIBELS_A"] = 232] = "DECIBELS_A";
EngineeringUnits2222[EngineeringUnits2222["NEPHELOMETRIC_TURBIDITY_UNIT"] = 233] = "NEPHELOMETRIC_TURBIDITY_UNIT";
EngineeringUnits2222[EngineeringUnits2222["PH"] = 234] = "PH";
EngineeringUnits2222[EngineeringUnits2222["GRAMS_PER_SQUARE_METER"] = 235] = "GRAMS_PER_SQUARE_METER";
EngineeringUnits2222[EngineeringUnits2222["MINUTES_PER_DEGREE_KELVIN"] = 236] = "MINUTES_PER_DEGREE_KELVIN";
return EngineeringUnits2222;
})(EngineeringUnits222 || {});
var EscalatorFault222 = /* @__PURE__ */ ((EscalatorFault2222) => {
EscalatorFault2222[EscalatorFault2222["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
EscalatorFault2222[EscalatorFault2222["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
EscalatorFault2222[EscalatorFault2222["MECHANICAL_COMPONENT_FAULT"] = 2] = "MECHANICAL_COMPONENT_FAULT";
EscalatorFault2222[EscalatorFault2222["OVERSPEED_FAULT"] = 3] = "OVERSPEED_FAULT";
EscalatorFault2222[EscalatorFault2222["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
EscalatorFault2222[EscalatorFault2222["SAFETY_DEVICE_FAULT"] = 5] = "SAFETY_DEVICE_FAULT";
EscalatorFault2222[EscalatorFault2222["CONTROLLER_SUPPLY_FAULT"] = 6] = "CONTROLLER_SUPPLY_FAULT";
EscalatorFault2222[EscalatorFault2222["DRIVE_TEMPERATURE_EXCEEDED"] = 7] = "DRIVE_TEMPERATURE_EXCEEDED";
EscalatorFault2222[EscalatorFault2222["COMB_PLATE_FAULT"] = 8] = "COMB_PLATE_FAULT";
return EscalatorFault2222;
})(EscalatorFault222 || {});
var EscalatorMode222 = /* @__PURE__ */ ((EscalatorMode2222) => {
EscalatorMode2222[EscalatorMode2222["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorMode2222[EscalatorMode2222["STOP"] = 1] = "STOP";
EscalatorMode2222[EscalatorMode2222["UP"] = 2] = "UP";
EscalatorMode2222[EscalatorMode2222["DOWN"] = 3] = "DOWN";
EscalatorMode2222[EscalatorMode2222["INSPECTION"] = 4] = "INSPECTION";
EscalatorMode2222[EscalatorMode2222["OUT_OF_SERVICE"] = 5] = "OUT_OF_SERVICE";
return EscalatorMode2222;
})(EscalatorMode222 || {});
var EscalatorOperationDirection222 = /* @__PURE__ */ ((EscalatorOperationDirection2222) => {
EscalatorOperationDirection2222[EscalatorOperationDirection2222["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorOperationDirection2222[EscalatorOperationDirection2222["STOPPED"] = 1] = "STOPPED";
EscalatorOperationDirection2222[EscalatorOperationDirection2222["UP_RATED_SPEED"] = 2] = "UP_RATED_SPEED";
EscalatorOperationDirection2222[EscalatorOperationDirection2222["UP_REDUCED_SPEED"] = 3] = "UP_REDUCED_SPEED";
EscalatorOperationDirection2222[EscalatorOperationDirection2222["DOWN_RATED_SPEED"] = 4] = "DOWN_RATED_SPEED";
EscalatorOperationDirection2222[EscalatorOperationDirection2222["DOWN_REDUCED_SPEED"] = 5] = "DOWN_REDUCED_SPEED";
return EscalatorOperationDirection2222;
})(EscalatorOperationDirection222 || {});
var EventState222 = /* @__PURE__ */ ((EventState2222) => {
EventState2222[EventState2222["NORMAL"] = 0] = "NORMAL";
EventState2222[EventState2222["FAULT"] = 1] = "FAULT";
EventState2222[EventState2222["OFFNORMAL"] = 2] = "OFFNORMAL";
EventState2222[EventState2222["HIGH_LIMIT"] = 3] = "HIGH_LIMIT";
EventState2222[EventState2222["LOW_LIMIT"] = 4] = "LOW_LIMIT";
EventState2222[EventState2222["LIFE_SAFETY_ALARM"] = 5] = "LIFE_SAFETY_ALARM";
return EventState2222;
})(EventState222 || {});
var EventType222 = /* @__PURE__ */ ((EventType2222) => {
EventType2222[EventType2222["CHANGE_OF_BITSTRING"] = 0] = "CHANGE_OF_BITSTRING";
EventType2222[EventType2222["CHANGE_OF_STATE"] = 1] = "CHANGE_OF_STATE";
EventType2222[EventType2222["CHANGE_OF_VALUE"] = 2] = "CHANGE_OF_VALUE";
EventType2222[EventType2222["COMMAND_FAILURE"] = 3] = "COMMAND_FAILURE";
EventType2222[EventType2222["FLOATING_LIMIT"] = 4] = "FLOATING_LIMIT";
EventType2222[EventType2222["OUT_OF_RANGE"] = 5] = "OUT_OF_RANGE";
EventType2222[EventType2222["COMPLEX_EVENT_TYPE"] = 6] = "COMPLEX_EVENT_TYPE";
EventType2222[EventType2222["CHANGE_OF_LIFE_SAFETY"] = 8] = "CHANGE_OF_LIFE_SAFETY";
EventType2222[EventType2222["EXTENDED"] = 9] = "EXTENDED";
EventType2222[EventType2222["BUFFER_READY"] = 10] = "BUFFER_READY";
EventType2222[EventType2222["UNSIGNED_RANGE"] = 11] = "UNSIGNED_RANGE";
EventType2222[EventType2222["ACCESS_EVENT"] = 13] = "ACCESS_EVENT";
EventType2222[EventType2222["DOUBLE_OUT_OF_RANGE"] = 14] = "DOUBLE_OUT_OF_RANGE";
EventType2222[EventType2222["SIGNED_OUT_OF_RANGE"] = 15] = "SIGNED_OUT_OF_RANGE";
EventType2222[EventType2222["UNSIGNED_OUT_OF_RANGE"] = 16] = "UNSIGNED_OUT_OF_RANGE";
EventType2222[EventType2222["CHANGE_OF_CHARACTERSTRING"] = 17] = "CHANGE_OF_CHARACTERSTRING";
EventType2222[EventType2222["CHANGE_OF_STATUS_FLAGS"] = 18] = "CHANGE_OF_STATUS_FLAGS";
EventType2222[EventType2222["CHANGE_OF_RELIABILITY"] = 19] = "CHANGE_OF_RELIABILITY";
EventType2222[EventType2222["NONE"] = 20] = "NONE";
EventType2222[EventType2222["CHANGE_OF_DISCRETE_VALUE"] = 21] = "CHANGE_OF_DISCRETE_VALUE";
EventType2222[EventType2222["CHANGE_OF_TIMER"] = 22] = "CHANGE_OF_TIMER";
return EventType2222;
})(EventType222 || {});
var FaultType222 = /* @__PURE__ */ ((FaultType2222) => {
FaultType2222[FaultType2222["NONE"] = 0] = "NONE";
FaultType2222[FaultType2222["FAULT_CHARACTERSTRING"] = 1] = "FAULT_CHARACTERSTRING";
FaultType2222[FaultType2222["FAULT_EXTENDED"] = 2] = "FAULT_EXTENDED";
FaultType2222[FaultType2222["FAULT_LIFE_SAFETY"] = 3] = "FAULT_LIFE_SAFETY";
FaultType2222[FaultType2222["FAULT_STATE"] = 4] = "FAULT_STATE";
FaultType2222[FaultType2222["FAULT_STATUS_FLAGS"] = 5] = "FAULT_STATUS_FLAGS";
FaultType2222[FaultType2222["FAULT_OUT_OF_RANGE"] = 6] = "FAULT_OUT_OF_RANGE";
FaultType2222[FaultType2222["FAULT_LISTED"] = 7] = "FAULT_LISTED";
return FaultType2222;
})(FaultType222 || {});
var FileAccessMethod222 = /* @__PURE__ */ ((FileAccessMethod2222) => {
FileAccessMethod2222[FileAccessMethod2222["RECORD_ACCESS"] = 0] = "RECORD_ACCESS";
FileAccessMethod2222[FileAccessMethod2222["STREAM_ACCESS"] = 1] = "STREAM_ACCESS";
return FileAccessMethod2222;
})(FileAccessMethod222 || {});
var IPMode222 = /* @__PURE__ */ ((IPMode2222) => {
IPMode2222[IPMode2222["NORMAL"] = 0] = "NORMAL";
IPMode2222[IPMode2222["FOREIGN"] = 1] = "FOREIGN";
IPMode2222[IPMode2222["BBMD"] = 2] = "BBMD";
return IPMode2222;
})(IPMode222 || {});
var LifeSafetyMode222 = /* @__PURE__ */ ((LifeSafetyMode2222) => {
LifeSafetyMode2222[LifeSafetyMode2222["OFF"] = 0] = "OFF";
LifeSafetyMode2222[LifeSafetyMode2222["ON"] = 1] = "ON";
LifeSafetyMode2222[LifeSafetyMode2222["TEST"] = 2] = "TEST";
LifeSafetyMode2222[LifeSafetyMode2222["MANNED"] = 3] = "MANNED";
LifeSafetyMode2222[LifeSafetyMode2222["UNMANNED"] = 4] = "UNMANNED";
LifeSafetyMode2222[LifeSafetyMode2222["ARMED"] = 5] = "ARMED";
LifeSafetyMode2222[LifeSafetyMode2222["DISARMED"] = 6] = "DISARMED";
LifeSafetyMode2222[LifeSafetyMode2222["PREARMED"] = 7] = "PREARMED";
LifeSafetyMode2222[LifeSafetyMode2222["SLOW"] = 8] = "SLOW";
LifeSafetyMode2222[LifeSafetyMode2222["FAST"] = 9] = "FAST";
LifeSafetyMode2222[LifeSafetyMode2222["DISCONNECTED"] = 10] = "DISCONNECTED";
LifeSafetyMode2222[LifeSafetyMode2222["ENABLED"] = 11] = "ENABLED";
LifeSafetyMode2222[LifeSafetyMode2222["DISABLED"] = 12] = "DISABLED";
LifeSafetyMode2222[LifeSafetyMode2222["AUTOMATIC_RELEASE_DISABLED"] = 13] = "AUTOMATIC_RELEASE_DISABLED";
LifeSafetyMode2222[LifeSafetyMode2222["DEFAULT"] = 14] = "DEFAULT";
return LifeSafetyMode2222;
})(LifeSafetyMode222 || {});
var LifeSafetyOperation222 = /* @__PURE__ */ ((LifeSafetyOperation2222) => {
LifeSafetyOperation2222[LifeSafetyOperation2222["NONE"] = 0] = "NONE";
LifeSafetyOperation2222[LifeSafetyOperation2222["SILENCE"] = 1] = "SILENCE";
LifeSafetyOperation2222[LifeSafetyOperation2222["SILENCE_AUDIBLE"] = 2] = "SILENCE_AUDIBLE";
LifeSafetyOperation2222[LifeSafetyOperation2222["SILENCE_VISUAL"] = 3] = "SILENCE_VISUAL";
LifeSafetyOperation2222[LifeSafetyOperation2222["RESET"] = 4] = "RESET";
LifeSafetyOperation2222[LifeSafetyOperation2222["RESET_ALARM"] = 5] = "RESET_ALARM";
LifeSafetyOperation2222[LifeSafetyOperation2222["RESET_FAULT"] = 6] = "RESET_FAULT";
LifeSafetyOperation2222[LifeSafetyOperation2222["UNSILENCE"] = 7] = "UNSILENCE";
LifeSafetyOperation2222[LifeSafetyOperation2222["UNSILENCE_AUDIBLE"] = 8] = "UNSILENCE_AUDIBLE";
LifeSafetyOperation2222[LifeSafetyOperation2222["UNSILENCE_VISUAL"] = 9] = "UNSILENCE_VISUAL";
return LifeSafetyOperation2222;
})(LifeSafetyOperation222 || {});
var LifeSafetyState222 = /* @__PURE__ */ ((LifeSafetyState2222) => {
LifeSafetyState2222[LifeSafetyState2222["QUIET"] = 0] = "QUIET";
LifeSafetyState2222[LifeSafetyState2222["PRE_ALARM"] = 1] = "PRE_ALARM";
LifeSafetyState2222[LifeSafetyState2222["ALARM"] = 2] = "ALARM";
LifeSafetyState2222[LifeSafetyState2222["FAULT"] = 3] = "FAULT";
LifeSafetyState2222[LifeSafetyState2222["FAULT_PRE_ALARM"] = 4] = "FAULT_PRE_ALARM";
LifeSafetyState2222[LifeSafetyState2222["FAULT_ALARM"] = 5] = "FAULT_ALARM";
LifeSafetyState2222[LifeSafetyState2222["NOT_READY"] = 6] = "NOT_READY";
LifeSafetyState2222[LifeSafetyState2222["ACTIVE"] = 7] = "ACTIVE";
LifeSafetyState2222[LifeSafetyState2222["TAMPER"] = 8] = "TAMPER";
LifeSafetyState2222[LifeSafetyState2222["TEST_ALARM"] = 9] = "TEST_ALARM";
LifeSafetyState2222[LifeSafetyState2222["TEST_ACTIVE"] = 10] = "TEST_ACTIVE";
LifeSafetyState2222[LifeSafetyState2222["TEST_FAULT"] = 11] = "TEST_FAULT";
LifeSafetyState2222[LifeSafetyState2222["TEST_FAULT_ALARM"] = 12] = "TEST_FAULT_ALARM";
LifeSafetyState2222[LifeSafetyState2222["HOLDUP"] = 13] = "HOLDUP";
LifeSafetyState2222[LifeSafetyState2222["DURESS"] = 14] = "DURESS";
LifeSafetyState2222[LifeSafetyState2222["TAMPER_ALARM"] = 15] = "TAMPER_ALARM";
LifeSafetyState2222[LifeSafetyState2222["ABNORMAL"] = 16] = "ABNORMAL";
LifeSafetyState2222[LifeSafetyState2222["EMERGENCY_POWER"] = 17] = "EMERGENCY_POWER";
LifeSafetyState2222[LifeSafetyState2222["DELAYED"] = 18] = "DELAYED";
LifeSafetyState2222[LifeSafetyState2222["BLOCKED"] = 19] = "BLOCKED";
LifeSafetyState2222[LifeSafetyState2222["LOCAL_ALARM"] = 20] = "LOCAL_ALARM";
LifeSafetyState2222[LifeSafetyState2222["GENERAL_ALARM"] = 21] = "GENERAL_ALARM";
LifeSafetyState2222[LifeSafetyState2222["SUPERVISORY"] = 22] = "SUPERVISORY";
LifeSafetyState2222[LifeSafetyState2222["TEST_SUPERVISORY"] = 23] = "TEST_SUPERVISORY";
return LifeSafetyState2222;
})(LifeSafetyState222 || {});
var LiftCarDirection222 = /* @__PURE__ */ ((LiftCarDirection2222) => {
LiftCarDirection2222[LiftCarDirection2222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDirection2222[LiftCarDirection2222["NONE"] = 1] = "NONE";
LiftCarDirection2222[LiftCarDirection2222["STOPPED"] = 2] = "STOPPED";
LiftCarDirection2222[LiftCarDirection2222["UP"] = 3] = "UP";
LiftCarDirection2222[LiftCarDirection2222["DOWN"] = 4] = "DOWN";
LiftCarDirection2222[LiftCarDirection2222["UP_AND_DOWN"] = 5] = "UP_AND_DOWN";
return LiftCarDirection2222;
})(LiftCarDirection222 || {});
var LiftCarDoorCommand222 = /* @__PURE__ */ ((LiftCarDoorCommand2222) => {
LiftCarDoorCommand2222[LiftCarDoorCommand2222["NONE"] = 0] = "NONE";
LiftCarDoorCommand2222[LiftCarDoorCommand2222["OPEN"] = 1] = "OPEN";
LiftCarDoorCommand2222[LiftCarDoorCommand2222["CLOSE"] = 2] = "CLOSE";
return LiftCarDoorCommand2222;
})(LiftCarDoorCommand222 || {});
var LiftCarDriveStatus222 = /* @__PURE__ */ ((LiftCarDriveStatus2222) => {
LiftCarDriveStatus2222[LiftCarDriveStatus2222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["STATIONARY"] = 1] = "STATIONARY";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["BRAKING"] = 2] = "BRAKING";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["ACCELERATE"] = 3] = "ACCELERATE";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["DECELERATE"] = 4] = "DECELERATE";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["RATED_SPEED"] = 5] = "RATED_SPEED";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["SINGLE_FLOOR_JUMP"] = 6] = "SINGLE_FLOOR_JUMP";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["TWO_FLOOR_JUMP"] = 7] = "TWO_FLOOR_JUMP";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["THREE_FLOOR_JUMP"] = 8] = "THREE_FLOOR_JUMP";
LiftCarDriveStatus2222[LiftCarDriveStatus2222["MULTI_FLOOR_JUMP"] = 9] = "MULTI_FLOOR_JUMP";
return LiftCarDriveStatus2222;
})(LiftCarDriveStatus222 || {});
var LiftCarMode222 = /* @__PURE__ */ ((LiftCarMode2222) => {
LiftCarMode2222[LiftCarMode2222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarMode2222[LiftCarMode2222["NORMAL"] = 1] = "NORMAL";
LiftCarMode2222[LiftCarMode2222["VIP"] = 2] = "VIP";
LiftCarMode2222[LiftCarMode2222["HOMING"] = 3] = "HOMING";
LiftCarMode2222[LiftCarMode2222["PARKING"] = 4] = "PARKING";
LiftCarMode2222[LiftCarMode2222["ATTENDANT_CONTROL"] = 5] = "ATTENDANT_CONTROL";
LiftCarMode2222[LiftCarMode2222["FIREFIGHTER_CONTROL"] = 6] = "FIREFIGHTER_CONTROL";
LiftCarMode2222[LiftCarMode2222["EMERGENCY_POWER"] = 7] = "EMERGENCY_POWER";
LiftCarMode2222[LiftCarMode2222["INSPECTION"] = 8] = "INSPECTION";
LiftCarMode2222[LiftCarMode2222["CABINET_RECALL"] = 9] = "CABINET_RECALL";
LiftCarMode2222[LiftCarMode2222["EARTHQUAKE_OPERATION"] = 10] = "EARTHQUAKE_OPERATION";
LiftCarMode2222[LiftCarMode2222["FIRE_OPERATION"] = 11] = "FIRE_OPERATION";
LiftCarMode2222[LiftCarMode2222["OUT_OF_SERVICE"] = 12] = "OUT_OF_SERVICE";
LiftCarMode2222[LiftCarMode2222["OCCUPANT_EVACUATION"] = 13] = "OCCUPANT_EVACUATION";
return LiftCarMode2222;
})(LiftCarMode222 || {});
var LiftFault222 = /* @__PURE__ */ ((LiftFault2222) => {
LiftFault2222[LiftFault2222["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
LiftFault2222[LiftFault2222["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
LiftFault2222[LiftFault2222["GOVERNOR_AND_SAFETY_GEAR_FAULT"] = 2] = "GOVERNOR_AND_SAFETY_GEAR_FAULT";
LiftFault2222[LiftFault2222["LIFT_SHAFT_DEVICE_FAULT"] = 3] = "LIFT_SHAFT_DEVICE_FAULT";
LiftFault2222[LiftFault2222["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
LiftFault2222[LiftFault2222["SAFETY_INTERLOCK_FAULT"] = 5] = "SAFETY_INTERLOCK_FAULT";
LiftFault2222[LiftFault2222["DOOR_CLOSING_FAULT"] = 6] = "DOOR_CLOSING_FAULT";
LiftFault2222[LiftFault2222["DOOR_OPENING_FAULT"] = 7] = "DOOR_OPENING_FAULT";
LiftFault2222[LiftFault2222["CAR_STOPPED_OUTSIDE_LANDING_ZONE"] = 8] = "CAR_STOPPED_OUTSIDE_LANDING_ZONE";
LiftFault2222[LiftFault2222["CALL_BUTTON_STUCK"] = 9] = "CALL_BUTTON_STUCK";
LiftFault2222[LiftFault2222["START_FAILURE"] = 10] = "START_FAILURE";
LiftFault2222[LiftFault2222["CONTROLLER_SUPPLY_FAULT"] = 11] = "CONTROLLER_SUPPLY_FAULT";
LiftFault2222[LiftFault2222["SELF_TEST_FAILURE"] = 12] = "SELF_TEST_FAILURE";
LiftFault2222[LiftFault2222["RUNTIME_LIMIT_EXCEEDED"] = 13] = "RUNTIME_LIMIT_EXCEEDED";
LiftFault2222[LiftFault2222["POSITION_LOST"] = 14] = "POSITION_LOST";
LiftFault2222[LiftFault2222["DRIVE_TEMPERATURE_EXCEEDED"] = 15] = "DRIVE_TEMPERATURE_EXCEEDED";
LiftFault2222[LiftFault2222["LOAD_MEASUREMENT_FAULT"] = 16] = "LOAD_MEASUREMENT_FAULT";
return LiftFault2222;
})(LiftFault222 || {});
var LiftGroupMode222 = /* @__PURE__ */ ((LiftGroupMode2222) => {
LiftGroupMode2222[LiftGroupMode2222["UNKNOWN"] = 0] = "UNKNOWN";
LiftGroupMode2222[LiftGroupMode2222["NORMAL"] = 1] = "NORMAL";
LiftGroupMode2222[LiftGroupMode2222["DOWN_PEAK"] = 2] = "DOWN_PEAK";
LiftGroupMode2222[LiftGroupMode2222["TWO_WAY"] = 3] = "TWO_WAY";
LiftGroupMode2222[LiftGroupMode2222["FOUR_WAY"] = 4] = "FOUR_WAY";
LiftGroupMode2222[LiftGroupMode2222["EMERGENCY_POWER"] = 5] = "EMERGENCY_POWER";
LiftGroupMode2222[LiftGroupMode2222["UP_PEAK"] = 6] = "UP_PEAK";
return LiftGroupMode2222;
})(LiftGroupMode222 || {});
var LightingInProgress222 = /* @__PURE__ */ ((LightingInProgress2222) => {
LightingInProgress2222[LightingInProgress2222["IDLE"] = 0] = "IDLE";
LightingInProgress2222[LightingInProgress2222["FADE_ACTIVE"] = 1] = "FADE_ACTIVE";
LightingInProgress2222[LightingInProgress2222["RAMP_ACTIVE"] = 2] = "RAMP_ACTIVE";
LightingInProgress2222[LightingInProgress2222["NOT_CONTROLLED"] = 3] = "NOT_CONTROLLED";
LightingInProgress2222[LightingInProgress2222["OTHER"] = 4] = "OTHER";
return LightingInProgress2222;
})(LightingInProgress222 || {});
var LightingOperation222 = /* @__PURE__ */ ((LightingOperation2222) => {
LightingOperation2222[LightingOperation2222["NONE"] = 0] = "NONE";
LightingOperation2222[LightingOperation2222["FADE_TO"] = 1] = "FADE_TO";
LightingOperation2222[LightingOperation2222["RAMP_TO"] = 2] = "RAMP_TO";
LightingOperation2222[LightingOperation2222["STEP_UP"] = 3] = "STEP_UP";
LightingOperation2222[LightingOperation2222["STEP_DOWN"] = 4] = "STEP_DOWN";
LightingOperation2222[LightingOperation2222["STEP_ON"] = 5] = "STEP_ON";
LightingOperation2222[LightingOperation2222["STEP_OFF"] = 6] = "STEP_OFF";
LightingOperation2222[LightingOperation2222["WARN"] = 7] = "WARN";
LightingOperation2222[LightingOperation2222["WARN_OFF"] = 8] = "WARN_OFF";
LightingOperation2222[LightingOperation2222["WARN_RELINQUISH"] = 9] = "WARN_RELINQUISH";
LightingOperation2222[LightingOperation2222["STOP"] = 10] = "STOP";
return LightingOperation2222;
})(LightingOperation222 || {});
var LightingTransition222 = /* @__PURE__ */ ((LightingTransition2222) => {
LightingTransition2222[LightingTransition2222["NONE"] = 0] = "NONE";
LightingTransition2222[LightingTransition2222["FADE"] = 1] = "FADE";
LightingTransition2222[LightingTransition2222["RAMP"] = 2] = "RAMP";
return LightingTransition2222;
})(LightingTransition222 || {});
var LockStatus222 = /* @__PURE__ */ ((LockStatus2222) => {
LockStatus2222[LockStatus2222["LOCKED"] = 0] = "LOCKED";
LockStatus2222[LockStatus2222["UNLOCKED"] = 1] = "UNLOCKED";
LockStatus2222[LockStatus2222["LOCK_FAULT"] = 2] = "LOCK_FAULT";
LockStatus2222[LockStatus2222["UNUSED"] = 3] = "UNUSED";
LockStatus2222[LockStatus2222["UNKNOWN"] = 4] = "UNKNOWN";
return LockStatus2222;
})(LockStatus222 || {});
var LoggingType222 = /* @__PURE__ */ ((LoggingType2222) => {
LoggingType2222[LoggingType2222["POLLED"] = 0] = "POLLED";
LoggingType2222[LoggingType2222["COV"] = 1] = "COV";
LoggingType2222[LoggingType2222["TRIGGERED"] = 2] = "TRIGGERED";
return LoggingType2222;
})(LoggingType222 || {});
var Maintenance222 = /* @__PURE__ */ ((Maintenance2222) => {
Maintenance2222[Maintenance2222["NONE"] = 0] = "NONE";
Maintenance2222[Maintenance2222["PERIODIC_TEST"] = 1] = "PERIODIC_TEST";
Maintenance2222[Maintenance2222["NEED_SERVICE_OPERATIONAL"] = 2] = "NEED_SERVICE_OPERATIONAL";
Maintenance2222[Maintenance2222["NEED_SERVICE_INOPERATIVE"] = 3] = "NEED_SERVICE_INOPERATIVE";
return Maintenance2222;
})(Maintenance222 || {});
var NetworkNumberQuality222 = /* @__PURE__ */ ((NetworkNumberQuality2222) => {
NetworkNumberQuality2222[NetworkNumberQuality2222["UNKNOWN"] = 0] = "UNKNOWN";
NetworkNumberQuality2222[NetworkNumberQuality2222["LEARNED"] = 1] = "LEARNED";
NetworkNumberQuality2222[NetworkNumberQuality2222["LEARNED_CONFIGURED"] = 2] = "LEARNED_CONFIGURED";
NetworkNumberQuality2222[NetworkNumberQuality2222["CONFIGURED"] = 3] = "CONFIGURED";
return NetworkNumberQuality2222;
})(NetworkNumberQuality222 || {});
var NetworkPortCommand222 = /* @__PURE__ */ ((NetworkPortCommand2222) => {
NetworkPortCommand2222[NetworkPortCommand2222["IDLE"] = 0] = "IDLE";
NetworkPortCommand2222[NetworkPortCommand2222["DISCARD_CHANGES"] = 1] = "DISCARD_CHANGES";
NetworkPortCommand2222[NetworkPortCommand2222["RENEW_FD_REGISTRATION"] = 2] = "RENEW_FD_REGISTRATION";
NetworkPortCommand2222[NetworkPortCommand2222["RESTART_SLAVE_DISCOVERY"] = 3] = "RESTART_SLAVE_DISCOVERY";
NetworkPortCommand2222[NetworkPortCommand2222["RENEW_DHCP"] = 4] = "RENEW_DHCP";
NetworkPortCommand2222[NetworkPortCommand2222["RESTART_AUTONEGOTIATION"] = 5] = "RESTART_AUTONEGOTIATION";
NetworkPortCommand2222[NetworkPortCommand2222["DISCONNECT"] = 6] = "DISCONNECT";
NetworkPortCommand2222[NetworkPortCommand2222["RESTART_PORT"] = 7] = "RESTART_PORT";
return NetworkPortCommand2222;
})(NetworkPortCommand222 || {});
var NetworkType222 = /* @__PURE__ */ ((NetworkType2222) => {
NetworkType2222[NetworkType2222["ETHERNET"] = 0] = "ETHERNET";
NetworkType2222[NetworkType2222["ARCNET"] = 1] = "ARCNET";
NetworkType2222[NetworkType2222["MSTP"] = 2] = "MSTP";
NetworkType2222[NetworkType2222["PTP"] = 3] = "PTP";
NetworkType2222[NetworkType2222["LONTALK"] = 4] = "LONTALK";
NetworkType2222[NetworkType2222["IPV4"] = 5] = "IPV4";
NetworkType2222[NetworkType2222["ZIGBEE"] = 6] = "ZIGBEE";
NetworkType2222[NetworkType2222["VIRTUAL"] = 7] = "VIRTUAL";
NetworkType2222[NetworkType2222["IPV6"] = 9] = "IPV6";
NetworkType2222[NetworkType2222["SERIAL"] = 10] = "SERIAL";
return NetworkType2222;
})(NetworkType222 || {});
var NodeType222 = /* @__PURE__ */ ((NodeType2222) => {
NodeType2222[NodeType2222["UNKNOWN"] = 0] = "UNKNOWN";
NodeType2222[NodeType2222["SYSTEM"] = 1] = "SYSTEM";
NodeType2222[NodeType2222["NETWORK"] = 2] = "NETWORK";
NodeType2222[NodeType2222["DEVICE"] = 3] = "DEVICE";
NodeType2222[NodeType2222["ORGANIZATIONAL"] = 4] = "ORGANIZATIONAL";
NodeType2222[NodeType2222["AREA"] = 5] = "AREA";
NodeType2222[NodeType2222["EQUIPMENT"] = 6] = "EQUIPMENT";
NodeType2222[NodeType2222["POINT"] = 7] = "POINT";
NodeType2222[NodeType2222["COLLECTION"] = 8] = "COLLECTION";
NodeType2222[NodeType2222["PROPERTY"] = 9] = "PROPERTY";
NodeType2222[NodeType2222["FUNCTIONAL"] = 10] = "FUNCTIONAL";
NodeType2222[NodeType2222["OTHER"] = 11] = "OTHER";
NodeType2222[NodeType2222["SUBSYSTEM"] = 12] = "SUBSYSTEM";
NodeType2222[NodeType2222["BUILDING"] = 13] = "BUILDING";
NodeType2222[NodeType2222["FLOOR"] = 14] = "FLOOR";
NodeType2222[NodeType2222["SECTION"] = 15] = "SECTION";
NodeType2222[NodeType2222["MODULE"] = 16] = "MODULE";
NodeType2222[NodeType2222["TREE"] = 17] = "TREE";
NodeType2222[NodeType2222["MEMBER"] = 18] = "MEMBER";
NodeType2222[NodeType2222["PROTOCOL"] = 19] = "PROTOCOL";
NodeType2222[NodeType2222["ROOM"] = 20] = "ROOM";
NodeType2222[NodeType2222["ZONE"] = 21] = "ZONE";
return NodeType2222;
})(NodeType222 || {});
var NotifyType222 = /* @__PURE__ */ ((NotifyType2222) => {
NotifyType2222[NotifyType2222["ALARM"] = 0] = "ALARM";
NotifyType2222[NotifyType2222["EVENT"] = 1] = "EVENT";
NotifyType2222[NotifyType2222["ACK_NOTIFICATION"] = 2] = "ACK_NOTIFICATION";
return NotifyType2222;
})(NotifyType222 || {});
var ObjectType222 = /* @__PURE__ */ ((ObjectType2222) => {
ObjectType2222[ObjectType2222["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectType2222[ObjectType2222["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectType2222[ObjectType2222["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectType2222[ObjectType2222["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectType2222[ObjectType2222["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectType2222[ObjectType2222["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectType2222[ObjectType2222["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectType2222[ObjectType2222["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectType2222[ObjectType2222["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectType2222[ObjectType2222["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectType2222[ObjectType2222["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectType2222[ObjectType2222["AVERAGING"] = 18] = "AVERAGING";
ObjectType2222[ObjectType2222["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectType2222[ObjectType2222["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectType2222[ObjectType2222["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectType2222[ObjectType2222["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectType2222[ObjectType2222["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectType2222[ObjectType2222["CALENDAR"] = 6] = "CALENDAR";
ObjectType2222[ObjectType2222["CHANNEL"] = 53] = "CHANNEL";
ObjectType2222[ObjectType2222["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectType2222[ObjectType2222["COMMAND"] = 7] = "COMMAND";
ObjectType2222[ObjectType2222["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectType2222[ObjectType2222["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectType2222[ObjectType2222["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectType2222[ObjectType2222["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectType2222[ObjectType2222["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectType2222[ObjectType2222["DEVICE"] = 8] = "DEVICE";
ObjectType2222[ObjectType2222["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectType2222[ObjectType2222["ESCALATOR"] = 58] = "ESCALATOR";
ObjectType2222[ObjectType2222["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectType2222[ObjectType2222["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectType2222[ObjectType2222["FILE"] = 10] = "FILE";
ObjectType2222[ObjectType2222["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectType2222[ObjectType2222["GROUP"] = 11] = "GROUP";
ObjectType2222[ObjectType2222["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectType2222[ObjectType2222["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectType2222[ObjectType2222["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectType2222[ObjectType2222["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectType2222[ObjectType2222["LIFT"] = 59] = "LIFT";
ObjectType2222[ObjectType2222["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectType2222[ObjectType2222["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectType2222[ObjectType2222["LOOP"] = 12] = "LOOP";
ObjectType2222[ObjectType2222["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectType2222[ObjectType2222["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectType2222[ObjectType2222["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectType2222[ObjectType2222["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectType2222[ObjectType2222["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectType2222[ObjectType2222["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectType2222[ObjectType2222["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectType2222[ObjectType2222["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectType2222[ObjectType2222["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectType2222[ObjectType2222["PROGRAM"] = 16] = "PROGRAM";
ObjectType2222[ObjectType2222["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectType2222[ObjectType2222["SCHEDULE"] = 17] = "SCHEDULE";
ObjectType2222[ObjectType2222["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectType2222[ObjectType2222["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectType2222[ObjectType2222["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectType2222[ObjectType2222["TIMER"] = 31] = "TIMER";
ObjectType2222[ObjectType2222["TREND_LOG"] = 20] = "TREND_LOG";
ObjectType2222[ObjectType2222["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
return ObjectType2222;
})(ObjectType222 || {});
var Polarity222 = /* @__PURE__ */ ((Polarity2222) => {
Polarity2222[Polarity2222["NORMAL"] = 0] = "NORMAL";
Polarity2222[Polarity2222["REVERSE"] = 1] = "REVERSE";
return Polarity2222;
})(Polarity222 || {});
var ProgramError222 = /* @__PURE__ */ ((ProgramError2222) => {
ProgramError2222[ProgramError2222["NORMAL"] = 0] = "NORMAL";
ProgramError2222[ProgramError2222["LOAD_FAILED"] = 1] = "LOAD_FAILED";
ProgramError2222[ProgramError2222["INTERNAL"] = 2] = "INTERNAL";
ProgramError2222[ProgramError2222["PROGRAM"] = 3] = "PROGRAM";
ProgramError2222[ProgramError2222["OTHER"] = 4] = "OTHER";
return ProgramError2222;
})(ProgramError222 || {});
var ProgramRequest222 = /* @__PURE__ */ ((ProgramRequest2222) => {
ProgramRequest2222[ProgramRequest2222["READY"] = 0] = "READY";
ProgramRequest2222[ProgramRequest2222["LOAD"] = 1] = "LOAD";
ProgramRequest2222[ProgramRequest2222["RUN"] = 2] = "RUN";
ProgramRequest2222[ProgramRequest2222["HALT"] = 3] = "HALT";
ProgramRequest2222[ProgramRequest2222["RESTART"] = 4] = "RESTART";
ProgramRequest2222[ProgramRequest2222["UNLOAD"] = 5] = "UNLOAD";
return ProgramRequest2222;
})(ProgramRequest222 || {});
var ProgramState222 = /* @__PURE__ */ ((ProgramState2222) => {
ProgramState2222[ProgramState2222["IDLE"] = 0] = "IDLE";
ProgramState2222[ProgramState2222["LOADING"] = 1] = "LOADING";
ProgramState2222[ProgramState2222["RUNNING"] = 2] = "RUNNING";
ProgramState2222[ProgramState2222["WAITING"] = 3] = "WAITING";
ProgramState2222[ProgramState2222["HALTED"] = 4] = "HALTED";
ProgramState2222[ProgramState2222["UNLOADING"] = 5] = "UNLOADING";
return ProgramState2222;
})(ProgramState222 || {});
var PropertyIdentifier222 = /* @__PURE__ */ ((PropertyIdentifier2222) => {
PropertyIdentifier2222[PropertyIdentifier2222["ABSENTEE_LIMIT"] = 244] = "ABSENTEE_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["ACCEPTED_MODES"] = 175] = "ACCEPTED_MODES";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_ALARM_EVENTS"] = 245] = "ACCESS_ALARM_EVENTS";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_DOORS"] = 246] = "ACCESS_DOORS";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_EVENT"] = 247] = "ACCESS_EVENT";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_EVENT_AUTHENTICATION_FACTOR"] = 248] = "ACCESS_EVENT_AUTHENTICATION_FACTOR";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_EVENT_CREDENTIAL"] = 249] = "ACCESS_EVENT_CREDENTIAL";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_EVENT_TAG"] = 322] = "ACCESS_EVENT_TAG";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_EVENT_TIME"] = 250] = "ACCESS_EVENT_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ACCESS_TRANSACTION_EVENTS"] = 251] = "ACCESS_TRANSACTION_EVENTS";
PropertyIdentifier2222[PropertyIdentifier2222["ACCOMPANIMENT"] = 252] = "ACCOMPANIMENT";
PropertyIdentifier2222[PropertyIdentifier2222["ACCOMPANIMENT_TIME"] = 253] = "ACCOMPANIMENT_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ACK_REQUIRED"] = 1] = "ACK_REQUIRED";
PropertyIdentifier2222[PropertyIdentifier2222["ACKED_TRANSITIONS"] = 0] = "ACKED_TRANSITIONS";
PropertyIdentifier2222[PropertyIdentifier2222["ACTION"] = 2] = "ACTION";
PropertyIdentifier2222[PropertyIdentifier2222["ACTION_TEXT"] = 3] = "ACTION_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVATION_TIME"] = 254] = "ACTIVATION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVE_AUTHENTICATION_POLICY"] = 255] = "ACTIVE_AUTHENTICATION_POLICY";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS"] = 481] = "ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVE_COV_SUBSCRIPTIONS"] = 152] = "ACTIVE_COV_SUBSCRIPTIONS";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVE_TEXT"] = 4] = "ACTIVE_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["ACTIVE_VT_SESSIONS"] = 5] = "ACTIVE_VT_SESSIONS";
PropertyIdentifier2222[PropertyIdentifier2222["ACTUAL_SHED_LEVEL"] = 212] = "ACTUAL_SHED_LEVEL";
PropertyIdentifier2222[PropertyIdentifier2222["ADJUST_VALUE"] = 176] = "ADJUST_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["ALARM_VALUE"] = 6] = "ALARM_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["ALARM_VALUES"] = 7] = "ALARM_VALUES";
PropertyIdentifier2222[PropertyIdentifier2222["ALIGN_INTERVALS"] = 193] = "ALIGN_INTERVALS";
PropertyIdentifier2222[PropertyIdentifier2222["ALL"] = 8] = "ALL";
PropertyIdentifier2222[PropertyIdentifier2222["ALL_WRITES_SUCCESSFUL"] = 9] = "ALL_WRITES_SUCCESSFUL";
PropertyIdentifier2222[PropertyIdentifier2222["ALLOW_GROUP_DELAY_INHIBIT"] = 365] = "ALLOW_GROUP_DELAY_INHIBIT";
PropertyIdentifier2222[PropertyIdentifier2222["APDU_LENGTH"] = 399] = "APDU_LENGTH";
PropertyIdentifier2222[PropertyIdentifier2222["APDU_SEGMENT_TIMEOUT"] = 10] = "APDU_SEGMENT_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["APDU_TIMEOUT"] = 11] = "APDU_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["APPLICATION_SOFTWARE_VERSION"] = 12] = "APPLICATION_SOFTWARE_VERSION";
PropertyIdentifier2222[PropertyIdentifier2222["ARCHIVE"] = 13] = "ARCHIVE";
PropertyIdentifier2222[PropertyIdentifier2222["ASSIGNED_ACCESS_RIGHTS"] = 256] = "ASSIGNED_ACCESS_RIGHTS";
PropertyIdentifier2222[PropertyIdentifier2222["ASSIGNED_LANDING_CALLS"] = 447] = "ASSIGNED_LANDING_CALLS";
PropertyIdentifier2222[PropertyIdentifier2222["ATTEMPTED_SAMPLES"] = 124] = "ATTEMPTED_SAMPLES";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHENTICATION_FACTORS"] = 257] = "AUTHENTICATION_FACTORS";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHENTICATION_POLICY_LIST"] = 258] = "AUTHENTICATION_POLICY_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHENTICATION_POLICY_NAMES"] = 259] = "AUTHENTICATION_POLICY_NAMES";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHENTICATION_STATUS"] = 260] = "AUTHENTICATION_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHORIZATION_EXEMPTIONS"] = 364] = "AUTHORIZATION_EXEMPTIONS";
PropertyIdentifier2222[PropertyIdentifier2222["AUTHORIZATION_MODE"] = 261] = "AUTHORIZATION_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["AUTO_SLAVE_DISCOVERY"] = 169] = "AUTO_SLAVE_DISCOVERY";
PropertyIdentifier2222[PropertyIdentifier2222["AVERAGE_VALUE"] = 125] = "AVERAGE_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["BACKUP_AND_RESTORE_STATE"] = 338] = "BACKUP_AND_RESTORE_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["BACKUP_FAILURE_TIMEOUT"] = 153] = "BACKUP_FAILURE_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["BACKUP_PREPARATION_TIME"] = 339] = "BACKUP_PREPARATION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IP_GLOBAL_ADDRESS"] = 407] = "BACNET_IP_GLOBAL_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IP_MODE"] = 408] = "BACNET_IP_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IP_MULTICAST_ADDRESS"] = 409] = "BACNET_IP_MULTICAST_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IP_NAT_TRAVERSAL"] = 410] = "BACNET_IP_NAT_TRAVERSAL";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IP_UDP_PORT"] = 412] = "BACNET_IP_UDP_PORT";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IPV6_MODE"] = 435] = "BACNET_IPV6_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IPV6_UDP_PORT"] = 438] = "BACNET_IPV6_UDP_PORT";
PropertyIdentifier2222[PropertyIdentifier2222["BACNET_IPV6_MULTICAST_ADDRESS"] = 440] = "BACNET_IPV6_MULTICAST_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["BBMD_ACCEPT_FD_REGISTRATIONS"] = 413] = "BBMD_ACCEPT_FD_REGISTRATIONS";
PropertyIdentifier2222[PropertyIdentifier2222["BBMD_BROADCAST_DISTRIBUTION_TABLE"] = 414] = "BBMD_BROADCAST_DISTRIBUTION_TABLE";
PropertyIdentifier2222[PropertyIdentifier2222["BBMD_FOREIGN_DEVICE_TABLE"] = 415] = "BBMD_FOREIGN_DEVICE_TABLE";
PropertyIdentifier2222[PropertyIdentifier2222["BELONGS_TO"] = 262] = "BELONGS_TO";
PropertyIdentifier2222[PropertyIdentifier2222["BIAS"] = 14] = "BIAS";
PropertyIdentifier2222[PropertyIdentifier2222["BIT_MASK"] = 342] = "BIT_MASK";
PropertyIdentifier2222[PropertyIdentifier2222["BIT_TEXT"] = 343] = "BIT_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["BLINK_WARN_ENABLE"] = 373] = "BLINK_WARN_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["BUFFER_SIZE"] = 126] = "BUFFER_SIZE";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_ASSIGNED_DIRECTION"] = 448] = "CAR_ASSIGNED_DIRECTION";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_DOOR_COMMAND"] = 449] = "CAR_DOOR_COMMAND";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_DOOR_STATUS"] = 450] = "CAR_DOOR_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_DOOR_TEXT"] = 451] = "CAR_DOOR_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_DOOR_ZONE"] = 452] = "CAR_DOOR_ZONE";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_DRIVE_STATUS"] = 453] = "CAR_DRIVE_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_LOAD"] = 454] = "CAR_LOAD";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_LOAD_UNITS"] = 455] = "CAR_LOAD_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_MODE"] = 456] = "CAR_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_MOVING_DIRECTION"] = 457] = "CAR_MOVING_DIRECTION";
PropertyIdentifier2222[PropertyIdentifier2222["CAR_POSITION"] = 458] = "CAR_POSITION";
PropertyIdentifier2222[PropertyIdentifier2222["CHANGE_OF_STATE_COUNT"] = 15] = "CHANGE_OF_STATE_COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["CHANGE_OF_STATE_TIME"] = 16] = "CHANGE_OF_STATE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["CHANGES_PENDING"] = 416] = "CHANGES_PENDING";
PropertyIdentifier2222[PropertyIdentifier2222["CHANNEL_NUMBER"] = 366] = "CHANNEL_NUMBER";
PropertyIdentifier2222[PropertyIdentifier2222["CLIENT_COV_INCREMENT"] = 127] = "CLIENT_COV_INCREMENT";
PropertyIdentifier2222[PropertyIdentifier2222["COMMAND"] = 417] = "COMMAND";
PropertyIdentifier2222[PropertyIdentifier2222["COMMAND_TIME_ARRAY"] = 430] = "COMMAND_TIME_ARRAY";
PropertyIdentifier2222[PropertyIdentifier2222["CONFIGURATION_FILES"] = 154] = "CONFIGURATION_FILES";
PropertyIdentifier2222[PropertyIdentifier2222["CONTROL_GROUPS"] = 367] = "CONTROL_GROUPS";
PropertyIdentifier2222[PropertyIdentifier2222["CONTROLLED_VARIABLE_REFERENCE"] = 19] = "CONTROLLED_VARIABLE_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["CONTROLLED_VARIABLE_UNITS"] = 20] = "CONTROLLED_VARIABLE_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["CONTROLLED_VARIABLE_VALUE"] = 21] = "CONTROLLED_VARIABLE_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["COUNT"] = 177] = "COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["COUNT_BEFORE_CHANGE"] = 178] = "COUNT_BEFORE_CHANGE";
PropertyIdentifier2222[PropertyIdentifier2222["COUNT_CHANGE_TIME"] = 179] = "COUNT_CHANGE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["COV_INCREMENT"] = 22] = "COV_INCREMENT";
PropertyIdentifier2222[PropertyIdentifier2222["COV_PERIOD"] = 180] = "COV_PERIOD";
PropertyIdentifier2222[PropertyIdentifier2222["COV_RESUBSCRIPTION_INTERVAL"] = 128] = "COV_RESUBSCRIPTION_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["COVU_PERIOD"] = 349] = "COVU_PERIOD";
PropertyIdentifier2222[PropertyIdentifier2222["COVU_RECIPIENTS"] = 350] = "COVU_RECIPIENTS";
PropertyIdentifier2222[PropertyIdentifier2222["CREDENTIAL_DISABLE"] = 263] = "CREDENTIAL_DISABLE";
PropertyIdentifier2222[PropertyIdentifier2222["CREDENTIAL_STATUS"] = 264] = "CREDENTIAL_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["CREDENTIALS"] = 265] = "CREDENTIALS";
PropertyIdentifier2222[PropertyIdentifier2222["CREDENTIALS_IN_ZONE"] = 266] = "CREDENTIALS_IN_ZONE";
PropertyIdentifier2222[PropertyIdentifier2222["CURRENT_COMMAND_PRIORITY"] = 431] = "CURRENT_COMMAND_PRIORITY";
PropertyIdentifier2222[PropertyIdentifier2222["DATABASE_REVISION"] = 155] = "DATABASE_REVISION";
PropertyIdentifier2222[PropertyIdentifier2222["DATE_LIST"] = 23] = "DATE_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["DAYLIGHT_SAVINGS_STATUS"] = 24] = "DAYLIGHT_SAVINGS_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["DAYS_REMAINING"] = 267] = "DAYS_REMAINING";
PropertyIdentifier2222[PropertyIdentifier2222["DEADBAND"] = 25] = "DEADBAND";
PropertyIdentifier2222[PropertyIdentifier2222["DEFAULT_FADE_TIME"] = 374] = "DEFAULT_FADE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["DEFAULT_RAMP_RATE"] = 375] = "DEFAULT_RAMP_RATE";
PropertyIdentifier2222[PropertyIdentifier2222["DEFAULT_STEP_INCREMENT"] = 376] = "DEFAULT_STEP_INCREMENT";
PropertyIdentifier2222[PropertyIdentifier2222["DEFAULT_SUBORDINATE_RELATIONSHIP"] = 490] = "DEFAULT_SUBORDINATE_RELATIONSHIP";
PropertyIdentifier2222[PropertyIdentifier2222["DEFAULT_TIMEOUT"] = 393] = "DEFAULT_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["DEPLOYED_PROFILE_LOCATION"] = 484] = "DEPLOYED_PROFILE_LOCATION";
PropertyIdentifier2222[PropertyIdentifier2222["DERIVATIVE_CONSTANT"] = 26] = "DERIVATIVE_CONSTANT";
PropertyIdentifier2222[PropertyIdentifier2222["DERIVATIVE_CONSTANT_UNITS"] = 27] = "DERIVATIVE_CONSTANT_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["DESCRIPTION"] = 28] = "DESCRIPTION";
PropertyIdentifier2222[PropertyIdentifier2222["DESCRIPTION_OF_HALT"] = 29] = "DESCRIPTION_OF_HALT";
PropertyIdentifier2222[PropertyIdentifier2222["DEVICE_ADDRESS_BINDING"] = 30] = "DEVICE_ADDRESS_BINDING";
PropertyIdentifier2222[PropertyIdentifier2222["DEVICE_TYPE"] = 31] = "DEVICE_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["DIRECT_READING"] = 156] = "DIRECT_READING";
PropertyIdentifier2222[PropertyIdentifier2222["DISTRIBUTION_KEY_REVISION"] = 328] = "DISTRIBUTION_KEY_REVISION";
PropertyIdentifier2222[PropertyIdentifier2222["DO_NOT_HIDE"] = 329] = "DO_NOT_HIDE";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_ALARM_STATE"] = 226] = "DOOR_ALARM_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_EXTENDED_PULSE_TIME"] = 227] = "DOOR_EXTENDED_PULSE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_MEMBERS"] = 228] = "DOOR_MEMBERS";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_OPEN_TOO_LONG_TIME"] = 229] = "DOOR_OPEN_TOO_LONG_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_PULSE_TIME"] = 230] = "DOOR_PULSE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_STATUS"] = 231] = "DOOR_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["DOOR_UNLOCK_DELAY_TIME"] = 232] = "DOOR_UNLOCK_DELAY_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["DUTY_WINDOW"] = 213] = "DUTY_WINDOW";
PropertyIdentifier2222[PropertyIdentifier2222["EFFECTIVE_PERIOD"] = 32] = "EFFECTIVE_PERIOD";
PropertyIdentifier2222[PropertyIdentifier2222["EGRESS_ACTIVE"] = 386] = "EGRESS_ACTIVE";
PropertyIdentifier2222[PropertyIdentifier2222["EGRESS_TIME"] = 377] = "EGRESS_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ELAPSED_ACTIVE_TIME"] = 33] = "ELAPSED_ACTIVE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ELEVATOR_GROUP"] = 459] = "ELEVATOR_GROUP";
PropertyIdentifier2222[PropertyIdentifier2222["ENABLE"] = 133] = "ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["ENERGY_METER"] = 460] = "ENERGY_METER";
PropertyIdentifier2222[PropertyIdentifier2222["ENERGY_METER_REF"] = 461] = "ENERGY_METER_REF";
PropertyIdentifier2222[PropertyIdentifier2222["ENTRY_POINTS"] = 268] = "ENTRY_POINTS";
PropertyIdentifier2222[PropertyIdentifier2222["ERROR_LIMIT"] = 34] = "ERROR_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["ESCALATOR_MODE"] = 462] = "ESCALATOR_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_ALGORITHM_INHIBIT"] = 354] = "EVENT_ALGORITHM_INHIBIT";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_ALGORITHM_INHIBIT_REF"] = 355] = "EVENT_ALGORITHM_INHIBIT_REF";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_DETECTION_ENABLE"] = 353] = "EVENT_DETECTION_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_ENABLE"] = 35] = "EVENT_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_MESSAGE_TEXTS"] = 351] = "EVENT_MESSAGE_TEXTS";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_MESSAGE_TEXTS_CONFIG"] = 352] = "EVENT_MESSAGE_TEXTS_CONFIG";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_PARAMETERS"] = 83] = "EVENT_PARAMETERS";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_STATE"] = 36] = "EVENT_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_TIME_STAMPS"] = 130] = "EVENT_TIME_STAMPS";
PropertyIdentifier2222[PropertyIdentifier2222["EVENT_TYPE"] = 37] = "EVENT_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["EXCEPTION_SCHEDULE"] = 38] = "EXCEPTION_SCHEDULE";
PropertyIdentifier2222[PropertyIdentifier2222["EXECUTION_DELAY"] = 368] = "EXECUTION_DELAY";
PropertyIdentifier2222[PropertyIdentifier2222["EXIT_POINTS"] = 269] = "EXIT_POINTS";
PropertyIdentifier2222[PropertyIdentifier2222["EXPECTED_SHED_LEVEL"] = 214] = "EXPECTED_SHED_LEVEL";
PropertyIdentifier2222[PropertyIdentifier2222["EXPIRATION_TIME"] = 270] = "EXPIRATION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["EXTENDED_TIME_ENABLE"] = 271] = "EXTENDED_TIME_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["FAILED_ATTEMPT_EVENTS"] = 272] = "FAILED_ATTEMPT_EVENTS";
PropertyIdentifier2222[PropertyIdentifier2222["FAILED_ATTEMPTS"] = 273] = "FAILED_ATTEMPTS";
PropertyIdentifier2222[PropertyIdentifier2222["FAILED_ATTEMPTS_TIME"] = 274] = "FAILED_ATTEMPTS_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_HIGH_LIMIT"] = 388] = "FAULT_HIGH_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_LOW_LIMIT"] = 389] = "FAULT_LOW_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_PARAMETERS"] = 358] = "FAULT_PARAMETERS";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_SIGNALS"] = 463] = "FAULT_SIGNALS";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_TYPE"] = 359] = "FAULT_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["FAULT_VALUES"] = 39] = "FAULT_VALUES";
PropertyIdentifier2222[PropertyIdentifier2222["FD_BBMD_ADDRESS"] = 418] = "FD_BBMD_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["FD_SUBSCRIPTION_LIFETIME"] = 419] = "FD_SUBSCRIPTION_LIFETIME";
PropertyIdentifier2222[PropertyIdentifier2222["FEEDBACK_VALUE"] = 40] = "FEEDBACK_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["FILE_ACCESS_METHOD"] = 41] = "FILE_ACCESS_METHOD";
PropertyIdentifier2222[PropertyIdentifier2222["FILE_SIZE"] = 42] = "FILE_SIZE";
PropertyIdentifier2222[PropertyIdentifier2222["FILE_TYPE"] = 43] = "FILE_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["FIRMWARE_REVISION"] = 44] = "FIRMWARE_REVISION";
PropertyIdentifier2222[PropertyIdentifier2222["FLOOR_TEXT"] = 464] = "FLOOR_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["FULL_DUTY_BASELINE"] = 215] = "FULL_DUTY_BASELINE";
PropertyIdentifier2222[PropertyIdentifier2222["GLOBAL_IDENTIFIER"] = 323] = "GLOBAL_IDENTIFIER";
PropertyIdentifier2222[PropertyIdentifier2222["GROUP_ID"] = 465] = "GROUP_ID";
PropertyIdentifier2222[PropertyIdentifier2222["GROUP_MEMBER_NAMES"] = 346] = "GROUP_MEMBER_NAMES";
PropertyIdentifier2222[PropertyIdentifier2222["GROUP_MEMBERS"] = 345] = "GROUP_MEMBERS";
PropertyIdentifier2222[PropertyIdentifier2222["GROUP_MODE"] = 467] = "GROUP_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["HIGH_LIMIT"] = 45] = "HIGH_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["HIGHER_DECK"] = 468] = "HIGHER_DECK";
PropertyIdentifier2222[PropertyIdentifier2222["IN_PROCESS"] = 47] = "IN_PROCESS";
PropertyIdentifier2222[PropertyIdentifier2222["IN_PROGRESS"] = 378] = "IN_PROGRESS";
PropertyIdentifier2222[PropertyIdentifier2222["INACTIVE_TEXT"] = 46] = "INACTIVE_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["INITIAL_TIMEOUT"] = 394] = "INITIAL_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["INPUT_REFERENCE"] = 181] = "INPUT_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["INSTALLATION_ID"] = 469] = "INSTALLATION_ID";
PropertyIdentifier2222[PropertyIdentifier2222["INSTANCE_OF"] = 48] = "INSTANCE_OF";
PropertyIdentifier2222[PropertyIdentifier2222["INSTANTANEOUS_POWER"] = 379] = "INSTANTANEOUS_POWER";
PropertyIdentifier2222[PropertyIdentifier2222["INTEGRAL_CONSTANT"] = 49] = "INTEGRAL_CONSTANT";
PropertyIdentifier2222[PropertyIdentifier2222["INTEGRAL_CONSTANT_UNITS"] = 50] = "INTEGRAL_CONSTANT_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["INTERFACE_VALUE"] = 387] = "INTERFACE_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["INTERVAL_OFFSET"] = 195] = "INTERVAL_OFFSET";
PropertyIdentifier2222[PropertyIdentifier2222["IP_ADDRESS"] = 400] = "IP_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DEFAULT_GATEWAY"] = 401] = "IP_DEFAULT_GATEWAY";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DHCP_ENABLE"] = 402] = "IP_DHCP_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DHCP_LEASE_TIME"] = 403] = "IP_DHCP_LEASE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DHCP_LEASE_TIME_REMAINING"] = 404] = "IP_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DHCP_SERVER"] = 405] = "IP_DHCP_SERVER";
PropertyIdentifier2222[PropertyIdentifier2222["IP_DNS_SERVER"] = 406] = "IP_DNS_SERVER";
PropertyIdentifier2222[PropertyIdentifier2222["IP_SUBNET_MASK"] = 411] = "IP_SUBNET_MASK";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_ADDRESS"] = 436] = "IPV6_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_AUTO_ADDRESSING_ENABLE"] = 442] = "IPV6_AUTO_ADDRESSING_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_DEFAULT_GATEWAY"] = 439] = "IPV6_DEFAULT_GATEWAY";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_DHCP_LEASE_TIME"] = 443] = "IPV6_DHCP_LEASE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_DHCP_LEASE_TIME_REMAINING"] = 444] = "IPV6_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_DHCP_SERVER"] = 445] = "IPV6_DHCP_SERVER";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_DNS_SERVER"] = 441] = "IPV6_DNS_SERVER";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_PREFIX_LENGTH"] = 437] = "IPV6_PREFIX_LENGTH";
PropertyIdentifier2222[PropertyIdentifier2222["IPV6_ZONE_INDEX"] = 446] = "IPV6_ZONE_INDEX";
PropertyIdentifier2222[PropertyIdentifier2222["IS_UTC"] = 344] = "IS_UTC";
PropertyIdentifier2222[PropertyIdentifier2222["KEY_SETS"] = 330] = "KEY_SETS";
PropertyIdentifier2222[PropertyIdentifier2222["LANDING_CALL_CONTROL"] = 471] = "LANDING_CALL_CONTROL";
PropertyIdentifier2222[PropertyIdentifier2222["LANDING_CALLS"] = 470] = "LANDING_CALLS";
PropertyIdentifier2222[PropertyIdentifier2222["LANDING_DOOR_STATUS"] = 472] = "LANDING_DOOR_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_ACCESS_EVENT"] = 275] = "LAST_ACCESS_EVENT";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_ACCESS_POINT"] = 276] = "LAST_ACCESS_POINT";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_COMMAND_TIME"] = 432] = "LAST_COMMAND_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_CREDENTIAL_ADDED"] = 277] = "LAST_CREDENTIAL_ADDED";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_CREDENTIAL_ADDED_TIME"] = 278] = "LAST_CREDENTIAL_ADDED_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_CREDENTIAL_REMOVED"] = 279] = "LAST_CREDENTIAL_REMOVED";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_CREDENTIAL_REMOVED_TIME"] = 280] = "LAST_CREDENTIAL_REMOVED_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_KEY_SERVER"] = 331] = "LAST_KEY_SERVER";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_NOTIFY_RECORD"] = 173] = "LAST_NOTIFY_RECORD";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_PRIORITY"] = 369] = "LAST_PRIORITY";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_RESTART_REASON"] = 196] = "LAST_RESTART_REASON";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_RESTORE_TIME"] = 157] = "LAST_RESTORE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_STATE_CHANGE"] = 395] = "LAST_STATE_CHANGE";
PropertyIdentifier2222[PropertyIdentifier2222["LAST_USE_TIME"] = 281] = "LAST_USE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LIFE_SAFETY_ALARM_VALUES"] = 166] = "LIFE_SAFETY_ALARM_VALUES";
PropertyIdentifier2222[PropertyIdentifier2222["LIGHTING_COMMAND"] = 380] = "LIGHTING_COMMAND";
PropertyIdentifier2222[PropertyIdentifier2222["LIGHTING_COMMAND_DEFAULT_PRIORITY"] = 381] = "LIGHTING_COMMAND_DEFAULT_PRIORITY";
PropertyIdentifier2222[PropertyIdentifier2222["LIMIT_ENABLE"] = 52] = "LIMIT_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["LIMIT_MONITORING_INTERVAL"] = 182] = "LIMIT_MONITORING_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["LINK_SPEED"] = 420] = "LINK_SPEED";
PropertyIdentifier2222[PropertyIdentifier2222["LINK_SPEED_AUTONEGOTIATE"] = 422] = "LINK_SPEED_AUTONEGOTIATE";
PropertyIdentifier2222[PropertyIdentifier2222["LINK_SPEEDS"] = 421] = "LINK_SPEEDS";
PropertyIdentifier2222[PropertyIdentifier2222["LIST_OF_GROUP_MEMBERS"] = 53] = "LIST_OF_GROUP_MEMBERS";
PropertyIdentifier2222[PropertyIdentifier2222["LIST_OF_OBJECT_PROPERTY_REFERENCES"] = 54] = "LIST_OF_OBJECT_PROPERTY_REFERENCES";
PropertyIdentifier2222[PropertyIdentifier2222["LOCAL_DATE"] = 56] = "LOCAL_DATE";
PropertyIdentifier2222[PropertyIdentifier2222["LOCAL_FORWARDING_ONLY"] = 360] = "LOCAL_FORWARDING_ONLY";
PropertyIdentifier2222[PropertyIdentifier2222["LOCAL_TIME"] = 57] = "LOCAL_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LOCATION"] = 58] = "LOCATION";
PropertyIdentifier2222[PropertyIdentifier2222["LOCK_STATUS"] = 233] = "LOCK_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["LOCKOUT"] = 282] = "LOCKOUT";
PropertyIdentifier2222[PropertyIdentifier2222["LOCKOUT_RELINQUISH_TIME"] = 283] = "LOCKOUT_RELINQUISH_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["LOG_BUFFER"] = 131] = "LOG_BUFFER";
PropertyIdentifier2222[PropertyIdentifier2222["LOG_DEVICE_OBJECT_PROPERTY"] = 132] = "LOG_DEVICE_OBJECT_PROPERTY";
PropertyIdentifier2222[PropertyIdentifier2222["LOG_INTERVAL"] = 134] = "LOG_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["LOGGING_OBJECT"] = 183] = "LOGGING_OBJECT";
PropertyIdentifier2222[PropertyIdentifier2222["LOGGING_RECORD"] = 184] = "LOGGING_RECORD";
PropertyIdentifier2222[PropertyIdentifier2222["LOGGING_TYPE"] = 197] = "LOGGING_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["LOW_DIFF_LIMIT"] = 390] = "LOW_DIFF_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["LOW_LIMIT"] = 59] = "LOW_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["LOWER_DECK"] = 473] = "LOWER_DECK";
PropertyIdentifier2222[PropertyIdentifier2222["MAC_ADDRESS"] = 423] = "MAC_ADDRESS";
PropertyIdentifier2222[PropertyIdentifier2222["MACHINE_ROOM_ID"] = 474] = "MACHINE_ROOM_ID";
PropertyIdentifier2222[PropertyIdentifier2222["MAINTENANCE_REQUIRED"] = 158] = "MAINTENANCE_REQUIRED";
PropertyIdentifier2222[PropertyIdentifier2222["MAKING_CAR_CALL"] = 475] = "MAKING_CAR_CALL";
PropertyIdentifier2222[PropertyIdentifier2222["MANIPULATED_VARIABLE_REFERENCE"] = 60] = "MANIPULATED_VARIABLE_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["MANUAL_SLAVE_ADDRESS_BINDING"] = 170] = "MANUAL_SLAVE_ADDRESS_BINDING";
PropertyIdentifier2222[PropertyIdentifier2222["MASKED_ALARM_VALUES"] = 234] = "MASKED_ALARM_VALUES";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_ACTUAL_VALUE"] = 382] = "MAX_ACTUAL_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_APDU_LENGTH_ACCEPTED"] = 62] = "MAX_APDU_LENGTH_ACCEPTED";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_FAILED_ATTEMPTS"] = 285] = "MAX_FAILED_ATTEMPTS";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_INFO_FRAMES"] = 63] = "MAX_INFO_FRAMES";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_MASTER"] = 64] = "MAX_MASTER";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_PRES_VALUE"] = 65] = "MAX_PRES_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MAX_SEGMENTS_ACCEPTED"] = 167] = "MAX_SEGMENTS_ACCEPTED";
PropertyIdentifier2222[PropertyIdentifier2222["MAXIMUM_OUTPUT"] = 61] = "MAXIMUM_OUTPUT";
PropertyIdentifier2222[PropertyIdentifier2222["MAXIMUM_VALUE"] = 135] = "MAXIMUM_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MAXIMUM_VALUE_TIMESTAMP"] = 149] = "MAXIMUM_VALUE_TIMESTAMP";
PropertyIdentifier2222[PropertyIdentifier2222["MEMBER_OF"] = 159] = "MEMBER_OF";
PropertyIdentifier2222[PropertyIdentifier2222["MEMBER_STATUS_FLAGS"] = 347] = "MEMBER_STATUS_FLAGS";
PropertyIdentifier2222[PropertyIdentifier2222["MEMBERS"] = 286] = "MEMBERS";
PropertyIdentifier2222[PropertyIdentifier2222["MIN_ACTUAL_VALUE"] = 383] = "MIN_ACTUAL_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MIN_PRES_VALUE"] = 69] = "MIN_PRES_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MINIMUM_OFF_TIME"] = 66] = "MINIMUM_OFF_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["MINIMUM_ON_TIME"] = 67] = "MINIMUM_ON_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["MINIMUM_OUTPUT"] = 68] = "MINIMUM_OUTPUT";
PropertyIdentifier2222[PropertyIdentifier2222["MINIMUM_VALUE"] = 136] = "MINIMUM_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["MINIMUM_VALUE_TIMESTAMP"] = 150] = "MINIMUM_VALUE_TIMESTAMP";
PropertyIdentifier2222[PropertyIdentifier2222["MODE"] = 160] = "MODE";
PropertyIdentifier2222[PropertyIdentifier2222["MODEL_NAME"] = 70] = "MODEL_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["MODIFICATION_DATE"] = 71] = "MODIFICATION_DATE";
PropertyIdentifier2222[PropertyIdentifier2222["MUSTER_POINT"] = 287] = "MUSTER_POINT";
PropertyIdentifier2222[PropertyIdentifier2222["NEGATIVE_ACCESS_RULES"] = 288] = "NEGATIVE_ACCESS_RULES";
PropertyIdentifier2222[PropertyIdentifier2222["NETWORK_ACCESS_SECURITY_POLICIES"] = 332] = "NETWORK_ACCESS_SECURITY_POLICIES";
PropertyIdentifier2222[PropertyIdentifier2222["NETWORK_INTERFACE_NAME"] = 424] = "NETWORK_INTERFACE_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["NETWORK_NUMBER"] = 425] = "NETWORK_NUMBER";
PropertyIdentifier2222[PropertyIdentifier2222["NETWORK_NUMBER_QUALITY"] = 426] = "NETWORK_NUMBER_QUALITY";
PropertyIdentifier2222[PropertyIdentifier2222["NETWORK_TYPE"] = 427] = "NETWORK_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["NEXT_STOPPING_FLOOR"] = 476] = "NEXT_STOPPING_FLOOR";
PropertyIdentifier2222[PropertyIdentifier2222["NODE_SUBTYPE"] = 207] = "NODE_SUBTYPE";
PropertyIdentifier2222[PropertyIdentifier2222["NODE_TYPE"] = 208] = "NODE_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["NOTIFICATION_CLASS"] = 17] = "NOTIFICATION_CLASS";
PropertyIdentifier2222[PropertyIdentifier2222["NOTIFICATION_THRESHOLD"] = 137] = "NOTIFICATION_THRESHOLD";
PropertyIdentifier2222[PropertyIdentifier2222["NOTIFY_TYPE"] = 72] = "NOTIFY_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["NUMBER_OF_APDU_RETRIES"] = 73] = "NUMBER_OF_APDU_RETRIES";
PropertyIdentifier2222[PropertyIdentifier2222["NUMBER_OF_AUTHENTICATION_POLICIES"] = 289] = "NUMBER_OF_AUTHENTICATION_POLICIES";
PropertyIdentifier2222[PropertyIdentifier2222["NUMBER_OF_STATES"] = 74] = "NUMBER_OF_STATES";
PropertyIdentifier2222[PropertyIdentifier2222["OBJECT_IDENTIFIER"] = 75] = "OBJECT_IDENTIFIER";
PropertyIdentifier2222[PropertyIdentifier2222["OBJECT_LIST"] = 76] = "OBJECT_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["OBJECT_NAME"] = 77] = "OBJECT_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["OBJECT_PROPERTY_REFERENCE"] = 78] = "OBJECT_PROPERTY_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["OBJECT_TYPE"] = 79] = "OBJECT_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_COUNT"] = 290] = "OCCUPANCY_COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_COUNT_ADJUST"] = 291] = "OCCUPANCY_COUNT_ADJUST";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_COUNT_ENABLE"] = 292] = "OCCUPANCY_COUNT_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_LOWER_LIMIT"] = 294] = "OCCUPANCY_LOWER_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_LOWER_LIMIT_ENFORCED"] = 295] = "OCCUPANCY_LOWER_LIMIT_ENFORCED";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_STATE"] = 296] = "OCCUPANCY_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_UPPER_LIMIT"] = 297] = "OCCUPANCY_UPPER_LIMIT";
PropertyIdentifier2222[PropertyIdentifier2222["OCCUPANCY_UPPER_LIMIT_ENFORCED"] = 298] = "OCCUPANCY_UPPER_LIMIT_ENFORCED";
PropertyIdentifier2222[PropertyIdentifier2222["OPERATION_DIRECTION"] = 477] = "OPERATION_DIRECTION";
PropertyIdentifier2222[PropertyIdentifier2222["OPERATION_EXPECTED"] = 161] = "OPERATION_EXPECTED";
PropertyIdentifier2222[PropertyIdentifier2222["OPTIONAL"] = 80] = "OPTIONAL";
PropertyIdentifier2222[PropertyIdentifier2222["OUT_OF_SERVICE"] = 81] = "OUT_OF_SERVICE";
PropertyIdentifier2222[PropertyIdentifier2222["OUTPUT_UNITS"] = 82] = "OUTPUT_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["PACKET_REORDER_TIME"] = 333] = "PACKET_REORDER_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["PASSBACK_MODE"] = 300] = "PASSBACK_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["PASSBACK_TIMEOUT"] = 301] = "PASSBACK_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["PASSENGER_ALARM"] = 478] = "PASSENGER_ALARM";
PropertyIdentifier2222[PropertyIdentifier2222["POLARITY"] = 84] = "POLARITY";
PropertyIdentifier2222[PropertyIdentifier2222["PORT_FILTER"] = 363] = "PORT_FILTER";
PropertyIdentifier2222[PropertyIdentifier2222["POSITIVE_ACCESS_RULES"] = 302] = "POSITIVE_ACCESS_RULES";
PropertyIdentifier2222[PropertyIdentifier2222["POWER"] = 384] = "POWER";
PropertyIdentifier2222[PropertyIdentifier2222["POWER_MODE"] = 479] = "POWER_MODE";
PropertyIdentifier2222[PropertyIdentifier2222["PRESCALE"] = 185] = "PRESCALE";
PropertyIdentifier2222[PropertyIdentifier2222["PRESENT_VALUE"] = 85] = "PRESENT_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["PRIORITY"] = 86] = "PRIORITY";
PropertyIdentifier2222[PropertyIdentifier2222["PRIORITY_ARRAY"] = 87] = "PRIORITY_ARRAY";
PropertyIdentifier2222[PropertyIdentifier2222["PRIORITY_FOR_WRITING"] = 88] = "PRIORITY_FOR_WRITING";
PropertyIdentifier2222[PropertyIdentifier2222["PROCESS_IDENTIFIER"] = 89] = "PROCESS_IDENTIFIER";
PropertyIdentifier2222[PropertyIdentifier2222["PROCESS_IDENTIFIER_FILTER"] = 361] = "PROCESS_IDENTIFIER_FILTER";
PropertyIdentifier2222[PropertyIdentifier2222["PROFILE_LOCATION"] = 485] = "PROFILE_LOCATION";
PropertyIdentifier2222[PropertyIdentifier2222["PROFILE_NAME"] = 168] = "PROFILE_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["PROGRAM_CHANGE"] = 90] = "PROGRAM_CHANGE";
PropertyIdentifier2222[PropertyIdentifier2222["PROGRAM_LOCATION"] = 91] = "PROGRAM_LOCATION";
PropertyIdentifier2222[PropertyIdentifier2222["PROGRAM_STATE"] = 92] = "PROGRAM_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["PROPERTY_LIST"] = 371] = "PROPERTY_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["PROPORTIONAL_CONSTANT"] = 93] = "PROPORTIONAL_CONSTANT";
PropertyIdentifier2222[PropertyIdentifier2222["PROPORTIONAL_CONSTANT_UNITS"] = 94] = "PROPORTIONAL_CONSTANT_UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["PROTOCOL_LEVEL"] = 482] = "PROTOCOL_LEVEL";
PropertyIdentifier2222[PropertyIdentifier2222["PROTOCOL_OBJECT_TYPES_SUPPORTED"] = 96] = "PROTOCOL_OBJECT_TYPES_SUPPORTED";
PropertyIdentifier2222[PropertyIdentifier2222["PROTOCOL_REVISION"] = 139] = "PROTOCOL_REVISION";
PropertyIdentifier2222[PropertyIdentifier2222["PROTOCOL_SERVICES_SUPPORTED"] = 97] = "PROTOCOL_SERVICES_SUPPORTED";
PropertyIdentifier2222[PropertyIdentifier2222["PROTOCOL_VERSION"] = 98] = "PROTOCOL_VERSION";
PropertyIdentifier2222[PropertyIdentifier2222["PULSE_RATE"] = 186] = "PULSE_RATE";
PropertyIdentifier2222[PropertyIdentifier2222["READ_ONLY"] = 99] = "READ_ONLY";
PropertyIdentifier2222[PropertyIdentifier2222["REASON_FOR_DISABLE"] = 303] = "REASON_FOR_DISABLE";
PropertyIdentifier2222[PropertyIdentifier2222["REASON_FOR_HALT"] = 100] = "REASON_FOR_HALT";
PropertyIdentifier2222[PropertyIdentifier2222["RECIPIENT_LIST"] = 102] = "RECIPIENT_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["RECORD_COUNT"] = 141] = "RECORD_COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["RECORDS_SINCE_NOTIFICATION"] = 140] = "RECORDS_SINCE_NOTIFICATION";
PropertyIdentifier2222[PropertyIdentifier2222["REFERENCE_PORT"] = 483] = "REFERENCE_PORT";
PropertyIdentifier2222[PropertyIdentifier2222["REGISTERED_CAR_CALL"] = 480] = "REGISTERED_CAR_CALL";
PropertyIdentifier2222[PropertyIdentifier2222["RELIABILITY"] = 103] = "RELIABILITY";
PropertyIdentifier2222[PropertyIdentifier2222["RELIABILITY_EVALUATION_INHIBIT"] = 357] = "RELIABILITY_EVALUATION_INHIBIT";
PropertyIdentifier2222[PropertyIdentifier2222["RELINQUISH_DEFAULT"] = 104] = "RELINQUISH_DEFAULT";
PropertyIdentifier2222[PropertyIdentifier2222["REPRESENTS"] = 491] = "REPRESENTS";
PropertyIdentifier2222[PropertyIdentifier2222["REQUESTED_SHED_LEVEL"] = 218] = "REQUESTED_SHED_LEVEL";
PropertyIdentifier2222[PropertyIdentifier2222["REQUESTED_UPDATE_INTERVAL"] = 348] = "REQUESTED_UPDATE_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["REQUIRED"] = 105] = "REQUIRED";
PropertyIdentifier2222[PropertyIdentifier2222["RESOLUTION"] = 106] = "RESOLUTION";
PropertyIdentifier2222[PropertyIdentifier2222["RESTART_NOTIFICATION_RECIPIENTS"] = 202] = "RESTART_NOTIFICATION_RECIPIENTS";
PropertyIdentifier2222[PropertyIdentifier2222["RESTORE_COMPLETION_TIME"] = 340] = "RESTORE_COMPLETION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["RESTORE_PREPARATION_TIME"] = 341] = "RESTORE_PREPARATION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["ROUTING_TABLE"] = 428] = "ROUTING_TABLE";
PropertyIdentifier2222[PropertyIdentifier2222["SCALE"] = 187] = "SCALE";
PropertyIdentifier2222[PropertyIdentifier2222["SCALE_FACTOR"] = 188] = "SCALE_FACTOR";
PropertyIdentifier2222[PropertyIdentifier2222["SCHEDULE_DEFAULT"] = 174] = "SCHEDULE_DEFAULT";
PropertyIdentifier2222[PropertyIdentifier2222["SECURED_STATUS"] = 235] = "SECURED_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["SECURITY_PDU_TIMEOUT"] = 334] = "SECURITY_PDU_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["SECURITY_TIME_WINDOW"] = 335] = "SECURITY_TIME_WINDOW";
PropertyIdentifier2222[PropertyIdentifier2222["SEGMENTATION_SUPPORTED"] = 107] = "SEGMENTATION_SUPPORTED";
PropertyIdentifier2222[PropertyIdentifier2222["SERIAL_NUMBER"] = 372] = "SERIAL_NUMBER";
PropertyIdentifier2222[PropertyIdentifier2222["SETPOINT"] = 108] = "SETPOINT";
PropertyIdentifier2222[PropertyIdentifier2222["SETPOINT_REFERENCE"] = 109] = "SETPOINT_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["SETTING"] = 162] = "SETTING";
PropertyIdentifier2222[PropertyIdentifier2222["SHED_DURATION"] = 219] = "SHED_DURATION";
PropertyIdentifier2222[PropertyIdentifier2222["SHED_LEVEL_DESCRIPTIONS"] = 220] = "SHED_LEVEL_DESCRIPTIONS";
PropertyIdentifier2222[PropertyIdentifier2222["SHED_LEVELS"] = 221] = "SHED_LEVELS";
PropertyIdentifier2222[PropertyIdentifier2222["SILENCED"] = 163] = "SILENCED";
PropertyIdentifier2222[PropertyIdentifier2222["SLAVE_ADDRESS_BINDING"] = 171] = "SLAVE_ADDRESS_BINDING";
PropertyIdentifier2222[PropertyIdentifier2222["SLAVE_PROXY_ENABLE"] = 172] = "SLAVE_PROXY_ENABLE";
PropertyIdentifier2222[PropertyIdentifier2222["START_TIME"] = 142] = "START_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["STATE_CHANGE_VALUES"] = 396] = "STATE_CHANGE_VALUES";
PropertyIdentifier2222[PropertyIdentifier2222["STATE_DESCRIPTION"] = 222] = "STATE_DESCRIPTION";
PropertyIdentifier2222[PropertyIdentifier2222["STATE_TEXT"] = 110] = "STATE_TEXT";
PropertyIdentifier2222[PropertyIdentifier2222["STATUS_FLAGS"] = 111] = "STATUS_FLAGS";
PropertyIdentifier2222[PropertyIdentifier2222["STOP_TIME"] = 143] = "STOP_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["STOP_WHEN_FULL"] = 144] = "STOP_WHEN_FULL";
PropertyIdentifier2222[PropertyIdentifier2222["STRIKE_COUNT"] = 391] = "STRIKE_COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["STRUCTURED_OBJECT_LIST"] = 209] = "STRUCTURED_OBJECT_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["SUBORDINATE_ANNOTATIONS"] = 210] = "SUBORDINATE_ANNOTATIONS";
PropertyIdentifier2222[PropertyIdentifier2222["SUBORDINATE_LIST"] = 211] = "SUBORDINATE_LIST";
PropertyIdentifier2222[PropertyIdentifier2222["SUBORDINATE_NODE_TYPES"] = 487] = "SUBORDINATE_NODE_TYPES";
PropertyIdentifier2222[PropertyIdentifier2222["SUBORDINATE_RELATIONSHIPS"] = 489] = "SUBORDINATE_RELATIONSHIPS";
PropertyIdentifier2222[PropertyIdentifier2222["SUBORDINATE_TAGS"] = 488] = "SUBORDINATE_TAGS";
PropertyIdentifier2222[PropertyIdentifier2222["SUBSCRIBED_RECIPIENTS"] = 362] = "SUBSCRIBED_RECIPIENTS";
PropertyIdentifier2222[PropertyIdentifier2222["SUPPORTED_FORMAT_CLASSES"] = 305] = "SUPPORTED_FORMAT_CLASSES";
PropertyIdentifier2222[PropertyIdentifier2222["SUPPORTED_FORMATS"] = 304] = "SUPPORTED_FORMATS";
PropertyIdentifier2222[PropertyIdentifier2222["SUPPORTED_SECURITY_ALGORITHMS"] = 336] = "SUPPORTED_SECURITY_ALGORITHMS";
PropertyIdentifier2222[PropertyIdentifier2222["SYSTEM_STATUS"] = 112] = "SYSTEM_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["TAGS"] = 486] = "TAGS";
PropertyIdentifier2222[PropertyIdentifier2222["THREAT_AUTHORITY"] = 306] = "THREAT_AUTHORITY";
PropertyIdentifier2222[PropertyIdentifier2222["THREAT_LEVEL"] = 307] = "THREAT_LEVEL";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_DELAY"] = 113] = "TIME_DELAY";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_DELAY_NORMAL"] = 356] = "TIME_DELAY_NORMAL";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_OF_ACTIVE_TIME_RESET"] = 114] = "TIME_OF_ACTIVE_TIME_RESET";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_OF_DEVICE_RESTART"] = 203] = "TIME_OF_DEVICE_RESTART";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_OF_STATE_COUNT_RESET"] = 115] = "TIME_OF_STATE_COUNT_RESET";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_OF_STRIKE_COUNT_RESET"] = 392] = "TIME_OF_STRIKE_COUNT_RESET";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_SYNCHRONIZATION_INTERVAL"] = 204] = "TIME_SYNCHRONIZATION_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["TIME_SYNCHRONIZATION_RECIPIENTS"] = 116] = "TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier2222[PropertyIdentifier2222["TIMER_RUNNING"] = 397] = "TIMER_RUNNING";
PropertyIdentifier2222[PropertyIdentifier2222["TIMER_STATE"] = 398] = "TIMER_STATE";
PropertyIdentifier2222[PropertyIdentifier2222["TOTAL_RECORD_COUNT"] = 145] = "TOTAL_RECORD_COUNT";
PropertyIdentifier2222[PropertyIdentifier2222["TRACE_FLAG"] = 308] = "TRACE_FLAG";
PropertyIdentifier2222[PropertyIdentifier2222["TRACKING_VALUE"] = 164] = "TRACKING_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["TRANSACTION_NOTIFICATION_CLASS"] = 309] = "TRANSACTION_NOTIFICATION_CLASS";
PropertyIdentifier2222[PropertyIdentifier2222["TRANSITION"] = 385] = "TRANSITION";
PropertyIdentifier2222[PropertyIdentifier2222["TRIGGER"] = 205] = "TRIGGER";
PropertyIdentifier2222[PropertyIdentifier2222["UNITS"] = 117] = "UNITS";
PropertyIdentifier2222[PropertyIdentifier2222["UPDATE_INTERVAL"] = 118] = "UPDATE_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["UPDATE_KEY_SET_TIMEOUT"] = 337] = "UPDATE_KEY_SET_TIMEOUT";
PropertyIdentifier2222[PropertyIdentifier2222["UPDATE_TIME"] = 189] = "UPDATE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["USER_EXTERNAL_IDENTIFIER"] = 310] = "USER_EXTERNAL_IDENTIFIER";
PropertyIdentifier2222[PropertyIdentifier2222["USER_INFORMATION_REFERENCE"] = 311] = "USER_INFORMATION_REFERENCE";
PropertyIdentifier2222[PropertyIdentifier2222["USER_NAME"] = 317] = "USER_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["USER_TYPE"] = 318] = "USER_TYPE";
PropertyIdentifier2222[PropertyIdentifier2222["USES_REMAINING"] = 319] = "USES_REMAINING";
PropertyIdentifier2222[PropertyIdentifier2222["UTC_OFFSET"] = 119] = "UTC_OFFSET";
PropertyIdentifier2222[PropertyIdentifier2222["UTC_TIME_SYNCHRONIZATION_RECIPIENTS"] = 206] = "UTC_TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier2222[PropertyIdentifier2222["VALID_SAMPLES"] = 146] = "VALID_SAMPLES";
PropertyIdentifier2222[PropertyIdentifier2222["VALUE_BEFORE_CHANGE"] = 190] = "VALUE_BEFORE_CHANGE";
PropertyIdentifier2222[PropertyIdentifier2222["VALUE_CHANGE_TIME"] = 192] = "VALUE_CHANGE_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["VALUE_SET"] = 191] = "VALUE_SET";
PropertyIdentifier2222[PropertyIdentifier2222["VALUE_SOURCE"] = 433] = "VALUE_SOURCE";
PropertyIdentifier2222[PropertyIdentifier2222["VALUE_SOURCE_ARRAY"] = 434] = "VALUE_SOURCE_ARRAY";
PropertyIdentifier2222[PropertyIdentifier2222["VARIANCE_VALUE"] = 151] = "VARIANCE_VALUE";
PropertyIdentifier2222[PropertyIdentifier2222["VENDOR_IDENTIFIER"] = 120] = "VENDOR_IDENTIFIER";
PropertyIdentifier2222[PropertyIdentifier2222["VENDOR_NAME"] = 121] = "VENDOR_NAME";
PropertyIdentifier2222[PropertyIdentifier2222["VERIFICATION_TIME"] = 326] = "VERIFICATION_TIME";
PropertyIdentifier2222[PropertyIdentifier2222["VIRTUAL_MAC_ADDRESS_TABLE"] = 429] = "VIRTUAL_MAC_ADDRESS_TABLE";
PropertyIdentifier2222[PropertyIdentifier2222["VT_CLASSES_SUPPORTED"] = 122] = "VT_CLASSES_SUPPORTED";
PropertyIdentifier2222[PropertyIdentifier2222["WEEKLY_SCHEDULE"] = 123] = "WEEKLY_SCHEDULE";
PropertyIdentifier2222[PropertyIdentifier2222["WINDOW_INTERVAL"] = 147] = "WINDOW_INTERVAL";
PropertyIdentifier2222[PropertyIdentifier2222["WINDOW_SAMPLES"] = 148] = "WINDOW_SAMPLES";
PropertyIdentifier2222[PropertyIdentifier2222["WRITE_STATUS"] = 370] = "WRITE_STATUS";
PropertyIdentifier2222[PropertyIdentifier2222["ZONE_FROM"] = 320] = "ZONE_FROM";
PropertyIdentifier2222[PropertyIdentifier2222["ZONE_MEMBERS"] = 165] = "ZONE_MEMBERS";
PropertyIdentifier2222[PropertyIdentifier2222["ZONE_TO"] = 321] = "ZONE_TO";
return PropertyIdentifier2222;
})(PropertyIdentifier222 || {});
var ProtocolLevel222 = /* @__PURE__ */ ((ProtocolLevel2222) => {
ProtocolLevel2222[ProtocolLevel2222["PHYSICAL"] = 0] = "PHYSICAL";
ProtocolLevel2222[ProtocolLevel2222["PROTOCOL"] = 1] = "PROTOCOL";
ProtocolLevel2222[ProtocolLevel2222["BACNET_APPLICATION"] = 2] = "BACNET_APPLICATION";
ProtocolLevel2222[ProtocolLevel2222["NON_BACNET_APPLICATION"] = 3] = "NON_BACNET_APPLICATION";
return ProtocolLevel2222;
})(ProtocolLevel222 || {});
var Relationship222 = /* @__PURE__ */ ((Relationship2222) => {
Relationship2222[Relationship2222["UNKNOWN"] = 0] = "UNKNOWN";
Relationship2222[Relationship2222["DEFAULT"] = 1] = "DEFAULT";
Relationship2222[Relationship2222["CONTAINS"] = 2] = "CONTAINS";
Relationship2222[Relationship2222["CONTAINED_BY"] = 3] = "CONTAINED_BY";
Relationship2222[Relationship2222["USES"] = 4] = "USES";
Relationship2222[Relationship2222["USED_BY"] = 5] = "USED_BY";
Relationship2222[Relationship2222["COMMANDS"] = 6] = "COMMANDS";
Relationship2222[Relationship2222["COMMANDED_BY"] = 7] = "COMMANDED_BY";
Relationship2222[Relationship2222["ADJUSTS"] = 8] = "ADJUSTS";
Relationship2222[Relationship2222["ADJUSTED_BY"] = 9] = "ADJUSTED_BY";
Relationship2222[Relationship2222["INGRESS"] = 10] = "INGRESS";
Relationship2222[Relationship2222["EGRESS"] = 11] = "EGRESS";
Relationship2222[Relationship2222["SUPPLIES_AIR"] = 12] = "SUPPLIES_AIR";
Relationship2222[Relationship2222["RECEIVES_AIR"] = 13] = "RECEIVES_AIR";
Relationship2222[Relationship2222["SUPPLIES_HOT_AIR"] = 14] = "SUPPLIES_HOT_AIR";
Relationship2222[Relationship2222["RECEIVES_HOT_AIR"] = 15] = "RECEIVES_HOT_AIR";
Relationship2222[Relationship2222["SUPPLIES_COOL_AIR"] = 16] = "SUPPLIES_COOL_AIR";
Relationship2222[Relationship2222["RECEIVES_COOL_AIR"] = 17] = "RECEIVES_COOL_AIR";
Relationship2222[Relationship2222["SUPPLIES_POWER"] = 18] = "SUPPLIES_POWER";
Relationship2222[Relationship2222["RECEIVES_POWER"] = 19] = "RECEIVES_POWER";
Relationship2222[Relationship2222["SUPPLIES_GAS"] = 20] = "SUPPLIES_GAS";
Relationship2222[Relationship2222["RECEIVES_GAS"] = 21] = "RECEIVES_GAS";
Relationship2222[Relationship2222["SUPPLIES_WATER"] = 22] = "SUPPLIES_WATER";
Relationship2222[Relationship2222["RECEIVES_WATER"] = 23] = "RECEIVES_WATER";
Relationship2222[Relationship2222["SUPPLIES_HOT_WATER"] = 24] = "SUPPLIES_HOT_WATER";
Relationship2222[Relationship2222["RECEIVES_HOT_WATER"] = 25] = "RECEIVES_HOT_WATER";
Relationship2222[Relationship2222["SUPPLIES_COOL_WATER"] = 26] = "SUPPLIES_COOL_WATER";
Relationship2222[Relationship2222["RECEIVES_COOL_WATER"] = 27] = "RECEIVES_COOL_WATER";
Relationship2222[Relationship2222["SUPPLIES_STEAM"] = 28] = "SUPPLIES_STEAM";
Relationship2222[Relationship2222["RECEIVES_STEAM"] = 29] = "RECEIVES_STEAM";
return Relationship2222;
})(Relationship222 || {});
var Reliability222 = /* @__PURE__ */ ((Reliability2222) => {
Reliability2222[Reliability2222["NO_FAULT_DETECTED"] = 0] = "NO_FAULT_DETECTED";
Reliability2222[Reliability2222["NO_SENSOR"] = 1] = "NO_SENSOR";
Reliability2222[Reliability2222["OVER_RANGE"] = 2] = "OVER_RANGE";
Reliability2222[Reliability2222["UNDER_RANGE"] = 3] = "UNDER_RANGE";
Reliability2222[Reliability2222["OPEN_LOOP"] = 4] = "OPEN_LOOP";
Reliability2222[Reliability2222["SHORTED_LOOP"] = 5] = "SHORTED_LOOP";
Reliability2222[Reliability2222["NO_OUTPUT"] = 6] = "NO_OUTPUT";
Reliability2222[Reliability2222["UNRELIABLE_OTHER"] = 7] = "UNRELIABLE_OTHER";
Reliability2222[Reliability2222["PROCESS_ERROR"] = 8] = "PROCESS_ERROR";
Reliability2222[Reliability2222["MULTI_STATE_FAULT"] = 9] = "MULTI_STATE_FAULT";
Reliability2222[Reliability2222["CONFIGURATION_ERROR"] = 10] = "CONFIGURATION_ERROR";
Reliability2222[Reliability2222["COMMUNICATION_FAILURE"] = 12] = "COMMUNICATION_FAILURE";
Reliability2222[Reliability2222["MEMBER_FAULT"] = 13] = "MEMBER_FAULT";
Reliability2222[Reliability2222["MONITORED_OBJECT_FAULT"] = 14] = "MONITORED_OBJECT_FAULT";
Reliability2222[Reliability2222["TRIPPED"] = 15] = "TRIPPED";
Reliability2222[Reliability2222["LAMP_FAILURE"] = 16] = "LAMP_FAILURE";
Reliability2222[Reliability2222["ACTIVATION_FAILURE"] = 17] = "ACTIVATION_FAILURE";
Reliability2222[Reliability2222["RENEW_DHCP_FAILURE"] = 18] = "RENEW_DHCP_FAILURE";
Reliability2222[Reliability2222["RENEW_FD_REGISTRATION_FAILURE"] = 19] = "RENEW_FD_REGISTRATION_FAILURE";
Reliability2222[Reliability2222["RESTART_AUTO_NEGOTIATION_FAILURE"] = 20] = "RESTART_AUTO_NEGOTIATION_FAILURE";
Reliability2222[Reliability2222["RESTART_FAILURE"] = 21] = "RESTART_FAILURE";
Reliability2222[Reliability2222["PROPRIETARY_COMMAND_FAILURE"] = 22] = "PROPRIETARY_COMMAND_FAILURE";
Reliability2222[Reliability2222["FAULTS_LISTED"] = 23] = "FAULTS_LISTED";
Reliability2222[Reliability2222["REFERENCED_OBJECT_FAULT"] = 24] = "REFERENCED_OBJECT_FAULT";
return Reliability2222;
})(Reliability222 || {});
var RestartReason222 = /* @__PURE__ */ ((RestartReason2222) => {
RestartReason2222[RestartReason2222["UNKNOWN"] = 0] = "UNKNOWN";
RestartReason2222[RestartReason2222["COLDSTART"] = 1] = "COLDSTART";
RestartReason2222[RestartReason2222["WARMSTART"] = 2] = "WARMSTART";
RestartReason2222[RestartReason2222["DETECTED_POWER_LOST"] = 3] = "DETECTED_POWER_LOST";
RestartReason2222[RestartReason2222["DETECTED_POWERED_OFF"] = 4] = "DETECTED_POWERED_OFF";
RestartReason2222[RestartReason2222["HARDWARE_WATCHDOG"] = 5] = "HARDWARE_WATCHDOG";
RestartReason2222[RestartReason2222["SOFTWARE_WATCHDOG"] = 6] = "SOFTWARE_WATCHDOG";
RestartReason2222[RestartReason2222["SUSPENDED"] = 7] = "SUSPENDED";
RestartReason2222[RestartReason2222["ACTIVATE_CHANGES"] = 8] = "ACTIVATE_CHANGES";
return RestartReason2222;
})(RestartReason222 || {});
var SecurityLevel222 = /* @__PURE__ */ ((SecurityLevel2222) => {
SecurityLevel2222[SecurityLevel2222["INCAPABLE"] = 0] = "INCAPABLE";
SecurityLevel2222[SecurityLevel2222["PLAIN"] = 1] = "PLAIN";
SecurityLevel2222[SecurityLevel2222["SIGNED"] = 2] = "SIGNED";
SecurityLevel2222[SecurityLevel2222["ENCRYPTED"] = 3] = "ENCRYPTED";
SecurityLevel2222[SecurityLevel2222["SIGNED_END_TO_END"] = 4] = "SIGNED_END_TO_END";
SecurityLevel2222[SecurityLevel2222["ENCRYPTED_END_TO_END"] = 5] = "ENCRYPTED_END_TO_END";
return SecurityLevel2222;
})(SecurityLevel222 || {});
var SecurityPolicy222 = /* @__PURE__ */ ((SecurityPolicy2222) => {
SecurityPolicy2222[SecurityPolicy2222["PLAIN_NON_TRUSTED"] = 0] = "PLAIN_NON_TRUSTED";
SecurityPolicy2222[SecurityPolicy2222["PLAIN_TRUSTED"] = 1] = "PLAIN_TRUSTED";
SecurityPolicy2222[SecurityPolicy2222["SIGNED_TRUSTED"] = 2] = "SIGNED_TRUSTED";
SecurityPolicy2222[SecurityPolicy2222["ENCRYPTED_TRUSTED"] = 3] = "ENCRYPTED_TRUSTED";
return SecurityPolicy2222;
})(SecurityPolicy222 || {});
var Segmentation222 = /* @__PURE__ */ ((Segmentation2222) => {
Segmentation2222[Segmentation2222["SEGMENTED_BOTH"] = 0] = "SEGMENTED_BOTH";
Segmentation2222[Segmentation2222["SEGMENTED_TRANSMIT"] = 1] = "SEGMENTED_TRANSMIT";
Segmentation2222[Segmentation2222["SEGMENTED_RECEIVE"] = 2] = "SEGMENTED_RECEIVE";
Segmentation2222[Segmentation2222["NO_SEGMENTATION"] = 3] = "NO_SEGMENTATION";
return Segmentation2222;
})(Segmentation222 || {});
var ShedState222 = /* @__PURE__ */ ((ShedState2222) => {
ShedState2222[ShedState2222["SHED_INACTIVE"] = 0] = "SHED_INACTIVE";
ShedState2222[ShedState2222["SHED_REQUEST_PENDING"] = 1] = "SHED_REQUEST_PENDING";
ShedState2222[ShedState2222["SHED_COMPLIANT"] = 2] = "SHED_COMPLIANT";
ShedState2222[ShedState2222["SHED_NON_COMPLIANT"] = 3] = "SHED_NON_COMPLIANT";
return ShedState2222;
})(ShedState222 || {});
var SilencedState222 = /* @__PURE__ */ ((SilencedState2222) => {
SilencedState2222[SilencedState2222["UNSILENCED"] = 0] = "UNSILENCED";
SilencedState2222[SilencedState2222["AUDIBLE_SILENCED"] = 1] = "AUDIBLE_SILENCED";
SilencedState2222[SilencedState2222["VISIBLE_SILENCED"] = 2] = "VISIBLE_SILENCED";
SilencedState2222[SilencedState2222["ALL_SILENCED"] = 3] = "ALL_SILENCED";
return SilencedState2222;
})(SilencedState222 || {});
var TimerState222 = /* @__PURE__ */ ((TimerState2222) => {
TimerState2222[TimerState2222["IDLE"] = 0] = "IDLE";
TimerState2222[TimerState2222["RUNNING"] = 1] = "RUNNING";
TimerState2222[TimerState2222["EXPIRED"] = 2] = "EXPIRED";
return TimerState2222;
})(TimerState222 || {});
var TimerTransition222 = /* @__PURE__ */ ((TimerTransition2222) => {
TimerTransition2222[TimerTransition2222["NONE"] = 0] = "NONE";
TimerTransition2222[TimerTransition2222["IDLE_TO_RUNNING"] = 1] = "IDLE_TO_RUNNING";
TimerTransition2222[TimerTransition2222["RUNNING_TO_IDLE"] = 2] = "RUNNING_TO_IDLE";
TimerTransition2222[TimerTransition2222["RUNNING_TO_RUNNING"] = 3] = "RUNNING_TO_RUNNING";
TimerTransition2222[TimerTransition2222["RUNNING_TO_EXPIRED"] = 4] = "RUNNING_TO_EXPIRED";
TimerTransition2222[TimerTransition2222["FORCED_TO_EXPIRED"] = 5] = "FORCED_TO_EXPIRED";
TimerTransition2222[TimerTransition2222["EXPIRED_TO_IDLE"] = 6] = "EXPIRED_TO_IDLE";
TimerTransition2222[TimerTransition2222["EXPIRED_TO_RUNNING"] = 7] = "EXPIRED_TO_RUNNING";
return TimerTransition2222;
})(TimerTransition222 || {});
var VTClass222 = /* @__PURE__ */ ((VTClass2222) => {
VTClass2222[VTClass2222["DEFAULT_TERMINAL"] = 0] = "DEFAULT_TERMINAL";
VTClass2222[VTClass2222["ANSI_X3_64"] = 1] = "ANSI_X3_64";
VTClass2222[VTClass2222["DEC_VT52"] = 2] = "DEC_VT52";
VTClass2222[VTClass2222["DEC_VT100"] = 3] = "DEC_VT100";
VTClass2222[VTClass2222["DEC_VT220"] = 4] = "DEC_VT220";
VTClass2222[VTClass2222["HP_700_94"] = 5] = "HP_700_94";
VTClass2222[VTClass2222["IBM_3130"] = 6] = "IBM_3130";
return VTClass2222;
})(VTClass222 || {});
var WriteStatus222 = /* @__PURE__ */ ((WriteStatus2222) => {
WriteStatus2222[WriteStatus2222["IDLE"] = 0] = "IDLE";
WriteStatus2222[WriteStatus2222["IN_PROGRESS"] = 1] = "IN_PROGRESS";
WriteStatus2222[WriteStatus2222["SUCCESSFUL"] = 2] = "SUCCESSFUL";
WriteStatus2222[WriteStatus2222["FAILED"] = 3] = "FAILED";
return WriteStatus2222;
})(WriteStatus222 || {});
var DaysOfWeek222 = /* @__PURE__ */ ((DaysOfWeek2222) => {
DaysOfWeek2222[DaysOfWeek2222["MONDAY"] = 0] = "MONDAY";
DaysOfWeek2222[DaysOfWeek2222["TUESDAY"] = 1] = "TUESDAY";
DaysOfWeek2222[DaysOfWeek2222["WEDNESDAY"] = 2] = "WEDNESDAY";
DaysOfWeek2222[DaysOfWeek2222["THURSDAY"] = 3] = "THURSDAY";
DaysOfWeek2222[DaysOfWeek2222["FRIDAY"] = 4] = "FRIDAY";
DaysOfWeek2222[DaysOfWeek2222["SATURDAY"] = 5] = "SATURDAY";
DaysOfWeek2222[DaysOfWeek2222["SUNDAY"] = 6] = "SUNDAY";
return DaysOfWeek2222;
})(DaysOfWeek222 || {});
var EventTransitionBits222 = /* @__PURE__ */ ((EventTransitionBits2222) => {
EventTransitionBits2222[EventTransitionBits2222["TO_OFFNORMAL"] = 0] = "TO_OFFNORMAL";
EventTransitionBits2222[EventTransitionBits2222["TO_FAULT"] = 1] = "TO_FAULT";
EventTransitionBits2222[EventTransitionBits2222["TO_NORMAL"] = 2] = "TO_NORMAL";
return EventTransitionBits2222;
})(EventTransitionBits222 || {});
var LimitEnable222 = /* @__PURE__ */ ((LimitEnable2222) => {
LimitEnable2222[LimitEnable2222["LOW_LIMIT_ENABLE"] = 0] = "LOW_LIMIT_ENABLE";
LimitEnable2222[LimitEnable2222["HIGH_LIMIT_ENABLE"] = 1] = "HIGH_LIMIT_ENABLE";
return LimitEnable2222;
})(LimitEnable222 || {});
var LogStatus222 = /* @__PURE__ */ ((LogStatus2222) => {
LogStatus2222[LogStatus2222["LOG_DISABLED"] = 0] = "LOG_DISABLED";
LogStatus2222[LogStatus2222["BUFFER_PURGED"] = 1] = "BUFFER_PURGED";
LogStatus2222[LogStatus2222["LOG_INTERRUPTED"] = 2] = "LOG_INTERRUPTED";
return LogStatus2222;
})(LogStatus222 || {});
var ObjectTypesSupported222 = /* @__PURE__ */ ((ObjectTypesSupported2222) => {
ObjectTypesSupported2222[ObjectTypesSupported2222["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["CALENDAR"] = 6] = "CALENDAR";
ObjectTypesSupported2222[ObjectTypesSupported2222["COMMAND"] = 7] = "COMMAND";
ObjectTypesSupported2222[ObjectTypesSupported2222["DEVICE"] = 8] = "DEVICE";
ObjectTypesSupported2222[ObjectTypesSupported2222["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectTypesSupported2222[ObjectTypesSupported2222["FILE"] = 10] = "FILE";
ObjectTypesSupported2222[ObjectTypesSupported2222["GROUP"] = 11] = "GROUP";
ObjectTypesSupported2222[ObjectTypesSupported2222["LOOP"] = 12] = "LOOP";
ObjectTypesSupported2222[ObjectTypesSupported2222["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectTypesSupported2222[ObjectTypesSupported2222["PROGRAM"] = 16] = "PROGRAM";
ObjectTypesSupported2222[ObjectTypesSupported2222["SCHEDULE"] = 17] = "SCHEDULE";
ObjectTypesSupported2222[ObjectTypesSupported2222["AVERAGING"] = 18] = "AVERAGING";
ObjectTypesSupported2222[ObjectTypesSupported2222["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["TREND_LOG"] = 20] = "TREND_LOG";
ObjectTypesSupported2222[ObjectTypesSupported2222["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectTypesSupported2222[ObjectTypesSupported2222["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectTypesSupported2222[ObjectTypesSupported2222["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectTypesSupported2222[ObjectTypesSupported2222["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectTypesSupported2222[ObjectTypesSupported2222["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectTypesSupported2222[ObjectTypesSupported2222["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
ObjectTypesSupported2222[ObjectTypesSupported2222["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectTypesSupported2222[ObjectTypesSupported2222["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectTypesSupported2222[ObjectTypesSupported2222["TIMER"] = 31] = "TIMER";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectTypesSupported2222[ObjectTypesSupported2222["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectTypesSupported2222[ObjectTypesSupported2222["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectTypesSupported2222[ObjectTypesSupported2222["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectTypesSupported2222[ObjectTypesSupported2222["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectTypesSupported2222[ObjectTypesSupported2222["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectTypesSupported2222[ObjectTypesSupported2222["CHANNEL"] = 53] = "CHANNEL";
ObjectTypesSupported2222[ObjectTypesSupported2222["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectTypesSupported2222[ObjectTypesSupported2222["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectTypesSupported2222[ObjectTypesSupported2222["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectTypesSupported2222[ObjectTypesSupported2222["ESCALATOR"] = 58] = "ESCALATOR";
ObjectTypesSupported2222[ObjectTypesSupported2222["LIFT"] = 59] = "LIFT";
return ObjectTypesSupported2222;
})(ObjectTypesSupported222 || {});
var ResultFlags222 = /* @__PURE__ */ ((ResultFlags2222) => {
ResultFlags2222[ResultFlags2222["FIRST_ITEM"] = 0] = "FIRST_ITEM";
ResultFlags2222[ResultFlags2222["LAST_ITEM"] = 1] = "LAST_ITEM";
ResultFlags2222[ResultFlags2222["MORE_ITEMS"] = 2] = "MORE_ITEMS";
return ResultFlags2222;
})(ResultFlags222 || {});
var ServicesSupported222 = /* @__PURE__ */ ((ServicesSupported2222) => {
ServicesSupported2222[ServicesSupported2222["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ServicesSupported2222[ServicesSupported2222["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ServicesSupported2222[ServicesSupported2222["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ServicesSupported2222[ServicesSupported2222["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ServicesSupported2222[ServicesSupported2222["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ServicesSupported2222[ServicesSupported2222["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ServicesSupported2222[ServicesSupported2222["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ServicesSupported2222[ServicesSupported2222["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ServicesSupported2222[ServicesSupported2222["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ServicesSupported2222[ServicesSupported2222["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ServicesSupported2222[ServicesSupported2222["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ServicesSupported2222[ServicesSupported2222["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ServicesSupported2222[ServicesSupported2222["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ServicesSupported2222[ServicesSupported2222["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ServicesSupported2222[ServicesSupported2222["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ServicesSupported2222[ServicesSupported2222["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ServicesSupported2222[ServicesSupported2222["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ServicesSupported2222[ServicesSupported2222["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ServicesSupported2222[ServicesSupported2222["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ServicesSupported2222[ServicesSupported2222["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ServicesSupported2222[ServicesSupported2222["VT_OPEN"] = 21] = "VT_OPEN";
ServicesSupported2222[ServicesSupported2222["VT_CLOSE"] = 22] = "VT_CLOSE";
ServicesSupported2222[ServicesSupported2222["VT_DATA"] = 23] = "VT_DATA";
ServicesSupported2222[ServicesSupported2222["READ_PROPERTY_CONDITIONAL"] = 13] = "READ_PROPERTY_CONDITIONAL";
ServicesSupported2222[ServicesSupported2222["AUTHENTICATE"] = 24] = "AUTHENTICATE";
ServicesSupported2222[ServicesSupported2222["REQUEST_KEY"] = 25] = "REQUEST_KEY";
ServicesSupported2222[ServicesSupported2222["I_AM"] = 26] = "I_AM";
ServicesSupported2222[ServicesSupported2222["I_HAVE"] = 27] = "I_HAVE";
ServicesSupported2222[ServicesSupported2222["UNCONFIRMED_COV_NOTIFICATION"] = 28] = "UNCONFIRMED_COV_NOTIFICATION";
ServicesSupported2222[ServicesSupported2222["UNCONFIRMED_EVENT_NOTIFICATION"] = 29] = "UNCONFIRMED_EVENT_NOTIFICATION";
ServicesSupported2222[ServicesSupported2222["UNCONFIRMED_PRIVATE_TRANSFER"] = 30] = "UNCONFIRMED_PRIVATE_TRANSFER";
ServicesSupported2222[ServicesSupported2222["UNCONFIRMED_TEXT_MESSAGE"] = 31] = "UNCONFIRMED_TEXT_MESSAGE";
ServicesSupported2222[ServicesSupported2222["TIME_SYNCHRONIZATION"] = 32] = "TIME_SYNCHRONIZATION";
ServicesSupported2222[ServicesSupported2222["WHO_HAS"] = 33] = "WHO_HAS";
ServicesSupported2222[ServicesSupported2222["WHO_IS"] = 34] = "WHO_IS";
ServicesSupported2222[ServicesSupported2222["READ_RANGE"] = 35] = "READ_RANGE";
ServicesSupported2222[ServicesSupported2222["UTC_TIME_SYNCHRONIZATION"] = 36] = "UTC_TIME_SYNCHRONIZATION";
ServicesSupported2222[ServicesSupported2222["LIFE_SAFETY_OPERATION"] = 37] = "LIFE_SAFETY_OPERATION";
ServicesSupported2222[ServicesSupported2222["SUBSCRIBE_COV_PROPERTY"] = 38] = "SUBSCRIBE_COV_PROPERTY";
ServicesSupported2222[ServicesSupported2222["GET_EVENT_INFORMATION"] = 39] = "GET_EVENT_INFORMATION";
ServicesSupported2222[ServicesSupported2222["WRITE_GROUP"] = 40] = "WRITE_GROUP";
ServicesSupported2222[ServicesSupported2222["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 41] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ServicesSupported2222[ServicesSupported2222["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 42] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
ServicesSupported2222[ServicesSupported2222["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 43] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ServicesSupported2222;
})(ServicesSupported222 || {});
var StatusFlags222 = /* @__PURE__ */ ((StatusFlags2222) => {
StatusFlags2222[StatusFlags2222["IN_ALARM"] = 0] = "IN_ALARM";
StatusFlags2222[StatusFlags2222["FAULT"] = 1] = "FAULT";
StatusFlags2222[StatusFlags2222["OVERRIDDEN"] = 2] = "OVERRIDDEN";
StatusFlags2222[StatusFlags2222["OUT_OF_SERVICE"] = 3] = "OUT_OF_SERVICE";
return StatusFlags2222;
})(StatusFlags222 || {});
var ApplicationTag222 = /* @__PURE__ */ ((ApplicationTag2222) => {
ApplicationTag2222[ApplicationTag2222["NULL"] = 0] = "NULL";
ApplicationTag2222[ApplicationTag2222["BOOLEAN"] = 1] = "BOOLEAN";
ApplicationTag2222[ApplicationTag2222["UNSIGNED_INTEGER"] = 2] = "UNSIGNED_INTEGER";
ApplicationTag2222[ApplicationTag2222["SIGNED_INTEGER"] = 3] = "SIGNED_INTEGER";
ApplicationTag2222[ApplicationTag2222["REAL"] = 4] = "REAL";
ApplicationTag2222[ApplicationTag2222["DOUBLE"] = 5] = "DOUBLE";
ApplicationTag2222[ApplicationTag2222["OCTET_STRING"] = 6] = "OCTET_STRING";
ApplicationTag2222[ApplicationTag2222["CHARACTER_STRING"] = 7] = "CHARACTER_STRING";
ApplicationTag2222[ApplicationTag2222["BIT_STRING"] = 8] = "BIT_STRING";
ApplicationTag2222[ApplicationTag2222["ENUMERATED"] = 9] = "ENUMERATED";
ApplicationTag2222[ApplicationTag2222["DATE"] = 10] = "DATE";
ApplicationTag2222[ApplicationTag2222["TIME"] = 11] = "TIME";
ApplicationTag2222[ApplicationTag2222["OBJECTIDENTIFIER"] = 12] = "OBJECTIDENTIFIER";
ApplicationTag2222[ApplicationTag2222["EMPTYLIST"] = 100] = "EMPTYLIST";
ApplicationTag2222[ApplicationTag2222["WEEKNDAY"] = 101] = "WEEKNDAY";
ApplicationTag2222[ApplicationTag2222["DATERANGE"] = 102] = "DATERANGE";
ApplicationTag2222[ApplicationTag2222["DATETIME"] = 103] = "DATETIME";
ApplicationTag2222[ApplicationTag2222["TIMESTAMP"] = 104] = "TIMESTAMP";
ApplicationTag2222[ApplicationTag2222["ERROR"] = 105] = "ERROR";
ApplicationTag2222[ApplicationTag2222["DEVICE_OBJECT_PROPERTY_REFERENCE"] = 106] = "DEVICE_OBJECT_PROPERTY_REFERENCE";
ApplicationTag2222[ApplicationTag2222["DEVICE_OBJECT_REFERENCE"] = 107] = "DEVICE_OBJECT_REFERENCE";
ApplicationTag2222[ApplicationTag2222["OBJECT_PROPERTY_REFERENCE"] = 108] = "OBJECT_PROPERTY_REFERENCE";
ApplicationTag2222[ApplicationTag2222["DESTINATION"] = 109] = "DESTINATION";
ApplicationTag2222[ApplicationTag2222["RECIPIENT"] = 110] = "RECIPIENT";
ApplicationTag2222[ApplicationTag2222["COV_SUBSCRIPTION"] = 111] = "COV_SUBSCRIPTION";
ApplicationTag2222[ApplicationTag2222["CALENDAR_ENTRY"] = 112] = "CALENDAR_ENTRY";
ApplicationTag2222[ApplicationTag2222["WEEKLY_SCHEDULE"] = 113] = "WEEKLY_SCHEDULE";
ApplicationTag2222[ApplicationTag2222["SPECIAL_EVENT"] = 114] = "SPECIAL_EVENT";
ApplicationTag2222[ApplicationTag2222["READ_ACCESS_SPECIFICATION"] = 115] = "READ_ACCESS_SPECIFICATION";
ApplicationTag2222[ApplicationTag2222["READ_ACCESS_RESULT"] = 116] = "READ_ACCESS_RESULT";
ApplicationTag2222[ApplicationTag2222["LIGHTING_COMMAND"] = 117] = "LIGHTING_COMMAND";
ApplicationTag2222[ApplicationTag2222["CONTEXT_SPECIFIC_DECODED"] = 118] = "CONTEXT_SPECIFIC_DECODED";
ApplicationTag2222[ApplicationTag2222["CONTEXT_SPECIFIC_ENCODED"] = 119] = "CONTEXT_SPECIFIC_ENCODED";
ApplicationTag2222[ApplicationTag2222["LOG_RECORD"] = 120] = "LOG_RECORD";
return ApplicationTag2222;
})(ApplicationTag222 || {});
var ApplicationTagName222 = invertEnum222(
ApplicationTag222
);
var BvlcResultFormat222 = /* @__PURE__ */ ((BvlcResultFormat2222) => {
BvlcResultFormat2222[BvlcResultFormat2222["SUCCESSFUL_COMPLETION"] = 0] = "SUCCESSFUL_COMPLETION";
BvlcResultFormat2222[BvlcResultFormat2222["WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 16] = "WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat2222[BvlcResultFormat2222["READ_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 32] = "READ_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat2222[BvlcResultFormat2222["REGISTER_FOREIGN_DEVICE_NAK"] = 48] = "REGISTER_FOREIGN_DEVICE_NAK";
BvlcResultFormat2222[BvlcResultFormat2222["READ_FOREIGN_DEVICE_TABLE_NAK"] = 64] = "READ_FOREIGN_DEVICE_TABLE_NAK";
BvlcResultFormat2222[BvlcResultFormat2222["DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK"] = 80] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK";
BvlcResultFormat2222[BvlcResultFormat2222["DISTRIBUTE_BROADCAST_TO_NETWORK_NAK"] = 96] = "DISTRIBUTE_BROADCAST_TO_NETWORK_NAK";
return BvlcResultFormat2222;
})(BvlcResultFormat222 || {});
var BvlcResultPurpose222 = /* @__PURE__ */ ((BvlcResultPurpose2222) => {
BvlcResultPurpose2222[BvlcResultPurpose2222["BVLC_RESULT"] = 0] = "BVLC_RESULT";
BvlcResultPurpose2222[BvlcResultPurpose2222["WRITE_BROADCAST_DISTRIBUTION_TABLE"] = 1] = "WRITE_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose2222[BvlcResultPurpose2222["READ_BROADCAST_DISTRIBUTION_TABLE"] = 2] = "READ_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose2222[BvlcResultPurpose2222["READ_BROADCAST_DISTRIBUTION_TABLE_ACK"] = 3] = "READ_BROADCAST_DISTRIBUTION_TABLE_ACK";
BvlcResultPurpose2222[BvlcResultPurpose2222["FORWARDED_NPDU"] = 4] = "FORWARDED_NPDU";
BvlcResultPurpose2222[BvlcResultPurpose2222["REGISTER_FOREIGN_DEVICE"] = 5] = "REGISTER_FOREIGN_DEVICE";
BvlcResultPurpose2222[BvlcResultPurpose2222["READ_FOREIGN_DEVICE_TABLE"] = 6] = "READ_FOREIGN_DEVICE_TABLE";
BvlcResultPurpose2222[BvlcResultPurpose2222["READ_FOREIGN_DEVICE_TABLE_ACK"] = 7] = "READ_FOREIGN_DEVICE_TABLE_ACK";
BvlcResultPurpose2222[BvlcResultPurpose2222["DELETE_FOREIGN_DEVICE_TABLE_ENTRY"] = 8] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY";
BvlcResultPurpose2222[BvlcResultPurpose2222["DISTRIBUTE_BROADCAST_TO_NETWORK"] = 9] = "DISTRIBUTE_BROADCAST_TO_NETWORK";
BvlcResultPurpose2222[BvlcResultPurpose2222["ORIGINAL_UNICAST_NPDU"] = 10] = "ORIGINAL_UNICAST_NPDU";
BvlcResultPurpose2222[BvlcResultPurpose2222["ORIGINAL_BROADCAST_NPDU"] = 11] = "ORIGINAL_BROADCAST_NPDU";
BvlcResultPurpose2222[BvlcResultPurpose2222["SECURE_BVLL"] = 12] = "SECURE_BVLL";
return BvlcResultPurpose2222;
})(BvlcResultPurpose222 || {});
var CharacterStringEncoding222 = /* @__PURE__ */ ((CharacterStringEncoding2222) => {
CharacterStringEncoding2222[CharacterStringEncoding2222["UTF_8"] = 0] = "UTF_8";
CharacterStringEncoding2222[CharacterStringEncoding2222["MICROSOFT_DBCS"] = 1] = "MICROSOFT_DBCS";
CharacterStringEncoding2222[CharacterStringEncoding2222["JIS_X_0208"] = 2] = "JIS_X_0208";
CharacterStringEncoding2222[CharacterStringEncoding2222["UCS_4"] = 3] = "UCS_4";
CharacterStringEncoding2222[CharacterStringEncoding2222["UCS_2"] = 4] = "UCS_2";
CharacterStringEncoding2222[CharacterStringEncoding2222["ISO_8859_1"] = 5] = "ISO_8859_1";
return CharacterStringEncoding2222;
})(CharacterStringEncoding222 || {});
var CovType222 = /* @__PURE__ */ ((CovType2222) => {
CovType2222[CovType2222["REAL"] = 0] = "REAL";
CovType2222[CovType2222["BIT_STRING"] = 1] = "BIT_STRING";
return CovType2222;
})(CovType222 || {});
var EnableDisable222 = /* @__PURE__ */ ((EnableDisable2222) => {
EnableDisable2222[EnableDisable2222["ENABLE"] = 0] = "ENABLE";
EnableDisable2222[EnableDisable2222["DISABLE"] = 1] = "DISABLE";
EnableDisable2222[EnableDisable2222["DISABLE_INITIATION"] = 2] = "DISABLE_INITIATION";
return EnableDisable2222;
})(EnableDisable222 || {});
var MaxApduLengthAccepted222 = /* @__PURE__ */ ((MaxApduLengthAccepted2222) => {
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_50"] = 0] = "OCTETS_50";
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_128"] = 1] = "OCTETS_128";
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_206"] = 2] = "OCTETS_206";
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_480"] = 3] = "OCTETS_480";
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_1024"] = 4] = "OCTETS_1024";
MaxApduLengthAccepted2222[MaxApduLengthAccepted2222["OCTETS_1476"] = 5] = "OCTETS_1476";
return MaxApduLengthAccepted2222;
})(MaxApduLengthAccepted222 || {});
var MaxSegmentsAccepted222 = /* @__PURE__ */ ((MaxSegmentsAccepted2222) => {
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_0"] = 0] = "SEGMENTS_0";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_2"] = 16] = "SEGMENTS_2";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_4"] = 32] = "SEGMENTS_4";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_8"] = 48] = "SEGMENTS_8";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_16"] = 64] = "SEGMENTS_16";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_32"] = 80] = "SEGMENTS_32";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_64"] = 96] = "SEGMENTS_64";
MaxSegmentsAccepted2222[MaxSegmentsAccepted2222["SEGMENTS_65"] = 112] = "SEGMENTS_65";
return MaxSegmentsAccepted2222;
})(MaxSegmentsAccepted222 || {});
var NetworkLayerMessageType222 = /* @__PURE__ */ ((NetworkLayerMessageType2222) => {
NetworkLayerMessageType2222[NetworkLayerMessageType2222["WHO_IS_ROUTER_TO_NETWORK"] = 0] = "WHO_IS_ROUTER_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["I_AM_ROUTER_TO_NETWORK"] = 1] = "I_AM_ROUTER_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["I_COULD_BE_ROUTER_TO_NETWORK"] = 2] = "I_COULD_BE_ROUTER_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["REJECT_MESSAGE_TO_NETWORK"] = 3] = "REJECT_MESSAGE_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["ROUTER_BUSY_TO_NETWORK"] = 4] = "ROUTER_BUSY_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["ROUTER_AVAILABLE_TO_NETWORK"] = 5] = "ROUTER_AVAILABLE_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["INITIALIZE_ROUTING_TABLE"] = 6] = "INITIALIZE_ROUTING_TABLE";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["INITIALIZE_ROUTING_TABLE_ACK"] = 7] = "INITIALIZE_ROUTING_TABLE_ACK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["ESTABLISH_CONNECTION_TO_NETWORK"] = 8] = "ESTABLISH_CONNECTION_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["DISCONNECT_CONNECTION_TO_NETWORK"] = 9] = "DISCONNECT_CONNECTION_TO_NETWORK";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["CHALLENGE_REQUEST"] = 10] = "CHALLENGE_REQUEST";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["SECURITY_PAYLOAD"] = 11] = "SECURITY_PAYLOAD";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["SECURITY_RESPONSE"] = 12] = "SECURITY_RESPONSE";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["REQUEST_KEY_UPDATE"] = 13] = "REQUEST_KEY_UPDATE";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["UPDATE_KEY_SET"] = 14] = "UPDATE_KEY_SET";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["UPDATE_DISTRIBUTION_KEY"] = 15] = "UPDATE_DISTRIBUTION_KEY";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["REQUEST_MASTER_KEY"] = 16] = "REQUEST_MASTER_KEY";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["SET_MASTER_KEY"] = 17] = "SET_MASTER_KEY";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["WHAT_IS_NETWORK_NUMBER"] = 18] = "WHAT_IS_NETWORK_NUMBER";
NetworkLayerMessageType2222[NetworkLayerMessageType2222["NETWORK_NUMBER_IS"] = 19] = "NETWORK_NUMBER_IS";
return NetworkLayerMessageType2222;
})(NetworkLayerMessageType222 || {});
var NpduControlBit222 = /* @__PURE__ */ ((NpduControlBit2222) => {
NpduControlBit2222[NpduControlBit2222["EXPECTING_REPLY"] = 4] = "EXPECTING_REPLY";
NpduControlBit2222[NpduControlBit2222["SOURCE_SPECIFIED"] = 8] = "SOURCE_SPECIFIED";
NpduControlBit2222[NpduControlBit2222["DESTINATION_SPECIFIED"] = 32] = "DESTINATION_SPECIFIED";
NpduControlBit2222[NpduControlBit2222["NETWORK_LAYER_MESSAGE"] = 128] = "NETWORK_LAYER_MESSAGE";
return NpduControlBit2222;
})(NpduControlBit222 || {});
var NpduControlPriority222 = /* @__PURE__ */ ((NpduControlPriority2222) => {
NpduControlPriority2222[NpduControlPriority2222["NORMAL_MESSAGE"] = 0] = "NORMAL_MESSAGE";
NpduControlPriority2222[NpduControlPriority2222["URGENT_MESSAGE"] = 1] = "URGENT_MESSAGE";
NpduControlPriority2222[NpduControlPriority2222["CRITICAL_EQUIPMENT_MESSAGE"] = 2] = "CRITICAL_EQUIPMENT_MESSAGE";
NpduControlPriority2222[NpduControlPriority2222["LIFE_SAFETY_MESSAGE"] = 3] = "LIFE_SAFETY_MESSAGE";
return NpduControlPriority2222;
})(NpduControlPriority222 || {});
var PduConReqBit222 = /* @__PURE__ */ ((PduConReqBit2222) => {
PduConReqBit2222[PduConReqBit2222["SEGMENTED_RESPONSE_ACCEPTED"] = 2] = "SEGMENTED_RESPONSE_ACCEPTED";
PduConReqBit2222[PduConReqBit2222["MORE_FOLLOWS"] = 4] = "MORE_FOLLOWS";
PduConReqBit2222[PduConReqBit2222["SEGMENTED_MESSAGE"] = 8] = "SEGMENTED_MESSAGE";
return PduConReqBit2222;
})(PduConReqBit222 || {});
var PduSegAckBit222 = /* @__PURE__ */ ((PduSegAckBit2222) => {
PduSegAckBit2222[PduSegAckBit2222["SERVER"] = 1] = "SERVER";
PduSegAckBit2222[PduSegAckBit2222["NEGATIVE_ACK"] = 2] = "NEGATIVE_ACK";
return PduSegAckBit2222;
})(PduSegAckBit222 || {});
var PduType222 = /* @__PURE__ */ ((PduType2222) => {
PduType2222[PduType2222["CONFIRMED_REQUEST"] = 0] = "CONFIRMED_REQUEST";
PduType2222[PduType2222["UNCONFIRMED_REQUEST"] = 16] = "UNCONFIRMED_REQUEST";
PduType2222[PduType2222["SIMPLE_ACK"] = 32] = "SIMPLE_ACK";
PduType2222[PduType2222["COMPLEX_ACK"] = 48] = "COMPLEX_ACK";
PduType2222[PduType2222["SEGMENT_ACK"] = 64] = "SEGMENT_ACK";
PduType2222[PduType2222["ERROR"] = 80] = "ERROR";
PduType2222[PduType2222["REJECT"] = 96] = "REJECT";
PduType2222[PduType2222["ABORT"] = 112] = "ABORT";
return PduType2222;
})(PduType222 || {});
var PropertyStates222 = /* @__PURE__ */ ((PropertyStates2222) => {
PropertyStates2222[PropertyStates2222["BOOLEAN_VALUE"] = 0] = "BOOLEAN_VALUE";
PropertyStates2222[PropertyStates2222["BINARY_VALUE"] = 1] = "BINARY_VALUE";
PropertyStates2222[PropertyStates2222["EVENT_TYPE"] = 2] = "EVENT_TYPE";
PropertyStates2222[PropertyStates2222["POLARITY"] = 3] = "POLARITY";
PropertyStates2222[PropertyStates2222["PROGRAM_CHANGE"] = 4] = "PROGRAM_CHANGE";
PropertyStates2222[PropertyStates2222["PROGRAM_STATE"] = 5] = "PROGRAM_STATE";
PropertyStates2222[PropertyStates2222["REASON_FOR_HALT"] = 6] = "REASON_FOR_HALT";
PropertyStates2222[PropertyStates2222["RELIABILITY"] = 7] = "RELIABILITY";
PropertyStates2222[PropertyStates2222["STATE"] = 8] = "STATE";
PropertyStates2222[PropertyStates2222["SYSTEM_STATUS"] = 9] = "SYSTEM_STATUS";
PropertyStates2222[PropertyStates2222["UNITS"] = 10] = "UNITS";
PropertyStates2222[PropertyStates2222["UNSIGNED_VALUE"] = 11] = "UNSIGNED_VALUE";
PropertyStates2222[PropertyStates2222["LIFE_SAFETY_MODE"] = 12] = "LIFE_SAFETY_MODE";
PropertyStates2222[PropertyStates2222["LIFE_SAFETY_STATE"] = 13] = "LIFE_SAFETY_STATE";
PropertyStates2222[PropertyStates2222["RESTART_REASON"] = 14] = "RESTART_REASON";
PropertyStates2222[PropertyStates2222["DOOR_ALARM_STATE"] = 15] = "DOOR_ALARM_STATE";
PropertyStates2222[PropertyStates2222["ACTION"] = 16] = "ACTION";
PropertyStates2222[PropertyStates2222["DOOR_SECURED_STATUS"] = 17] = "DOOR_SECURED_STATUS";
PropertyStates2222[PropertyStates2222["DOOR_STATUS"] = 18] = "DOOR_STATUS";
PropertyStates2222[PropertyStates2222["DOOR_VALUE"] = 19] = "DOOR_VALUE";
PropertyStates2222[PropertyStates2222["FILE_ACCESS_METHOD"] = 20] = "FILE_ACCESS_METHOD";
PropertyStates2222[PropertyStates2222["LOCK_STATUS"] = 21] = "LOCK_STATUS";
PropertyStates2222[PropertyStates2222["LIFE_SAFETY_OPERATION"] = 22] = "LIFE_SAFETY_OPERATION";
PropertyStates2222[PropertyStates2222["MAINTENANCE"] = 23] = "MAINTENANCE";
PropertyStates2222[PropertyStates2222["NODE_TYPE"] = 24] = "NODE_TYPE";
PropertyStates2222[PropertyStates2222["NOTIFY_TYPE"] = 25] = "NOTIFY_TYPE";
PropertyStates2222[PropertyStates2222["SECURITY_LEVEL"] = 26] = "SECURITY_LEVEL";
PropertyStates2222[PropertyStates2222["SHED_STATE"] = 27] = "SHED_STATE";
PropertyStates2222[PropertyStates2222["SILENCED_STATE"] = 28] = "SILENCED_STATE";
PropertyStates2222[PropertyStates2222["ACCESS_EVENT"] = 30] = "ACCESS_EVENT";
PropertyStates2222[PropertyStates2222["ZONE_OCCUPANCY_STATE"] = 31] = "ZONE_OCCUPANCY_STATE";
PropertyStates2222[PropertyStates2222["ACCESS_CREDENTIAL_DISABLE_REASON"] = 32] = "ACCESS_CREDENTIAL_DISABLE_REASON";
PropertyStates2222[PropertyStates2222["ACCESS_CREDENTIAL_DISABLE"] = 33] = "ACCESS_CREDENTIAL_DISABLE";
PropertyStates2222[PropertyStates2222["AUTHENTICATION_STATUS"] = 34] = "AUTHENTICATION_STATUS";
PropertyStates2222[PropertyStates2222["BACKUP_STATE"] = 36] = "BACKUP_STATE";
PropertyStates2222[PropertyStates2222["WRITE_STATUS"] = 37] = "WRITE_STATUS";
PropertyStates2222[PropertyStates2222["LIGHTING_IN_PROGRESS"] = 38] = "LIGHTING_IN_PROGRESS";
PropertyStates2222[PropertyStates2222["LIGHTING_OPERATION"] = 39] = "LIGHTING_OPERATION";
PropertyStates2222[PropertyStates2222["LIGHTING_TRANSITION"] = 40] = "LIGHTING_TRANSITION";
PropertyStates2222[PropertyStates2222["INTEGER_VALUE"] = 41] = "INTEGER_VALUE";
PropertyStates2222[PropertyStates2222["BINARY_LIGHTING_VALUE"] = 42] = "BINARY_LIGHTING_VALUE";
PropertyStates2222[PropertyStates2222["TIMER_STATE"] = 43] = "TIMER_STATE";
PropertyStates2222[PropertyStates2222["TIMER_TRANSITION"] = 44] = "TIMER_TRANSITION";
PropertyStates2222[PropertyStates2222["BACNET_IP_MODE"] = 45] = "BACNET_IP_MODE";
PropertyStates2222[PropertyStates2222["NETWORK_PORT_COMMAND"] = 46] = "NETWORK_PORT_COMMAND";
PropertyStates2222[PropertyStates2222["NETWORK_TYPE"] = 47] = "NETWORK_TYPE";
PropertyStates2222[PropertyStates2222["NETWORK_NUMBER_QUALITY"] = 48] = "NETWORK_NUMBER_QUALITY";
PropertyStates2222[PropertyStates2222["ESCALATOR_OPERATION_DIRECTION"] = 49] = "ESCALATOR_OPERATION_DIRECTION";
PropertyStates2222[PropertyStates2222["ESCALATOR_FAULT"] = 50] = "ESCALATOR_FAULT";
PropertyStates2222[PropertyStates2222["ESCALATOR_MODE"] = 51] = "ESCALATOR_MODE";
PropertyStates2222[PropertyStates2222["LIFT_CAR_DIRECTION"] = 52] = "LIFT_CAR_DIRECTION";
PropertyStates2222[PropertyStates2222["LIFT_CAR_DOOR_COMMAND"] = 53] = "LIFT_CAR_DOOR_COMMAND";
PropertyStates2222[PropertyStates2222["LIFT_CAR_DRIVE_STATUS"] = 54] = "LIFT_CAR_DRIVE_STATUS";
PropertyStates2222[PropertyStates2222["LIFT_CAR_MODE"] = 55] = "LIFT_CAR_MODE";
PropertyStates2222[PropertyStates2222["LIFT_GROUP_MODE"] = 56] = "LIFT_GROUP_MODE";
PropertyStates2222[PropertyStates2222["LIFT_FAULT"] = 57] = "LIFT_FAULT";
PropertyStates2222[PropertyStates2222["PROTOCOL_LEVEL"] = 58] = "PROTOCOL_LEVEL";
PropertyStates2222[PropertyStates2222["EXTENDED_VALUE"] = 63] = "EXTENDED_VALUE";
return PropertyStates2222;
})(PropertyStates222 || {});
var ReadRangeType222 = /* @__PURE__ */ ((ReadRangeType2222) => {
ReadRangeType2222[ReadRangeType2222["BY_POSITION"] = 0] = "BY_POSITION";
ReadRangeType2222[ReadRangeType2222["BY_SEQUENCE_NUMBER"] = 1] = "BY_SEQUENCE_NUMBER";
ReadRangeType2222[ReadRangeType2222["BY_TIME_REFERENCE_TIME_COUNT"] = 2] = "BY_TIME_REFERENCE_TIME_COUNT";
return ReadRangeType2222;
})(ReadRangeType222 || {});
var ReinitializedState222 = /* @__PURE__ */ ((ReinitializedState2222) => {
ReinitializedState2222[ReinitializedState2222["COLDSTART"] = 0] = "COLDSTART";
ReinitializedState2222[ReinitializedState2222["WARMSTART"] = 1] = "WARMSTART";
ReinitializedState2222[ReinitializedState2222["STARTBACKUP"] = 2] = "STARTBACKUP";
ReinitializedState2222[ReinitializedState2222["ENDBACKUP"] = 3] = "ENDBACKUP";
ReinitializedState2222[ReinitializedState2222["STARTRESTORE"] = 4] = "STARTRESTORE";
ReinitializedState2222[ReinitializedState2222["ENDRESTORE"] = 5] = "ENDRESTORE";
ReinitializedState2222[ReinitializedState2222["ABORTRESTORE"] = 6] = "ABORTRESTORE";
ReinitializedState2222[ReinitializedState2222["ACTIVATE_CHANGES"] = 7] = "ACTIVATE_CHANGES";
return ReinitializedState2222;
})(ReinitializedState222 || {});
var TimeStamp222 = /* @__PURE__ */ ((TimeStamp2222) => {
TimeStamp2222[TimeStamp2222["TIME"] = 0] = "TIME";
TimeStamp2222[TimeStamp2222["SEQUENCE_NUMBER"] = 1] = "SEQUENCE_NUMBER";
TimeStamp2222[TimeStamp2222["DATETIME"] = 2] = "DATETIME";
return TimeStamp2222;
})(TimeStamp222 || {});
var import_events2222 = __toESM222(require("events"));
var import_debug3222 = __toESM222(require("debug"));
var import_dgram222 = require("dgram");
var import_events322 = __toESM222(require("events"));
var import_debug2222 = __toESM222(require("debug"));
var EventEmitter322 = import_events322.default.EventEmitter;
var debug2222 = (0, import_debug2222.default)("bacnet:client:debug");
var DEFAULT_BACNET_PORT322 = 47808;
var Transport222 = class extends EventEmitter322 {
constructor(settings) {
super();
this._lastSendMessages = {};
this._settings = settings;
this._server = (0, import_dgram222.createSocket)({
type: "udp4",
reuseAddr: settings.reuseAddr
});
this._server.on("message", (msg, rinfo) => {
if (this.ownAddress.port === rinfo.port) {
for (let [messageKey, earlierSentBuffer] of Object.entries(
this._lastSendMessages
)) {
if (msg.equals(earlierSentBuffer)) {
debug2222(
`server IGNORE message from ${rinfo.address}:${rinfo.port} (${messageKey}): ${msg.toString("hex")}`
);
return;
}
}
}
debug2222(
`server got message from ${rinfo.address}:${rinfo.port}: ${msg.toString(
"hex"
)}`
);
this.emit(
"message",
msg,
rinfo.address + (rinfo.port === DEFAULT_BACNET_PORT322 ? "" : ":" + rinfo.port)
);
});
this._server.on("listening", () => {
this.ownAddress = this._server.address();
debug2222(
`server listening on ${this.ownAddress.address}:${this.ownAddress.port}`
);
this.emit("listening", this.ownAddress);
});
this._server.on("error", (err) => {
debug2222("transport error", err.message);
this.emit("error", err);
});
this._server.on("close", () => {
debug2222("transport closed");
this.emit("close");
});
}
getBroadcastAddress() {
return this._settings.broadcastAddress;
}
getMaxPayload() {
return 1482;
}
send(buffer, offset, receiver) {
if (!receiver) {
receiver = this.getBroadcastAddress();
const dataToSend = Buffer.alloc(offset);
const hrTime = process.hrtime();
const messageKey = hrTime[0] * 1e9 + hrTime[1];
buffer.copy(dataToSend, 0, 0, offset);
this._lastSendMessages[messageKey] = dataToSend;
setTimeout(() => {
delete this._lastSendMessages[messageKey];
}, 1e4);
}
const receiverAddress = typeof receiver === "string" ? receiver : receiver.address;
const [address, port] = receiverAddress.split(":");
debug2222(
"Send packet to " + receiver + ": " + buffer.toString("hex").substr(0, offset * 2)
);
this._server.send(buffer, 0, offset, +port || DEFAULT_BACNET_PORT322, address);
}
open() {
this._server.bind(this._settings.port, this._settings.interface, () => {
this._server.setBroadcast(true);
});
}
close() {
this._server.close();
}
};
var services_exports222 = {};
__export222(services_exports222, {
addListElement: () => add_list_element_exports222,
alarmAcknowledge: () => alarm_acknowledge_exports222,
alarmSummary: () => alarm_summary_exports222,
atomicReadFile: () => atomic_read_file_exports222,
atomicWriteFile: () => atomic_write_file_exports222,
covNotify: () => cov_notify_exports222,
covNotifyUnconfirmed: () => cov_notify_exports222,
createObject: () => create_object_exports222,
deleteObject: () => delete_object_exports222,
deviceCommunicationControl: () => device_communication_control_exports222,
error: () => error_exports222,
eventInformation: () => event_information_exports222,
eventNotifyData: () => event_notify_data_exports222,
getEnrollmentSummary: () => get_enrollment_summary_exports222,
getEventInformation: () => get_event_information_exports222,
iAm: () => i_am_exports222,
iHave: () => i_have_exports222,
lifeSafetyOperation: () => life_safety_operation_exports222,
privateTransfer: () => private_transfer_exports222,
readProperty: () => read_property_exports222,
readPropertyMultiple: () => read_property_multiple_exports222,
readRange: () => read_range_exports222,
registerForeignDevice: () => register_foreign_device_exports222,
reinitializeDevice: () => reinitialize_device_exports222,
subscribeCov: () => subscribe_cov_exports222,
subscribeProperty: () => subscribe_property_exports222,
timeSync: () => time_sync_exports222,
timeSyncUTC: () => time_sync_exports222,
whoHas: () => who_has_exports222,
whoIs: () => who_is_exports222,
writeProperty: () => write_property_exports222,
writePropertyMultiple: () => write_property_multiple_exports222
});
var add_list_element_exports222 = {};
__export222(add_list_element_exports222, {
decode: () => decode3322,
encode: () => encode3322
});
var import_iconv_lite222 = __toESM222(require("iconv-lite"));
var enums_default222 = enum_exports222;
var START_YEAR222 = 1900;
var MAX_YEARS222 = 256;
var getBuffer222 = () => {
return {
buffer: Buffer.alloc(1472),
offset: 0
};
};
var getSignedLength222 = (value) => {
if (value >= -128 && value < 128)
return 1;
else if (value >= -32768 && value < 32768)
return 2;
else if (value > -8388608 && value < 8388608)
return 3;
else
return 4;
};
var getUnsignedLength222 = (value) => {
if (value < 256)
return 1;
else if (value < 65536)
return 2;
else if (value < 16777216)
return 3;
else
return 4;
};
var getEncodingType222 = (encoding, decodingBuffer, decodingOffset) => {
switch (encoding) {
case enums_default222.CharacterStringEncoding.UCS_2:
if (decodingBuffer && decodingBuffer[decodingOffset] === 255 && decodingBuffer[decodingOffset + 1] === 254) {
return "ucs2";
}
return "UTF-16BE";
case enums_default222.CharacterStringEncoding.ISO_8859_1:
return "latin1";
case enums_default222.CharacterStringEncoding.MICROSOFT_DBCS:
return "cp850";
case enums_default222.CharacterStringEncoding.JIS_X_0208:
return "Shift_JIS";
default:
return "utf8";
}
};
var encodeUnsigned222 = (buffer, value, length) => {
buffer.buffer.writeUIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetUnsigned222 = (buffer, value) => {
encodeUnsigned222(buffer, value, getUnsignedLength222(value));
};
var encodeSigned222 = (buffer, value, length) => {
buffer.buffer.writeIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetSigned222 = (buffer, value) => {
encodeSigned222(buffer, value, getSignedLength222(value));
};
var encodeBacnetReal222 = (buffer, value) => {
buffer.buffer.writeFloatBE(value, buffer.offset, true);
buffer.offset += 4;
};
var encodeBacnetDouble222 = (buffer, value) => {
buffer.buffer.writeDoubleBE(value, buffer.offset, true);
buffer.offset += 8;
};
var decodeUnsigned222 = (buffer, offset, length) => {
if (length === 0) {
return {
len: 0,
value: 0
};
}
return {
len: length,
//@ts-ignore
value: buffer.readUIntBE(offset, length)
};
};
var decodeEnumerated222 = (buffer, offset, length) => {
return decodeUnsigned222(buffer, offset, length);
};
var encodeBacnetObjectId222 = (buffer, objectType, instance) => {
const value = ((objectType & enums_default222.ASN1_MAX_OBJECT) << enums_default222.ASN1_INSTANCE_BITS | instance & enums_default222.ASN1_MAX_INSTANCE) >>> 0;
encodeUnsigned222(buffer, value, 4);
};
var encodeTag222 = (buffer, tagNumber, contextSpecific, lenValueType) => {
let len = 1;
const tmp = new Array(3);
tmp[0] = 0;
if (contextSpecific) {
tmp[0] |= 8;
}
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
if (lenValueType <= 4) {
tmp[0] |= lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else {
tmp[0] |= 5;
if (lenValueType <= 253) {
tmp[len++] = lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else if (lenValueType <= 65535) {
tmp[len++] = 254;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned222(buffer, lenValueType, 2);
} else {
tmp[len++] = 255;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned222(buffer, lenValueType, 4);
}
}
};
var encodeBacnetEnumerated222 = (buffer, value) => {
encodeBacnetUnsigned222(buffer, value);
};
var isExtendedTagNumber222 = (x) => {
return (x & 240) === 240;
};
var isExtendedValue222 = (x) => {
return (x & 7) === 5;
};
var isContextSpecific222 = (x) => {
return (x & 8) === 8;
};
var isOpeningTag222 = (x) => {
return (x & 7) === 6;
};
var isClosingTag222 = (x) => {
return (x & 7) === 7;
};
var encodeContextReal222 = (buffer, tagNumber, value) => {
encodeTag222(buffer, tagNumber, true, 4);
encodeBacnetReal222(buffer, value);
};
var encodeContextUnsigned222 = (buffer, tagNumber, value) => {
encodeTag222(buffer, tagNumber, true, getUnsignedLength222(value));
encodeBacnetUnsigned222(buffer, value);
};
var encodeContextEnumerated222 = (buffer, tagNumber, value) => {
encodeContextUnsigned222(buffer, tagNumber, value);
};
var encodeOctetString222 = (buffer, octetString, octetOffset, octetCount) => {
if (octetString) {
for (let i = octetOffset; i < octetOffset + octetCount; i++) {
buffer.buffer[buffer.offset++] = octetString[i];
}
}
};
var encodeApplicationOctetString222 = (buffer, octetString, octetOffset, octetCount) => {
encodeTag222(buffer, enums_default222.ApplicationTag.OCTET_STRING, false, octetCount);
encodeOctetString222(buffer, octetString, octetOffset, octetCount);
};
var encodeApplicationNull222 = (buffer) => {
buffer.buffer[buffer.offset++] = enums_default222.ApplicationTag.NULL;
};
var encodeApplicationBoolean222 = (buffer, booleanValue) => {
encodeTag222(buffer, enums_default222.ApplicationTag.BOOLEAN, false, booleanValue ? 1 : 0);
};
var encodeApplicationReal222 = (buffer, value) => {
encodeTag222(buffer, enums_default222.ApplicationTag.REAL, false, 4);
encodeBacnetReal222(buffer, value);
};
var encodeApplicationDouble222 = (buffer, value) => {
encodeTag222(buffer, enums_default222.ApplicationTag.DOUBLE, false, 8);
encodeBacnetDouble222(buffer, value);
};
var bitstringBytesUsed222 = (bitString) => {
let len = 0;
if (bitString.bitsUsed > 0) {
const lastBit = bitString.bitsUsed - 1;
const usedBytes = lastBit / 8 + 1;
len = Math.floor(usedBytes);
}
return len;
};
var encodeApplicationObjectId222 = (buffer, objectType, instance) => {
const tmp = getBuffer222();
encodeBacnetObjectId222(tmp, objectType, instance);
encodeTag222(buffer, enums_default222.ApplicationTag.OBJECTIDENTIFIER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationUnsigned222 = (buffer, value) => {
const tmp = getBuffer222();
encodeBacnetUnsigned222(tmp, value);
encodeTag222(buffer, enums_default222.ApplicationTag.UNSIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationEnumerated222 = (buffer, value) => {
const tmp = getBuffer222();
encodeBacnetEnumerated222(tmp, value);
encodeTag222(buffer, enums_default222.ApplicationTag.ENUMERATED, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationSigned222 = (buffer, value) => {
const tmp = getBuffer222();
encodeBacnetSigned222(tmp, value);
encodeTag222(buffer, enums_default222.ApplicationTag.SIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var byteReverseBits222 = (inByte) => {
let outByte = 0;
if ((inByte & 1) > 0) {
outByte |= 128;
}
if ((inByte & 2) > 0) {
outByte |= 64;
}
if ((inByte & 4) > 0) {
outByte |= 32;
}
if ((inByte & 8) > 0) {
outByte |= 16;
}
if ((inByte & 16) > 0) {
outByte |= 8;
}
if ((inByte & 32) > 0) {
outByte |= 4;
}
if ((inByte & 64) > 0) {
outByte |= 2;
}
if ((inByte & 128) > 0) {
outByte |= 1;
}
return outByte;
};
var bitstringOctet222 = (bitString, octetIndex) => {
let octet = 0;
if (bitString.value && octetIndex < enums_default222.ASN1_MAX_BITSTRING_BYTES) {
octet = bitString.value[octetIndex];
}
return octet;
};
var encodeBitstring222 = (buffer, bitString) => {
if (bitString.bitsUsed === 0) {
buffer.buffer[buffer.offset++] = 0;
} else {
const usedBytes = bitstringBytesUsed222(bitString);
const remainingUsedBits = bitString.bitsUsed - (usedBytes - 1) * 8;
buffer.buffer[buffer.offset++] = 8 - remainingUsedBits;
for (let i = 0; i < usedBytes; i++) {
buffer.buffer[buffer.offset++] = byteReverseBits222(
bitstringOctet222(bitString, i)
);
}
}
};
var encodeApplicationBitstring222 = (buffer, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed222(bitString);
encodeTag222(
buffer,
enums_default222.ApplicationTag.BIT_STRING,
false,
bitStringEncodedLength
);
encodeBitstring222(buffer, bitString);
};
var encodeBacnetDate222 = (buffer, value) => {
if (value === new Date(1, 1, 1)) {
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
return;
}
if (value.getFullYear() >= START_YEAR222) {
buffer.buffer[buffer.offset++] = value.getFullYear() - START_YEAR222;
} else if (value.getFullYear() < MAX_YEARS222) {
buffer.buffer[buffer.offset++] = value.getFullYear();
} else {
throw new Error("invaide year: " + value.getFullYear());
}
buffer.buffer[buffer.offset++] = value.getMonth();
buffer.buffer[buffer.offset++] = value.getDate();
buffer.buffer[buffer.offset++] = value.getDay() === 0 ? 7 : value.getDay();
};
var encodeApplicationDate222 = (buffer, value) => {
encodeTag222(buffer, enums_default222.ApplicationTag.DATE, false, 4);
encodeBacnetDate222(buffer, value);
};
var encodeBacnetTime222 = (buffer, value) => {
buffer.buffer[buffer.offset++] = value.getHours();
buffer.buffer[buffer.offset++] = value.getMinutes();
buffer.buffer[buffer.offset++] = value.getSeconds();
buffer.buffer[buffer.offset++] = value.getMilliseconds() / 10;
};
var encodeApplicationTime222 = (buffer, value) => {
encodeTag222(buffer, enums_default222.ApplicationTag.TIME, false, 4);
encodeBacnetTime222(buffer, value);
};
var bacappEncodeDatetime222 = (buffer, value) => {
if (value !== new Date(1, 1, 1)) {
encodeApplicationDate222(buffer, value);
encodeApplicationTime222(buffer, value);
}
};
var encodeContextObjectId222 = (buffer, tagNumber, objectType, instance) => {
encodeTag222(buffer, tagNumber, true, 4);
encodeBacnetObjectId222(buffer, objectType, instance);
};
var encodeOpeningTag222 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 6;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeClosingTag222 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 7;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeReadAccessSpecification222 = (buffer, value) => {
encodeContextObjectId222(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag222(buffer, 1);
value.properties.forEach((p) => {
encodeContextEnumerated222(buffer, 0, p.id);
if (p.index && p.index !== enums_default222.ASN1_ARRAY_ALL) {
encodeContextUnsigned222(buffer, 1, p.index);
}
});
encodeClosingTag222(buffer, 1);
};
var encodeContextBoolean222 = (buffer, tagNumber, booleanValue) => {
encodeTag222(buffer, tagNumber, true, 1);
buffer.buffer.writeUInt8(booleanValue ? 1 : 0, buffer.offset, true);
buffer.offset += 1;
};
var encodeCovSubscription222 = (buffer, value) => {
encodeOpeningTag222(buffer, 0);
encodeOpeningTag222(buffer, 0);
encodeOpeningTag222(buffer, 1);
encodeApplicationUnsigned222(buffer, value.recipient.network);
if (value.recipient.network === 65535) {
encodeApplicationOctetString222(buffer, 0, 0, 0);
} else {
encodeApplicationOctetString222(
buffer,
value.recipient.address,
0,
value.recipient.address.length
);
}
encodeClosingTag222(buffer, 1);
encodeClosingTag222(buffer, 0);
encodeContextUnsigned222(buffer, 1, value.subscriptionProcessId);
encodeClosingTag222(buffer, 0);
encodeOpeningTag222(buffer, 1);
encodeContextObjectId222(
buffer,
0,
value.monitoredObjectId.type,
value.monitoredObjectId.instance
);
encodeContextEnumerated222(buffer, 1, value.monitoredProperty.id);
if (value.monitoredProperty.index !== enums_default222.ASN1_ARRAY_ALL) {
encodeContextUnsigned222(buffer, 2, value.monitoredProperty.index);
}
encodeClosingTag222(buffer, 1);
encodeContextBoolean222(buffer, 2, value.issueConfirmedNotifications);
encodeContextUnsigned222(buffer, 3, value.timeRemaining);
if (value.covIncrement > 0) {
encodeContextReal222(buffer, 4, value.covIncrement);
}
};
var bacappEncodeApplicationData222 = (buffer, value) => {
if (value.value === null) {
value.type = enums_default222.ApplicationTag.NULL;
}
switch (value.type) {
case enums_default222.ApplicationTag.NULL:
encodeApplicationNull222(buffer);
break;
case enums_default222.ApplicationTag.BOOLEAN:
encodeApplicationBoolean222(buffer, value.value);
break;
case enums_default222.ApplicationTag.UNSIGNED_INTEGER:
encodeApplicationUnsigned222(buffer, value.value);
break;
case enums_default222.ApplicationTag.SIGNED_INTEGER:
encodeApplicationSigned222(buffer, value.value);
break;
case enums_default222.ApplicationTag.REAL:
encodeApplicationReal222(buffer, value.value);
break;
case enums_default222.ApplicationTag.DOUBLE:
encodeApplicationDouble222(buffer, value.value);
break;
case enums_default222.ApplicationTag.OCTET_STRING:
encodeApplicationOctetString222(buffer, value.value, 0, value.value.length);
break;
case enums_default222.ApplicationTag.CHARACTER_STRING:
encodeApplicationCharacterString222(buffer, value.value, value.encoding);
break;
case enums_default222.ApplicationTag.BIT_STRING:
encodeApplicationBitstring222(buffer, value.value);
break;
case enums_default222.ApplicationTag.ENUMERATED:
encodeApplicationEnumerated222(buffer, value.value);
break;
case enums_default222.ApplicationTag.DATE:
encodeApplicationDate222(buffer, value.value);
break;
case enums_default222.ApplicationTag.TIME:
encodeApplicationTime222(buffer, value.value);
break;
case enums_default222.ApplicationTag.TIMESTAMP:
bacappEncodeTimestamp222(buffer, value.value);
break;
case enums_default222.ApplicationTag.DATETIME:
bacappEncodeDatetime222(buffer, value.value);
break;
case enums_default222.ApplicationTag.OBJECTIDENTIFIER:
encodeApplicationObjectId222(buffer, value.value.type, value.value.instance);
break;
case enums_default222.ApplicationTag.COV_SUBSCRIPTION:
encodeCovSubscription222(buffer, value.value);
break;
case enums_default222.ApplicationTag.READ_ACCESS_RESULT:
encodeReadAccessResult222(buffer, value.value);
break;
case enums_default222.ApplicationTag.READ_ACCESS_SPECIFICATION:
encodeReadAccessSpecification222(buffer, value.value);
break;
case void 0:
throw new Error(
"Cannot encode a value if the type has not been specified"
);
default:
throw "No encode for ApplicationTag type: " + enums_default222.getEnumName(
enums_default222.ApplicationTag,
value.type
);
}
};
var bacappEncodeDeviceObjPropertyRef222 = (buffer, value) => {
encodeContextObjectId222(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeContextEnumerated222(buffer, 1, value.id);
if (value.arrayIndex !== enums_default222.ASN1_ARRAY_ALL) {
encodeContextUnsigned222(buffer, 2, value.arrayIndex);
}
if (value.deviceIndentifier.type === enums_default222.ObjectType.DEVICE) {
encodeContextObjectId222(
buffer,
3,
value.deviceIndentifier.type,
value.deviceIndentifier.instance
);
}
};
var bacappEncodeContextDeviceObjPropertyRef222 = (buffer, tagNumber, value) => {
encodeOpeningTag222(buffer, tagNumber);
bacappEncodeDeviceObjPropertyRef222(buffer, value);
encodeClosingTag222(buffer, tagNumber);
};
var bacappEncodePropertyState222 = (buffer, value) => {
switch (value.type) {
case enums_default222.PropertyStates.BOOLEAN_VALUE:
encodeContextBoolean222(buffer, 0, value.state === 1);
break;
case enums_default222.PropertyStates.BINARY_VALUE:
encodeContextEnumerated222(buffer, 1, value.state);
break;
case enums_default222.PropertyStates.EVENT_TYPE:
encodeContextEnumerated222(buffer, 2, value.state);
break;
case enums_default222.PropertyStates.POLARITY:
encodeContextEnumerated222(buffer, 3, value.state);
break;
case enums_default222.PropertyStates.PROGRAM_CHANGE:
encodeContextEnumerated222(buffer, 4, value.state);
break;
case enums_default222.PropertyStates.PROGRAM_STATE:
encodeContextEnumerated222(buffer, 5, value.state);
break;
case enums_default222.PropertyStates.REASON_FOR_HALT:
encodeContextEnumerated222(buffer, 6, value.state);
break;
case enums_default222.PropertyStates.RELIABILITY:
encodeContextEnumerated222(buffer, 7, value.state);
break;
case enums_default222.PropertyStates.STATE:
encodeContextEnumerated222(buffer, 8, value.state);
break;
case enums_default222.PropertyStates.SYSTEM_STATUS:
encodeContextEnumerated222(buffer, 9, value.state);
break;
case enums_default222.PropertyStates.UNITS:
encodeContextEnumerated222(buffer, 10, value.state);
break;
case enums_default222.PropertyStates.UNSIGNED_VALUE:
encodeContextUnsigned222(buffer, 11, value.state);
break;
case enums_default222.PropertyStates.LIFE_SAFETY_MODE:
encodeContextEnumerated222(buffer, 12, value.state);
break;
case enums_default222.PropertyStates.LIFE_SAFETY_STATE:
encodeContextEnumerated222(buffer, 13, value.state);
break;
default:
break;
}
};
var encodeContextBitstring222 = (buffer, tagNumber, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed222(bitString);
encodeTag222(buffer, tagNumber, true, bitStringEncodedLength);
encodeBitstring222(buffer, bitString);
};
var encodeContextSigned222 = (buffer, tagNumber, value) => {
encodeTag222(buffer, tagNumber, true, getSignedLength222(value));
encodeBacnetSigned222(buffer, value);
};
var encodeContextTime222 = (buffer, tagNumber, value) => {
encodeTag222(buffer, tagNumber, true, 4);
encodeBacnetTime222(buffer, value);
};
var bacappEncodeContextDatetime222 = (buffer, tagNumber, value) => {
if (value !== new Date(1, 1, 1)) {
encodeOpeningTag222(buffer, tagNumber);
bacappEncodeDatetime222(buffer, value);
encodeClosingTag222(buffer, tagNumber);
} else {
throw new Error("wrong Datetime while bacapp encoding context");
}
};
var decodeTagNumber222 = (buffer, offset) => {
let len = 1;
let tagNumber;
if (isExtendedTagNumber222(buffer[offset])) {
tagNumber = buffer[offset + 1];
len++;
} else {
tagNumber = buffer[offset] >> 4;
}
return {
len,
tagNumber
};
};
var decodeIsContextTag222 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber222(buffer, offset);
return isContextSpecific222(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsOpeningTagNumber222 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber222(buffer, offset);
return isOpeningTag222(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTagNumber222 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber222(buffer, offset);
return isClosingTag222(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTag222 = (buffer, offset) => {
return (buffer[offset] & 7) === 7;
};
var decodeIsOpeningTag222 = (buffer, offset) => {
return (buffer[offset] & 7) === 6;
};
var decodeObjectId222 = (buffer, offset, NOT_USED_NUMBER = 0) => {
const result = decodeUnsigned222(buffer, offset, 4);
const objectType = result.value >> enums_default222.ASN1_INSTANCE_BITS & enums_default222.ASN1_MAX_OBJECT;
const instance = result.value & enums_default222.ASN1_MAX_INSTANCE;
return {
len: result.len,
objectType,
instance
};
};
var decodeObjectIdSafe222 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: 0,
objectType: 0,
instance: 0
};
} else {
return decodeObjectId222(buffer, offset);
}
};
var decodeTagNumberAndValue222 = (buffer, offset) => {
let value;
let result = decodeTagNumber222(buffer, offset);
let len = result.len;
if (isExtendedValue222(buffer[offset])) {
if (buffer[offset + len] === 255) {
len++;
result = decodeUnsigned222(buffer, offset + len, 4);
len += result.len;
value = result.value;
} else if (buffer[offset + len] === 254) {
len++;
result = decodeUnsigned222(buffer, offset + len, 2);
len += result.len;
value = result.value;
} else {
value = buffer[offset + len];
len++;
}
} else if (isOpeningTag222(buffer[offset])) {
value = 0;
} else if (isClosingTag222(buffer[offset])) {
value = 0;
} else {
value = buffer[offset] & 7;
}
return {
len,
tagNumber: result.tagNumber,
value
};
};
var bacappDecodeApplicationData222 = (buffer, offset, maxOffset, objectType, propertyId) => {
if (!isContextSpecific222(buffer[offset])) {
let result = decodeTagNumberAndValue222(buffer, offset);
if (result) {
let len = result.len;
result = bacappDecodeData222(
buffer,
offset + len,
maxOffset,
result.tagNumber,
result.value
);
if (!result) {
return void 0;
}
let resObj = {
len: len + result.len,
type: result.type,
value: result.value
};
if (result.encoding !== void 0)
resObj.encoding = result.encoding;
return resObj;
}
} else {
return bacappDecodeContextApplicationData222(
buffer,
offset,
maxOffset,
objectType,
propertyId
);
}
};
var encodeReadAccessResult222 = (buffer, value) => {
encodeContextObjectId222(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag222(buffer, 1);
value.values.forEach((item) => {
encodeContextEnumerated222(buffer, 2, item.property.id);
if (item.property.index !== enums_default222.ASN1_ARRAY_ALL) {
encodeContextUnsigned222(buffer, 3, item.property.index);
}
if (item.value && item.value[0] && item.value[0].value && item.value[0].value.type === "BacnetError") {
encodeOpeningTag222(buffer, 5);
encodeApplicationEnumerated222(buffer, item.value[0].value.errorClass);
encodeApplicationEnumerated222(buffer, item.value[0].value.errorCode);
encodeClosingTag222(buffer, 5);
} else {
if (!item.value)
throw new Error("No value in item");
encodeOpeningTag222(buffer, 4);
item.value.forEach((subItem) => {
bacappEncodeApplicationData222(buffer, subItem);
});
encodeClosingTag222(buffer, 4);
}
});
encodeClosingTag222(buffer, 1);
};
var decodeReadAccessResult222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
let result = decodeObjectId222(buffer, offset + len);
value.objectId = {
type: result.objectType,
instance: result.instance
};
len += result.len;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return -1;
}
len++;
const values = [];
while (apduLen - len > 0) {
let newEntry = {};
if (decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
len++;
break;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeEnumerated222(buffer, offset + len, result.value);
newEntry.id = result.value;
len += result.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 3) {
len += result.len;
result = decodeUnsigned222(buffer, offset + len, result.value);
newEntry.index = result.value;
len += result.len;
} else {
newEntry.index = enums_default222.ASN1_ARRAY_ALL;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 4) {
const localValues = [];
while (len + offset <= buffer.length && !decodeIsClosingTagNumber222(buffer, offset + len, 4)) {
let localResult = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset - 1,
value.objectId.type,
newEntry.id
);
if (!localResult) {
return void 0;
}
len += localResult.len;
let resObj = {
value: localResult.value,
type: localResult.type
};
if (localResult.encoding !== void 0)
resObj.encoding = localResult.encoding;
localValues.push(resObj);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 4)) {
return void 0;
}
if (localValues.count === 2 && localValues[0].type === enums_default222.ApplicationTag.DATE && localValues[1].type === enums_default222.ApplicationTag.TIME) {
const date = localValues[0].value;
const time = localValues[1].value;
const bdatetime = new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
);
newEntry.value = [
{ type: enums_default222.ApplicationTag.DATETIME, value: bdatetime }
];
} else {
newEntry.value = localValues;
}
len++;
} else if (result.tagNumber === 5) {
let err = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
result = decodeEnumerated222(buffer, offset + len, result.value);
len += result.len;
err.errorClass = result.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
result = decodeEnumerated222(buffer, offset + len, result.value);
len += result.len;
err.errorCode = result.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 5)) {
return void 0;
}
len++;
newEntry.value = [
{
type: enums_default222.ApplicationTag.ERROR,
value: err
}
];
}
values.push(newEntry);
}
value.values = values;
return {
len,
value
};
};
var decodeSigned222 = (buffer, offset, length) => {
return {
len: length,
value: buffer.readIntBE(offset, length, true)
};
};
var decodeReal222 = (buffer, offset) => {
return {
len: 4,
value: buffer.readFloatBE(offset, true)
};
};
var decodeRealSafe222 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: 0
};
} else {
return decodeReal222(buffer, offset);
}
};
var decodeDouble222 = (buffer, offset) => {
return {
len: 8,
value: buffer.readDoubleBE(offset, true)
};
};
var decodeDoubleSafe222 = (buffer, offset, lenValue) => {
if (lenValue !== 8) {
return {
len: lenValue,
value: 0
};
} else {
return decodeDouble222(buffer, offset);
}
};
var decodeOctetString222 = (buffer, offset, maxLength, octetStringOffset, octetStringLength) => {
const octetString = [];
for (let i = octetStringOffset; i < octetStringOffset + octetStringLength; i++) {
octetString.push(buffer[offset + i]);
}
return {
len: octetStringLength,
value: octetString
};
};
var multiCharsetCharacterstringDecode222 = (buffer, offset, maxLength, encoding, length) => {
const stringBuf = Buffer.alloc(length);
buffer.copy(stringBuf, 0, offset, offset + length);
return {
value: import_iconv_lite222.default.decode(stringBuf, getEncodingType222(encoding, buffer, offset)),
len: length + 1,
encoding
};
};
var decodeCharacterString222 = (buffer, offset, maxLength, lenValue) => {
return multiCharsetCharacterstringDecode222(
buffer,
offset + 1,
maxLength,
buffer[offset],
lenValue - 1
);
};
var bitstringSetBitsUsed222 = (bitString, bytesUsed, unusedBits) => {
bitString.bitsUsed = bytesUsed * 8;
bitString.bitsUsed -= unusedBits;
};
var decodeBitstring222 = (buffer, offset, lenValue) => {
let len = 0;
let bitString = {};
bitString.value = [];
if (lenValue > 0) {
const bytesUsed = lenValue - 1;
if (bytesUsed <= enums_default222.ASN1_MAX_BITSTRING_BYTES) {
len = 1;
for (let i = 0; i < bytesUsed; i++) {
bitString.value.push(byteReverseBits222(buffer[offset + len++]));
}
const unusedBits = buffer[offset] & 7;
bitstringSetBitsUsed222(bitString, bytesUsed, unusedBits);
}
}
return {
len,
value: bitString
};
};
var decodeDate222 = (buffer, offset) => {
let date;
const year = buffer[offset] + 1900;
const month = buffer[offset + 1];
const day = buffer[offset + 2];
const wday = buffer[offset + 3];
if (month === 255 && day === 255 && wday === 255 && year - 1900 === 255) {
date = new Date(1, 1, 1);
} else {
date = new Date(year, month, day);
}
return {
len: 4,
value: date
};
};
var decodeDateSafe222 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeDate222(buffer, offset);
}
};
var decodeApplicationDate222 = (buffer, offset) => {
const result = decodeTagNumber222(buffer, offset);
if (result.tagNumber === enums_default222.ApplicationTag.DATE) {
const value = decodeDate222(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetTime222 = (buffer, offset, value = new Date(1, 1, 1)) => {
const hour = buffer[offset + 0];
const min = buffer[offset + 1];
const sec = buffer[offset + 2];
let hundredths = buffer[offset + 3];
if (hour === 255 && min === 255 && sec === 255 && hundredths === 255) {
value = new Date(1, 1, 1);
} else {
if (hundredths > 100)
hundredths = 0;
value = new Date(1, 1, 1, hour, min, sec, hundredths * 10);
}
return {
len: 4,
value
};
};
var decodeBacnetTimeSafe222 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeBacnetTime222(buffer, offset);
}
};
var decodeApplicationTime222 = (buffer, offset) => {
const result = decodeTagNumber222(buffer, offset);
if (result.tagNumber === enums_default222.ApplicationTag.TIME) {
const value = decodeBacnetTime222(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetDatetime222 = (buffer, offset) => {
let len = 0;
const date = decodeApplicationDate222(buffer, offset + len);
len += date.len;
const time = decodeApplicationTime222(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
)
};
};
var bacappDecodeData222 = (buffer, offset, maxLength, tagDataType, lenValueType) => {
let result;
let value = {
len: 0,
type: tagDataType
};
switch (tagDataType) {
case enums_default222.ApplicationTag.NULL:
value.value = null;
break;
case enums_default222.ApplicationTag.BOOLEAN:
value.value = lenValueType > 0;
break;
case enums_default222.ApplicationTag.UNSIGNED_INTEGER:
result = decodeUnsigned222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.SIGNED_INTEGER:
result = decodeSigned222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.REAL:
result = decodeRealSafe222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.DOUBLE:
result = decodeDoubleSafe222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.OCTET_STRING:
result = decodeOctetString222(buffer, offset, maxLength, 0, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.CHARACTER_STRING:
result = decodeCharacterString222(buffer, offset, maxLength, lenValueType);
value.len += result.len;
value.value = result.value;
value.encoding = result.encoding;
break;
case enums_default222.ApplicationTag.BIT_STRING:
result = decodeBitstring222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.ENUMERATED:
result = decodeEnumerated222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.DATE:
result = decodeDateSafe222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.TIME:
result = decodeBacnetTimeSafe222(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default222.ApplicationTag.OBJECTIDENTIFIER:
result = decodeObjectIdSafe222(buffer, offset, lenValueType);
value.len += result.len;
value.value = { type: result.objectType, instance: result.instance };
break;
default:
break;
}
return value;
};
var bacappContextTagType222 = (property, tagNumber) => {
let tag = 0;
switch (property) {
case enums_default222.PropertyIdentifier.ACTUAL_SHED_LEVEL:
case enums_default222.PropertyIdentifier.REQUESTED_SHED_LEVEL:
case enums_default222.PropertyIdentifier.EXPECTED_SHED_LEVEL:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default222.ApplicationTag.UNSIGNED_INTEGER;
break;
case 2:
tag = enums_default222.ApplicationTag.REAL;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.ACTION:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
case 2:
tag = enums_default222.ApplicationTag.ENUMERATED;
break;
case 3:
case 5:
case 6:
tag = enums_default222.ApplicationTag.UNSIGNED_INTEGER;
break;
case 7:
case 8:
tag = enums_default222.ApplicationTag.BOOLEAN;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.LIST_OF_GROUP_MEMBERS:
switch (tagNumber) {
case 0:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.EXCEPTION_SCHEDULE:
switch (tagNumber) {
case 1:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
case 3:
tag = enums_default222.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY:
switch (tagNumber) {
case 0:
case 3:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
case 1:
tag = enums_default222.ApplicationTag.ENUMERATED;
break;
case 2:
tag = enums_default222.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.SUBORDINATE_LIST:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.RECIPIENT_LIST:
switch (tagNumber) {
case 0:
tag = enums_default222.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default222.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS:
switch (tagNumber) {
case 0:
case 1:
break;
case 2:
tag = enums_default222.ApplicationTag.BOOLEAN;
break;
case 3:
tag = enums_default222.ApplicationTag.UNSIGNED_INTEGER;
break;
case 4:
tag = enums_default222.ApplicationTag.REAL;
break;
default:
break;
}
break;
default:
break;
}
return tag;
};
var decodeDeviceObjPropertyRef222 = (buffer, offset, NOTUSEDARG = 0) => {
let len = 0;
let arrayIndex = enums_default222.ASN1_ARRAY_ALL;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
let objectId = decodeObjectId222(buffer, offset + len);
len += objectId.len;
let result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
let id = decodeEnumerated222(buffer, offset + len, result.value);
len += id.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
arrayIndex = decodeUnsigned222(buffer, offset + len, result.value);
len += arrayIndex.len;
}
if (decodeIsContextTag222(buffer, offset + len, 3)) {
if (!isClosingTag222(buffer[offset + len])) {
len++;
objectId = decodeObjectId222(buffer, offset + len);
len += objectId.len;
}
}
return {
len,
value: {
objectId,
id
}
};
};
var decodeReadAccessSpecification222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
let decodedValue = decodeObjectId222(buffer, offset + len);
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
const propertyIdAndArrayIndex = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
let propertyRef = {};
if (!isContextSpecific222(buffer[offset + len])) {
return void 0;
}
let result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (len + result.value >= apduLen) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
propertyRef.id = decodedValue.value;
len += decodedValue.len;
propertyRef.index = enums_default222.ASN1_ARRAY_ALL;
if (isContextSpecific222(buffer[offset + len]) && !isClosingTag222(buffer[offset + len])) {
const tmp = decodeTagNumberAndValue222(buffer, offset + len);
if (tmp.tagNumber === 1) {
len += tmp.len;
if (len + tmp.value >= apduLen) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, tmp.value);
propertyRef.index = decodedValue.value;
len += decodedValue.len;
}
}
propertyIdAndArrayIndex.push(propertyRef);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
value.properties = propertyIdAndArrayIndex;
return {
len,
value
};
};
var decodeCovSubscription222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
value.recipient = {};
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default222.ApplicationTag.UNSIGNED_INTEGER) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.recipient.net = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default222.ApplicationTag.OCTET_STRING) {
return void 0;
}
decodedValue = decodeOctetString222(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
value.recipient.adr = decodedValue.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriptionProcessId = decodedValue.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty = {};
value.monitoredProperty.id = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
} else {
value.monitoredProperty.index = enums_default222.ASN1_ARRAY_ALL;
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.timeRemaining = decodedValue.value;
if (len < apduLen && !isClosingTag222(buffer[offset + len])) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 4) {
return void 0;
}
decodedValue = decodeReal222(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
return {
len,
value
};
};
var decodeCalendarDate222 = (buffer, offset) => {
return {
len: 4,
year: buffer[offset],
month: buffer[offset + 1],
day: buffer[offset + 2],
wday: buffer[offset + 3]
};
};
var decodeCalendarDateRange222 = (buffer, offset) => {
let len = 1;
const startDate = decodeDate222(buffer, offset + len);
len += startDate.len + 1;
const endDate = decodeDate222(buffer, offset + len);
len += endDate.len + 1;
return {
len,
startDate,
endDate
};
};
var decodeCalendarWeekDay222 = (buffer, offset) => {
return {
len: 3,
month: buffer[offset],
week: buffer[offset + 1],
wday: buffer[offset + 2]
};
};
var decodeCalendar222 = (buffer, offset, apduLen) => {
let len = 0;
const entries = [];
let decodedValue;
while (len < apduLen) {
const result = decodeTagNumber222(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 0:
decodedValue = decodeCalendarDate222(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 1:
decodedValue = decodeCalendarDateRange222(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 2:
decodedValue = decodeCalendarWeekDay222(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
default:
return {
len: len - 1,
value: entries
};
}
}
};
var bacappDecodeContextApplicationData222 = (buffer, offset, maxOffset, objectType, propertyId) => {
let len = 0;
let result;
if (isContextSpecific222(buffer[offset])) {
if (propertyId === enums_default222.PropertyIdentifier.LIST_OF_GROUP_MEMBERS) {
result = decodeReadAccessSpecification222(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default222.ApplicationTag.READ_ACCESS_SPECIFICATION,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default222.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS) {
result = decodeCovSubscription222(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default222.ApplicationTag.COV_SUBSCRIPTION,
value: result.value,
len: result.len
};
} else if (objectType === enums_default222.ObjectType.GROUP && propertyId === enums_default222.PropertyIdentifier.PRESENT_VALUE) {
result = decodeReadAccessResult222(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default222.ApplicationTag.READ_ACCESS_RESULT,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default222.PropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES || propertyId === enums_default222.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY || propertyId === enums_default222.PropertyIdentifier.OBJECT_PROPERTY_REFERENCE) {
result = decodeDeviceObjPropertyRef222(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default222.ApplicationTag.OBJECT_PROPERTY_REFERENCE,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default222.PropertyIdentifier.DATE_LIST) {
result = decodeCalendar222(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default222.ApplicationTag.CONTEXT_SPECIFIC_DECODED,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default222.PropertyIdentifier.EVENT_TIME_STAMPS) {
let subEvtResult;
let evtResult = decodeTagNumberAndValue222(buffer, offset + len);
len += 1;
if (evtResult.tagNumber === 0) {
subEvtResult = decodeBacnetTime222(buffer, offset + 1);
return {
type: enums_default222.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 1) {
subEvtResult = decodeUnsigned222(buffer, offset + len, evtResult.value);
return {
type: enums_default222.ApplicationTag.UNSIGNED_INTEGER,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 2) {
subEvtResult = decodeBacnetDatetime222(buffer, offset + len);
return {
type: enums_default222.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 2
};
} else {
return void 0;
}
}
const list = [];
let tagResult = decodeTagNumberAndValue222(buffer, offset + len);
let multipleValues = isOpeningTag222(buffer[offset + len]);
while (len + offset <= maxOffset && !isClosingTag222(buffer[offset + len])) {
let subResult = decodeTagNumberAndValue222(buffer, offset + len);
if (!subResult) {
return void 0;
}
if (subResult.value === 0) {
len += subResult.len;
result = bacappDecodeApplicationData222(
buffer,
offset + len,
maxOffset,
enums_default222.ASN1_MAX_OBJECT_TYPE,
enums_default222.ASN1_MAX_PROPERTY_ID
);
if (!result) {
return void 0;
}
list.push(result);
len += result.len;
} else {
const overrideTagNumber = bacappContextTagType222(
propertyId,
subResult.tagNumber
);
if (overrideTagNumber !== enums_default222.ASN1_MAX_APPLICATION_TAG) {
subResult.tagNumber = overrideTagNumber;
}
let bacappResult = bacappDecodeData222(
buffer,
offset + len + subResult.len,
maxOffset,
subResult.tagNumber,
subResult.value
);
if (!bacappResult) {
return void 0;
}
if (bacappResult.len === subResult.value) {
let resObj = {
value: bacappResult.value,
type: bacappResult.type
};
if (bacappResult.encoding !== void 0)
resObj.encoding = bacappResult.encoding;
list.push(resObj);
len += subResult.len + subResult.value;
} else {
list.push({
value: buffer.slice(
offset + len + subResult.len,
offset + len + subResult.len + subResult.value
),
type: enums_default222.ApplicationTag.CONTEXT_SPECIFIC_ENCODED
});
len += subResult.len + subResult.value;
}
}
if (multipleValues === false) {
return {
len,
value: list[0],
type: enums_default222.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
}
if (len + offset > maxOffset) {
return void 0;
}
if (decodeIsClosingTagNumber222(buffer, offset + len, tagResult.tagNumber)) {
len++;
}
return {
len,
value: list,
type: enums_default222.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
return void 0;
};
var bacappEncodeTimestamp222 = (buffer, value) => {
switch (value.type) {
case enums_default222.TimeStamp.TIME:
encodeContextTime222(buffer, 0, value.value);
break;
case enums_default222.TimeStamp.SEQUENCE_NUMBER:
encodeContextUnsigned222(buffer, 1, value.value);
break;
case enums_default222.TimeStamp.DATETIME:
bacappEncodeContextDatetime222(buffer, 2, value.value);
break;
default:
throw new Error("NOT_IMPLEMENTED");
}
};
var bacappEncodeContextTimestamp222 = (buffer, tagNumber, value) => {
encodeOpeningTag222(buffer, tagNumber);
bacappEncodeTimestamp222(buffer, value);
encodeClosingTag222(buffer, tagNumber);
};
var decodeContextCharacterString222 = (buffer, offset, maxLength, tagNumber) => {
let len = 0;
if (!decodeIsContextTag222(buffer, offset + len, tagNumber)) {
return void 0;
}
const result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
const decodedValue = multiCharsetCharacterstringDecode222(
buffer,
offset + 1 + len,
maxLength,
buffer[offset + len],
result.value - 1
);
if (!decodedValue) {
return void 0;
}
len += result.value;
return {
len,
value: decodedValue.value,
encoding: decodedValue.encoding
};
};
var decodeIsContextTagWithLength222 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber222(buffer, offset);
return {
len: result.len,
value: isContextSpecific222(buffer[offset]) && result.tagNumber === tagNumber
};
};
var decodeContextObjectId222 = (buffer, offset, tagNumber) => {
const result = decodeIsContextTagWithLength222(buffer, offset, tagNumber);
if (!result.value) {
return void 0;
}
const decodedValue = decodeObjectId222(buffer, offset + result.len);
decodedValue.len = decodedValue.len + result.len;
return decodedValue;
};
var encodeBacnetCharacterString222 = (buffer, value, encoding) => {
encoding = encoding || enums_default222.CharacterStringEncoding.UTF_8;
buffer.buffer[buffer.offset++] = encoding;
const bufEncoded = import_iconv_lite222.default.encode(value, getEncodingType222(encoding));
buffer.offset += bufEncoded.copy(buffer.buffer, buffer.offset);
};
var encodeApplicationCharacterString222 = (buffer, value, encoding) => {
const tmp = getBuffer222();
encodeBacnetCharacterString222(tmp, value, encoding);
encodeTag222(buffer, enums_default222.ApplicationTag.CHARACTER_STRING, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeContextCharacterString222 = (buffer, tagNumber, value, encoding) => {
const tmp = getBuffer222();
encodeBacnetCharacterString222(tmp, value, encoding);
encodeTag222(buffer, tagNumber, true, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encode3322 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated222(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 2, arrayIndex);
}
encodeOpeningTag222(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData222(buffer, value);
});
encodeClosingTag222(buffer, 3);
};
var decode3322 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.property = { id: decodedValue.value };
if (len < apduLen && decodeIsContextTag222(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL222;
}
const values = [];
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
value.objectId.type,
value.property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
value.values = values;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.len = len;
return value;
};
var alarm_acknowledge_exports222 = {};
__export222(alarm_acknowledge_exports222, {
decode: () => decode21022,
encode: () => encode21022
});
var encode21022 = (buffer, ackProcessId, eventObjectId, eventStateAcknowledged, ackSource, eventTimeStamp, ackTimeStamp) => {
encodeContextUnsigned222(buffer, 0, ackProcessId);
encodeContextObjectId222(
buffer,
1,
eventObjectId.type,
eventObjectId.instance
);
encodeContextEnumerated222(buffer, 2, eventStateAcknowledged);
bacappEncodeContextTimestamp222(buffer, 3, eventTimeStamp);
encodeContextCharacterString222(buffer, 4, ackSource);
bacappEncodeContextTimestamp222(buffer, 5, ackTimeStamp);
};
var decode21022 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
let date;
let time;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedProcessId = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateAcknowledged = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate222(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime222(buffer, offset + len);
len += time.len;
time = time.value.value;
value.eventTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.acknowledgeSource = decodedValue.value;
len += decodedValue.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate222(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime222(buffer, offset + len);
len += time.len;
time = time.value.value;
value.acknowledgeTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
value.len = len;
return value;
};
var alarm_summary_exports222 = {};
__export222(alarm_summary_exports222, {
decode: () => decode3422,
encode: () => encode3422
});
var encode3422 = (buffer, alarms) => {
alarms.forEach((alarm) => {
encodeContextObjectId222(
buffer,
12,
alarm.objectId.type,
alarm.objectId.instance
);
encodeContextEnumerated222(buffer, 9, alarm.alarmState);
encodeContextBitstring222(buffer, 8, alarm.acknowledgedTransitions);
});
};
var decode3422 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const alarms = [];
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.alarmState = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
alarms.push(value);
}
return {
len,
alarms
};
};
var atomic_read_file_exports222 = {};
__export222(atomic_read_file_exports222, {
decode: () => decode4222,
decodeAcknowledge: () => decodeAcknowledge822,
encode: () => encode4222,
encodeAcknowledge: () => encodeAcknowledge922
});
var encode4222 = (buffer, isStream, objectId, position, count) => {
encodeApplicationObjectId222(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag222(buffer, 0);
encodeApplicationSigned222(buffer, position);
encodeApplicationUnsigned222(buffer, count);
encodeClosingTag222(buffer, 0);
} else {
encodeOpeningTag222(buffer, 1);
encodeApplicationSigned222(buffer, position);
encodeApplicationUnsigned222(buffer, count);
encodeClosingTag222(buffer, 1);
}
};
var decode4222 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let isStream = true;
let objectId = {};
let position = -1;
let count = 0;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
objectId = { type: decodedValue.objectType, instance: decodedValue.instance };
if (decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
count
};
};
var encodeAcknowledge922 = (buffer, isStream, endOfFile, position, blockCount, blocks, counts) => {
encodeApplicationBoolean222(buffer, endOfFile);
if (isStream) {
encodeOpeningTag222(buffer, 0);
encodeApplicationSigned222(buffer, position);
encodeApplicationOctetString222(buffer, blocks[0], 0, counts[0]);
encodeClosingTag222(buffer, 0);
} else {
encodeOpeningTag222(buffer, 1);
encodeApplicationSigned222(buffer, position);
encodeApplicationUnsigned222(buffer, blockCount);
for (let i = 0; i < blockCount; i++) {
encodeApplicationOctetString222(buffer, blocks[i], 0, counts[i]);
}
encodeClosingTag222(buffer, 1);
}
};
var decodeAcknowledge822 = (buffer, offset, length = 0) => {
let len = length;
let result;
let decodedValue;
let endOfFile;
let isStream;
let position;
let targetBuffer;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
endOfFile = result.value > 0;
if (decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
targetBuffer = buffer.slice(offset + len, offset + len + result.value);
len += result.value;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
isStream = false;
throw new Error("NotImplemented");
} else {
return void 0;
}
return {
len,
endOfFile,
isStream,
position,
buffer: targetBuffer
};
};
var atomic_write_file_exports222 = {};
__export222(atomic_write_file_exports222, {
decode: () => decode5222,
decodeAcknowledge: () => decodeAcknowledge2222,
encode: () => encode5222,
encodeAcknowledge: () => encodeAcknowledge2222
});
var encode5222 = (buffer, isStream, objectId, position, blocks) => {
encodeApplicationObjectId222(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag222(buffer, 0);
encodeApplicationSigned222(buffer, position);
encodeApplicationOctetString222(buffer, blocks[0], 0, blocks[0].length);
encodeClosingTag222(buffer, 0);
} else {
encodeOpeningTag222(buffer, 1);
encodeApplicationSigned222(buffer, position);
encodeApplicationUnsigned222(buffer, blocks.length);
for (let i = 0; i < blocks.length; i++) {
encodeApplicationOctetString222(
buffer,
blocks[i],
0,
blocks[i].length
);
}
encodeClosingTag222(buffer, 1);
}
};
var decode5222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let isStream;
let position;
let blocks = [];
let blockCount;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString222(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
blockCount = decodedValue.value;
for (let i = 0; i < blockCount; i++) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString222(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
blocks
};
};
var encodeAcknowledge2222 = (buffer, isStream, position) => {
if (isStream) {
encodeContextSigned222(buffer, 0, position);
} else {
encodeContextSigned222(buffer, 1, position);
}
};
var decodeAcknowledge2222 = (buffer, offset, length = 0) => {
let len = length;
let isStream = false;
let position = 0;
let decodedValue;
const result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
isStream = true;
} else if (result.tagNumber === 1) {
isStream = false;
} else {
return void 0;
}
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
return {
len,
isStream,
position
};
};
var cov_notify_exports222 = {};
__export222(cov_notify_exports222, {
decode: () => decode6222,
encode: () => encode6222
});
var encode6222 = (buffer, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) => {
encodeContextUnsigned222(buffer, 0, subscriberProcessId);
encodeContextObjectId222(
buffer,
1,
8,
initiatingDeviceId
);
encodeContextObjectId222(
buffer,
2,
monitoredObjectId.type,
monitoredObjectId.instance
);
encodeContextUnsigned222(buffer, 3, timeRemaining);
encodeOpeningTag222(buffer, 4);
values.forEach((value) => {
encodeContextEnumerated222(buffer, 0, value.property.id);
if (value.property.index === ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 1, value.property.index);
}
encodeOpeningTag222(buffer, 2);
value.value.forEach((v) => {
bacappEncodeApplicationData222(buffer, v);
});
encodeClosingTag222(buffer, 2);
if (value.priority === ASN1_NO_PRIORITY222) {
encodeContextUnsigned222(buffer, 3, value.priority);
}
});
encodeClosingTag222(buffer, 4);
};
var decode6222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
const subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
const initiatingDeviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag222(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
const monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag222(buffer, offset + len, 3)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
const timeRemaining = decodedValue.value;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 4)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber222(buffer, offset + len, 4)) {
let newEntry = {};
newEntry.property = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.id = decodedValue.value;
if (decodeIsContextTag222(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.index = decodedValue.value;
} else {
newEntry.property.index = ASN1_ARRAY_ALL222;
}
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 2)) {
return void 0;
}
len++;
const properties = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber222(buffer, offset + len, 2)) {
decodedValue = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
monitoredObjectId.type,
newEntry.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
properties.push(decodedValue);
}
newEntry.value = properties;
len++;
if (decodeIsContextTag222(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.priority = decodedValue.value;
} else {
newEntry.priority = ASN1_NO_PRIORITY222;
}
values.push(newEntry);
}
return {
len,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
};
};
var create_object_exports222 = {};
__export222(create_object_exports222, {
decode: () => decode7222,
encode: () => encode7222,
encodeAcknowledge: () => encodeAcknowledge3222
});
var encode7222 = (buffer, objectId, values) => {
encodeOpeningTag222(buffer, 0);
encodeContextObjectId222(buffer, 1, objectId.type, objectId.instance);
encodeClosingTag222(buffer, 0);
encodeOpeningTag222(buffer, 1);
values.forEach((propertyValue) => {
encodeContextEnumerated222(buffer, 0, propertyValue.property.id);
if (propertyValue.property.index !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 1, propertyValue.property.index);
}
encodeOpeningTag222(buffer, 2);
propertyValue.value.forEach((value) => {
bacappEncodeApplicationData222(buffer, value);
});
encodeClosingTag222(buffer, 2);
if (propertyValue.priority !== ASN1_NO_PRIORITY222) {
encodeContextUnsigned222(buffer, 3, propertyValue.priority);
}
});
encodeClosingTag222(buffer, 1);
};
var decode7222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
const valueList = [];
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 && apduLen > len) {
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeContextObjectId222(buffer, offset + len, 1);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
} else {
return void 0;
}
if (decodeIsClosingTag222(buffer, offset + len)) {
len++;
}
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arraIndex = ASN1_ARRAY_ALL222;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
arraIndex += decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arraIndex };
if (result.tagNumber === 2 && decodeIsOpeningTag222(buffer, offset + len - 1)) {
const values = [];
while (!decodeIsClosingTag222(buffer, offset + len)) {
decodedValue = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
len++;
newEntry.value = values;
} else {
return void 0;
}
valueList.push(newEntry);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
return {
len,
objectId,
values: valueList
};
};
var encodeAcknowledge3222 = (buffer, objectId) => {
encodeApplicationObjectId222(buffer, objectId.type, objectId.instance);
};
var delete_object_exports222 = {};
__export222(delete_object_exports222, {
decode: () => decode8222,
encode: () => encode8222
});
var decode8222 = (buffer, offset, apduLen) => {
const result = decodeTagNumberAndValue222(buffer, offset);
if (result.tagNumber !== 12) {
return void 0;
}
let len = 1;
const value = decodeObjectId222(buffer, offset + len);
len += value.len;
if (len !== apduLen) {
return void 0;
}
value.len = len;
return value;
};
var encode8222 = (buffer, objectId) => {
encodeApplicationObjectId222(buffer, objectId.type, objectId.instance);
};
var device_communication_control_exports222 = {};
__export222(device_communication_control_exports222, {
decode: () => decode9222,
encode: () => encode9222
});
var encode9222 = (buffer, timeDuration, enableDisable, password) => {
if (timeDuration > 0) {
encodeContextUnsigned222(buffer, 0, timeDuration);
}
encodeContextEnumerated222(buffer, 1, enableDisable);
if (password && password !== "") {
encodeContextCharacterString222(buffer, 2, password);
}
};
var decode9222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result;
if (decodeIsContextTag222(buffer, offset + len, 0)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
value.timeDuration = decodedValue.value;
len += decodedValue.len;
}
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
value.enableDisable = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag222(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var error_exports222 = {};
__export222(error_exports222, {
buildMessage: () => buildMessage222,
decode: () => decode10222,
encode: () => encode10222
});
var encode10222 = (buffer, errorClass, errorCode) => {
encodeApplicationEnumerated222(buffer, errorClass);
encodeApplicationEnumerated222(buffer, errorCode);
};
var decode10222 = (buffer, offset) => {
const orgOffset = offset;
let result;
result = decodeTagNumberAndValue222(buffer, offset);
offset += result.len;
const errorClass = decodeEnumerated222(buffer, offset, result.value);
offset += errorClass.len;
result = decodeTagNumberAndValue222(buffer, offset);
offset += result.len;
const errorCode = decodeEnumerated222(buffer, offset, result.value);
offset += errorClass.len;
return {
len: offset - orgOffset,
class: errorClass.value,
code: errorCode.value
};
};
var buildMessage222 = function(result) {
return "BacnetError Class: " + ErrorClassName222[result.class] + " (" + result.class + ") Code: " + ErrorCodeName222[result.code] + " (" + result.code + ")";
};
var event_information_exports222 = {};
__export222(event_information_exports222, {
decode: () => decode11222,
encode: () => encode11222
});
var encode11222 = (buffer, events, moreEvents) => {
encodeOpeningTag222(buffer, 0);
events.forEach((event) => {
encodeContextObjectId222(
buffer,
0,
event.objectId.type,
event.objectId.instance
);
encodeContextEnumerated222(buffer, 1, event.eventState);
encodeContextBitstring222(buffer, 2, event.acknowledgedTransitions);
encodeOpeningTag222(buffer, 3);
for (let i = 0; i < 3; i++) {
encodeApplicationDate222(buffer, event.eventTimeStamps[i]);
encodeApplicationTime222(buffer, event.eventTimeStamps[i]);
}
encodeClosingTag222(buffer, 3);
encodeContextEnumerated222(buffer, 4, event.notifyType);
encodeContextBitstring222(buffer, 5, event.eventEnable);
encodeOpeningTag222(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned222(buffer, event.eventPriorities[i]);
}
encodeClosingTag222(buffer, 6);
});
encodeClosingTag222(buffer, 0);
encodeContextBoolean222(buffer, 1, moreEvents);
};
var decode11222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
len++;
const alarms = [];
let moreEvents;
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventState = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
value.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
if (result.tagNumber !== 0) {
decodedValue = decodeApplicationDate222(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime222(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
value.eventTimeStamps[i] = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
} else {
len += result.value;
}
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.notifyType = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventEnable = decodedValue.value;
len++;
value.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventPriorities[i] = decodedValue.value;
}
len++;
alarms.push(value);
}
moreEvents = buffer[apduLen - 1] === 1;
return {
len,
alarms,
moreEvents
};
};
var event_notify_data_exports222 = {};
__export222(event_notify_data_exports222, {
decode: () => decode12222,
encode: () => encode12222
});
var encode12222 = (buffer, data) => {
encodeContextUnsigned222(buffer, 0, data.processId);
encodeContextObjectId222(
buffer,
1,
data.initiatingObjectId.type,
data.initiatingObjectId.instance
);
encodeContextObjectId222(
buffer,
2,
data.eventObjectId.type,
data.eventObjectId.instance
);
bacappEncodeContextTimestamp222(buffer, 3, data.timeStamp);
encodeContextUnsigned222(buffer, 4, data.notificationClass);
encodeContextUnsigned222(buffer, 5, data.priority);
encodeContextEnumerated222(buffer, 6, data.eventType);
if (data.messageText && data.messageText !== "") {
encodeContextCharacterString222(buffer, 7, data.messageText);
}
encodeContextEnumerated222(buffer, 8, data.notifyType);
switch (data.notifyType) {
case 0:
case 1:
encodeContextBoolean222(buffer, 9, data.ackRequired);
encodeContextEnumerated222(buffer, 10, data.fromState);
break;
default:
break;
}
encodeContextEnumerated222(buffer, 11, data.toState);
switch (data.notifyType) {
case 0:
case 1:
encodeOpeningTag222(buffer, 12);
switch (data.eventType) {
case 0:
encodeOpeningTag222(buffer, 0);
encodeContextBitstring222(
buffer,
0,
data.changeOfBitstringReferencedBitString
);
encodeContextBitstring222(
buffer,
1,
data.changeOfBitstringStatusFlags
);
encodeClosingTag222(buffer, 0);
break;
case 1:
encodeOpeningTag222(buffer, 1);
encodeOpeningTag222(buffer, 0);
bacappEncodePropertyState222(buffer, data.changeOfStateNewState);
encodeClosingTag222(buffer, 0);
encodeContextBitstring222(
buffer,
1,
data.changeOfStateStatusFlags
);
encodeClosingTag222(buffer, 1);
break;
case 2:
encodeOpeningTag222(buffer, 2);
encodeOpeningTag222(buffer, 0);
switch (data.changeOfValueTag) {
case 0:
encodeContextReal222(
buffer,
1,
data.changeOfValueChangeValue
);
break;
case 1:
encodeContextBitstring222(
buffer,
0,
data.changeOfValueChangedBits
);
break;
default:
throw new Error("NotImplemented");
}
encodeClosingTag222(buffer, 0);
encodeContextBitstring222(
buffer,
1,
data.changeOfValueStatusFlags
);
encodeClosingTag222(buffer, 2);
break;
case 4:
encodeOpeningTag222(buffer, 4);
encodeContextReal222(buffer, 0, data.floatingLimitReferenceValue);
encodeContextBitstring222(
buffer,
1,
data.floatingLimitStatusFlags
);
encodeContextReal222(buffer, 2, data.floatingLimitSetPointValue);
encodeContextReal222(buffer, 3, data.floatingLimitErrorLimit);
encodeClosingTag222(buffer, 4);
break;
case 5:
encodeOpeningTag222(buffer, 5);
encodeContextReal222(buffer, 0, data.outOfRangeExceedingValue);
encodeContextBitstring222(buffer, 1, data.outOfRangeStatusFlags);
encodeContextReal222(buffer, 2, data.outOfRangeDeadband);
encodeContextReal222(buffer, 3, data.outOfRangeExceededLimit);
encodeClosingTag222(buffer, 5);
break;
case 8:
encodeOpeningTag222(buffer, 8);
encodeContextEnumerated222(
buffer,
0,
data.changeOfLifeSafetyNewState
);
encodeContextEnumerated222(
buffer,
1,
data.changeOfLifeSafetyNewMode
);
encodeContextBitstring222(
buffer,
2,
data.changeOfLifeSafetyStatusFlags
);
encodeContextEnumerated222(
buffer,
3,
data.changeOfLifeSafetyOperationExpected
);
encodeClosingTag222(buffer, 8);
break;
case 10:
encodeOpeningTag222(buffer, 10);
bacappEncodeContextDeviceObjPropertyRef222(
buffer,
0,
data.bufferReadyBufferProperty
);
encodeContextUnsigned222(
buffer,
1,
data.bufferReadyPreviousNotification
);
encodeContextUnsigned222(
buffer,
2,
data.bufferReadyCurrentNotification
);
encodeClosingTag222(buffer, 10);
break;
case 11:
encodeOpeningTag222(buffer, 11);
encodeContextUnsigned222(
buffer,
0,
data.unsignedRangeExceedingValue
);
encodeContextBitstring222(
buffer,
1,
data.unsignedRangeStatusFlags
);
encodeContextUnsigned222(
buffer,
2,
data.unsignedRangeExceededLimit
);
encodeClosingTag222(buffer, 11);
break;
case 9:
case 3:
throw new Error("NotImplemented");
default:
throw new Error("NotImplemented");
}
encodeClosingTag222(buffer, 12);
break;
case 2:
throw new Error("NotImplemented");
default:
break;
}
};
var decode12222 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let eventData = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.processId = decodedValue.value;
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
eventData.initiatingObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag222(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
eventData.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag222(buffer, offset + len, 3)) {
return void 0;
}
len += 2;
decodedValue = decodeApplicationDate222(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime222(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
eventData.timeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len += 2;
if (!decodeIsContextTag222(buffer, offset + len, 4)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notificationClass = decodedValue.value;
if (!decodeIsContextTag222(buffer, offset + len, 5)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.priority = decodedValue.value;
if (eventData.priority > 255) {
return void 0;
}
if (!decodeIsContextTag222(buffer, offset + len, 6)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.eventType = decodedValue.value;
if (decodeIsContextTag222(buffer, offset + len, 7)) {
decodedValue = decodeContextCharacterString222(
buffer,
offset + len,
2e4,
7
);
len += decodedValue.len;
eventData.messageText = decodedValue.value;
}
if (!decodeIsContextTag222(buffer, offset + len, 8)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notifyType = decodedValue.value;
switch (eventData.notifyType) {
case 0:
case 1:
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, 1);
len += decodedValue.len;
eventData.ackRequired = decodedValue.value > 0;
if (!decodeIsContextTag222(buffer, offset + len, 10)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
eventData.fromState = decodedValue.value;
break;
default:
break;
}
if (!decodeIsContextTag222(buffer, offset + len, 11)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.toState = decodedValue.value;
eventData.len = len;
return eventData;
};
var get_enrollment_summary_exports222 = {};
__export222(get_enrollment_summary_exports222, {
decode: () => decode13222,
decodeAcknowledge: () => decodeAcknowledge3222,
encode: () => encode13222,
encodeAcknowledge: () => encodeAcknowledge4222
});
var encode13222 = (buffer, acknowledgmentFilter, enrollmentFilter, eventStateFilter, eventTypeFilter, priorityFilter, notificationClassFilter) => {
encodeContextEnumerated222(buffer, 0, acknowledgmentFilter);
if (enrollmentFilter) {
encodeOpeningTag222(buffer, 1);
encodeOpeningTag222(buffer, 0);
encodeContextObjectId222(
buffer,
0,
enrollmentFilter.objectId.type,
enrollmentFilter.objectId.instance
);
encodeClosingTag222(buffer, 0);
encodeContextUnsigned222(buffer, 1, enrollmentFilter.processId);
encodeClosingTag222(buffer, 1);
}
if (eventStateFilter) {
encodeOpeningTag222(buffer, 2);
encodeContextEnumerated222(buffer, 0, eventStateFilter);
encodeClosingTag222(buffer, 2);
}
if (eventTypeFilter) {
encodeOpeningTag222(buffer, 3);
encodeContextEnumerated222(buffer, 0, eventTypeFilter);
encodeClosingTag222(buffer, 3);
}
if (priorityFilter) {
encodeOpeningTag222(buffer, 4);
encodeContextUnsigned222(buffer, 0, priorityFilter.min);
encodeContextUnsigned222(buffer, 1, priorityFilter.max);
encodeClosingTag222(buffer, 4);
}
if (notificationClassFilter) {
encodeOpeningTag222(buffer, 5);
encodeContextUnsigned222(buffer, 0, notificationClassFilter);
encodeClosingTag222(buffer, 5);
}
};
var decode13222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgmentFilter = decodedValue.value;
if (decodeIsContextTag222(buffer, offset + len, 1)) {
len++;
value.enrollmentFilter = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.enrollmentFilter.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.enrollmentFilter.processId = decodedValue.value;
len++;
}
if (decodeIsContextTag222(buffer, offset + len, 2)) {
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag222(buffer, offset + len, 3)) {
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTypeFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag222(buffer, offset + len, 4)) {
len++;
value.priorityFilter = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.min = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.max = decodedValue.value;
len++;
}
if (decodeIsContextTag222(buffer, offset + len, 5)) {
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.notificationClassFilter = decodedValue.value;
len++;
}
value.len = len;
return value;
};
var encodeAcknowledge4222 = (buffer, enrollmentSummaries) => {
enrollmentSummaries.forEach((enrollmentSummary) => {
encodeApplicationObjectId222(
buffer,
enrollmentSummary.objectId.type,
enrollmentSummary.objectId.instance
);
encodeApplicationEnumerated222(buffer, enrollmentSummary.eventType);
encodeApplicationEnumerated222(buffer, enrollmentSummary.eventState);
encodeApplicationUnsigned222(buffer, enrollmentSummary.priority);
encodeApplicationUnsigned222(
buffer,
enrollmentSummary.notificationClass
);
});
};
var decodeAcknowledge3222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const enrollmentSummaries = [];
while (apduLen - len > 0) {
const enrollmentSummary = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId222(buffer, offset + len);
len += result.len;
enrollmentSummary.objectId = {
type: result.objectType,
instance: result.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated222(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventType = result.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated222(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventState = result.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned222(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.priority = result.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned222(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.notificationClass = result.value;
enrollmentSummaries.push(enrollmentSummary);
}
return {
enrollmentSummaries,
len
};
};
var get_event_information_exports222 = {};
__export222(get_event_information_exports222, {
decode: () => decode14222,
decodeAcknowledge: () => decodeAcknowledge4222,
encode: () => encode14222,
encodeAcknowledge: () => encodeAcknowledge5222
});
var encode14222 = (buffer, lastReceivedObjectId) => {
encodeContextObjectId222(
buffer,
0,
lastReceivedObjectId.type,
lastReceivedObjectId.instance
);
};
var decode14222 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.lastReceivedObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var encodeAcknowledge5222 = (buffer, events, moreEvents) => {
encodeOpeningTag222(buffer, 0);
events.forEach((eventData) => {
encodeContextObjectId222(
buffer,
0,
eventData.objectId.type,
eventData.objectId.instance
);
encodeContextEnumerated222(buffer, 1, eventData.eventState);
encodeContextBitstring222(buffer, 2, eventData.acknowledgedTransitions);
encodeOpeningTag222(buffer, 3);
for (let i = 0; i < 3; i++) {
bacappEncodeTimestamp222(buffer, eventData.eventTimeStamps[i]);
}
encodeClosingTag222(buffer, 3);
encodeContextEnumerated222(buffer, 4, eventData.notifyType);
encodeContextBitstring222(buffer, 5, eventData.eventEnable);
encodeOpeningTag222(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned222(buffer, eventData.eventPriorities[i]);
}
encodeClosingTag222(buffer, 6);
});
encodeClosingTag222(buffer, 0);
encodeContextBoolean222(buffer, 1, moreEvents);
};
var decodeAcknowledge4222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
value.events = [];
while (apduLen - len > 3) {
let event = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
event.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventState = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
event.acknowledgedTransitions = decodedValue.value;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
event.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime222(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 0
/* TIME */
};
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 1
/* SEQUENCE_NUMBER */
};
} else if (result.tagNumber === 2) {
let date = decodeApplicationDate222(
buffer,
offset + len
);
len += date.len;
date = date.value.value;
let time = decodeApplicationTime222(
buffer,
offset + len
);
len += time.len;
time = time.value.value;
event.eventTimeStamps[i] = {
value: new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
),
type: 2
/* DATETIME */
};
len++;
}
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
event.notifyType = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventEnable = decodedValue.value;
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 6)) {
return void 0;
}
len++;
event.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventPriorities[i] = decodedValue.value;
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 6)) {
return void 0;
}
len++;
value.events.push(event);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
value.moreEvents = buffer[offset + len] > 0;
len++;
value.len = len;
return value;
};
var i_am_exports222 = {};
__export222(i_am_exports222, {
decode: () => decode15222,
encode: () => encode15222
});
var encode15222 = (buffer, deviceId, maxApdu, segmentation, vendorId) => {
encodeApplicationObjectId222(buffer, 8, deviceId);
encodeApplicationUnsigned222(buffer, maxApdu);
encodeApplicationEnumerated222(buffer, segmentation);
encodeApplicationUnsigned222(buffer, vendorId);
};
var decode15222 = (buffer, offset) => {
let result;
let apduLen = 0;
const orgOffset = offset;
result = decodeTagNumberAndValue222(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId222(buffer, offset + apduLen);
apduLen += result.len;
if (result.objectType !== 8) {
return void 0;
}
const deviceId = result.instance;
result = decodeTagNumberAndValue222(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned222(buffer, offset + apduLen, result.value);
apduLen += result.len;
const maxApdu = result.value;
result = decodeTagNumberAndValue222(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated222(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 3) {
return void 0;
}
const segmentation = result.value;
result = decodeTagNumberAndValue222(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned222(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 65535) {
return void 0;
}
const vendorId = result.value;
return {
len: offset - orgOffset,
deviceId,
maxApdu,
segmentation,
vendorId
};
};
var i_have_exports222 = {};
__export222(i_have_exports222, {
decode: () => decode16222,
encode: () => encode16222
});
var encode16222 = (buffer, deviceId, objectId, objectName) => {
encodeApplicationObjectId222(buffer, deviceId.type, deviceId.instance);
encodeApplicationObjectId222(buffer, objectId.type, objectId.instance);
encodeApplicationCharacterString222(buffer, objectName);
};
var decode16222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.deviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
value.len = len;
return value;
};
var life_safety_operation_exports222 = {};
__export222(life_safety_operation_exports222, {
decode: () => decode17222,
encode: () => encode17222
});
var encode17222 = (buffer, processId, requestingSource, operation, targetObjectId) => {
encodeContextUnsigned222(buffer, 0, processId);
encodeContextCharacterString222(buffer, 1, requestingSource);
encodeContextEnumerated222(buffer, 2, operation);
encodeContextObjectId222(
buffer,
3,
targetObjectId.type,
targetObjectId.instance
);
};
var decode17222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.processId = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.requestingSource = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.operation = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.targetObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var private_transfer_exports222 = {};
__export222(private_transfer_exports222, {
decode: () => decode18222,
encode: () => encode18222
});
var encode18222 = (buffer, vendorId, serviceNumber, data) => {
encodeContextUnsigned222(buffer, 0, vendorId);
encodeContextUnsigned222(buffer, 1, serviceNumber);
encodeOpeningTag222(buffer, 2);
for (let i = 0; i < data.length; i++) {
buffer.buffer[buffer.offset++] = data[i];
}
encodeClosingTag222(buffer, 2);
};
var decode18222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.vendorId = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.serviceNumber = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
const size = apduLen - (offset + len + 1);
const data = [];
for (let i = 0; i < size; i++) {
data.push(buffer[offset + len++]);
}
value.data = data;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
value.len = len;
return value;
};
var read_property_exports222 = {};
__export222(read_property_exports222, {
decode: () => decode19222,
decodeAcknowledge: () => decodeAcknowledge5222,
encode: () => encode19222,
encodeAcknowledge: () => encodeAcknowledge6222
});
var encode19222 = (buffer, objectType, objectInstance, propertyId, arrayIndex) => {
if (objectType <= ASN1_MAX_OBJECT222) {
encodeContextObjectId222(buffer, 0, objectType, objectInstance);
}
if (propertyId <= ASN1_MAX_PROPERTY_ID222) {
encodeContextEnumerated222(buffer, 1, propertyId);
}
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(
buffer,
2,
arrayIndex || arrayIndex === 0 ? arrayIndex : ASN1_ARRAY_ALL222
);
}
};
var decode19222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (apduLen < 7) {
return void 0;
}
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
property.index = ASN1_ARRAY_ALL222;
if (len < apduLen) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 2 && len < apduLen) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
return void 0;
}
}
if (len < apduLen) {
return void 0;
}
return {
len,
objectId,
property
};
};
var encodeAcknowledge6222 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated222(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 2, arrayIndex);
}
encodeOpeningTag222(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData222(buffer, value);
});
encodeClosingTag222(buffer, 3);
};
var decodeAcknowledge5222 = (buffer, offset, apduLen) => {
let result;
let decodedValue;
let objectId = {};
let property = {};
if (!decodeIsContextTag222(buffer, offset, 0)) {
return void 0;
}
let len = 1;
result = decodeObjectId222(buffer, offset + len);
len += result.len;
objectId.type = result.objectType;
objectId.instance = result.instance;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
result = decodeEnumerated222(buffer, offset + len, result.value);
len += result.len;
property.id = result.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL222;
}
const values = [];
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
objectId.type,
property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
return {
len,
objectId,
property,
values
};
};
var read_property_multiple_exports222 = {};
__export222(read_property_multiple_exports222, {
decode: () => decode20222,
decodeAcknowledge: () => decodeAcknowledge6222,
encode: () => encode20222,
encodeAcknowledge: () => encodeAcknowledge7222
});
var encode20222 = (buffer, properties) => {
properties.forEach((value) => {
encodeReadAccessSpecification222(buffer, value);
});
};
var decode20222 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const decodedValue = decodeReadAccessSpecification222(
buffer,
offset + len,
apduLen - len
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
values.push(decodedValue.value);
}
return {
len,
properties: values
};
};
var encodeAcknowledge7222 = (buffer, values) => {
values.forEach((value) => {
encodeReadAccessResult222(buffer, value);
});
};
var decodeAcknowledge6222 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const result = decodeReadAccessResult222(
buffer,
offset + len,
apduLen - len
);
if (!result || result === -1) {
return void 0;
}
len += result.len;
values.push(result.value);
}
return {
len,
values
};
};
var read_range_exports222 = {};
__export222(read_range_exports222, {
decode: () => decode21222,
decodeAcknowledge: () => decodeAcknowledge7222,
encode: () => encode21222,
encodeAcknowledge: () => encodeAcknowledge8222
});
var encode21222 = (buffer, objectId, propertyId, arrayIndex, requestType, position, time, count) => {
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated222(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 2, arrayIndex);
}
switch (requestType) {
case 0:
encodeOpeningTag222(buffer, 3);
encodeApplicationUnsigned222(buffer, position);
encodeApplicationSigned222(buffer, count);
encodeClosingTag222(buffer, 3);
break;
case 1:
encodeOpeningTag222(buffer, 6);
encodeApplicationUnsigned222(buffer, position);
encodeApplicationSigned222(buffer, count);
encodeClosingTag222(buffer, 6);
break;
case 2:
encodeOpeningTag222(buffer, 7);
encodeApplicationDate222(buffer, time);
encodeApplicationTime222(buffer, time);
encodeApplicationSigned222(buffer, count);
encodeClosingTag222(buffer, 7);
break;
default:
break;
}
};
var decode21222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let requestType;
let position;
let time;
let count;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId222(buffer, offset + len, 0);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
if (len < apduLen && decodeIsContextTag222(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL222;
}
if (len < apduLen) {
result = decodeTagNumber222(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 3:
requestType = 0;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 6:
requestType = 1;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 7:
requestType = 2;
decodedValue = decodeApplicationDate222(buffer, offset + len);
len += decodedValue.len;
const tmpDate = decodedValue.value.value;
decodedValue = decodeApplicationTime222(buffer, offset + len);
len += decodedValue.len;
const tmpTime = decodedValue.value.value;
time = new Date(
tmpDate.getYear(),
tmpDate.getMonth(),
tmpDate.getDate(),
tmpTime.getHours(),
tmpTime.getMinutes(),
tmpTime.getSeconds(),
tmpTime.getMilliseconds()
);
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned222(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
default:
return void 0;
}
result = decodeTagNumber222(buffer, offset + len);
len += result.len;
}
return {
len,
objectId,
property,
requestType,
position,
time,
count
};
};
var encodeAcknowledge8222 = (buffer, objectId, propertyId, arrayIndex, resultFlags, itemCount, applicationData, requestType, firstSequence) => {
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated222(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 2, arrayIndex);
}
encodeContextBitstring222(buffer, 3, resultFlags);
encodeContextUnsigned222(buffer, 4, itemCount);
encodeOpeningTag222(buffer, 5);
if (itemCount !== 0) {
applicationData.copy(
buffer.buffer,
buffer.offset,
0,
applicationData.length
);
buffer.offset += applicationData.length;
}
encodeClosingTag222(buffer, 5);
if (itemCount !== 0 && requestType && requestType !== 0) {
encodeContextUnsigned222(buffer, 6, firstSequence);
}
};
var decodeAcknowledge7222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
const objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
const property = { index: ASN1_ARRAY_ALL222 };
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 2 && len < apduLen) {
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring222(buffer, offset + len, result.value);
len += decodedValue.len;
const resultFlag = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
const itemCount = decodedValue.value;
if (!decodeIsOpeningTag222(buffer, offset + len)) {
return void 0;
}
len++;
const rangeBuffer = buffer.slice(offset + len, apduLen - 3);
return {
objectId,
property,
resultFlag,
itemCount,
rangeBuffer,
len
};
};
var register_foreign_device_exports222 = {};
__export222(register_foreign_device_exports222, {
decode: () => decode22222,
encode: () => encode22222
});
var encode22222 = (buffer, ttl, length = 2) => {
encodeUnsigned222(buffer, ttl, length);
};
var decode22222 = (buffer, offset, length = 2) => {
let len = 0;
let result = decodeUnsigned222(buffer, offset + len, length);
len += result.len;
return {
len,
ttl: result.value
};
};
var reinitialize_device_exports222 = {};
__export222(reinitialize_device_exports222, {
decode: () => decode23222,
encode: () => encode23222
});
var encode23222 = (buffer, state, password) => {
encodeContextEnumerated222(buffer, 0, state);
if (password && password !== "") {
encodeContextCharacterString222(buffer, 1, password);
}
};
var decode23222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
let decodedValue = decodeEnumerated222(
buffer,
offset + len,
result.value
);
value.state = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var subscribe_cov_exports222 = {};
__export222(subscribe_cov_exports222, {
decode: () => decode24222,
encode: () => encode24222
});
var encode24222 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime) => {
encodeContextUnsigned222(buffer, 0, subscriberProcessId);
encodeContextObjectId222(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean222(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned222(buffer, 3, lifetime);
}
};
var decode24222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
if (len < apduLen) {
value.issueConfirmedNotifications = false;
if (decodeIsContextTag222(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag222(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
}
value.len = len;
return value;
};
var subscribe_property_exports222 = {};
__export222(subscribe_property_exports222, {
decode: () => decode25222,
encode: () => encode25222
});
var encode25222 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime, monitoredProperty, covIncrementPresent, covIncrement) => {
encodeContextUnsigned222(buffer, 0, subscriberProcessId);
encodeContextObjectId222(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean222(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned222(buffer, 3, lifetime);
}
encodeOpeningTag222(buffer, 4);
encodeContextEnumerated222(buffer, 0, monitoredProperty.id);
if (monitoredProperty.index !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 1, monitoredProperty.index);
}
encodeClosingTag222(buffer, 4);
if (covIncrementPresent) {
encodeContextReal222(buffer, 5, covIncrement);
}
};
var decode25222 = (buffer, offset) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag222(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
value.issueConfirmedNotifications = false;
if (decodeIsContextTag222(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag222(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.monitoredProperty = {};
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.id = decodedValue.value;
value.monitoredProperty.index = ASN1_ARRAY_ALL222;
if (decodeIsContextTag222(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
}
if (!decodeIsClosingTagNumber222(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.covIncrement = 0;
if (decodeIsContextTag222(buffer, offset + len, 5)) {
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
decodedValue = decodeReal222(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
value.len = len;
return value;
};
var time_sync_exports222 = {};
__export222(time_sync_exports222, {
decode: () => decode26222,
encode: () => encode26222
});
var encode26222 = (buffer, time) => {
encodeApplicationDate222(buffer, time);
encodeApplicationTime222(buffer, time);
};
var decode26222 = (buffer, offset, length) => {
let len = 0;
let result;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 10) {
return void 0;
}
const date = decodeDate222(buffer, offset + len);
len += date.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 11) {
return void 0;
}
const time = decodeBacnetTime222(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.value.getFullYear(),
date.value.getMonth(),
date.value.getDate(),
time.value.getHours(),
time.value.getMinutes(),
time.value.getSeconds(),
time.value.getMilliseconds()
)
};
};
var who_has_exports222 = {};
__export222(who_has_exports222, {
decode: () => decode27222,
encode: () => encode27222
});
var encode27222 = (buffer, lowLimit, highLimit, objectId, objectName) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE222 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE222) {
encodeContextUnsigned222(buffer, 0, lowLimit);
encodeContextUnsigned222(buffer, 1, highLimit);
}
if (objectName && objectName !== "") {
encodeContextCharacterString222(buffer, 3, objectName);
} else {
encodeContextObjectId222(buffer, 2, objectId.type, objectId.instance);
}
};
var decode27222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE222) {
value.lowLimit = decodedValue.value;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE222) {
value.highLimit = decodedValue.value;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 2) {
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
}
if (result.tagNumber === 3) {
decodedValue = decodeCharacterString222(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
}
value.len = len;
return value;
};
var who_is_exports222 = {};
__export222(who_is_exports222, {
decode: () => decode28222,
encode: () => encode28222
});
var encode28222 = (buffer, lowLimit, highLimit) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE222 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE222) {
encodeContextUnsigned222(buffer, 0, lowLimit);
encodeContextUnsigned222(buffer, 1, highLimit);
}
};
var decode28222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (apduLen <= 0) {
return {};
}
let result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
let decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE222) {
value.lowLimit = decodedValue.value;
}
if (apduLen <= len) {
return void 0;
}
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE222) {
value.highLimit = decodedValue.value;
}
value.len = len;
return value;
};
var write_property_exports222 = {};
__export222(write_property_exports222, {
decode: () => decode29222,
encode: () => encode29222
});
var encode29222 = (buffer, objectType, objectInstance, propertyId, arrayIndex, priority, values) => {
encodeContextObjectId222(buffer, 0, objectType, objectInstance);
encodeContextEnumerated222(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 2, arrayIndex);
}
encodeOpeningTag222(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData222(buffer, value);
});
encodeClosingTag222(buffer, 3);
if (priority !== ASN1_NO_PRIORITY222) {
encodeContextUnsigned222(buffer, 4, priority);
}
};
var decode29222 = (buffer, offset, apduLen) => {
let len = 0;
let value = {
property: {}
};
let decodedValue;
let result;
if (!decodeIsContextTag222(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId222(buffer, offset + len);
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.id = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL222;
}
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber222(buffer, offset + len, 3)) {
decodedValue = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
objectId.type,
value.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
value.value = values;
if (!decodeIsClosingTagNumber222(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.priority = ASN1_MAX_PRIORITY222;
if (len < apduLen) {
result = decodeTagNumberAndValue222(buffer, offset + len);
if (result.tagNumber === 4) {
len += result.len;
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue;
if (decodedValue.value >= ASN1_MIN_PRIORITY222 && decodedValue.value <= ASN1_MAX_PRIORITY222) {
value.priority = decodedValue.value;
} else {
return void 0;
}
}
}
return {
len,
objectId,
value
};
};
var write_property_multiple_exports222 = {};
__export222(write_property_multiple_exports222, {
decode: () => decode30222,
encode: () => encode30222,
encodeObject: () => encodeObject222
});
var encode30222 = (buffer, objectId, values) => {
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
encodeOpeningTag222(buffer, 1);
values.forEach((pValue) => {
encodeContextEnumerated222(buffer, 0, pValue.property.id);
if (pValue.property.index !== ASN1_ARRAY_ALL222) {
encodeContextUnsigned222(buffer, 1, pValue.property.index);
}
encodeOpeningTag222(buffer, 2);
pValue.value.forEach((value) => {
bacappEncodeApplicationData222(buffer, value);
});
encodeClosingTag222(buffer, 2);
if (pValue.priority !== ASN1_NO_PRIORITY222) {
encodeContextUnsigned222(buffer, 3, pValue.priority);
}
});
encodeClosingTag222(buffer, 1);
};
var decode30222 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0 || apduLen <= len) {
return void 0;
}
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeObjectId222(buffer, offset + len);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsOpeningTagNumber222(buffer, offset + len, 1)) {
return void 0;
}
len++;
const _values = [];
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated222(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arrayIndex = ASN1_ARRAY_ALL222;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
arrayIndex = decodedValue.value;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arrayIndex };
if (result.tagNumber !== 2 || !decodeIsOpeningTag222(buffer, offset + len - 1)) {
return void 0;
}
const values = [];
while (len + offset <= buffer.length && !decodeIsClosingTag222(buffer, offset + len)) {
let value = bacappDecodeApplicationData222(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!value) {
return void 0;
}
len += value.len;
delete value.len;
values.push(value);
}
len++;
newEntry.value = values;
let priority = ASN1_NO_PRIORITY222;
result = decodeTagNumberAndValue222(buffer, offset + len);
len += result.len;
if (result.tagNumber === 3) {
decodedValue = decodeUnsigned222(buffer, offset + len, result.value);
len += decodedValue.len;
priority = decodedValue.value;
} else {
len--;
}
newEntry.priority = priority;
_values.push(newEntry);
if (decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
len++;
}
}
if (decodeIsClosingTagNumber222(buffer, offset + len, 1)) {
len++;
}
return {
len,
objectId,
values: _values
};
};
var encodeObject222 = (buffer, values) => {
values.forEach((object) => {
encode30222(buffer, object.objectId, object.values);
});
};
var getDecodedType222 = (buffer, offset) => {
return buffer[offset];
};
var encodeConfirmedServiceRequest222 = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowSize;
}
buffer.buffer[buffer.offset++] = service;
};
var decodeConfirmedServiceRequest222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const maxSegments = buffer[offset] & 240;
const maxApdu = buffer[offset++] & 15;
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
maxSegments,
maxApdu,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeUnconfirmedServiceRequest222 = (buffer, type, service) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = service;
};
var decodeUnconfirmedServiceRequest222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service
};
};
var encodeSimpleAck222 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeSimpleAck222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var encodeComplexAck222 = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
let len = 3;
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowNumber;
len += 2;
}
buffer.buffer[buffer.offset++] = service;
return len;
};
var decodeComplexAck222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeSegmentAck222 = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = originalInvokeId;
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = actualWindowSize;
};
var decodeSegmentAck222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const originalInvokeId = buffer[offset++];
const sequencenumber = buffer[offset++];
const actualWindowSize = buffer[offset++];
return {
len: offset - orgOffset,
type,
originalInvokeId,
sequencenumber,
actualWindowSize
};
};
var encodeResult222 = (buffer, resultCode) => {
encodeUnsigned222(buffer, resultCode, 2);
};
var encodeError222 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeError222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var decodeAbort222 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const reason = buffer[offset++];
return {
len: offset - orgOffset,
type,
invokeId,
reason
};
};
var DEFAULT_HOP_COUNT322 = 255;
var BACNET_PROTOCOL_VERSION222 = 1;
var BACNET_ADDRESS_TYPES222 = {
NONE: 0,
IP: 1
};
var decodeTarget222 = (buffer, offset) => {
let len = 0;
const target = {
type: BACNET_ADDRESS_TYPES222.NONE,
net: buffer[offset + len++] << 8 | buffer[offset + len++] << 0
};
const adrLen = buffer[offset + len++];
if (adrLen > 0) {
target.adr = [];
for (let i = 0; i < adrLen; i++) {
target.adr.push(buffer[offset + len++]);
}
}
return {
target,
len
};
};
var encodeTarget222 = (buffer, target) => {
buffer.buffer[buffer.offset++] = (target.net & 65280) >> 8;
buffer.buffer[buffer.offset++] = (target.net & 255) >> 0;
if (target.net === 65535 || !target.adr) {
buffer.buffer[buffer.offset++] = 0;
} else {
buffer.buffer[buffer.offset++] = target.adr.length;
if (target.adr.length > 0) {
for (let i = 0; i < target.adr.length; i++) {
buffer.buffer[buffer.offset++] = target.adr[i];
}
}
}
};
var decode31222 = (buffer, offset) => {
let adrLen;
const orgOffset = offset;
offset++;
const funct = buffer[offset++];
let destination;
if (funct & 32) {
const tmpDestination = decodeTarget222(buffer, offset);
offset += tmpDestination.len;
destination = tmpDestination.target;
}
let source;
if (funct & 8) {
const tmpSource = decodeTarget222(buffer, offset);
offset += tmpSource.len;
source = tmpSource.target;
}
let hopCount = 0;
if (funct & 32) {
hopCount = buffer[offset++];
}
let networkMsgType = 0;
let vendorId = 0;
if (funct & 128) {
networkMsgType = buffer[offset++];
if (networkMsgType >= 128) {
vendorId = buffer[offset++] << 8 | buffer[offset++] << 0;
} else if (networkMsgType === 0) {
offset += 2;
}
}
if (buffer[orgOffset + 0] !== BACNET_PROTOCOL_VERSION222) {
return void 0;
}
return {
len: offset - orgOffset,
funct,
destination,
source,
hopCount,
networkMsgType,
vendorId
};
};
var encode31222 = (buffer, funct, destination, source, hopCount, networkMsgType, vendorId) => {
const hasDestination = destination && destination.net > 0;
const hasSource = source && source.net > 0 && source.net !== 65535;
buffer.buffer[buffer.offset++] = BACNET_PROTOCOL_VERSION222;
buffer.buffer[buffer.offset++] = funct | (hasDestination ? 32 : 0) | (hasSource ? 8 : 0);
if (hasDestination) {
encodeTarget222(buffer, destination);
}
if (hasSource) {
encodeTarget222(buffer, source);
}
if (hasDestination) {
buffer.buffer[buffer.offset++] = hopCount || DEFAULT_HOP_COUNT322;
}
if ((funct & 128) > 0) {
buffer.buffer[buffer.offset++] = networkMsgType;
if (networkMsgType >= 128) {
buffer.buffer[buffer.offset++] = (vendorId & 65280) >> 8;
buffer.buffer[buffer.offset++] = (vendorId & 255) >> 0;
}
}
};
var DEFAULT_BACNET_PORT2222 = 47808;
var encode32222 = (buffer, func, msgLength, originatingIP) => {
buffer[0] = BVLL_TYPE_BACNET_IP222;
buffer[1] = func;
buffer[2] = (msgLength & 65280) >> 8;
buffer[3] = (msgLength & 255) >> 0;
if (originatingIP) {
if (func !== 4) {
throw new Error(
"Cannot specify originatingIP unless BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
const [ipstr, portstr] = originatingIP.split(":");
const port = parseInt(portstr, 10) || DEFAULT_BACNET_PORT2222;
const ip = ipstr.split(".");
buffer[4] = parseInt(ip[0], 10);
buffer[5] = parseInt(ip[1], 10);
buffer[6] = parseInt(ip[2], 10);
buffer[7] = parseInt(ip[3], 10);
buffer[8] = (port & 65280) >> 8;
buffer[9] = (port & 255) >> 0;
return 6 + BVLC_HEADER_LENGTH322;
} else {
if (func === 4) {
throw new Error(
"Must specify originatingIP if BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
}
return BVLC_HEADER_LENGTH322;
};
var decode32222 = (buffer, _offset) => {
let len;
const func = buffer[1];
const msgLength = buffer[2] << 8 | buffer[3] << 0;
if (buffer[0] !== BVLL_TYPE_BACNET_IP222 || buffer.length !== msgLength) {
return void 0;
}
let originatingIP = null;
switch (func) {
case 0:
case 10:
case 11:
case 9:
case 5:
case 6:
case 8:
case 2:
case 1:
case 3:
case 7:
len = 4;
break;
case 4:
const port = buffer[8] << 8 | buffer[9];
originatingIP = buffer.slice(4, 8).join(".");
if (port !== DEFAULT_BACNET_PORT2222) {
originatingIP += ":" + port;
}
len = 10;
break;
case 12:
return void 0;
default:
return void 0;
}
return {
len,
func,
msgLength,
// Originating IP is set to the IP address of the node that originally
// sent the packet, when it has been forwarded to us by a BBMD (since the
// BBMD's IP address will be in the sender field.
originatingIP
};
};
var EventEmitter2222 = import_events2222.default.EventEmitter;
var debug3222 = (0, import_debug3222.default)("bacnet:client:debug");
var trace2222 = (0, import_debug3222.default)("bacnet:client:trace");
var ALL_INTERFACES222 = "0.0.0.0";
var LOCALHOST_INTERFACES_IPV4222 = "127.0.0.1";
var BROADCAST_ADDRESS222 = "255.255.255.255";
var DEFAULT_HOP_COUNT2222 = 255;
var BVLC_HEADER_LENGTH2222 = 4;
var BVLC_FWD_HEADER_LENGTH222 = 10;
var beU222 = UnconfirmedServiceChoice222;
var unconfirmedServiceMap222 = {
[beU222.I_AM]: "iAm",
[beU222.WHO_IS]: "whoIs",
[beU222.WHO_HAS]: "whoHas",
[beU222.UNCONFIRMED_COV_NOTIFICATION]: "covNotifyUnconfirmed",
[beU222.TIME_SYNCHRONIZATION]: "timeSync",
[beU222.UTC_TIME_SYNCHRONIZATION]: "timeSyncUTC",
[beU222.UNCONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beU222.I_HAVE]: "iHave",
[beU222.UNCONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var beC222 = ConfirmedServiceChoice222;
var confirmedServiceMap222 = {
[beC222.READ_PROPERTY]: "readProperty",
[beC222.WRITE_PROPERTY]: "writeProperty",
[beC222.READ_PROPERTY_MULTIPLE]: "readPropertyMultiple",
[beC222.WRITE_PROPERTY_MULTIPLE]: "writePropertyMultiple",
[beC222.CONFIRMED_COV_NOTIFICATION]: "covNotify",
[beC222.ATOMIC_WRITE_FILE]: "atomicWriteFile",
[beC222.ATOMIC_READ_FILE]: "atomicReadFile",
[beC222.SUBSCRIBE_COV]: "subscribeCov",
[beC222.SUBSCRIBE_COV_PROPERTY]: "subscribeProperty",
[beC222.DEVICE_COMMUNICATION_CONTROL]: "deviceCommunicationControl",
[beC222.REINITIALIZE_DEVICE]: "reinitializeDevice",
[beC222.CONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beC222.READ_RANGE]: "readRange",
[beC222.CREATE_OBJECT]: "createObject",
[beC222.DELETE_OBJECT]: "deleteObject",
[beC222.ACKNOWLEDGE_ALARM]: "alarmAcknowledge",
[beC222.GET_ALARM_SUMMARY]: "getAlarmSummary",
[beC222.GET_ENROLLMENT_SUMMARY]: "getEnrollmentSummary",
[beC222.GET_EVENT_INFORMATION]: "getEventInformation",
[beC222.LIFE_SAFETY_OPERATION]: "lifeSafetyOperation",
[beC222.ADD_LIST_ELEMENT]: "addListElement",
[beC222.REMOVE_LIST_ELEMENT]: "removeListElement",
[beC222.CONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var errorReasonEnums222 = {
BacnetAbort: RejectReason222
};
var BacnetError222 = class extends Error {
constructor(message, bacnetErrorClass, bacnetErrorCode) {
super(message);
this.bacnetErrorClass = bacnetErrorClass;
this.bacnetErrorCode = bacnetErrorCode;
}
};
function bacnetErrorToString222(err) {
var _a;
const isError = err instanceof Error || err instanceof BacnetError222;
if (!isError)
return;
const message = err.message;
const reasonClass = message == null ? void 0 : message.split(" - ")[0];
const reason = +((_a = message == null ? void 0 : message.split("Reason:")[1]) == null ? void 0 : _a.split(" ")[0]);
if (!errorReasonEnums222[reasonClass])
return;
const reasonString = errorReasonEnums222[reasonClass][reason];
return reasonClass + ": " + reasonString;
}
var Client222 = class extends EventEmitter2222 {
/**
*
* @param options
*/
constructor(options) {
super();
options = options || {};
this._invokeCounter = 1;
this._invokeStore = {};
this._lastSequenceNumber = 0;
this._segmentStore = [];
this._settings = {
port: options.port || 47808,
interface: options.interface || ALL_INTERFACES222,
transport: options.transport,
broadcastAddress: options.broadcastAddress || BROADCAST_ADDRESS222,
apduTimeout: options.apduTimeout || 3e3
};
options.reuseAddr = options.reuseAddr === void 0 ? true : !!options.reuseAddr;
this._transport = this._settings.transport || new Transport222({
port: this._settings.port,
interface: this._settings.interface,
broadcastAddress: this._settings.broadcastAddress,
reuseAddr: options.reuseAddr
});
this._transport.on("message", this._receiveData.bind(this));
this._transport.on("error", this._receiveError.bind(this));
this._transport.on("listening", () => this.emit("listening"));
this._transport.open();
}
/**
*
* @returns {number}
* @private
*/
_getInvokeId() {
const id = this._invokeCounter++;
if (id >= 256)
this._invokeCounter = 1;
return id - 1;
}
/**
*
* @param id
* @param err
* @param result
* @returns {*}
* @private
*/
_invokeCallback(id, err, result) {
const callback = this._invokeStore[id];
if (callback) {
return void callback(err, result);
}
debug3222("InvokeId", id, "not found -> drop package");
}
/**
*
* @param id
* @param callback
* @private
*/
_addCallback(id, callback) {
const timeout = setTimeout(() => {
delete this._invokeStore[id];
callback(new Error("ERR_TIMEOUT"));
}, this._settings.apduTimeout);
this._invokeStore[id] = (err, data) => {
clearTimeout(timeout);
delete this._invokeStore[id];
callback(err, data);
};
}
/**
*
* @param isForwarded
* @returns {{offset: (number), buffer: *}}
* @private
*/
_getBuffer(isForwarded) {
return Object.assign(
{},
{
buffer: Buffer.alloc(this._transport.getMaxPayload()),
offset: isForwarded ? BVLC_FWD_HEADER_LENGTH222 : BVLC_HEADER_LENGTH2222
}
);
}
/**
*
* @param invokeId
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processError(invokeId, buffer, offset, length) {
const result = error_exports222.decode(buffer, offset);
trace2222("Received error:", result);
if (!result) {
return debug3222("Couldn`t decode Error");
}
const err = new BacnetError222(error_exports222.buildMessage(result));
err.bacnetErrorClass = result.class;
err.bacnetErrorCode = result.code;
this._invokeCallback(invokeId, err);
}
/**
*
* @param invokeId
* @param reason
* @private
*/
_processAbort(invokeId, reason) {
const err = new BacnetError222("BacnetAbort - Reason:" + reason);
err.bacnetAbortReason = reason;
err.bacnetErrorClass = AbortReason222;
this._invokeCallback(invokeId, err);
}
/**
*
* @param receiver
* @param negative
* @param server
* @param originalInvokeId
* @param sequencenumber
* @param actualWindowSize
* @private
*/
_segmentAckResponse(receiver, negative, server, originalInvokeId, sequencenumber, actualWindowSize) {
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode31222(
buffer,
0,
receiver,
null,
DEFAULT_HOP_COUNT2222,
0,
0
);
encodeSegmentAck222(
buffer,
64 | (negative ? 2 : 0) | (server ? 1 : 0),
originalInvokeId,
sequencenumber,
actualWindowSize
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param msg
* @param first
* @param moreFollows
* @param buffer
* @param offset
* @param length
* @private
*/
_performDefaultSegmentHandling(msg, first, moreFollows, buffer, offset, length) {
if (first) {
this._segmentStore = [];
msg.type &= ~8;
let apduHeaderLen = 3;
if ((msg.type & PDU_TYPE_MASK222) === 0) {
apduHeaderLen = 4;
}
const apdubuffer = this._getBuffer();
apdubuffer.offset = 0;
buffer.copy(apdubuffer.buffer, apduHeaderLen, offset, offset + length);
if ((msg.type & PDU_TYPE_MASK222) === 0) {
encodeConfirmedServiceRequest222(
apdubuffer,
msg.type,
msg.service,
msg.maxSegments,
msg.maxApdu,
msg.invokeId,
0,
0
);
} else {
encodeComplexAck222(
apdubuffer,
msg.type,
msg.service,
msg.invokeId,
0,
0
);
}
this._segmentStore.push(
//@ts-ignore
apdubuffer.buffer.slice(0, length + apduHeaderLen)
);
} else {
this._segmentStore.push(buffer.slice(offset, offset + length));
}
if (!moreFollows) {
const apduBuffer = Buffer.concat(this._segmentStore);
this._segmentStore = [];
msg.type &= ~8;
this._handlePdu(apduBuffer, 0, apduBuffer.length, msg.header);
}
}
/**
*
* @param msg
* @param server
* @param buffer
* @param offset
* @param length
* @private
*/
_processSegment(msg, server, buffer, offset, length) {
let first = false;
if (msg.sequencenumber === 0 && this._lastSequenceNumber === 0) {
first = true;
} else {
if (msg.sequencenumber !== this._lastSequenceNumber + 1) {
return this._segmentAckResponse(
msg.header.address,
true,
server,
msg.invokeId,
this._lastSequenceNumber,
msg.proposedWindowNumber
);
}
}
this._lastSequenceNumber = msg.sequencenumber;
const moreFollows = msg.type & 4;
if (!moreFollows) {
this._lastSequenceNumber = 0;
}
if (msg.sequencenumber % msg.proposedWindowNumber === 0 || !moreFollows) {
this._segmentAckResponse(
msg.header.address,
false,
server,
msg.invokeId,
msg.sequencenumber,
msg.proposedWindowNumber
);
}
this._performDefaultSegmentHandling(
msg,
first,
moreFollows,
buffer,
offset,
length
);
}
/**
*
* @param serviceMap
* @param content
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processServiceRequest(serviceMap, content, buffer, offset, length) {
let result;
const sender = content.header.sender;
if (sender.address === LOCALHOST_INTERFACES_IPV4222) {
debug3222("Received and skipped localhost service request:", content.service);
return;
}
const name = serviceMap[content.service];
if (!name) {
debug3222("Received unsupported service request:", content.service);
return;
}
const id = content.invokeId ? "@" + content.invokeId : "";
trace2222(`Received service request${id}:`, name);
const serviceHandler = services_exports222[name];
if (serviceHandler) {
try {
content.payload = serviceHandler.decode(buffer, offset, length);
trace2222(`Handled service request${id}:`, name, JSON.stringify(content));
} catch (e) {
debug3222("Exception thrown when processing message:", e);
debug3222("Original message was", name + ":", content);
return;
}
if (!content.payload) {
return debug3222("Received invalid", name, "message");
}
} else {
debug3222("No serviceHandler defined for:", name);
}
if (this.listenerCount(name)) {
trace2222("listener count by name emits " + name + " with content");
this.emit(name, content);
} else {
if (this.listenerCount("unhandledEvent")) {
trace2222("unhandled event emiting with content");
this.emit("unhandledEvent", content);
} else {
trace2222(
"no unhandled event handler with header: " + JSON.stringify(content.header)
);
if (content.header.expectingReply) {
debug3222("Replying with error for unhandled service:", name);
content.header.sender.forwardedFrom = null;
this.errorResponse(
content.header.sender,
content.service,
content.invokeId,
5,
67
/* REJECT_UNRECOGNIZED_SERVICE */
);
}
}
}
}
/**
*
* @param buffer
* @param offset
* @param length
* @param header
* @private
*/
_handlePdu(buffer, offset, length, header) {
let msg;
trace2222("handlePdu Header: ", header);
switch (header.apduType & PDU_TYPE_MASK222) {
case 16:
msg = decodeUnconfirmedServiceRequest222(buffer, offset);
msg.header = header;
msg.header.confirmedService = false;
this._processServiceRequest(
unconfirmedServiceMap222,
msg,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 32:
msg = decodeSimpleAck222(buffer, offset);
offset += msg.len;
length -= msg.len;
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
break;
case 48:
msg = decodeComplexAck222(buffer, offset);
msg.header = header;
if ((header.apduType & 8) === 0) {
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
case 64:
msg = decodeSegmentAck222(buffer, offset);
msg.header = header;
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 80:
msg = decodeError222(buffer, offset);
this._processError(
msg.invokeId,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 96:
case 112:
msg = decodeAbort222(buffer, offset);
this._processAbort(msg.invokeId, msg.reason);
break;
case 0:
msg = decodeConfirmedServiceRequest222(buffer, offset);
msg.header = header;
msg.header.confirmedService = true;
if ((header.apduType & 8) === 0) {
this._processServiceRequest(
confirmedServiceMap222,
msg,
buffer,
offset + msg.len,
length - msg.len
);
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
default:
debug3222(`Received unknown PDU type ${header.apduType} -> Drop packet`);
break;
}
}
/**
*
* @param buffer
* @param offset
* @param msgLength
* @param header
* @returns {*}
* @private
*/
_handleNpdu(buffer, offset, msgLength, header) {
if (msgLength <= 0) {
return trace2222("No NPDU data -> Drop package");
}
const result = decode31222(buffer, offset);
if (!result) {
return trace2222("Received invalid NPDU header -> Drop package");
}
if (result.funct & 128) {
return trace2222("Received network layer message -> Drop package");
}
offset += result.len;
msgLength -= result.len;
if (msgLength <= 0) {
return trace2222("No APDU data -> Drop package");
}
header.apduType = getDecodedType222(buffer, offset);
header.expectingReply = !!(result.funct & 4);
this._handlePdu(buffer, offset, msgLength, header);
}
/**
*
* @param buffer
* @param remoteAddress
* @returns {*}
* @private
*/
_receiveData(buffer, remoteAddress) {
if (buffer.length < BVLC_HEADER_LENGTH322) {
return trace2222("Received invalid data -> Drop package");
}
const result = decode32222(buffer, 0);
if (!result) {
return trace2222("Received invalid BVLC header -> Drop package");
}
let header = {
// Which function the packet came in on, so later code can distinguish
// between ORIGINAL_BROADCAST_NPDU and DISTRIBUTE_BROADCAST_TO_NETWORK.
func: result.func,
sender: {
// Address of the host we are directly connected to. String, IP:port.
address: remoteAddress,
// If the host is a BBMD passing messages along to another node, this
// is the address of the distant BACnet node. String, IP:port.
// Typically we won't have network connectivity to this address, but
// we have to include it in replies so the host we are connect to knows
// where to forward the messages.
forwardedFrom: null
}
};
switch (result.func) {
case 10:
case 11:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 4:
header.sender.forwardedFrom = result.originatingIP;
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 5:
let decodeResult = register_foreign_device_exports222.decode(
buffer,
result.len,
buffer.length - result.len
);
if (!decodeResult) {
return trace2222("Received invalid registerForeignDevice message");
}
this.emit("registerForeignDevice", {
header,
payload: decodeResult
});
break;
case 9:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
default:
debug3222(
"Received unknown BVLC function " + result.func + " -> Drop package"
);
break;
}
}
/**
* @event bacnet.error
* @param {error} err - The error object thrown by the underlying transport layer.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.on('error', (err) => {
* console.log('Error occurred: ', err);
* client.close();
* });
*/
_receiveError(err) {
this.emit("error", err);
}
/**
* The whoIs command discovers all BACNET devices in a network.
* @function bacnet.whoIs
* @param {string} receiver - IP address of the target device.
* @param {object=} options
* @param {number=} options.lowLimit - Minimal device instance number to search for.
* @param {number=} options.highLimit - Maximal device instance number to search for.
* @fires bacnet.iAm
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.whoIs();
*/
whoIs(receiver, options) {
if (!options) {
if (receiver && typeof receiver === "object" && receiver.address === void 0 && receiver.forwardedFrom === void 0 && (receiver.lowLimit !== void 0 || receiver.highLimit !== void 0)) {
options = receiver;
receiver = void 0;
}
}
options = options || {};
const settings = {
lowLimit: options.lowLimit,
highLimit: options.highLimit
};
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode31222(
buffer,
0,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT2222,
0,
0
);
encodeUnconfirmedServiceRequest222(
buffer,
16,
8
/* WHO_IS */
);
who_is_exports222.encode(buffer, settings.lowLimit, settings.highLimit);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSync command sets the time of a target device.
* @function bacnet.timeSync
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSync('192.168.1.43', new Date());
*/
timeSync(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
6
/* TIME_SYNCHRONIZATION */
);
time_sync_exports222.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSyncUTC command sets the UTC time of a target device.
* @function bacnet.timeSyncUTC
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSyncUTC('192.168.1.43', new Date());
*/
timeSyncUTC(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
9
/* UTC_TIME_SYNCHRONIZATION */
);
time_sync_exports222.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The readProperty command reads a single property of an object from a device.
* @function bacnet.readProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to read.
* @param {number} objectId.type - The BACNET object type to read.
* @param {number} objectId.instance - The BACNET object instance to read.
* @param {number} propertyId - The BACNET property id in the specified object to read.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.readProperty('192.168.1.43', {type: 8, instance: 44301}, 28, (err, value) => {
* console.log('value: ', value);
* });
*/
readProperty(receiver, objectId, propertyId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || options.arrayIndex === 0 ? options.arrayIndex : ASN1_ARRAY_ALL222
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT2222,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest222(
buffer,
type,
12,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_exports222.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_property_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writeProperty command writes a single property of an object to a device.
* @function bacnet.writeProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to write.
* @param {number} objectId.type - The BACNET object type to write.
* @param {number} objectId.instance - The BACNET object instance to write.
* @param {number} propertyId - The BACNET property id in the specified object to write.
* @param {object[]} values - A list of values to be written to the specified property.
* @param {ApplicationTag} values.type - The data-type of the value to be written.
* @param {number} values.value - The actual value to be written.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {number=} options.priority - The priority of the value to be written.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.writeProperty('192.168.1.43', {type: 8, instance: 44301}, 28, [
* {type: bacnet.enum.ApplicationTag.REAL, value: 100}
* ], (err, value) => {
* console.log('value: ', value);
* });
*/
writeProperty(receiver, objectId, propertyId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || ASN1_ARRAY_ALL222,
priority: options.priority || ASN1_NO_PRIORITY222
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT2222,
0,
0
);
encodeConfirmedServiceRequest222(
buffer,
0,
15,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
write_property_exports222.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex,
settings.priority,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The readPropertyMultiple command reads multiple properties in multiple objects from a device.
* @function bacnet.readPropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} propertiesArray - List of object and property specifications to be read.
* @param {object} propertiesArray.objectId - Specifies which object to read.
* @param {number} propertiesArray.objectId.type - The BACNET object type to read.
* @param {number} propertiesArray.objectId.instance - The BACNET object instance to read.
* @param {object[]} propertiesArray.properties - List of properties to be read.
* @param {number} propertiesArray.properties.id - The BACNET property id in the specified object to read. Also supports 8 for all properties.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const requestArray = [
* {objectId: {type: 8, instance: 4194303}, properties: [{id: 8}]}
* ];
* client.readPropertyMultiple('192.168.1.43', requestArray, (err, value) => {
* console.log('value: ', value);
* });
*/
readPropertyMultiple(receiver, propertiesArray, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const isForwarded = typeof receiver !== "string" && receiver.forwardedFrom;
const buffer = this._getBuffer(!!isForwarded);
encode31222(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT2222,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest222(
buffer,
type,
14,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_multiple_exports222.encode(buffer, propertiesArray);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return next(err);
}
const result = read_property_multiple_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writePropertyMultiple command writes multiple properties in multiple objects to a device.
* @function bacnet.writePropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} values - List of object and property specifications to be written.
* @param {object} values.objectId - Specifies which object to read.
* @param {number} values.objectId.type - The BACNET object type to read.
* @param {number} values.objectId.instance - The BACNET object instance to read.
* @param {object[]} values.values - List of properties to be written.
* @param {object} values.values.property - Property specifications to be written.
* @param {number} values.values.property.id - The BACNET property id in the specified object to write.
* @param {number} values.values.property.index - The array index of the property to be written.
* @param {object[]} values.values.value - A list of values to be written to the specified property.
* @param {ApplicationTag} values.values.value.type - The data-type of the value to be written.
* @param {object} values.values.value.value - The actual value to be written.
* @param {number} values.values.priority - The priority to be used for writing to the property.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const values = [
* {objectId: {type: 8, instance: 44301}, values: [
* {property: {id: 28, index: 12}, value: [{type: bacnet.enum.ApplicationTag.BOOLEAN, value: true}], priority: 8}
* ]}
* ];
* client.writePropertyMultiple('192.168.1.43', values, (err, value) => {
* console.log('value: ', value);
* });
*/
writePropertyMultiple(receiver, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
//@ts-ignore
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
16,
settings.maxSegments,
settings.maxApdu,
settings.invokeId
);
write_property_multiple_exports222.encodeObject(buffer, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The confirmedCOVNotification command is used to push notifications to other
* systems that have registered with us via a subscribeCOV message.
* @function bacnet.confirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {object} monitoredObject - The object being monitored, from subscribeCOV.
* @param {number} monitoredObject.type - Object type.
* @param {number} monitoredObject.instance - Object instance.
* @param {number} subscribeId - Subscriber ID from subscribeCOV,
* @param {number} initiatingDeviceId - Our BACnet device ID.
* @param {number} lifetime - Number of seconds left until the subscription expires.
* @param {array} values - values for the monitored object. See example.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const settings = {deviceId: 123}; // our BACnet device
*
* // Items saved from subscribeCOV message
* const monitoredObject = {type: 1, instance: 1};
* const subscriberProcessId = 123;
*
* client.confirmedCOVNotification(
* '192.168.1.43',
* monitoredObject,
* subscriberProcessId,
* settings.deviceId,
* 30, // should be lifetime of subscription really
* [
* {
* property: { id: bacnet.enum.PropertyIdentifier.PRESENT_VALUE },
* value: [
* {value: 123, type: bacnet.enum.ApplicationTag.REAL},
* ],
* },
* ],
* (err) => {
* console.log('error: ', err);
* }
* );
*/
confirmedCOVNotification(receiver, monitoredObject, subscribeId, initiatingDeviceId, lifetime, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer();
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
1,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
cov_notify_exports222.encode(
buffer,
subscribeId,
initiatingDeviceId,
monitoredObject,
lifetime,
values
);
encode32222(
buffer.buffer,
10,
buffer.offset
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The deviceCommunicationControl command enables or disables network communication of the target device.
* @function bacnet.deviceCommunicationControl
* @param {string} receiver - IP address of the target device.
* @param {number} timeDuration - The time to hold the network communication state in seconds. 0 for infinite.
* @param {EnableDisable} enableDisable - The network communication state to set.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to set the network communication state.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.deviceCommunicationControl('192.168.1.43', 0, bacnet.enum.EnableDisable.DISABLE, (err) => {
* console.log('error: ', err);
* });
*/
deviceCommunicationControl(receiver, timeDuration, enableDisable, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
17,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
device_communication_control_exports222.encode(
buffer,
timeDuration,
enableDisable,
settings.password
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The reinitializeDevice command initiates a restart of the target device.
* @function bacnet.reinitializeDevice
* @param {string} receiver - IP address of the target device.
* @param {ReinitializedState} state - The type of restart to be initiated.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to restart the device.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.reinitializeDevice('192.168.1.43', bacnet.enum.ReinitializedState.COLDSTART, (err, value) => {
* console.log('value: ', value);
* });
*/
reinitializeDevice(receiver, state, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
20,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
reinitialize_device_exports222.encode(buffer, state, settings.password);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param fileBuffer
* @param options
* @param next
*/
writeFile(receiver, objectId, position, fileBuffer, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
7,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_write_file_exports222.encode(
buffer,
false,
objectId,
position,
fileBuffer
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_write_file_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param count
* @param options
* @param next
*/
readFile(receiver, objectId, position, count, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
6,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_read_file_exports222.encode(buffer, true, objectId, position, count);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_read_file_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param idxBegin
* @param quantity
* @param options
* @param next
*/
readRange(receiver, objectId, idxBegin, quantity, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
26,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_range_exports222.encode(
buffer,
objectId,
131,
ASN1_ARRAY_ALL222,
0,
idxBegin,
/* @__PURE__ */ new Date(),
quantity
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_range_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param lifetime
* @param options
* @param next
*/
subscribeCov(receiver, objectId, subscribeId, cancel, issueConfirmedNotifications, lifetime, options, nextFunc) {
const next = nextFunc || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
// @ts-ignore TODO types not matching with documentation and code
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
5,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_cov_exports222.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
lifetime
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param monitoredProperty
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param options
* @param next
*/
subscribeProperty(receiver, objectId, monitoredProperty, subscribeId, cancel, issueConfirmedNotifications, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
28,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_property_exports222.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
0,
monitoredProperty,
false,
15
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The unconfirmedCOVNotification command sends an unconfirmed COV notification to a device
* @function bacnet.unconfirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {number} subscriberProcessId - The process id which was used by a target device in the subscription.
* @param {number} initiatingDeviceId - The id of this device.
* @param {object} monitoredObjectId - Specifies about which object the notification is.
* @param {number} monitoredObjectId.type - The BACNET object type of the notification.
* @param {number} monitoredObjectId.instance - The BACNET object instance of the notification.
* @param {number} timeRemaining - How long the subscription is still active in seconds.
* @param {object[]} values - List of properties with updated values.
* @param {object} values.property - Property specifications.
* @param {number} values.property.id - The updated BACNET property id.
* @param {number} values.property.index - The array index of the updated property.
* @param {object[]} values.value - A list of updated values.
* @param {ApplicationTag} values.value.type - The data-type of the updated value.
* @param {object} values.value.value - The actual updated value.
* @param {number} values.priority - The priority of the updated property.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.unconfirmedCOVNotification(
* '127.0.0.1',
* 3,
* 433,
* {type: 2, instance: 122},
* 120,
* [
* {
* property: {id: 85},
* value: [{type: baEnum.ApplicationTag.REAL, value: 12.3}]
* },
* {
* property: {id: 111},
* value: [{type: baEnum.ApplicationTag.BIT_STRING, value: 0xFFFF}]
* }
* ]);
*/
unconfirmedCOVNotification(receiver, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) {
const buffer = this._getBuffer();
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
2
/* UNCONFIRMED_COV_NOTIFICATION */
);
cov_notify_exports222.encode(
buffer,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
);
encode32222(
buffer.buffer,
10,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver);
}
/**
*
* @param receiver
* @param objectId
* @param values
* @param options
* @param next
*/
createObject(receiver, objectId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
10,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
create_object_exports222.encode(buffer, objectId, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
deleteObject(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
11,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
delete_object_exports222.encode(buffer, objectId);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
removeListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
9,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports222.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
addListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
8,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports222.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param options
* @param next
*/
getAlarmSummary(receiver, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
3,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = alarm_summary_exports222.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
getEventInformation(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
29,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
encodeContextObjectId222(buffer, 0, objectId.type, objectId.instance);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = event_information_exports222.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param eventState
* @param ackText
* @param evTimeStamp
* @param ackTimeStamp
* @param options
* @param next
*/
acknowledgeAlarm(receiver, objectId, eventState, ackText, evTimeStamp, ackTimeStamp, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
0,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
alarm_acknowledge_exports222.encode(
buffer,
57,
objectId,
eventState,
ackText,
evTimeStamp,
ackTimeStamp
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
* @param options
* @param next
*/
confirmedPrivateTransfer(receiver, vendorId, serviceNumber, data, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
18,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
private_transfer_exports222.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data2) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
*/
unconfirmedPrivateTransfer(receiver, vendorId, serviceNumber, data) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
4
/* UNCONFIRMED_PRIVATE_TRANSFER */
);
private_transfer_exports222.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param acknowledgmentFilter
* @param options
* @param next
*/
getEnrollmentSummary(receiver, acknowledgmentFilter, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
4,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
get_enrollment_summary_exports222.encode(
buffer,
acknowledgmentFilter,
options.enrollmentFilter,
options.eventStateFilter,
options.eventTypeFilter,
options.priorityFilter,
options.notificationClassFilter
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = get_enrollment_summary_exports222.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param eventNotification
*/
unconfirmedEventNotification(receiver, eventNotification) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
3
/* UNCONFIRMED_EVENT_NOTIFICATION */
);
event_notify_data_exports222.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param eventNotification
* @param options
* @param next
*/
confirmedEventNotification(receiver, eventNotification, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest222(
buffer,
0,
2,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
event_notify_data_exports222.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The readPropertyResponse call sends a response with information about one of our properties.
* @function bacnet.readPropertyResponse
* @param {string} receiver - IP address of the target device.
* @param {number} invokeId - ID of the original readProperty request.
* @param {object} objectId - objectId from the original request,
* @param {object} property - property being read, taken from the original request.
* @param {object=} options varying behaviour for special circumstances
* @param {string=} options.forwardedFrom - If functioning as a BBMD, the IP address this message originally came from.
*/
readPropertyResponse(receiver, invokeId, objectId, property, value, options = {}) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeComplexAck222(
buffer,
48,
12,
invokeId
);
read_property_exports222.encodeAcknowledge(
buffer,
objectId,
property.id,
property.index,
value
);
this.sendBvlc(receiver, buffer);
}
readPropertyMultipleResponse(receiver, invokeId, values) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeComplexAck222(
buffer,
48,
14,
invokeId
);
read_property_multiple_exports222.encodeAcknowledge(buffer, values);
this.sendBvlc(receiver, buffer);
}
/**
* The iAmResponse command is sent as a reply to a whoIs request.
* @function bacnet.iAmResponse
* @param {object} receiver - address to send packet to, null for local broadcast.
* @param {number} deviceId - Our device ID.
* @param {number} segmentation - an enum.Segmentation value.
* @param {number} vendorId - The numeric ID assigned to the organisation providing this application.
*/
iAmResponse(receiver, deviceId, segmentation, vendorId) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
0
/* I_AM */
);
i_am_exports222.encode(
buffer,
deviceId,
this._transport.getMaxPayload(),
segmentation,
vendorId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param deviceId
* @param objectId
* @param objectName
*/
iHaveResponse(receiver, deviceId, objectId, objectName) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31222(buffer, 0, receiver);
encodeUnconfirmedServiceRequest222(
buffer,
16,
1
/* I_HAVE */
);
i_have_exports222.encode(buffer, deviceId, objectId, objectName);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
*/
simpleAckResponse(receiver, service, invokeId) {
if (typeof receiver === "string")
return;
const buffer = this._getBuffer(!!receiver.forwardedFrom);
encode31222(buffer, 0, receiver);
encodeSimpleAck222(
buffer,
32,
service,
invokeId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
* @param errorClass
* @param errorCode
*/
errorResponse(receiver, service, invokeId, errorClass, errorCode) {
trace2222(
`error response on ${JSON.stringify(receiver)} service: ${JSON.stringify(
service
)} invokeId: ${invokeId} errorClass: ${errorClass} errorCode: ${errorCode}`
);
trace2222(
`error message ${error_exports222.buildMessage({
class: errorClass,
code: errorCode
})}`
);
const hasSource = !!(typeof receiver !== "string" && receiver.forwardedFrom);
if (typeof receiver === "string")
throw new Error("receiver must be object");
const buffer = this._getBuffer(hasSource);
encode31222(buffer, 0, receiver);
encodeError222(buffer, 80, service, invokeId);
error_exports222.encode(buffer, errorClass, errorCode);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param buffer
*/
sendBvlc(receiver, buffer) {
if (typeof receiver === "string") {
receiver = {
address: receiver
};
}
if (receiver && receiver.forwardedFrom) {
encode32222(
buffer.buffer,
4,
buffer.offset,
receiver.forwardedFrom
);
} else if (receiver && receiver.address) {
encode32222(
buffer.buffer,
10,
buffer.offset
);
} else {
encode32222(
buffer.buffer,
11,
buffer.offset
);
}
this._transport.send(
buffer.buffer,
buffer.offset,
receiver && receiver.address || null
);
}
/**
* The resultResponse is a BVLC-Result message used to respond to certain events, such as BBMD registration.
* This message cannot be wrapped for passing through a BBMD, as it is used as a BBMD control message.
* @function bacnet.resultResponse
* @param {string} receiver - IP address of the target device.
* @param {number} resultCode - Single value from BvlcResultFormat enum.
*/
resultResponse(receiver, resultCode) {
const buffer = this._getBuffer();
encodeResult222(buffer, resultCode);
encode32222(
buffer.buffer,
0,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver.address);
}
/**
* Unloads the current bacnet instance and closes the underlying UDP socket.
* @function bacnet.close
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.close();
*/
close() {
this._transport.close();
}
/**
* Helper function to take an array of enums and produce a bitstring suitable
* for inclusion as a property.
*
* @example
* [bacnet.enum.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED]: [
* {value: bacnet.createBitstring([
* bacnet.enum.ObjectTypesSupported.ANALOG_INPUT,
* bacnet.enum.ObjectTypesSupported.ANALOG_OUTPUT,
* ]),
* type: bacnet.enum.ApplicationTag.BIT_STRING},
* ],
*/
static createBitstring(items) {
let offset = 0;
let bytes = [];
let bitsUsed = 0;
while (items.length) {
let value = 0;
items = items.filter((i) => {
if (i >= offset + 8) {
return true;
}
value |= 1 << i - offset;
bitsUsed = Math.max(bitsUsed, i);
return false;
});
bytes.push(value);
offset += 8;
}
bitsUsed++;
return {
value: bytes,
bitsUsed
};
}
};
var import_underscore222 = __toESM222(require("underscore"));
var import_process222 = __toESM222(require("process"));
var PropertyIdentifierToEnumMap222 = {};
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.OBJECT_TYPE] = enum_exports222.ObjectType;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.SEGMENTATION_SUPPORTED] = enum_exports222.Segmentation;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.EVENT_STATE] = enum_exports222.EventState;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.UNITS] = enum_exports222.EngineeringUnits;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.RELIABILITY] = enum_exports222.Reliability;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.NOTIFY_TYPE] = enum_exports222.NotifyType;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.POLARITY] = enum_exports222.Polarity;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED] = enum_exports222.ServicesSupported;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED] = enum_exports222.ObjectTypesSupported;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.STATUS_FLAGS] = enum_exports222.StatusFlags;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.LIMIT_ENABLE] = enum_exports222.LimitEnable;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.EVENT_ENABLE] = enum_exports222.EventTransitionBits;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.ACKED_TRANSITIONS] = enum_exports222.EventTransitionBits;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.SYSTEM_STATUS] = enum_exports222.DeviceStatus;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.SYSTEM_STATUS] = enum_exports222.DeviceStatus;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.ACK_REQUIRED] = enum_exports222.EventTransitionBits;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.LOGGING_TYPE] = enum_exports222.LoggingType;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.FILE_ACCESS_METHOD] = enum_exports222.FileAccessMethod;
PropertyIdentifierToEnumMap222[enum_exports222.PropertyIdentifier.NODE_TYPE] = enum_exports222.NodeType;
var ObjectTypeSpecificPropertyIdentifierToEnumMap222 = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_INPUT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_INPUT][enum_exports222.PropertyIdentifier.MODE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.ANALOG_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.ANALOG_INPUT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.ANALOG_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.ANALOG_OUTPUT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_OUTPUT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_OUTPUT][enum_exports222.PropertyIdentifier.RELINQUISH_DEFAULT] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_VALUE][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_VALUE][enum_exports222.PropertyIdentifier.RELINQUISH_DEFAULT] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_LIGHTING_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_LIGHTING_OUTPUT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryLightingPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BITSTRING_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.BINARY_VALUE][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.TRACKING_VALUE] = enum_exports222.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.MODE] = enum_exports222.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.ACCEPTED_MODES] = enum_exports222.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.SILENCED] = enum_exports222.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_POINT][enum_exports222.PropertyIdentifier.OPERATION_EXPECTED] = enum_exports222.LifeSafetyOperation;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_ZONE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_ZONE][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LIFE_SAFETY_ZONE][enum_exports222.PropertyIdentifier.MODE] = enum_exports222.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LOAD_CONTROL] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap222[enum_exports222.ObjectType.LOAD_CONTROL][enum_exports222.PropertyIdentifier.PRESENT_VALUE] = enum_exports222.ShedState;
var propSubSet222 = import_process222.default.argv.includes("--all") ? Object.values(enum_exports222.PropertyIdentifier) : [
/* normally supported from all devices */
enum_exports222.PropertyIdentifier.OBJECT_IDENTIFIER,
enum_exports222.PropertyIdentifier.OBJECT_NAME,
enum_exports222.PropertyIdentifier.OBJECT_TYPE,
enum_exports222.PropertyIdentifier.PRESENT_VALUE,
enum_exports222.PropertyIdentifier.STATUS_FLAGS,
enum_exports222.PropertyIdentifier.EVENT_STATE,
enum_exports222.PropertyIdentifier.RELIABILITY,
enum_exports222.PropertyIdentifier.OUT_OF_SERVICE,
enum_exports222.PropertyIdentifier.UNITS,
/* other properties */
enum_exports222.PropertyIdentifier.DESCRIPTION,
enum_exports222.PropertyIdentifier.SYSTEM_STATUS,
enum_exports222.PropertyIdentifier.VENDOR_NAME,
enum_exports222.PropertyIdentifier.VENDOR_IDENTIFIER,
enum_exports222.PropertyIdentifier.MODEL_NAME,
enum_exports222.PropertyIdentifier.FIRMWARE_REVISION,
enum_exports222.PropertyIdentifier.APPLICATION_SOFTWARE_VERSION,
enum_exports222.PropertyIdentifier.LOCATION,
enum_exports222.PropertyIdentifier.LOCAL_DATE,
enum_exports222.PropertyIdentifier.LOCAL_TIME,
enum_exports222.PropertyIdentifier.UTC_OFFSET,
enum_exports222.PropertyIdentifier.DAYLIGHT_SAVINGS_STATUS,
enum_exports222.PropertyIdentifier.PROTOCOL_VERSION,
enum_exports222.PropertyIdentifier.PROTOCOL_REVISION,
enum_exports222.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED,
enum_exports222.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED,
enum_exports222.PropertyIdentifier.OBJECT_LIST,
enum_exports222.PropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED,
enum_exports222.PropertyIdentifier.SEGMENTATION_SUPPORTED,
enum_exports222.PropertyIdentifier.APDU_TIMEOUT,
enum_exports222.PropertyIdentifier.NUMBER_OF_APDU_RETRIES,
enum_exports222.PropertyIdentifier.DEVICE_ADDRESS_BINDING,
enum_exports222.PropertyIdentifier.DATABASE_REVISION,
enum_exports222.PropertyIdentifier.MAX_INFO_FRAMES,
enum_exports222.PropertyIdentifier.MAX_MASTER,
enum_exports222.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS,
enum_exports222.PropertyIdentifier.ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS
];
var debug4222 = import_process222.default.argv.includes("--debug");
function getAllPropertiesManually222(address, objectId, callback, propList, result) {
if (!propList) {
propList = propSubSet222.map((x) => x);
}
if (!result) {
result = [];
}
if (!propList.length) {
return callback({
values: [
{
objectId,
values: result
}
]
});
}
const prop = propList.shift();
bacnetClient.readProperty(address, objectId, prop, {}, (err, value) => {
if (!err) {
if (debug4222) {
console.log("Handle value " + prop + ": ", JSON.stringify(value));
}
const objRes = value.property;
objRes.value = value.values;
result.push(objRes);
} else {
}
getAllPropertiesManually222(address, objectId, callback, propList, result);
});
}
function readBit222(buffer, i, bit) {
return (buffer[i] >> bit) % 2;
}
function handleBitString222(buffer, bitsUsed, usedEnum) {
const res = [];
for (let i = 0; i < bitsUsed; i++) {
const bufferIndex = Math.floor(i / 8);
if (readBit222(buffer, bufferIndex, i % 8)) {
res.push(enum_exports222.getEnumName(usedEnum, i));
}
}
return res;
}
function parseValue222(address, objId, parentType, value, supportsMultiple, callback) {
let resValue = null;
if (value && value.type && value.value !== null && value.value !== void 0) {
switch (value.type) {
case enum_exports222.ApplicationTag.NULL:
resValue = null;
break;
case enum_exports222.ApplicationTag.BOOLEAN:
resValue = !!value.value;
break;
case enum_exports222.ApplicationTag.UNSIGNED_INTEGER:
case enum_exports222.ApplicationTag.SIGNED_INTEGER:
case enum_exports222.ApplicationTag.REAL:
case enum_exports222.ApplicationTag.DOUBLE:
case enum_exports222.ApplicationTag.CHARACTER_STRING:
resValue = value.value;
break;
case enum_exports222.ApplicationTag.DATE:
case enum_exports222.ApplicationTag.TIME:
case enum_exports222.ApplicationTag.TIMESTAMP:
resValue = value.value;
break;
case enum_exports222.ApplicationTag.BIT_STRING:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType][objId]) {
resValue = handleBitString222(
value.value.value,
value.value.bitsUsed,
ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType][objId]
);
} else if (PropertyIdentifierToEnumMap222[objId]) {
resValue = handleBitString222(
value.value.value,
value.value.bitsUsed,
PropertyIdentifierToEnumMap222[objId]
);
} else {
if (parentType !== enum_exports222.ObjectType.BITSTRING_VALUE) {
console.log(
"Unknown value for BIT_STRING type for objId " + enum_exports222.getEnumName(enum_exports222.PropertyIdentifier, objId) + " and parent type " + enum_exports222.getEnumName(enum_exports222.ObjectType, parentType)
);
}
resValue = value.value;
}
break;
case enum_exports222.ApplicationTag.ENUMERATED:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType][objId]) {
resValue = enum_exports222.getEnumName(
ObjectTypeSpecificPropertyIdentifierToEnumMap222[parentType][objId],
value.value
);
} else if (PropertyIdentifierToEnumMap222[objId]) {
resValue = enum_exports222.getEnumName(
PropertyIdentifierToEnumMap222[objId],
value.value
);
} else {
console.log(
"Unknown value for ENUMERATED type for objId " + enum_exports222.getEnumName(enum_exports222.PropertyIdentifier, objId) + " and parent type " + enum_exports222.getEnumName(enum_exports222.ObjectType, parentType)
);
resValue = value.value;
}
break;
case enum_exports222.ApplicationTag.OBJECTIDENTIFIER:
if (objId === enum_exports222.PropertyIdentifier.OBJECT_IDENTIFIER || objId === enum_exports222.PropertyIdentifier.STRUCTURED_OBJECT_LIST || objId === enum_exports222.PropertyIdentifier.SUBORDINATE_LIST) {
resValue = value.value;
} else if (supportsMultiple) {
const requestArray = [
{
objectId: value.value,
properties: [{ id: 8 }]
}
];
bacnetClient.readPropertyMultiple(
address,
requestArray,
(err, resValue2) => {
parseDeviceObject222(address, resValue2, value.value, true, callback);
}
);
return;
} else {
getAllPropertiesManually222(address, value.value, (result) => {
parseDeviceObject222(address, result, value.value, false, callback);
});
return;
}
break;
case enum_exports222.ApplicationTag.OCTET_STRING:
resValue = value.value;
break;
case enum_exports222.ApplicationTag.ERROR:
resValue = {
errorClass: enum_exports222.getEnumName(
enum_exports222.ErrorClass,
value.value.errorClass
),
errorCode: enum_exports222.getEnumName(enum_exports222.ErrorCode, value.value.errorCode)
};
break;
case enum_exports222.ApplicationTag.OBJECT_PROPERTY_REFERENCE:
case enum_exports222.ApplicationTag.DEVICE_OBJECT_PROPERTY_REFERENCE:
case enum_exports222.ApplicationTag.DEVICE_OBJECT_REFERENCE:
case enum_exports222.ApplicationTag.READ_ACCESS_SPECIFICATION:
resValue = value.value;
break;
case enum_exports222.ApplicationTag.CONTEXT_SPECIFIC_DECODED:
parseValue222(
address,
objId,
parentType,
value.value,
supportsMultiple,
callback
);
return;
case enum_exports222.ApplicationTag.READ_ACCESS_RESULT:
resValue = value.value;
break;
default:
console.log(
"unknown type " + value.type + ": " + JSON.stringify(value)
);
resValue = value;
}
}
setImmediate(() => callback(resValue));
}
function parseDeviceObject222(address, obj, parent, supportsMultiple, callback) {
if (debug4222) {
console.log(
"START parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(obj)
);
}
if (!obj) {
console.log("object not valid on parse device object");
return;
}
if (!obj.values || !Array.isArray(obj.values)) {
console.log("No device or invalid response");
callback({ ERROR: "No device or invalid response" });
return;
}
let cbCount = 0;
let objDef = {};
const finalize = () => {
Object.keys(objDef).forEach((devId) => {
Object.keys(objDef[devId]).forEach((objId) => {
if (objDef[devId][objId].length === 1) {
objDef[devId][objId] = objDef[devId][objId][0];
}
});
});
if (obj.values.length === 1) {
objDef = objDef[obj.values[0].objectId.instance];
}
if (debug4222) {
console.log(
"END parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(objDef)
);
}
callback(objDef);
};
obj.values.forEach((devBaseObj) => {
if (!devBaseObj.objectId) {
console.log("No device Id found in object data");
return;
}
if (devBaseObj.objectId.type === void 0 || devBaseObj.objectId.instance === void 0) {
console.log("No device type or instance found in object data");
return;
}
if (!devBaseObj.values || !Array.isArray(devBaseObj.values)) {
console.log("No device values response");
return;
}
const deviceId = devBaseObj.objectId.instance;
objDef[deviceId] = {};
devBaseObj.values.forEach((devObj) => {
let objId = enum_exports222.getEnumName(enum_exports222.PropertyIdentifier, devObj.id);
if (devObj.index !== 4294967295) {
objId += "-" + devObj.index;
}
if (debug4222) {
console.log("Handle Object property:", deviceId, objId, devObj.value);
}
devObj.value.forEach((val) => {
if (JSON.stringify(val.value) === JSON.stringify(parent)) {
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(val.value);
return;
}
cbCount++;
parseValue222(
address,
devObj.id,
parent.type,
val,
supportsMultiple,
(parsedValue) => {
if (debug4222) {
console.log(
"RETURN parsedValue",
deviceId,
objId,
devObj.value,
parsedValue
);
}
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(parsedValue);
if (!--cbCount) {
finalize();
}
}
);
});
});
});
if (cbCount === 0) {
finalize();
}
}
var limitToDevice222 = null;
if (import_process222.default.argv.length === 3) {
limitToDevice222 = parseInt(import_process222.default.argv[2]);
if (isNaN(limitToDevice222)) {
limitToDevice222 = null;
}
}
var node_bacnet_default222 = Client222;
}
});
var node_bacnet_exports22 = {};
__export22(node_bacnet_exports22, {
_: () => import_underscore22.default,
bacnetErrorToString: () => bacnetErrorToString22,
default: () => node_bacnet_default22,
enums: () => enum_exports22,
parseValue: () => parseValue22
});
module22.exports = __toCommonJS22(node_bacnet_exports22);
var enum_exports22 = {};
__export22(enum_exports22, {
ASN1_ARRAY_ALL: () => ASN1_ARRAY_ALL22,
ASN1_INSTANCE_BITS: () => ASN1_INSTANCE_BITS22,
ASN1_MAX_APPLICATION_TAG: () => ASN1_MAX_APPLICATION_TAG22,
ASN1_MAX_BITSTRING_BYTES: () => ASN1_MAX_BITSTRING_BYTES22,
ASN1_MAX_INSTANCE: () => ASN1_MAX_INSTANCE22,
ASN1_MAX_OBJECT: () => ASN1_MAX_OBJECT22,
ASN1_MAX_OBJECT_TYPE: () => ASN1_MAX_OBJECT_TYPE22,
ASN1_MAX_PRIORITY: () => ASN1_MAX_PRIORITY22,
ASN1_MAX_PROPERTY_ID: () => ASN1_MAX_PROPERTY_ID22,
ASN1_MIN_PRIORITY: () => ASN1_MIN_PRIORITY22,
ASN1_NO_PRIORITY: () => ASN1_NO_PRIORITY22,
AbortReason: () => AbortReason22,
AccessAuthenticationFactorDisable: () => AccessAuthenticationFactorDisable22,
AccessCredentialDisable: () => AccessCredentialDisable22,
AccessCredentialDisableReason: () => AccessCredentialDisableReason22,
AccessEvent: () => AccessEvent22,
AccessPassbackMode: () => AccessPassbackMode22,
AccessUserType: () => AccessUserType22,
AccessZoneOccupancyState: () => AccessZoneOccupancyState22,
Action: () => Action22,
ApplicationTag: () => ApplicationTag22,
ApplicationTagName: () => ApplicationTagName22,
AuthenticationFactorType: () => AuthenticationFactorType22,
AuthenticationStatus: () => AuthenticationStatus22,
AuthorizationExemption: () => AuthorizationExemption22,
AuthorizationMode: () => AuthorizationMode22,
BVLC_HEADER_LENGTH: () => BVLC_HEADER_LENGTH32,
BVLL_TYPE_BACNET_IP: () => BVLL_TYPE_BACNET_IP22,
BackupState: () => BackupState22,
BinaryLightingPV: () => BinaryLightingPV22,
BinaryPV: () => BinaryPV22,
BvlcResultFormat: () => BvlcResultFormat22,
BvlcResultPurpose: () => BvlcResultPurpose22,
CharacterStringEncoding: () => CharacterStringEncoding22,
ConfirmedServiceChoice: () => ConfirmedServiceChoice22,
CovType: () => CovType22,
DaysOfWeek: () => DaysOfWeek22,
DeviceStatus: () => DeviceStatus22,
DoorAlarmState: () => DoorAlarmState22,
DoorSecuredStatus: () => DoorSecuredStatus22,
DoorStatus: () => DoorStatus22,
DoorValue: () => DoorValue22,
EnableDisable: () => EnableDisable22,
EngineeringUnits: () => EngineeringUnits22,
ErrorClass: () => ErrorClass22,
ErrorClassName: () => ErrorClassName22,
ErrorCode: () => ErrorCode22,
ErrorCodeName: () => ErrorCodeName22,
EscalatorFault: () => EscalatorFault22,
EscalatorMode: () => EscalatorMode22,
EscalatorOperationDirection: () => EscalatorOperationDirection22,
EventState: () => EventState22,
EventTransitionBits: () => EventTransitionBits22,
EventType: () => EventType22,
FaultType: () => FaultType22,
FileAccessMethod: () => FileAccessMethod22,
IPMode: () => IPMode22,
LifeSafetyMode: () => LifeSafetyMode22,
LifeSafetyOperation: () => LifeSafetyOperation22,
LifeSafetyState: () => LifeSafetyState22,
LiftCarDirection: () => LiftCarDirection22,
LiftCarDoorCommand: () => LiftCarDoorCommand22,
LiftCarDriveStatus: () => LiftCarDriveStatus22,
LiftCarMode: () => LiftCarMode22,
LiftFault: () => LiftFault22,
LiftGroupMode: () => LiftGroupMode22,
LightingInProgress: () => LightingInProgress22,
LightingOperation: () => LightingOperation22,
LightingTransition: () => LightingTransition22,
LimitEnable: () => LimitEnable22,
LockStatus: () => LockStatus22,
LogStatus: () => LogStatus22,
LoggingType: () => LoggingType22,
Maintenance: () => Maintenance22,
MaxApduLengthAccepted: () => MaxApduLengthAccepted22,
MaxSegmentsAccepted: () => MaxSegmentsAccepted22,
NetworkLayerMessageType: () => NetworkLayerMessageType22,
NetworkNumberQuality: () => NetworkNumberQuality22,
NetworkPortCommand: () => NetworkPortCommand22,
NetworkType: () => NetworkType22,
NodeType: () => NodeType22,
NotifyType: () => NotifyType22,
NpduControlBit: () => NpduControlBit22,
NpduControlPriority: () => NpduControlPriority22,
ObjectType: () => ObjectType22,
ObjectTypesSupported: () => ObjectTypesSupported22,
PDU_TYPE_MASK: () => PDU_TYPE_MASK22,
PduConReqBit: () => PduConReqBit22,
PduSegAckBit: () => PduSegAckBit22,
PduType: () => PduType22,
Polarity: () => Polarity22,
ProgramError: () => ProgramError22,
ProgramRequest: () => ProgramRequest22,
ProgramState: () => ProgramState22,
PropertyIdentifier: () => PropertyIdentifier22,
PropertyStates: () => PropertyStates22,
ProtocolLevel: () => ProtocolLevel22,
ReadRangeType: () => ReadRangeType22,
ReinitializedState: () => ReinitializedState22,
RejectReason: () => RejectReason22,
Relationship: () => Relationship22,
Reliability: () => Reliability22,
RestartReason: () => RestartReason22,
ResultFlags: () => ResultFlags22,
SecurityLevel: () => SecurityLevel22,
SecurityPolicy: () => SecurityPolicy22,
Segmentation: () => Segmentation22,
ServicesSupported: () => ServicesSupported22,
ShedState: () => ShedState22,
SilencedState: () => SilencedState22,
StatusFlags: () => StatusFlags22,
TimeStamp: () => TimeStamp22,
TimerState: () => TimerState22,
TimerTransition: () => TimerTransition22,
UnconfirmedServiceChoice: () => UnconfirmedServiceChoice22,
VTClass: () => VTClass22,
WriteStatus: () => WriteStatus22,
getEnumName: () => getEnumName22
});
var import_debug42 = __toESM22(require("debug"));
var debug52 = (0, import_debug42.default)("bacnet=enum=debug");
var trace32 = (0, import_debug42.default)("bacnet=enum=trace");
function invertEnum22(enumToInvert) {
const invertedEnum = {};
Object.keys(enumToInvert).forEach((key) => {
invertedEnum[enumToInvert[key]] = key;
});
return invertedEnum;
}
function getEnumName22(group, value, addNumberValue = true, undefinedFallbackValue = void 0) {
if (!Number.isInteger(value)) {
throw new Error(
'getEnumName() can only be passed an integer value, was given "' + value + '"'
);
}
let foundEntry;
try {
const invertedGroup = invertEnum22(group);
foundEntry = invertedGroup[value];
if (foundEntry === void 0 && undefinedFallbackValue) {
foundEntry = undefinedFallbackValue;
}
if (foundEntry === void 0) {
foundEntry = value.toString();
} else if (addNumberValue) {
foundEntry += "(" + value + ")";
}
} catch (e) {
trace32(e.message);
foundEntry = null;
}
return foundEntry;
}
var PDU_TYPE_MASK22 = 240;
var ASN1_MAX_OBJECT22 = 1023;
var ASN1_INSTANCE_BITS22 = 22;
var ASN1_MAX_INSTANCE22 = 4194303;
var ASN1_MAX_BITSTRING_BYTES22 = 15;
var ASN1_ARRAY_ALL22 = 4294967295;
var ASN1_NO_PRIORITY22 = 0;
var ASN1_MIN_PRIORITY22 = 1;
var ASN1_MAX_PRIORITY22 = 16;
var ASN1_MAX_APPLICATION_TAG22 = 16;
var ASN1_MAX_OBJECT_TYPE22 = 1024;
var ASN1_MAX_PROPERTY_ID22 = 4194303;
var BVLL_TYPE_BACNET_IP22 = 129;
var BVLC_HEADER_LENGTH32 = 4;
var ConfirmedServiceChoice22 = /* @__PURE__ */ ((ConfirmedServiceChoice222) => {
ConfirmedServiceChoice222[ConfirmedServiceChoice222["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["VT_OPEN"] = 21] = "VT_OPEN";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["VT_CLOSE"] = 22] = "VT_CLOSE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["VT_DATA"] = 23] = "VT_DATA";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["READ_RANGE"] = 26] = "READ_RANGE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["LIFE_SAFETY_OPERATION"] = 27] = "LIFE_SAFETY_OPERATION";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["SUBSCRIBE_COV_PROPERTY"] = 28] = "SUBSCRIBE_COV_PROPERTY";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["GET_EVENT_INFORMATION"] = 29] = "GET_EVENT_INFORMATION";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 30] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ConfirmedServiceChoice222[ConfirmedServiceChoice222["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 31] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ConfirmedServiceChoice222;
})(ConfirmedServiceChoice22 || {});
var UnconfirmedServiceChoice22 = /* @__PURE__ */ ((UnconfirmedServiceChoice222) => {
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["I_AM"] = 0] = "I_AM";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["I_HAVE"] = 1] = "I_HAVE";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UNCONFIRMED_COV_NOTIFICATION"] = 2] = "UNCONFIRMED_COV_NOTIFICATION";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UNCONFIRMED_EVENT_NOTIFICATION"] = 3] = "UNCONFIRMED_EVENT_NOTIFICATION";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UNCONFIRMED_PRIVATE_TRANSFER"] = 4] = "UNCONFIRMED_PRIVATE_TRANSFER";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UNCONFIRMED_TEXT_MESSAGE"] = 5] = "UNCONFIRMED_TEXT_MESSAGE";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["TIME_SYNCHRONIZATION"] = 6] = "TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["WHO_HAS"] = 7] = "WHO_HAS";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["WHO_IS"] = 8] = "WHO_IS";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UTC_TIME_SYNCHRONIZATION"] = 9] = "UTC_TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["WRITE_GROUP"] = 10] = "WRITE_GROUP";
UnconfirmedServiceChoice222[UnconfirmedServiceChoice222["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 11] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return UnconfirmedServiceChoice222;
})(UnconfirmedServiceChoice22 || {});
var AbortReason22 = /* @__PURE__ */ ((AbortReason222) => {
AbortReason222[AbortReason222["OTHER"] = 0] = "OTHER";
AbortReason222[AbortReason222["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
AbortReason222[AbortReason222["INVALID_APDU_IN_THIS_STATE"] = 2] = "INVALID_APDU_IN_THIS_STATE";
AbortReason222[AbortReason222["PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 3] = "PREEMPTED_BY_HIGHER_PRIORITY_TASK";
AbortReason222[AbortReason222["SEGMENTATION_NOT_SUPPORTED"] = 4] = "SEGMENTATION_NOT_SUPPORTED";
AbortReason222[AbortReason222["SECURITY_ERROR"] = 5] = "SECURITY_ERROR";
AbortReason222[AbortReason222["INSUFFICIENT_SECURITY"] = 6] = "INSUFFICIENT_SECURITY";
AbortReason222[AbortReason222["WINDOW_SIZE_OUT_OF_RANGE"] = 7] = "WINDOW_SIZE_OUT_OF_RANGE";
AbortReason222[AbortReason222["APPLICATION_EXCEEDED_REPLY_TIME"] = 8] = "APPLICATION_EXCEEDED_REPLY_TIME";
AbortReason222[AbortReason222["OUT_OF_RESOURCES"] = 9] = "OUT_OF_RESOURCES";
AbortReason222[AbortReason222["TSM_TIMEOUT"] = 10] = "TSM_TIMEOUT";
AbortReason222[AbortReason222["APDU_TOO_LONG"] = 11] = "APDU_TOO_LONG";
return AbortReason222;
})(AbortReason22 || {});
var RejectReason22 = /* @__PURE__ */ ((RejectReason222) => {
RejectReason222[RejectReason222["OTHER"] = 0] = "OTHER";
RejectReason222[RejectReason222["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
RejectReason222[RejectReason222["INCONSISTENT_PARAMETERS"] = 2] = "INCONSISTENT_PARAMETERS";
RejectReason222[RejectReason222["INVALID_PARAMETER_DATA_TYPE"] = 3] = "INVALID_PARAMETER_DATA_TYPE";
RejectReason222[RejectReason222["INVALID_TAG"] = 4] = "INVALID_TAG";
RejectReason222[RejectReason222["MISSING_REQUIRED_PARAMETER"] = 5] = "MISSING_REQUIRED_PARAMETER";
RejectReason222[RejectReason222["PARAMETER_OUT_OF_RANGE"] = 6] = "PARAMETER_OUT_OF_RANGE";
RejectReason222[RejectReason222["TOO_MANY_ARGUMENTS"] = 7] = "TOO_MANY_ARGUMENTS";
RejectReason222[RejectReason222["UNDEFINED_ENUMERATION"] = 8] = "UNDEFINED_ENUMERATION";
RejectReason222[RejectReason222["UNRECOGNIZED_SERVICE"] = 9] = "UNRECOGNIZED_SERVICE";
return RejectReason222;
})(RejectReason22 || {});
var ErrorClass22 = /* @__PURE__ */ ((ErrorClass222) => {
ErrorClass222[ErrorClass222["DEVICE"] = 0] = "DEVICE";
ErrorClass222[ErrorClass222["OBJECT"] = 1] = "OBJECT";
ErrorClass222[ErrorClass222["PROPERTY"] = 2] = "PROPERTY";
ErrorClass222[ErrorClass222["RESOURCES"] = 3] = "RESOURCES";
ErrorClass222[ErrorClass222["SECURITY"] = 4] = "SECURITY";
ErrorClass222[ErrorClass222["SERVICES"] = 5] = "SERVICES";
ErrorClass222[ErrorClass222["VT"] = 6] = "VT";
ErrorClass222[ErrorClass222["COMMUNICATION"] = 7] = "COMMUNICATION";
return ErrorClass222;
})(ErrorClass22 || {});
var ErrorClassName22 = invertEnum22(
ErrorClass22
);
var ErrorCode22 = /* @__PURE__ */ ((ErrorCode222) => {
ErrorCode222[ErrorCode222["ABORT_APDU_TOO_LONG"] = 123] = "ABORT_APDU_TOO_LONG";
ErrorCode222[ErrorCode222["ABORT_APPLICATION_EXCEEDED_REPLY_TIME"] = 124] = "ABORT_APPLICATION_EXCEEDED_REPLY_TIME";
ErrorCode222[ErrorCode222["ABORT_BUFFER_OVERFLOW"] = 51] = "ABORT_BUFFER_OVERFLOW";
ErrorCode222[ErrorCode222["ABORT_INSUFFICIENT_SECURITY"] = 135] = "ABORT_INSUFFICIENT_SECURITY";
ErrorCode222[ErrorCode222["ABORT_INVALID_APDU_IN_THIS_STATE"] = 52] = "ABORT_INVALID_APDU_IN_THIS_STATE";
ErrorCode222[ErrorCode222["ABORT_OTHER"] = 56] = "ABORT_OTHER";
ErrorCode222[ErrorCode222["ABORT_OUT_OF_RESOURCES"] = 125] = "ABORT_OUT_OF_RESOURCES";
ErrorCode222[ErrorCode222["ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 53] = "ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK";
ErrorCode222[ErrorCode222["ABORT_PROPRIETARY"] = 55] = "ABORT_PROPRIETARY";
ErrorCode222[ErrorCode222["ABORT_SECURITY_ERROR"] = 136] = "ABORT_SECURITY_ERROR";
ErrorCode222[ErrorCode222["ABORT_SEGMENTATION_NOT_SUPPORTED"] = 54] = "ABORT_SEGMENTATION_NOT_SUPPORTED";
ErrorCode222[ErrorCode222["ABORT_TSM_TIMEOUT"] = 126] = "ABORT_TSM_TIMEOUT";
ErrorCode222[ErrorCode222["ABORT_WINDOW_SIZE_OUT_OF_RANGE"] = 127] = "ABORT_WINDOW_SIZE_OUT_OF_RANGE";
ErrorCode222[ErrorCode222["ACCESS_DENIED"] = 85] = "ACCESS_DENIED";
ErrorCode222[ErrorCode222["ADDRESSING_ERROR"] = 115] = "ADDRESSING_ERROR";
ErrorCode222[ErrorCode222["BAD_DESTINATION_ADDRESS"] = 86] = "BAD_DESTINATION_ADDRESS";
ErrorCode222[ErrorCode222["BAD_DESTINATION_DEVICE_ID"] = 87] = "BAD_DESTINATION_DEVICE_ID";
ErrorCode222[ErrorCode222["BAD_SIGNATURE"] = 88] = "BAD_SIGNATURE";
ErrorCode222[ErrorCode222["BAD_SOURCE_ADDRESS"] = 89] = "BAD_SOURCE_ADDRESS";
ErrorCode222[ErrorCode222["BAD_TIMESTAMP"] = 90] = "BAD_TIMESTAMP";
ErrorCode222[ErrorCode222["BUSY"] = 82] = "BUSY";
ErrorCode222[ErrorCode222["CANNOT_USE_KEY"] = 91] = "CANNOT_USE_KEY";
ErrorCode222[ErrorCode222["CANNOT_VERIFY_MESSAGE_ID"] = 92] = "CANNOT_VERIFY_MESSAGE_ID";
ErrorCode222[ErrorCode222["CHARACTER_SET_NOT_SUPPORTED"] = 41] = "CHARACTER_SET_NOT_SUPPORTED";
ErrorCode222[ErrorCode222["COMMUNICATION_DISABLED"] = 83] = "COMMUNICATION_DISABLED";
ErrorCode222[ErrorCode222["CONFIGURATION_IN_PROGRESS"] = 2] = "CONFIGURATION_IN_PROGRESS";
ErrorCode222[ErrorCode222["CORRECT_KEY_REVISION"] = 93] = "CORRECT_KEY_REVISION";
ErrorCode222[ErrorCode222["COV_SUBSCRIPTION_FAILED"] = 43] = "COV_SUBSCRIPTION_FAILED";
ErrorCode222[ErrorCode222["DATATYPE_NOT_SUPPORTED"] = 47] = "DATATYPE_NOT_SUPPORTED";
ErrorCode222[ErrorCode222["DELETE_FDT_ENTRY_FAILED"] = 120] = "DELETE_FDT_ENTRY_FAILED";
ErrorCode222[ErrorCode222["DESTINATION_DEVICE_ID_REQUIRED"] = 94] = "DESTINATION_DEVICE_ID_REQUIRED";
ErrorCode222[ErrorCode222["DEVICE_BUSY"] = 3] = "DEVICE_BUSY";
ErrorCode222[ErrorCode222["DISTRIBUTE_BROADCAST_FAILED"] = 121] = "DISTRIBUTE_BROADCAST_FAILED";
ErrorCode222[ErrorCode222["DUPLICATE_ENTRY"] = 137] = "DUPLICATE_ENTRY";
ErrorCode222[ErrorCode222["DUPLICATE_MESSAGE"] = 95] = "DUPLICATE_MESSAGE";
ErrorCode222[ErrorCode222["DUPLICATE_NAME"] = 48] = "DUPLICATE_NAME";
ErrorCode222[ErrorCode222["DUPLICATE_OBJECT_ID"] = 49] = "DUPLICATE_OBJECT_ID";
ErrorCode222[ErrorCode222["DYNAMIC_CREATION_NOT_SUPPORTED"] = 4] = "DYNAMIC_CREATION_NOT_SUPPORTED";
ErrorCode222[ErrorCode222["ENCRYPTION_NOT_CONFIGURED"] = 96] = "ENCRYPTION_NOT_CONFIGURED";
ErrorCode222[ErrorCode222["ENCRYPTION_REQUIRED"] = 97] = "ENCRYPTION_REQUIRED";
ErrorCode222[ErrorCode222["FILE_ACCESS_DENIED"] = 5] = "FILE_ACCESS_DENIED";
ErrorCode222[ErrorCode222["FILE_FULL"] = 128] = "FILE_FULL";
ErrorCode222[ErrorCode222["INCONSISTENT_CONFIGURATION"] = 129] = "INCONSISTENT_CONFIGURATION";
ErrorCode222[ErrorCode222["INCONSISTENT_OBJECT_TYPE"] = 130] = "INCONSISTENT_OBJECT_TYPE";
ErrorCode222[ErrorCode222["INCONSISTENT_PARAMETERS"] = 7] = "INCONSISTENT_PARAMETERS";
ErrorCode222[ErrorCode222["INCONSISTENT_SELECTION_CRITERION"] = 8] = "INCONSISTENT_SELECTION_CRITERION";
ErrorCode222[ErrorCode222["INCORRECT_KEY"] = 98] = "INCORRECT_KEY";
ErrorCode222[ErrorCode222["INTERNAL_ERROR"] = 131] = "INTERNAL_ERROR";
ErrorCode222[ErrorCode222["INVALID_ARRAY_INDEX"] = 42] = "INVALID_ARRAY_INDEX";
ErrorCode222[ErrorCode222["INVALID_CONFIGURATION_DATA"] = 46] = "INVALID_CONFIGURATION_DATA";
ErrorCode222[ErrorCode222["INVALID_DATA_TYPE"] = 9] = "INVALID_DATA_TYPE";
ErrorCode222[ErrorCode222["INVALID_EVENT_STATE"] = 73] = "INVALID_EVENT_STATE";
ErrorCode222[ErrorCode222["INVALID_FILE_ACCESS_METHOD"] = 10] = "INVALID_FILE_ACCESS_METHOD";
ErrorCode222[ErrorCode222["INVALID_FILE_START_POSITION"] = 11] = "INVALID_FILE_START_POSITION";
ErrorCode222[ErrorCode222["INVALID_KEY_DATA"] = 99] = "INVALID_KEY_DATA";
ErrorCode222[ErrorCode222["INVALID_PARAMETER_DATA_TYPE"] = 13] = "INVALID_PARAMETER_DATA_TYPE";
ErrorCode222[ErrorCode222["INVALID_TAG"] = 57] = "INVALID_TAG";
ErrorCode222[ErrorCode222["INVALID_TIMESTAMP"] = 14] = "INVALID_TIMESTAMP";
ErrorCode222[ErrorCode222["INVALID_VALUE_IN_THIS_STATE"] = 138] = "INVALID_VALUE_IN_THIS_STATE";
ErrorCode222[ErrorCode222["KEY_UPDATE_IN_PROGRESS"] = 100] = "KEY_UPDATE_IN_PROGRESS";
ErrorCode222[ErrorCode222["LIST_ELEMENT_NOT_FOUND"] = 81] = "LIST_ELEMENT_NOT_FOUND";
ErrorCode222[ErrorCode222["LOG_BUFFER_FULL"] = 75] = "LOG_BUFFER_FULL";
ErrorCode222[ErrorCode222["LOGGED_VALUE_PURGED"] = 76] = "LOGGED_VALUE_PURGED";
ErrorCode222[ErrorCode222["MALFORMED_MESSAGE"] = 101] = "MALFORMED_MESSAGE";
ErrorCode222[ErrorCode222["MESSAGE_TOO_LONG"] = 113] = "MESSAGE_TOO_LONG";
ErrorCode222[ErrorCode222["MISSING_REQUIRED_PARAMETER"] = 16] = "MISSING_REQUIRED_PARAMETER";
ErrorCode222[ErrorCode222["NETWORK_DOWN"] = 58] = "NETWORK_DOWN";
ErrorCode222[ErrorCode222["NO_ALARM_CONFIGURED"] = 74] = "NO_ALARM_CONFIGURED";
ErrorCode222[ErrorCode222["NO_OBJECTS_OF_SPECIFIED_TYPE"] = 17] = "NO_OBJECTS_OF_SPECIFIED_TYPE";
ErrorCode222[ErrorCode222["NO_PROPERTY_SPECIFIED"] = 77] = "NO_PROPERTY_SPECIFIED";
ErrorCode222[ErrorCode222["NO_SPACE_FOR_OBJECT"] = 18] = "NO_SPACE_FOR_OBJECT";
ErrorCode222[ErrorCode222["NO_SPACE_TO_ADD_LIST_ELEMENT"] = 19] = "NO_SPACE_TO_ADD_LIST_ELEMENT";
ErrorCode222[ErrorCode222["NO_SPACE_TO_WRITE_PROPERTY"] = 20] = "NO_SPACE_TO_WRITE_PROPERTY";
ErrorCode222[ErrorCode222["NO_VT_SESSIONS_AVAILABLE"] = 21] = "NO_VT_SESSIONS_AVAILABLE";
ErrorCode222[ErrorCode222["NOT_CONFIGURED"] = 132] = "NOT_CONFIGURED";
ErrorCode222[ErrorCode222["NOT_CONFIGURED_FOR_TRIGGERED_LOGGING"] = 78] = "NOT_CONFIGURED_FOR_TRIGGERED_LOGGING";
ErrorCode222[ErrorCode222["NOT_COV_PROPERTY"] = 44] = "NOT_COV_PROPERTY";
ErrorCode222[ErrorCode222["NOT_KEY_SERVER"] = 102] = "NOT_KEY_SERVER";
ErrorCode222[ErrorCode222["NOT_ROUTER_TO_DNET"] = 110] = "NOT_ROUTER_TO_DNET";
ErrorCode222[ErrorCode222["OBJECT_DELETION_NOT_PERMITTED"] = 23] = "OBJECT_DELETION_NOT_PERMITTED";
ErrorCode222[ErrorCode222["OBJECT_IDENTIFIER_ALREADY_EXISTS"] = 24] = "OBJECT_IDENTIFIER_ALREADY_EXISTS";
ErrorCode222[ErrorCode222["OPERATIONAL_PROBLEM"] = 25] = "OPERATIONAL_PROBLEM";
ErrorCode222[ErrorCode222["OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED"] = 45] = "OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED";
ErrorCode222[ErrorCode222["OTHER"] = 0] = "OTHER";
ErrorCode222[ErrorCode222["OUT_OF_MEMORY"] = 133] = "OUT_OF_MEMORY";
ErrorCode222[ErrorCode222["PARAMETER_OUT_OF_RANGE"] = 80] = "PARAMETER_OUT_OF_RANGE";
ErrorCode222[ErrorCode222["PASSWORD_FAILURE"] = 26] = "PASSWORD_FAILURE";
ErrorCode222[ErrorCode222["PROPERTY_IS_NOT_A_LIST"] = 22] = "PROPERTY_IS_NOT_A_LIST";
ErrorCode222[ErrorCode222["PROPERTY_IS_NOT_AN_ARRAY"] = 50] = "PROPERTY_IS_NOT_AN_ARRAY";
ErrorCode222[ErrorCode222["READ_ACCESS_DENIED"] = 27] = "READ_ACCESS_DENIED";
ErrorCode222[ErrorCode222["READ_BDT_FAILED"] = 117] = "READ_BDT_FAILED";
ErrorCode222[ErrorCode222["READ_FDT_FAILED"] = 119] = "READ_FDT_FAILED";
ErrorCode222[ErrorCode222["REGISTER_FOREIGN_DEVICE_FAILED"] = 118] = "REGISTER_FOREIGN_DEVICE_FAILED";
ErrorCode222[ErrorCode222["REJECT_BUFFER_OVERFLOW"] = 59] = "REJECT_BUFFER_OVERFLOW";
ErrorCode222[ErrorCode222["REJECT_INCONSISTENT_PARAMETERS"] = 60] = "REJECT_INCONSISTENT_PARAMETERS";
ErrorCode222[ErrorCode222["REJECT_INVALID_PARAMETER_DATA_TYPE"] = 61] = "REJECT_INVALID_PARAMETER_DATA_TYPE";
ErrorCode222[ErrorCode222["REJECT_INVALID_TAG"] = 62] = "REJECT_INVALID_TAG";
ErrorCode222[ErrorCode222["REJECT_MISSING_REQUIRED_PARAMETER"] = 63] = "REJECT_MISSING_REQUIRED_PARAMETER";
ErrorCode222[ErrorCode222["REJECT_OTHER"] = 69] = "REJECT_OTHER";
ErrorCode222[ErrorCode222["REJECT_PARAMETER_OUT_OF_RANGE"] = 64] = "REJECT_PARAMETER_OUT_OF_RANGE";
ErrorCode222[ErrorCode222["REJECT_PROPRIETARY"] = 68] = "REJECT_PROPRIETARY";
ErrorCode222[ErrorCode222["REJECT_TOO_MANY_ARGUMENTS"] = 65] = "REJECT_TOO_MANY_ARGUMENTS";
ErrorCode222[ErrorCode222["REJECT_UNDEFINED_ENUMERATION"] = 66] = "REJECT_UNDEFINED_ENUMERATION";
ErrorCode222[ErrorCode222["REJECT_UNRECOGNIZED_SERVICE"] = 67] = "REJECT_UNRECOGNIZED_SERVICE";
ErrorCode222[ErrorCode222["ROUTER_BUSY"] = 111] = "ROUTER_BUSY";
ErrorCode222[ErrorCode222["SECURITY_ERROR"] = 114] = "SECURITY_ERROR";
ErrorCode222[ErrorCode222["SECURITY_NOT_CONFIGURED"] = 103] = "SECURITY_NOT_CONFIGURED";
ErrorCode222[ErrorCode222["SERVICE_REQUEST_DENIED"] = 29] = "SERVICE_REQUEST_DENIED";
ErrorCode222[ErrorCode222["SOURCE_SECURITY_REQUIRED"] = 104] = "SOURCE_SECURITY_REQUIRED";
ErrorCode222[ErrorCode222["SUCCESS"] = 84] = "SUCCESS";
ErrorCode222[ErrorCode222["TIMEOUT"] = 30] = "TIMEOUT";
ErrorCode222[ErrorCode222["TOO_MANY_KEYS"] = 105] = "TOO_MANY_KEYS";
ErrorCode222[ErrorCode222["UNKNOWN_AUTHENTICATION_TYPE"] = 106] = "UNKNOWN_AUTHENTICATION_TYPE";
ErrorCode222[ErrorCode222["UNKNOWN_DEVICE"] = 70] = "UNKNOWN_DEVICE";
ErrorCode222[ErrorCode222["UNKNOWN_FILE_SIZE"] = 122] = "UNKNOWN_FILE_SIZE";
ErrorCode222[ErrorCode222["UNKNOWN_KEY"] = 107] = "UNKNOWN_KEY";
ErrorCode222[ErrorCode222["UNKNOWN_KEY_REVISION"] = 108] = "UNKNOWN_KEY_REVISION";
ErrorCode222[ErrorCode222["UNKNOWN_NETWORK_MESSAGE"] = 112] = "UNKNOWN_NETWORK_MESSAGE";
ErrorCode222[ErrorCode222["UNKNOWN_OBJECT"] = 31] = "UNKNOWN_OBJECT";
ErrorCode222[ErrorCode222["UNKNOWN_PROPERTY"] = 32] = "UNKNOWN_PROPERTY";
ErrorCode222[ErrorCode222["UNKNOWN_ROUTE"] = 71] = "UNKNOWN_ROUTE";
ErrorCode222[ErrorCode222["UNKNOWN_SOURCE_MESSAGE"] = 109] = "UNKNOWN_SOURCE_MESSAGE";
ErrorCode222[ErrorCode222["UNKNOWN_SUBSCRIPTION"] = 79] = "UNKNOWN_SUBSCRIPTION";
ErrorCode222[ErrorCode222["UNKNOWN_VT_CLASS"] = 34] = "UNKNOWN_VT_CLASS";
ErrorCode222[ErrorCode222["UNKNOWN_VT_SESSION"] = 35] = "UNKNOWN_VT_SESSION";
ErrorCode222[ErrorCode222["UNSUPPORTED_OBJECT_TYPE"] = 36] = "UNSUPPORTED_OBJECT_TYPE";
ErrorCode222[ErrorCode222["VALUE_NOT_INITIALIZED"] = 72] = "VALUE_NOT_INITIALIZED";
ErrorCode222[ErrorCode222["VALUE_OUT_OF_RANGE"] = 37] = "VALUE_OUT_OF_RANGE";
ErrorCode222[ErrorCode222["VALUE_TOO_LONG"] = 134] = "VALUE_TOO_LONG";
ErrorCode222[ErrorCode222["VT_SESSION_ALREADY_CLOSED"] = 38] = "VT_SESSION_ALREADY_CLOSED";
ErrorCode222[ErrorCode222["VT_SESSION_TERMINATION_FAILURE"] = 39] = "VT_SESSION_TERMINATION_FAILURE";
ErrorCode222[ErrorCode222["WRITE_ACCESS_DENIED"] = 40] = "WRITE_ACCESS_DENIED";
ErrorCode222[ErrorCode222["WRITE_BDT_FAILED"] = 116] = "WRITE_BDT_FAILED";
return ErrorCode222;
})(ErrorCode22 || {});
var ErrorCodeName22 = invertEnum22(
ErrorCode22
);
var AccessAuthenticationFactorDisable22 = /* @__PURE__ */ ((AccessAuthenticationFactorDisable222) => {
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["NONE"] = 0] = "NONE";
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["DISABLED"] = 1] = "DISABLED";
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["DISABLED_LOST"] = 2] = "DISABLED_LOST";
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["DISABLED_STOLEN"] = 3] = "DISABLED_STOLEN";
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["DISABLED_DAMAGED"] = 4] = "DISABLED_DAMAGED";
AccessAuthenticationFactorDisable222[AccessAuthenticationFactorDisable222["DISABLED_DESTROYED"] = 5] = "DISABLED_DESTROYED";
return AccessAuthenticationFactorDisable222;
})(AccessAuthenticationFactorDisable22 || {});
var AccessCredentialDisable22 = /* @__PURE__ */ ((AccessCredentialDisable222) => {
AccessCredentialDisable222[AccessCredentialDisable222["NONE"] = 0] = "NONE";
AccessCredentialDisable222[AccessCredentialDisable222["DISABLE"] = 1] = "DISABLE";
AccessCredentialDisable222[AccessCredentialDisable222["DISABLE_MANUAL"] = 2] = "DISABLE_MANUAL";
AccessCredentialDisable222[AccessCredentialDisable222["DISABLE_LOCKOUT"] = 3] = "DISABLE_LOCKOUT";
return AccessCredentialDisable222;
})(AccessCredentialDisable22 || {});
var AccessCredentialDisableReason22 = /* @__PURE__ */ ((AccessCredentialDisableReason222) => {
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED"] = 0] = "DISABLED";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_NEEDS_PROVISIONING"] = 1] = "DISABLED_NEEDS_PROVISIONING";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_UNASSIGNED"] = 2] = "DISABLED_UNASSIGNED";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_NOT_YET_ACTIVE"] = 3] = "DISABLED_NOT_YET_ACTIVE";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_EXPIRED"] = 4] = "DISABLED_EXPIRED";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_LOCKOUT"] = 5] = "DISABLED_LOCKOUT";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_MAX_DAYS"] = 6] = "DISABLED_MAX_DAYS";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_MAX_USES"] = 7] = "DISABLED_MAX_USES";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_INACTIVITY"] = 8] = "DISABLED_INACTIVITY";
AccessCredentialDisableReason222[AccessCredentialDisableReason222["DISABLED_MANUAL"] = 9] = "DISABLED_MANUAL";
return AccessCredentialDisableReason222;
})(AccessCredentialDisableReason22 || {});
var AccessEvent22 = /* @__PURE__ */ ((AccessEvent222) => {
AccessEvent222[AccessEvent222["NONE"] = 0] = "NONE";
AccessEvent222[AccessEvent222["GRANTED"] = 1] = "GRANTED";
AccessEvent222[AccessEvent222["MUSTER"] = 2] = "MUSTER";
AccessEvent222[AccessEvent222["PASSBACK_DETECTED"] = 3] = "PASSBACK_DETECTED";
AccessEvent222[AccessEvent222["DURESS"] = 4] = "DURESS";
AccessEvent222[AccessEvent222["TRACE"] = 5] = "TRACE";
AccessEvent222[AccessEvent222["LOCKOUT_MAX_ATTEMPTS"] = 6] = "LOCKOUT_MAX_ATTEMPTS";
AccessEvent222[AccessEvent222["LOCKOUT_OTHER"] = 7] = "LOCKOUT_OTHER";
AccessEvent222[AccessEvent222["LOCKOUT_RELINQUISHED"] = 8] = "LOCKOUT_RELINQUISHED";
AccessEvent222[AccessEvent222["LOCKED_BY_HIGHER_PRIORITY"] = 9] = "LOCKED_BY_HIGHER_PRIORITY";
AccessEvent222[AccessEvent222["OUT_OF_SERVICE"] = 10] = "OUT_OF_SERVICE";
AccessEvent222[AccessEvent222["OUT_OF_SERVICE_RELINQUISHED"] = 11] = "OUT_OF_SERVICE_RELINQUISHED";
AccessEvent222[AccessEvent222["ACCOMPANIMENT_BY"] = 12] = "ACCOMPANIMENT_BY";
AccessEvent222[AccessEvent222["AUTHENTICATION_FACTOR_READ"] = 13] = "AUTHENTICATION_FACTOR_READ";
AccessEvent222[AccessEvent222["AUTHORIZATION_DELAYED"] = 14] = "AUTHORIZATION_DELAYED";
AccessEvent222[AccessEvent222["VERIFICATION_REQUIRED"] = 15] = "VERIFICATION_REQUIRED";
AccessEvent222[AccessEvent222["NO_ENTRY_AFTER_GRANTED"] = 16] = "NO_ENTRY_AFTER_GRANTED";
AccessEvent222[AccessEvent222["DENIED_DENY_ALL"] = 128] = "DENIED_DENY_ALL";
AccessEvent222[AccessEvent222["DENIED_UNKNOWN_CREDENTIAL"] = 129] = "DENIED_UNKNOWN_CREDENTIAL";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_UNAVAILABLE"] = 130] = "DENIED_AUTHENTICATION_UNAVAILABLE";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_TIMEOUT"] = 131] = "DENIED_AUTHENTICATION_FACTOR_TIMEOUT";
AccessEvent222[AccessEvent222["DENIED_INCORRECT_AUTHENTICATION_FACTOR"] = 132] = "DENIED_INCORRECT_AUTHENTICATION_FACTOR";
AccessEvent222[AccessEvent222["DENIED_ZONE_NO_ACCESS_RIGHTS"] = 133] = "DENIED_ZONE_NO_ACCESS_RIGHTS";
AccessEvent222[AccessEvent222["DENIED_POINT_NO_ACCESS_RIGHTS"] = 134] = "DENIED_POINT_NO_ACCESS_RIGHTS";
AccessEvent222[AccessEvent222["DENIED_NO_ACCESS_RIGHTS"] = 135] = "DENIED_NO_ACCESS_RIGHTS";
AccessEvent222[AccessEvent222["DENIED_OUT_OF_TIME_RANGE"] = 136] = "DENIED_OUT_OF_TIME_RANGE";
AccessEvent222[AccessEvent222["DENIED_THREAT_LEVEL"] = 137] = "DENIED_THREAT_LEVEL";
AccessEvent222[AccessEvent222["DENIED_PASSBACK"] = 138] = "DENIED_PASSBACK";
AccessEvent222[AccessEvent222["DENIED_UNEXPECTED_LOCATION_USAGE"] = 139] = "DENIED_UNEXPECTED_LOCATION_USAGE";
AccessEvent222[AccessEvent222["DENIED_MAX_ATTEMPTS"] = 140] = "DENIED_MAX_ATTEMPTS";
AccessEvent222[AccessEvent222["DENIED_LOWER_OCCUPANCY_LIMIT"] = 141] = "DENIED_LOWER_OCCUPANCY_LIMIT";
AccessEvent222[AccessEvent222["DENIED_UPPER_OCCUPANCY_LIMIT"] = 142] = "DENIED_UPPER_OCCUPANCY_LIMIT";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_LOST"] = 143] = "DENIED_AUTHENTICATION_FACTOR_LOST";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_STOLEN"] = 144] = "DENIED_AUTHENTICATION_FACTOR_STOLEN";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_DAMAGED"] = 145] = "DENIED_AUTHENTICATION_FACTOR_DAMAGED";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_DESTROYED"] = 146] = "DENIED_AUTHENTICATION_FACTOR_DESTROYED";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_DISABLED"] = 147] = "DENIED_AUTHENTICATION_FACTOR_DISABLED";
AccessEvent222[AccessEvent222["DENIED_AUTHENTICATION_FACTOR_ERROR"] = 148] = "DENIED_AUTHENTICATION_FACTOR_ERROR";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_UNASSIGNED"] = 149] = "DENIED_CREDENTIAL_UNASSIGNED";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_NOT_PROVISIONED"] = 150] = "DENIED_CREDENTIAL_NOT_PROVISIONED";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_NOT_YET_ACTIVE"] = 151] = "DENIED_CREDENTIAL_NOT_YET_ACTIVE";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_EXPIRED"] = 152] = "DENIED_CREDENTIAL_EXPIRED";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_MANUAL_DISABLE"] = 153] = "DENIED_CREDENTIAL_MANUAL_DISABLE";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_LOCKOUT"] = 154] = "DENIED_CREDENTIAL_LOCKOUT";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_MAX_DAYS"] = 155] = "DENIED_CREDENTIAL_MAX_DAYS";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_MAX_USES"] = 156] = "DENIED_CREDENTIAL_MAX_USES";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_INACTIVITY"] = 157] = "DENIED_CREDENTIAL_INACTIVITY";
AccessEvent222[AccessEvent222["DENIED_CREDENTIAL_DISABLED"] = 158] = "DENIED_CREDENTIAL_DISABLED";
AccessEvent222[AccessEvent222["DENIED_NO_ACCOMPANIMENT"] = 159] = "DENIED_NO_ACCOMPANIMENT";
AccessEvent222[AccessEvent222["DENIED_INCORRECT_ACCOMPANIMENT"] = 160] = "DENIED_INCORRECT_ACCOMPANIMENT";
AccessEvent222[AccessEvent222["DENIED_LOCKOUT"] = 161] = "DENIED_LOCKOUT";
AccessEvent222[AccessEvent222["DENIED_VERIFICATION_FAILED"] = 162] = "DENIED_VERIFICATION_FAILED";
AccessEvent222[AccessEvent222["DENIED_VERIFICATION_TIMEOUT"] = 163] = "DENIED_VERIFICATION_TIMEOUT";
AccessEvent222[AccessEvent222["DENIED_OTHER"] = 164] = "DENIED_OTHER";
return AccessEvent222;
})(AccessEvent22 || {});
var AccessPassbackMode22 = /* @__PURE__ */ ((AccessPassbackMode222) => {
AccessPassbackMode222[AccessPassbackMode222["PASSBACK_OFF"] = 0] = "PASSBACK_OFF";
AccessPassbackMode222[AccessPassbackMode222["HARD_PASSBACK"] = 1] = "HARD_PASSBACK";
AccessPassbackMode222[AccessPassbackMode222["SOFT_PASSBACK"] = 2] = "SOFT_PASSBACK";
return AccessPassbackMode222;
})(AccessPassbackMode22 || {});
var AccessUserType22 = /* @__PURE__ */ ((AccessUserType222) => {
AccessUserType222[AccessUserType222["ASSET"] = 0] = "ASSET";
AccessUserType222[AccessUserType222["GROUP"] = 1] = "GROUP";
AccessUserType222[AccessUserType222["PERSON"] = 2] = "PERSON";
return AccessUserType222;
})(AccessUserType22 || {});
var AccessZoneOccupancyState22 = /* @__PURE__ */ ((AccessZoneOccupancyState222) => {
AccessZoneOccupancyState222[AccessZoneOccupancyState222["NORMAL"] = 0] = "NORMAL";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["BELOW_LOWER_LIMIT"] = 1] = "BELOW_LOWER_LIMIT";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["AT_LOWER_LIMIT"] = 2] = "AT_LOWER_LIMIT";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["AT_UPPER_LIMIT"] = 3] = "AT_UPPER_LIMIT";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["ABOVE_UPPER_LIMIT"] = 4] = "ABOVE_UPPER_LIMIT";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["DISABLED"] = 5] = "DISABLED";
AccessZoneOccupancyState222[AccessZoneOccupancyState222["NOT_SUPPORTED"] = 6] = "NOT_SUPPORTED";
return AccessZoneOccupancyState222;
})(AccessZoneOccupancyState22 || {});
var Action22 = /* @__PURE__ */ ((Action222) => {
Action222[Action222["DIRECT"] = 0] = "DIRECT";
Action222[Action222["REVERSE"] = 1] = "REVERSE";
return Action222;
})(Action22 || {});
var AuthenticationFactorType22 = /* @__PURE__ */ ((AuthenticationFactorType222) => {
AuthenticationFactorType222[AuthenticationFactorType222["UNDEFINED"] = 0] = "UNDEFINED";
AuthenticationFactorType222[AuthenticationFactorType222["ERROR"] = 1] = "ERROR";
AuthenticationFactorType222[AuthenticationFactorType222["CUSTOM"] = 2] = "CUSTOM";
AuthenticationFactorType222[AuthenticationFactorType222["SIMPLE_NUMBER16"] = 3] = "SIMPLE_NUMBER16";
AuthenticationFactorType222[AuthenticationFactorType222["SIMPLE_NUMBER32"] = 4] = "SIMPLE_NUMBER32";
AuthenticationFactorType222[AuthenticationFactorType222["SIMPLE_NUMBER56"] = 5] = "SIMPLE_NUMBER56";
AuthenticationFactorType222[AuthenticationFactorType222["SIMPLE_ALPHA_NUMERIC"] = 6] = "SIMPLE_ALPHA_NUMERIC";
AuthenticationFactorType222[AuthenticationFactorType222["ABA_TRACK2"] = 7] = "ABA_TRACK2";
AuthenticationFactorType222[AuthenticationFactorType222["WIEGAND26"] = 8] = "WIEGAND26";
AuthenticationFactorType222[AuthenticationFactorType222["WIEGAND37"] = 9] = "WIEGAND37";
AuthenticationFactorType222[AuthenticationFactorType222["WIEGAND37_FACILITY"] = 10] = "WIEGAND37_FACILITY";
AuthenticationFactorType222[AuthenticationFactorType222["FACILITY16_CARD32"] = 11] = "FACILITY16_CARD32";
AuthenticationFactorType222[AuthenticationFactorType222["FACILITY32_CARD32"] = 12] = "FACILITY32_CARD32";
AuthenticationFactorType222[AuthenticationFactorType222["FASC_N"] = 13] = "FASC_N";
AuthenticationFactorType222[AuthenticationFactorType222["FASC_N_BCD"] = 14] = "FASC_N_BCD";
AuthenticationFactorType222[AuthenticationFactorType222["FASC_N_LARGE"] = 15] = "FASC_N_LARGE";
AuthenticationFactorType222[AuthenticationFactorType222["FASC_N_LARGE_BCD"] = 16] = "FASC_N_LARGE_BCD";
AuthenticationFactorType222[AuthenticationFactorType222["GSA75"] = 17] = "GSA75";
AuthenticationFactorType222[AuthenticationFactorType222["CHUID"] = 18] = "CHUID";
AuthenticationFactorType222[AuthenticationFactorType222["CHUID_FULL"] = 19] = "CHUID_FULL";
AuthenticationFactorType222[AuthenticationFactorType222["GUID"] = 20] = "GUID";
AuthenticationFactorType222[AuthenticationFactorType222["CBEFF_A"] = 21] = "CBEFF_A";
AuthenticationFactorType222[AuthenticationFactorType222["CBEFF_B"] = 22] = "CBEFF_B";
AuthenticationFactorType222[AuthenticationFactorType222["CBEFF_C"] = 23] = "CBEFF_C";
AuthenticationFactorType222[AuthenticationFactorType222["USER_PASSWORD"] = 24] = "USER_PASSWORD";
return AuthenticationFactorType222;
})(AuthenticationFactorType22 || {});
var AuthenticationStatus22 = /* @__PURE__ */ ((AuthenticationStatus222) => {
AuthenticationStatus222[AuthenticationStatus222["NOT_READY"] = 0] = "NOT_READY";
AuthenticationStatus222[AuthenticationStatus222["READY"] = 1] = "READY";
AuthenticationStatus222[AuthenticationStatus222["DISABLED"] = 2] = "DISABLED";
AuthenticationStatus222[AuthenticationStatus222["WAITING_FOR_AUTHENTICATION_FACTOR"] = 3] = "WAITING_FOR_AUTHENTICATION_FACTOR";
AuthenticationStatus222[AuthenticationStatus222["WAITING_FOR_ACCOMPANIMENT"] = 4] = "WAITING_FOR_ACCOMPANIMENT";
AuthenticationStatus222[AuthenticationStatus222["WAITING_FOR_VERIFICATION"] = 5] = "WAITING_FOR_VERIFICATION";
AuthenticationStatus222[AuthenticationStatus222["IN_PROGRESS"] = 6] = "IN_PROGRESS";
return AuthenticationStatus222;
})(AuthenticationStatus22 || {});
var AuthorizationExemption22 = /* @__PURE__ */ ((AuthorizationExemption222) => {
AuthorizationExemption222[AuthorizationExemption222["PASSBACK"] = 0] = "PASSBACK";
AuthorizationExemption222[AuthorizationExemption222["OCCUPANCY_CHECK"] = 1] = "OCCUPANCY_CHECK";
AuthorizationExemption222[AuthorizationExemption222["ACCESS_RIGHTS"] = 2] = "ACCESS_RIGHTS";
AuthorizationExemption222[AuthorizationExemption222["LOCKOUT"] = 3] = "LOCKOUT";
AuthorizationExemption222[AuthorizationExemption222["DENY"] = 4] = "DENY";
AuthorizationExemption222[AuthorizationExemption222["VERIFICATION"] = 5] = "VERIFICATION";
AuthorizationExemption222[AuthorizationExemption222["AUTHORIZATION_DELAY"] = 6] = "AUTHORIZATION_DELAY";
return AuthorizationExemption222;
})(AuthorizationExemption22 || {});
var AuthorizationMode22 = /* @__PURE__ */ ((AuthorizationMode222) => {
AuthorizationMode222[AuthorizationMode222["AUTHORIZE"] = 0] = "AUTHORIZE";
AuthorizationMode222[AuthorizationMode222["GRANT_ACTIVE"] = 1] = "GRANT_ACTIVE";
AuthorizationMode222[AuthorizationMode222["DENY_ALL"] = 2] = "DENY_ALL";
AuthorizationMode222[AuthorizationMode222["VERIFICATION_REQUIRED"] = 3] = "VERIFICATION_REQUIRED";
AuthorizationMode222[AuthorizationMode222["AUTHORIZATION_DELAYED"] = 4] = "AUTHORIZATION_DELAYED";
AuthorizationMode222[AuthorizationMode222["NONE"] = 5] = "NONE";
return AuthorizationMode222;
})(AuthorizationMode22 || {});
var BackupState22 = /* @__PURE__ */ ((BackupState222) => {
BackupState222[BackupState222["IDLE"] = 0] = "IDLE";
BackupState222[BackupState222["PREPARING_FOR_BACKUP"] = 1] = "PREPARING_FOR_BACKUP";
BackupState222[BackupState222["PREPARING_FOR_RESTORE"] = 2] = "PREPARING_FOR_RESTORE";
BackupState222[BackupState222["PERFORMING_A_BACKUP"] = 3] = "PERFORMING_A_BACKUP";
BackupState222[BackupState222["PERFORMING_A_RESTORE"] = 4] = "PERFORMING_A_RESTORE";
BackupState222[BackupState222["BACKUP_FAILURE"] = 5] = "BACKUP_FAILURE";
BackupState222[BackupState222["RESTORE_FAILURE"] = 6] = "RESTORE_FAILURE";
return BackupState222;
})(BackupState22 || {});
var BinaryLightingPV22 = /* @__PURE__ */ ((BinaryLightingPV222) => {
BinaryLightingPV222[BinaryLightingPV222["OFF"] = 0] = "OFF";
BinaryLightingPV222[BinaryLightingPV222["ON"] = 1] = "ON";
BinaryLightingPV222[BinaryLightingPV222["WARN"] = 2] = "WARN";
BinaryLightingPV222[BinaryLightingPV222["WARN_OFF"] = 3] = "WARN_OFF";
BinaryLightingPV222[BinaryLightingPV222["WARN_RELINQUISH"] = 4] = "WARN_RELINQUISH";
BinaryLightingPV222[BinaryLightingPV222["STOP"] = 5] = "STOP";
return BinaryLightingPV222;
})(BinaryLightingPV22 || {});
var BinaryPV22 = /* @__PURE__ */ ((BinaryPV222) => {
BinaryPV222[BinaryPV222["INACTIVE"] = 0] = "INACTIVE";
BinaryPV222[BinaryPV222["ACTIVE"] = 1] = "ACTIVE";
return BinaryPV222;
})(BinaryPV22 || {});
var DeviceStatus22 = /* @__PURE__ */ ((DeviceStatus222) => {
DeviceStatus222[DeviceStatus222["OPERATIONAL"] = 0] = "OPERATIONAL";
DeviceStatus222[DeviceStatus222["OPERATIONAL_READ_ONLY"] = 1] = "OPERATIONAL_READ_ONLY";
DeviceStatus222[DeviceStatus222["DOWNLOAD_REQUIRED"] = 2] = "DOWNLOAD_REQUIRED";
DeviceStatus222[DeviceStatus222["DOWNLOAD_IN_PROGRESS"] = 3] = "DOWNLOAD_IN_PROGRESS";
DeviceStatus222[DeviceStatus222["NON_OPERATIONAL"] = 4] = "NON_OPERATIONAL";
DeviceStatus222[DeviceStatus222["BACKUP_IN_PROGRESS"] = 5] = "BACKUP_IN_PROGRESS";
return DeviceStatus222;
})(DeviceStatus22 || {});
var DoorAlarmState22 = /* @__PURE__ */ ((DoorAlarmState222) => {
DoorAlarmState222[DoorAlarmState222["NORMAL"] = 0] = "NORMAL";
DoorAlarmState222[DoorAlarmState222["ALARM"] = 1] = "ALARM";
DoorAlarmState222[DoorAlarmState222["DOOR_OPEN_TOO_LONG"] = 2] = "DOOR_OPEN_TOO_LONG";
DoorAlarmState222[DoorAlarmState222["FORCED_OPEN"] = 3] = "FORCED_OPEN";
DoorAlarmState222[DoorAlarmState222["TAMPER"] = 4] = "TAMPER";
DoorAlarmState222[DoorAlarmState222["DOOR_FAULT"] = 5] = "DOOR_FAULT";
DoorAlarmState222[DoorAlarmState222["LOCK_DOWN"] = 6] = "LOCK_DOWN";
DoorAlarmState222[DoorAlarmState222["FREE_ACCESS"] = 7] = "FREE_ACCESS";
DoorAlarmState222[DoorAlarmState222["EGRESS_OPEN"] = 8] = "EGRESS_OPEN";
return DoorAlarmState222;
})(DoorAlarmState22 || {});
var DoorSecuredStatus22 = /* @__PURE__ */ ((DoorSecuredStatus222) => {
DoorSecuredStatus222[DoorSecuredStatus222["SECURED"] = 0] = "SECURED";
DoorSecuredStatus222[DoorSecuredStatus222["UNSECURED"] = 1] = "UNSECURED";
DoorSecuredStatus222[DoorSecuredStatus222["UNKNOWN"] = 2] = "UNKNOWN";
return DoorSecuredStatus222;
})(DoorSecuredStatus22 || {});
var DoorStatus22 = /* @__PURE__ */ ((DoorStatus222) => {
DoorStatus222[DoorStatus222["CLOSED"] = 0] = "CLOSED";
DoorStatus222[DoorStatus222["OPENED"] = 1] = "OPENED";
DoorStatus222[DoorStatus222["UNKNOWN"] = 2] = "UNKNOWN";
DoorStatus222[DoorStatus222["DOOR_FAULT"] = 3] = "DOOR_FAULT";
DoorStatus222[DoorStatus222["UNUSED"] = 4] = "UNUSED";
DoorStatus222[DoorStatus222["NONE"] = 5] = "NONE";
DoorStatus222[DoorStatus222["CLOSING"] = 6] = "CLOSING";
DoorStatus222[DoorStatus222["OPENING"] = 7] = "OPENING";
DoorStatus222[DoorStatus222["SAFETY_LOCKED"] = 8] = "SAFETY_LOCKED";
DoorStatus222[DoorStatus222["LIMITED_OPENED"] = 9] = "LIMITED_OPENED";
return DoorStatus222;
})(DoorStatus22 || {});
var DoorValue22 = /* @__PURE__ */ ((DoorValue222) => {
DoorValue222[DoorValue222["LOCK"] = 0] = "LOCK";
DoorValue222[DoorValue222["UNLOCK"] = 1] = "UNLOCK";
DoorValue222[DoorValue222["PULSE_UNLOCK"] = 2] = "PULSE_UNLOCK";
DoorValue222[DoorValue222["EXTENDED_PULSE_UNLOCK"] = 3] = "EXTENDED_PULSE_UNLOCK";
return DoorValue222;
})(DoorValue22 || {});
var EngineeringUnits22 = /* @__PURE__ */ ((EngineeringUnits222) => {
EngineeringUnits222[EngineeringUnits222["METERS_PER_SECOND_PER_SECOND"] = 166] = "METERS_PER_SECOND_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["SQUARE_METERS"] = 0] = "SQUARE_METERS";
EngineeringUnits222[EngineeringUnits222["SQUARE_CENTIMETERS"] = 116] = "SQUARE_CENTIMETERS";
EngineeringUnits222[EngineeringUnits222["SQUARE_FEET"] = 1] = "SQUARE_FEET";
EngineeringUnits222[EngineeringUnits222["SQUARE_INCHES"] = 115] = "SQUARE_INCHES";
EngineeringUnits222[EngineeringUnits222["CURRENCY1"] = 105] = "CURRENCY1";
EngineeringUnits222[EngineeringUnits222["CURRENCY2"] = 106] = "CURRENCY2";
EngineeringUnits222[EngineeringUnits222["CURRENCY3"] = 107] = "CURRENCY3";
EngineeringUnits222[EngineeringUnits222["CURRENCY4"] = 108] = "CURRENCY4";
EngineeringUnits222[EngineeringUnits222["CURRENCY5"] = 109] = "CURRENCY5";
EngineeringUnits222[EngineeringUnits222["CURRENCY6"] = 110] = "CURRENCY6";
EngineeringUnits222[EngineeringUnits222["CURRENCY7"] = 111] = "CURRENCY7";
EngineeringUnits222[EngineeringUnits222["CURRENCY8"] = 112] = "CURRENCY8";
EngineeringUnits222[EngineeringUnits222["CURRENCY9"] = 113] = "CURRENCY9";
EngineeringUnits222[EngineeringUnits222["CURRENCY10"] = 114] = "CURRENCY10";
EngineeringUnits222[EngineeringUnits222["MILLIAMPERES"] = 2] = "MILLIAMPERES";
EngineeringUnits222[EngineeringUnits222["AMPERES"] = 3] = "AMPERES";
EngineeringUnits222[EngineeringUnits222["AMPERES_PER_METER"] = 167] = "AMPERES_PER_METER";
EngineeringUnits222[EngineeringUnits222["AMPERES_PER_SQUARE_METER"] = 168] = "AMPERES_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["AMPERE_SQUARE_METERS"] = 169] = "AMPERE_SQUARE_METERS";
EngineeringUnits222[EngineeringUnits222["DECIBELS"] = 199] = "DECIBELS";
EngineeringUnits222[EngineeringUnits222["DECIBELS_MILLIVOLT"] = 200] = "DECIBELS_MILLIVOLT";
EngineeringUnits222[EngineeringUnits222["DECIBELS_VOLT"] = 201] = "DECIBELS_VOLT";
EngineeringUnits222[EngineeringUnits222["FARADS"] = 170] = "FARADS";
EngineeringUnits222[EngineeringUnits222["HENRYS"] = 171] = "HENRYS";
EngineeringUnits222[EngineeringUnits222["OHMS"] = 4] = "OHMS";
EngineeringUnits222[EngineeringUnits222["OHM_METER_SQUARED_PER_METER"] = 237] = "OHM_METER_SQUARED_PER_METER";
EngineeringUnits222[EngineeringUnits222["OHM_METERS"] = 172] = "OHM_METERS";
EngineeringUnits222[EngineeringUnits222["MILLIOHMS"] = 145] = "MILLIOHMS";
EngineeringUnits222[EngineeringUnits222["KILOHMS"] = 122] = "KILOHMS";
EngineeringUnits222[EngineeringUnits222["MEGOHMS"] = 123] = "MEGOHMS";
EngineeringUnits222[EngineeringUnits222["MICROSIEMENS"] = 190] = "MICROSIEMENS";
EngineeringUnits222[EngineeringUnits222["MILLISIEMENS"] = 202] = "MILLISIEMENS";
EngineeringUnits222[EngineeringUnits222["SIEMENS"] = 173] = "SIEMENS";
EngineeringUnits222[EngineeringUnits222["SIEMENS_PER_METER"] = 174] = "SIEMENS_PER_METER";
EngineeringUnits222[EngineeringUnits222["TESLAS"] = 175] = "TESLAS";
EngineeringUnits222[EngineeringUnits222["VOLTS"] = 5] = "VOLTS";
EngineeringUnits222[EngineeringUnits222["MILLIVOLTS"] = 124] = "MILLIVOLTS";
EngineeringUnits222[EngineeringUnits222["KILOVOLTS"] = 6] = "KILOVOLTS";
EngineeringUnits222[EngineeringUnits222["MEGAVOLTS"] = 7] = "MEGAVOLTS";
EngineeringUnits222[EngineeringUnits222["VOLT_AMPERES"] = 8] = "VOLT_AMPERES";
EngineeringUnits222[EngineeringUnits222["KILOVOLT_AMPERES"] = 9] = "KILOVOLT_AMPERES";
EngineeringUnits222[EngineeringUnits222["MEGAVOLT_AMPERES"] = 10] = "MEGAVOLT_AMPERES";
EngineeringUnits222[EngineeringUnits222["VOLT_AMPERES_REACTIVE"] = 11] = "VOLT_AMPERES_REACTIVE";
EngineeringUnits222[EngineeringUnits222["KILOVOLT_AMPERES_REACTIVE"] = 12] = "KILOVOLT_AMPERES_REACTIVE";
EngineeringUnits222[EngineeringUnits222["MEGAVOLT_AMPERES_REACTIVE"] = 13] = "MEGAVOLT_AMPERES_REACTIVE";
EngineeringUnits222[EngineeringUnits222["VOLTS_PER_DEGREE_KELVIN"] = 176] = "VOLTS_PER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["VOLTS_PER_METER"] = 177] = "VOLTS_PER_METER";
EngineeringUnits222[EngineeringUnits222["DEGREES_PHASE"] = 14] = "DEGREES_PHASE";
EngineeringUnits222[EngineeringUnits222["POWER_FACTOR"] = 15] = "POWER_FACTOR";
EngineeringUnits222[EngineeringUnits222["WEBERS"] = 178] = "WEBERS";
EngineeringUnits222[EngineeringUnits222["AMPERE_SECONDS"] = 238] = "AMPERE_SECONDS";
EngineeringUnits222[EngineeringUnits222["VOLT_AMPERE_HOURS"] = 239] = "VOLT_AMPERE_HOURS";
EngineeringUnits222[EngineeringUnits222["KILOVOLT_AMPERE_HOURS"] = 240] = "KILOVOLT_AMPERE_HOURS";
EngineeringUnits222[EngineeringUnits222["MEGAVOLT_AMPERE_HOURS"] = 241] = "MEGAVOLT_AMPERE_HOURS";
EngineeringUnits222[EngineeringUnits222["VOLT_AMPERE_HOURS_REACTIVE"] = 242] = "VOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["KILOVOLT_AMPERE_HOURS_REACTIVE"] = 243] = "KILOVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["MEGAVOLT_AMPERE_HOURS_REACTIVE"] = 244] = "MEGAVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["VOLT_SQUARE_HOURS"] = 245] = "VOLT_SQUARE_HOURS";
EngineeringUnits222[EngineeringUnits222["AMPERE_SQUARE_HOURS"] = 246] = "AMPERE_SQUARE_HOURS";
EngineeringUnits222[EngineeringUnits222["JOULES"] = 16] = "JOULES";
EngineeringUnits222[EngineeringUnits222["KILOJOULES"] = 17] = "KILOJOULES";
EngineeringUnits222[EngineeringUnits222["KILOJOULES_PER_KILOGRAM"] = 125] = "KILOJOULES_PER_KILOGRAM";
EngineeringUnits222[EngineeringUnits222["MEGAJOULES"] = 126] = "MEGAJOULES";
EngineeringUnits222[EngineeringUnits222["WATT_HOURS"] = 18] = "WATT_HOURS";
EngineeringUnits222[EngineeringUnits222["KILOWATT_HOURS"] = 19] = "KILOWATT_HOURS";
EngineeringUnits222[EngineeringUnits222["MEGAWATT_HOURS"] = 146] = "MEGAWATT_HOURS";
EngineeringUnits222[EngineeringUnits222["WATT_HOURS_REACTIVE"] = 203] = "WATT_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["KILOWATT_HOURS_REACTIVE"] = 204] = "KILOWATT_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["MEGAWATT_HOURS_REACTIVE"] = 205] = "MEGAWATT_HOURS_REACTIVE";
EngineeringUnits222[EngineeringUnits222["BTUS"] = 20] = "BTUS";
EngineeringUnits222[EngineeringUnits222["KILO_BTUS"] = 147] = "KILO_BTUS";
EngineeringUnits222[EngineeringUnits222["MEGA_BTUS"] = 148] = "MEGA_BTUS";
EngineeringUnits222[EngineeringUnits222["THERMS"] = 21] = "THERMS";
EngineeringUnits222[EngineeringUnits222["TON_HOURS"] = 22] = "TON_HOURS";
EngineeringUnits222[EngineeringUnits222["JOULES_PER_KILOGRAM_DRY_AIR"] = 23] = "JOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits222[EngineeringUnits222["KILOJOULES_PER_KILOGRAM_DRY_AIR"] = 149] = "KILOJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits222[EngineeringUnits222["MEGAJOULES_PER_KILOGRAM_DRY_AIR"] = 150] = "MEGAJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits222[EngineeringUnits222["BTUS_PER_POUND_DRY_AIR"] = 24] = "BTUS_PER_POUND_DRY_AIR";
EngineeringUnits222[EngineeringUnits222["BTUS_PER_POUND"] = 117] = "BTUS_PER_POUND";
EngineeringUnits222[EngineeringUnits222["JOULES_PER_DEGREE_KELVIN"] = 127] = "JOULES_PER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["KILOJOULES_PER_DEGREE_KELVIN"] = 151] = "KILOJOULES_PER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["MEGAJOULES_PER_DEGREE_KELVIN"] = 152] = "MEGAJOULES_PER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["JOULES_PER_KILOGRAM_DEGREE_KELVIN"] = 128] = "JOULES_PER_KILOGRAM_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["NEWTON"] = 153] = "NEWTON";
EngineeringUnits222[EngineeringUnits222["CYCLES_PER_HOUR"] = 25] = "CYCLES_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["CYCLES_PER_MINUTE"] = 26] = "CYCLES_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["HERTZ"] = 27] = "HERTZ";
EngineeringUnits222[EngineeringUnits222["KILOHERTZ"] = 129] = "KILOHERTZ";
EngineeringUnits222[EngineeringUnits222["MEGAHERTZ"] = 130] = "MEGAHERTZ";
EngineeringUnits222[EngineeringUnits222["PER_HOUR"] = 131] = "PER_HOUR";
EngineeringUnits222[EngineeringUnits222["GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR"] = 28] = "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR";
EngineeringUnits222[EngineeringUnits222["PERCENT_RELATIVE_HUMIDITY"] = 29] = "PERCENT_RELATIVE_HUMIDITY";
EngineeringUnits222[EngineeringUnits222["MICROMETERS"] = 194] = "MICROMETERS";
EngineeringUnits222[EngineeringUnits222["MILLIMETERS"] = 30] = "MILLIMETERS";
EngineeringUnits222[EngineeringUnits222["CENTIMETERS"] = 118] = "CENTIMETERS";
EngineeringUnits222[EngineeringUnits222["KILOMETERS"] = 193] = "KILOMETERS";
EngineeringUnits222[EngineeringUnits222["METERS"] = 31] = "METERS";
EngineeringUnits222[EngineeringUnits222["INCHES"] = 32] = "INCHES";
EngineeringUnits222[EngineeringUnits222["FEET"] = 33] = "FEET";
EngineeringUnits222[EngineeringUnits222["CANDELAS"] = 179] = "CANDELAS";
EngineeringUnits222[EngineeringUnits222["CANDELAS_PER_SQUARE_METER"] = 180] = "CANDELAS_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["WATTS_PER_SQUARE_FOOT"] = 34] = "WATTS_PER_SQUARE_FOOT";
EngineeringUnits222[EngineeringUnits222["WATTS_PER_SQUARE_METER"] = 35] = "WATTS_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["LUMENS"] = 36] = "LUMENS";
EngineeringUnits222[EngineeringUnits222["LUXES"] = 37] = "LUXES";
EngineeringUnits222[EngineeringUnits222["FOOT_CANDLES"] = 38] = "FOOT_CANDLES";
EngineeringUnits222[EngineeringUnits222["MILLIGRAMS"] = 196] = "MILLIGRAMS";
EngineeringUnits222[EngineeringUnits222["GRAMS"] = 195] = "GRAMS";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS"] = 39] = "KILOGRAMS";
EngineeringUnits222[EngineeringUnits222["POUNDS_MASS"] = 40] = "POUNDS_MASS";
EngineeringUnits222[EngineeringUnits222["TONS"] = 41] = "TONS";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_SECOND"] = 154] = "GRAMS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_MINUTE"] = 155] = "GRAMS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS_PER_SECOND"] = 42] = "KILOGRAMS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS_PER_MINUTE"] = 43] = "KILOGRAMS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS_PER_HOUR"] = 44] = "KILOGRAMS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["POUNDS_MASS_PER_SECOND"] = 119] = "POUNDS_MASS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["POUNDS_MASS_PER_MINUTE"] = 45] = "POUNDS_MASS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["POUNDS_MASS_PER_HOUR"] = 46] = "POUNDS_MASS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["TONS_PER_HOUR"] = 156] = "TONS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["MILLIWATTS"] = 132] = "MILLIWATTS";
EngineeringUnits222[EngineeringUnits222["WATTS"] = 47] = "WATTS";
EngineeringUnits222[EngineeringUnits222["KILOWATTS"] = 48] = "KILOWATTS";
EngineeringUnits222[EngineeringUnits222["MEGAWATTS"] = 49] = "MEGAWATTS";
EngineeringUnits222[EngineeringUnits222["BTUS_PER_HOUR"] = 50] = "BTUS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["KILO_BTUS_PER_HOUR"] = 157] = "KILO_BTUS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["JOULE_PER_HOURS"] = 247] = "JOULE_PER_HOURS";
EngineeringUnits222[EngineeringUnits222["HORSEPOWER"] = 51] = "HORSEPOWER";
EngineeringUnits222[EngineeringUnits222["TONS_REFRIGERATION"] = 52] = "TONS_REFRIGERATION";
EngineeringUnits222[EngineeringUnits222["PASCALS"] = 53] = "PASCALS";
EngineeringUnits222[EngineeringUnits222["HECTOPASCALS"] = 133] = "HECTOPASCALS";
EngineeringUnits222[EngineeringUnits222["KILOPASCALS"] = 54] = "KILOPASCALS";
EngineeringUnits222[EngineeringUnits222["MILLIBARS"] = 134] = "MILLIBARS";
EngineeringUnits222[EngineeringUnits222["BARS"] = 55] = "BARS";
EngineeringUnits222[EngineeringUnits222["POUNDS_FORCE_PER_SQUARE_INCH"] = 56] = "POUNDS_FORCE_PER_SQUARE_INCH";
EngineeringUnits222[EngineeringUnits222["MILLIMETERS_OF_WATER"] = 206] = "MILLIMETERS_OF_WATER";
EngineeringUnits222[EngineeringUnits222["CENTIMETERS_OF_WATER"] = 57] = "CENTIMETERS_OF_WATER";
EngineeringUnits222[EngineeringUnits222["INCHES_OF_WATER"] = 58] = "INCHES_OF_WATER";
EngineeringUnits222[EngineeringUnits222["MILLIMETERS_OF_MERCURY"] = 59] = "MILLIMETERS_OF_MERCURY";
EngineeringUnits222[EngineeringUnits222["CENTIMETERS_OF_MERCURY"] = 60] = "CENTIMETERS_OF_MERCURY";
EngineeringUnits222[EngineeringUnits222["INCHES_OF_MERCURY"] = 61] = "INCHES_OF_MERCURY";
EngineeringUnits222[EngineeringUnits222["DEGREES_CELSIUS"] = 62] = "DEGREES_CELSIUS";
EngineeringUnits222[EngineeringUnits222["DEGREES_KELVIN"] = 63] = "DEGREES_KELVIN";
EngineeringUnits222[EngineeringUnits222["DEGREES_KELVIN_PER_HOUR"] = 181] = "DEGREES_KELVIN_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["DEGREES_KELVIN_PER_MINUTE"] = 182] = "DEGREES_KELVIN_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["DEGREES_FAHRENHEIT"] = 64] = "DEGREES_FAHRENHEIT";
EngineeringUnits222[EngineeringUnits222["DEGREE_DAYS_CELSIUS"] = 65] = "DEGREE_DAYS_CELSIUS";
EngineeringUnits222[EngineeringUnits222["DEGREE_DAYS_FAHRENHEIT"] = 66] = "DEGREE_DAYS_FAHRENHEIT";
EngineeringUnits222[EngineeringUnits222["DELTA_DEGREES_FAHRENHEIT"] = 120] = "DELTA_DEGREES_FAHRENHEIT";
EngineeringUnits222[EngineeringUnits222["DELTA_DEGREES_KELVIN"] = 121] = "DELTA_DEGREES_KELVIN";
EngineeringUnits222[EngineeringUnits222["YEARS"] = 67] = "YEARS";
EngineeringUnits222[EngineeringUnits222["MONTHS"] = 68] = "MONTHS";
EngineeringUnits222[EngineeringUnits222["WEEKS"] = 69] = "WEEKS";
EngineeringUnits222[EngineeringUnits222["DAYS"] = 70] = "DAYS";
EngineeringUnits222[EngineeringUnits222["HOURS"] = 71] = "HOURS";
EngineeringUnits222[EngineeringUnits222["MINUTES"] = 72] = "MINUTES";
EngineeringUnits222[EngineeringUnits222["SECONDS"] = 73] = "SECONDS";
EngineeringUnits222[EngineeringUnits222["HUNDREDTHS_SECONDS"] = 158] = "HUNDREDTHS_SECONDS";
EngineeringUnits222[EngineeringUnits222["MILLISECONDS"] = 159] = "MILLISECONDS";
EngineeringUnits222[EngineeringUnits222["NEWTON_METERS"] = 160] = "NEWTON_METERS";
EngineeringUnits222[EngineeringUnits222["MILLIMETERS_PER_SECOND"] = 161] = "MILLIMETERS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["MILLIMETERS_PER_MINUTE"] = 162] = "MILLIMETERS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["METERS_PER_SECOND"] = 74] = "METERS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["METERS_PER_MINUTE"] = 163] = "METERS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["METERS_PER_HOUR"] = 164] = "METERS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["KILOMETERS_PER_HOUR"] = 75] = "KILOMETERS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["FEET_PER_SECOND"] = 76] = "FEET_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["FEET_PER_MINUTE"] = 77] = "FEET_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["MILES_PER_HOUR"] = 78] = "MILES_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["CUBIC_FEET"] = 79] = "CUBIC_FEET";
EngineeringUnits222[EngineeringUnits222["CUBIC_METERS"] = 80] = "CUBIC_METERS";
EngineeringUnits222[EngineeringUnits222["IMPERIAL_GALLONS"] = 81] = "IMPERIAL_GALLONS";
EngineeringUnits222[EngineeringUnits222["MILLILITERS"] = 197] = "MILLILITERS";
EngineeringUnits222[EngineeringUnits222["LITERS"] = 82] = "LITERS";
EngineeringUnits222[EngineeringUnits222["US_GALLONS"] = 83] = "US_GALLONS";
EngineeringUnits222[EngineeringUnits222["CUBIC_FEET_PER_SECOND"] = 142] = "CUBIC_FEET_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["CUBIC_FEET_PER_MINUTE"] = 84] = "CUBIC_FEET_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["MILLION_STANDARD_CUBIC_FEET_PER_MINUTE"] = 254] = "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["CUBIC_FEET_PER_HOUR"] = 191] = "CUBIC_FEET_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["CUBIC_FEET_PER_DAY"] = 248] = "CUBIC_FEET_PER_DAY";
EngineeringUnits222[EngineeringUnits222["STANDARD_CUBIC_FEET_PER_DAY"] = 47808] = "STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits222[EngineeringUnits222["MILLION_STANDARD_CUBIC_FEET_PER_DAY"] = 47809] = "MILLION_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits222[EngineeringUnits222["THOUSAND_CUBIC_FEET_PER_DAY"] = 47810] = "THOUSAND_CUBIC_FEET_PER_DAY";
EngineeringUnits222[EngineeringUnits222["THOUSAND_STANDARD_CUBIC_FEET_PER_DAY"] = 47811] = "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits222[EngineeringUnits222["POUNDS_MASS_PER_DAY"] = 47812] = "POUNDS_MASS_PER_DAY";
EngineeringUnits222[EngineeringUnits222["CUBIC_METERS_PER_SECOND"] = 85] = "CUBIC_METERS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["CUBIC_METERS_PER_MINUTE"] = 165] = "CUBIC_METERS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["CUBIC_METERS_PER_HOUR"] = 135] = "CUBIC_METERS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["CUBIC_METERS_PER_DAY"] = 249] = "CUBIC_METERS_PER_DAY";
EngineeringUnits222[EngineeringUnits222["IMPERIAL_GALLONS_PER_MINUTE"] = 86] = "IMPERIAL_GALLONS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["MILLILITERS_PER_SECOND"] = 198] = "MILLILITERS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["LITERS_PER_SECOND"] = 87] = "LITERS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["LITERS_PER_MINUTE"] = 88] = "LITERS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["LITERS_PER_HOUR"] = 136] = "LITERS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["US_GALLONS_PER_MINUTE"] = 89] = "US_GALLONS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["US_GALLONS_PER_HOUR"] = 192] = "US_GALLONS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["DEGREES_ANGULAR"] = 90] = "DEGREES_ANGULAR";
EngineeringUnits222[EngineeringUnits222["DEGREES_CELSIUS_PER_HOUR"] = 91] = "DEGREES_CELSIUS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["DEGREES_CELSIUS_PER_MINUTE"] = 92] = "DEGREES_CELSIUS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["DEGREES_FAHRENHEIT_PER_HOUR"] = 93] = "DEGREES_FAHRENHEIT_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["DEGREES_FAHRENHEIT_PER_MINUTE"] = 94] = "DEGREES_FAHRENHEIT_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["JOULE_SECONDS"] = 183] = "JOULE_SECONDS";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS_PER_CUBIC_METER"] = 186] = "KILOGRAMS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["KILOWATT_HOURS_PER_SQUARE_METER"] = 137] = "KILOWATT_HOURS_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["KILOWATT_HOURS_PER_SQUARE_FOOT"] = 138] = "KILOWATT_HOURS_PER_SQUARE_FOOT";
EngineeringUnits222[EngineeringUnits222["WATT_HOURS_PER_CUBIC_METER"] = 250] = "WATT_HOURS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["JOULES_PER_CUBIC_METER"] = 251] = "JOULES_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["MEGAJOULES_PER_SQUARE_METER"] = 139] = "MEGAJOULES_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["MEGAJOULES_PER_SQUARE_FOOT"] = 140] = "MEGAJOULES_PER_SQUARE_FOOT";
EngineeringUnits222[EngineeringUnits222["MOLE_PERCENT"] = 252] = "MOLE_PERCENT";
EngineeringUnits222[EngineeringUnits222["NO_UNITS"] = 95] = "NO_UNITS";
EngineeringUnits222[EngineeringUnits222["NEWTON_SECONDS"] = 187] = "NEWTON_SECONDS";
EngineeringUnits222[EngineeringUnits222["NEWTONS_PER_METER"] = 188] = "NEWTONS_PER_METER";
EngineeringUnits222[EngineeringUnits222["PARTS_PER_MILLION"] = 96] = "PARTS_PER_MILLION";
EngineeringUnits222[EngineeringUnits222["PARTS_PER_BILLION"] = 97] = "PARTS_PER_BILLION";
EngineeringUnits222[EngineeringUnits222["PASCAL_SECONDS"] = 253] = "PASCAL_SECONDS";
EngineeringUnits222[EngineeringUnits222["PERCENT"] = 98] = "PERCENT";
EngineeringUnits222[EngineeringUnits222["PERCENT_OBSCURATION_PER_FOOT"] = 143] = "PERCENT_OBSCURATION_PER_FOOT";
EngineeringUnits222[EngineeringUnits222["PERCENT_OBSCURATION_PER_METER"] = 144] = "PERCENT_OBSCURATION_PER_METER";
EngineeringUnits222[EngineeringUnits222["PERCENT_PER_SECOND"] = 99] = "PERCENT_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["PER_MINUTE"] = 100] = "PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["PER_SECOND"] = 101] = "PER_SECOND";
EngineeringUnits222[EngineeringUnits222["PSI_PER_DEGREE_FAHRENHEIT"] = 102] = "PSI_PER_DEGREE_FAHRENHEIT";
EngineeringUnits222[EngineeringUnits222["RADIANS"] = 103] = "RADIANS";
EngineeringUnits222[EngineeringUnits222["RADIANS_PER_SECOND"] = 184] = "RADIANS_PER_SECOND";
EngineeringUnits222[EngineeringUnits222["REVOLUTIONS_PER_MINUTE"] = 104] = "REVOLUTIONS_PER_MINUTE";
EngineeringUnits222[EngineeringUnits222["SQUARE_METERS_PER_NEWTON"] = 185] = "SQUARE_METERS_PER_NEWTON";
EngineeringUnits222[EngineeringUnits222["WATTS_PER_METER_PER_DEGREE_KELVIN"] = 189] = "WATTS_PER_METER_PER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["WATTS_PER_SQUARE_METER_DEGREE_KELVIN"] = 141] = "WATTS_PER_SQUARE_METER_DEGREE_KELVIN";
EngineeringUnits222[EngineeringUnits222["PER_MILLE"] = 207] = "PER_MILLE";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_GRAM"] = 208] = "GRAMS_PER_GRAM";
EngineeringUnits222[EngineeringUnits222["KILOGRAMS_PER_KILOGRAM"] = 209] = "KILOGRAMS_PER_KILOGRAM";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_KILOGRAM"] = 210] = "GRAMS_PER_KILOGRAM";
EngineeringUnits222[EngineeringUnits222["MILLIGRAMS_PER_GRAM"] = 211] = "MILLIGRAMS_PER_GRAM";
EngineeringUnits222[EngineeringUnits222["MILLIGRAMS_PER_KILOGRAM"] = 212] = "MILLIGRAMS_PER_KILOGRAM";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_MILLILITER"] = 213] = "GRAMS_PER_MILLILITER";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_LITER"] = 214] = "GRAMS_PER_LITER";
EngineeringUnits222[EngineeringUnits222["MILLIGRAMS_PER_LITER"] = 215] = "MILLIGRAMS_PER_LITER";
EngineeringUnits222[EngineeringUnits222["MICROGRAMS_PER_LITER"] = 216] = "MICROGRAMS_PER_LITER";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_CUBIC_METER"] = 217] = "GRAMS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["MILLIGRAMS_PER_CUBIC_METER"] = 218] = "MILLIGRAMS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["MICROGRAMS_PER_CUBIC_METER"] = 219] = "MICROGRAMS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["NANOGRAMS_PER_CUBIC_METER"] = 220] = "NANOGRAMS_PER_CUBIC_METER";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_CUBIC_CENTIMETER"] = 221] = "GRAMS_PER_CUBIC_CENTIMETER";
EngineeringUnits222[EngineeringUnits222["BECQUERELS"] = 222] = "BECQUERELS";
EngineeringUnits222[EngineeringUnits222["KILOBECQUERELS"] = 223] = "KILOBECQUERELS";
EngineeringUnits222[EngineeringUnits222["MEGABECQUERELS"] = 224] = "MEGABECQUERELS";
EngineeringUnits222[EngineeringUnits222["GRAY"] = 225] = "GRAY";
EngineeringUnits222[EngineeringUnits222["MILLIGRAY"] = 226] = "MILLIGRAY";
EngineeringUnits222[EngineeringUnits222["MICROGRAY"] = 227] = "MICROGRAY";
EngineeringUnits222[EngineeringUnits222["SIEVERTS"] = 228] = "SIEVERTS";
EngineeringUnits222[EngineeringUnits222["MILLISIEVERTS"] = 229] = "MILLISIEVERTS";
EngineeringUnits222[EngineeringUnits222["MICROSIEVERTS"] = 230] = "MICROSIEVERTS";
EngineeringUnits222[EngineeringUnits222["MICROSIEVERTS_PER_HOUR"] = 231] = "MICROSIEVERTS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["MILLIREMS"] = 47814] = "MILLIREMS";
EngineeringUnits222[EngineeringUnits222["MILLIREMS_PER_HOUR"] = 47815] = "MILLIREMS_PER_HOUR";
EngineeringUnits222[EngineeringUnits222["DECIBELS_A"] = 232] = "DECIBELS_A";
EngineeringUnits222[EngineeringUnits222["NEPHELOMETRIC_TURBIDITY_UNIT"] = 233] = "NEPHELOMETRIC_TURBIDITY_UNIT";
EngineeringUnits222[EngineeringUnits222["PH"] = 234] = "PH";
EngineeringUnits222[EngineeringUnits222["GRAMS_PER_SQUARE_METER"] = 235] = "GRAMS_PER_SQUARE_METER";
EngineeringUnits222[EngineeringUnits222["MINUTES_PER_DEGREE_KELVIN"] = 236] = "MINUTES_PER_DEGREE_KELVIN";
return EngineeringUnits222;
})(EngineeringUnits22 || {});
var EscalatorFault22 = /* @__PURE__ */ ((EscalatorFault222) => {
EscalatorFault222[EscalatorFault222["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
EscalatorFault222[EscalatorFault222["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
EscalatorFault222[EscalatorFault222["MECHANICAL_COMPONENT_FAULT"] = 2] = "MECHANICAL_COMPONENT_FAULT";
EscalatorFault222[EscalatorFault222["OVERSPEED_FAULT"] = 3] = "OVERSPEED_FAULT";
EscalatorFault222[EscalatorFault222["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
EscalatorFault222[EscalatorFault222["SAFETY_DEVICE_FAULT"] = 5] = "SAFETY_DEVICE_FAULT";
EscalatorFault222[EscalatorFault222["CONTROLLER_SUPPLY_FAULT"] = 6] = "CONTROLLER_SUPPLY_FAULT";
EscalatorFault222[EscalatorFault222["DRIVE_TEMPERATURE_EXCEEDED"] = 7] = "DRIVE_TEMPERATURE_EXCEEDED";
EscalatorFault222[EscalatorFault222["COMB_PLATE_FAULT"] = 8] = "COMB_PLATE_FAULT";
return EscalatorFault222;
})(EscalatorFault22 || {});
var EscalatorMode22 = /* @__PURE__ */ ((EscalatorMode222) => {
EscalatorMode222[EscalatorMode222["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorMode222[EscalatorMode222["STOP"] = 1] = "STOP";
EscalatorMode222[EscalatorMode222["UP"] = 2] = "UP";
EscalatorMode222[EscalatorMode222["DOWN"] = 3] = "DOWN";
EscalatorMode222[EscalatorMode222["INSPECTION"] = 4] = "INSPECTION";
EscalatorMode222[EscalatorMode222["OUT_OF_SERVICE"] = 5] = "OUT_OF_SERVICE";
return EscalatorMode222;
})(EscalatorMode22 || {});
var EscalatorOperationDirection22 = /* @__PURE__ */ ((EscalatorOperationDirection222) => {
EscalatorOperationDirection222[EscalatorOperationDirection222["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorOperationDirection222[EscalatorOperationDirection222["STOPPED"] = 1] = "STOPPED";
EscalatorOperationDirection222[EscalatorOperationDirection222["UP_RATED_SPEED"] = 2] = "UP_RATED_SPEED";
EscalatorOperationDirection222[EscalatorOperationDirection222["UP_REDUCED_SPEED"] = 3] = "UP_REDUCED_SPEED";
EscalatorOperationDirection222[EscalatorOperationDirection222["DOWN_RATED_SPEED"] = 4] = "DOWN_RATED_SPEED";
EscalatorOperationDirection222[EscalatorOperationDirection222["DOWN_REDUCED_SPEED"] = 5] = "DOWN_REDUCED_SPEED";
return EscalatorOperationDirection222;
})(EscalatorOperationDirection22 || {});
var EventState22 = /* @__PURE__ */ ((EventState222) => {
EventState222[EventState222["NORMAL"] = 0] = "NORMAL";
EventState222[EventState222["FAULT"] = 1] = "FAULT";
EventState222[EventState222["OFFNORMAL"] = 2] = "OFFNORMAL";
EventState222[EventState222["HIGH_LIMIT"] = 3] = "HIGH_LIMIT";
EventState222[EventState222["LOW_LIMIT"] = 4] = "LOW_LIMIT";
EventState222[EventState222["LIFE_SAFETY_ALARM"] = 5] = "LIFE_SAFETY_ALARM";
return EventState222;
})(EventState22 || {});
var EventType22 = /* @__PURE__ */ ((EventType222) => {
EventType222[EventType222["CHANGE_OF_BITSTRING"] = 0] = "CHANGE_OF_BITSTRING";
EventType222[EventType222["CHANGE_OF_STATE"] = 1] = "CHANGE_OF_STATE";
EventType222[EventType222["CHANGE_OF_VALUE"] = 2] = "CHANGE_OF_VALUE";
EventType222[EventType222["COMMAND_FAILURE"] = 3] = "COMMAND_FAILURE";
EventType222[EventType222["FLOATING_LIMIT"] = 4] = "FLOATING_LIMIT";
EventType222[EventType222["OUT_OF_RANGE"] = 5] = "OUT_OF_RANGE";
EventType222[EventType222["COMPLEX_EVENT_TYPE"] = 6] = "COMPLEX_EVENT_TYPE";
EventType222[EventType222["CHANGE_OF_LIFE_SAFETY"] = 8] = "CHANGE_OF_LIFE_SAFETY";
EventType222[EventType222["EXTENDED"] = 9] = "EXTENDED";
EventType222[EventType222["BUFFER_READY"] = 10] = "BUFFER_READY";
EventType222[EventType222["UNSIGNED_RANGE"] = 11] = "UNSIGNED_RANGE";
EventType222[EventType222["ACCESS_EVENT"] = 13] = "ACCESS_EVENT";
EventType222[EventType222["DOUBLE_OUT_OF_RANGE"] = 14] = "DOUBLE_OUT_OF_RANGE";
EventType222[EventType222["SIGNED_OUT_OF_RANGE"] = 15] = "SIGNED_OUT_OF_RANGE";
EventType222[EventType222["UNSIGNED_OUT_OF_RANGE"] = 16] = "UNSIGNED_OUT_OF_RANGE";
EventType222[EventType222["CHANGE_OF_CHARACTERSTRING"] = 17] = "CHANGE_OF_CHARACTERSTRING";
EventType222[EventType222["CHANGE_OF_STATUS_FLAGS"] = 18] = "CHANGE_OF_STATUS_FLAGS";
EventType222[EventType222["CHANGE_OF_RELIABILITY"] = 19] = "CHANGE_OF_RELIABILITY";
EventType222[EventType222["NONE"] = 20] = "NONE";
EventType222[EventType222["CHANGE_OF_DISCRETE_VALUE"] = 21] = "CHANGE_OF_DISCRETE_VALUE";
EventType222[EventType222["CHANGE_OF_TIMER"] = 22] = "CHANGE_OF_TIMER";
return EventType222;
})(EventType22 || {});
var FaultType22 = /* @__PURE__ */ ((FaultType222) => {
FaultType222[FaultType222["NONE"] = 0] = "NONE";
FaultType222[FaultType222["FAULT_CHARACTERSTRING"] = 1] = "FAULT_CHARACTERSTRING";
FaultType222[FaultType222["FAULT_EXTENDED"] = 2] = "FAULT_EXTENDED";
FaultType222[FaultType222["FAULT_LIFE_SAFETY"] = 3] = "FAULT_LIFE_SAFETY";
FaultType222[FaultType222["FAULT_STATE"] = 4] = "FAULT_STATE";
FaultType222[FaultType222["FAULT_STATUS_FLAGS"] = 5] = "FAULT_STATUS_FLAGS";
FaultType222[FaultType222["FAULT_OUT_OF_RANGE"] = 6] = "FAULT_OUT_OF_RANGE";
FaultType222[FaultType222["FAULT_LISTED"] = 7] = "FAULT_LISTED";
return FaultType222;
})(FaultType22 || {});
var FileAccessMethod22 = /* @__PURE__ */ ((FileAccessMethod222) => {
FileAccessMethod222[FileAccessMethod222["RECORD_ACCESS"] = 0] = "RECORD_ACCESS";
FileAccessMethod222[FileAccessMethod222["STREAM_ACCESS"] = 1] = "STREAM_ACCESS";
return FileAccessMethod222;
})(FileAccessMethod22 || {});
var IPMode22 = /* @__PURE__ */ ((IPMode222) => {
IPMode222[IPMode222["NORMAL"] = 0] = "NORMAL";
IPMode222[IPMode222["FOREIGN"] = 1] = "FOREIGN";
IPMode222[IPMode222["BBMD"] = 2] = "BBMD";
return IPMode222;
})(IPMode22 || {});
var LifeSafetyMode22 = /* @__PURE__ */ ((LifeSafetyMode222) => {
LifeSafetyMode222[LifeSafetyMode222["OFF"] = 0] = "OFF";
LifeSafetyMode222[LifeSafetyMode222["ON"] = 1] = "ON";
LifeSafetyMode222[LifeSafetyMode222["TEST"] = 2] = "TEST";
LifeSafetyMode222[LifeSafetyMode222["MANNED"] = 3] = "MANNED";
LifeSafetyMode222[LifeSafetyMode222["UNMANNED"] = 4] = "UNMANNED";
LifeSafetyMode222[LifeSafetyMode222["ARMED"] = 5] = "ARMED";
LifeSafetyMode222[LifeSafetyMode222["DISARMED"] = 6] = "DISARMED";
LifeSafetyMode222[LifeSafetyMode222["PREARMED"] = 7] = "PREARMED";
LifeSafetyMode222[LifeSafetyMode222["SLOW"] = 8] = "SLOW";
LifeSafetyMode222[LifeSafetyMode222["FAST"] = 9] = "FAST";
LifeSafetyMode222[LifeSafetyMode222["DISCONNECTED"] = 10] = "DISCONNECTED";
LifeSafetyMode222[LifeSafetyMode222["ENABLED"] = 11] = "ENABLED";
LifeSafetyMode222[LifeSafetyMode222["DISABLED"] = 12] = "DISABLED";
LifeSafetyMode222[LifeSafetyMode222["AUTOMATIC_RELEASE_DISABLED"] = 13] = "AUTOMATIC_RELEASE_DISABLED";
LifeSafetyMode222[LifeSafetyMode222["DEFAULT"] = 14] = "DEFAULT";
return LifeSafetyMode222;
})(LifeSafetyMode22 || {});
var LifeSafetyOperation22 = /* @__PURE__ */ ((LifeSafetyOperation222) => {
LifeSafetyOperation222[LifeSafetyOperation222["NONE"] = 0] = "NONE";
LifeSafetyOperation222[LifeSafetyOperation222["SILENCE"] = 1] = "SILENCE";
LifeSafetyOperation222[LifeSafetyOperation222["SILENCE_AUDIBLE"] = 2] = "SILENCE_AUDIBLE";
LifeSafetyOperation222[LifeSafetyOperation222["SILENCE_VISUAL"] = 3] = "SILENCE_VISUAL";
LifeSafetyOperation222[LifeSafetyOperation222["RESET"] = 4] = "RESET";
LifeSafetyOperation222[LifeSafetyOperation222["RESET_ALARM"] = 5] = "RESET_ALARM";
LifeSafetyOperation222[LifeSafetyOperation222["RESET_FAULT"] = 6] = "RESET_FAULT";
LifeSafetyOperation222[LifeSafetyOperation222["UNSILENCE"] = 7] = "UNSILENCE";
LifeSafetyOperation222[LifeSafetyOperation222["UNSILENCE_AUDIBLE"] = 8] = "UNSILENCE_AUDIBLE";
LifeSafetyOperation222[LifeSafetyOperation222["UNSILENCE_VISUAL"] = 9] = "UNSILENCE_VISUAL";
return LifeSafetyOperation222;
})(LifeSafetyOperation22 || {});
var LifeSafetyState22 = /* @__PURE__ */ ((LifeSafetyState222) => {
LifeSafetyState222[LifeSafetyState222["QUIET"] = 0] = "QUIET";
LifeSafetyState222[LifeSafetyState222["PRE_ALARM"] = 1] = "PRE_ALARM";
LifeSafetyState222[LifeSafetyState222["ALARM"] = 2] = "ALARM";
LifeSafetyState222[LifeSafetyState222["FAULT"] = 3] = "FAULT";
LifeSafetyState222[LifeSafetyState222["FAULT_PRE_ALARM"] = 4] = "FAULT_PRE_ALARM";
LifeSafetyState222[LifeSafetyState222["FAULT_ALARM"] = 5] = "FAULT_ALARM";
LifeSafetyState222[LifeSafetyState222["NOT_READY"] = 6] = "NOT_READY";
LifeSafetyState222[LifeSafetyState222["ACTIVE"] = 7] = "ACTIVE";
LifeSafetyState222[LifeSafetyState222["TAMPER"] = 8] = "TAMPER";
LifeSafetyState222[LifeSafetyState222["TEST_ALARM"] = 9] = "TEST_ALARM";
LifeSafetyState222[LifeSafetyState222["TEST_ACTIVE"] = 10] = "TEST_ACTIVE";
LifeSafetyState222[LifeSafetyState222["TEST_FAULT"] = 11] = "TEST_FAULT";
LifeSafetyState222[LifeSafetyState222["TEST_FAULT_ALARM"] = 12] = "TEST_FAULT_ALARM";
LifeSafetyState222[LifeSafetyState222["HOLDUP"] = 13] = "HOLDUP";
LifeSafetyState222[LifeSafetyState222["DURESS"] = 14] = "DURESS";
LifeSafetyState222[LifeSafetyState222["TAMPER_ALARM"] = 15] = "TAMPER_ALARM";
LifeSafetyState222[LifeSafetyState222["ABNORMAL"] = 16] = "ABNORMAL";
LifeSafetyState222[LifeSafetyState222["EMERGENCY_POWER"] = 17] = "EMERGENCY_POWER";
LifeSafetyState222[LifeSafetyState222["DELAYED"] = 18] = "DELAYED";
LifeSafetyState222[LifeSafetyState222["BLOCKED"] = 19] = "BLOCKED";
LifeSafetyState222[LifeSafetyState222["LOCAL_ALARM"] = 20] = "LOCAL_ALARM";
LifeSafetyState222[LifeSafetyState222["GENERAL_ALARM"] = 21] = "GENERAL_ALARM";
LifeSafetyState222[LifeSafetyState222["SUPERVISORY"] = 22] = "SUPERVISORY";
LifeSafetyState222[LifeSafetyState222["TEST_SUPERVISORY"] = 23] = "TEST_SUPERVISORY";
return LifeSafetyState222;
})(LifeSafetyState22 || {});
var LiftCarDirection22 = /* @__PURE__ */ ((LiftCarDirection222) => {
LiftCarDirection222[LiftCarDirection222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDirection222[LiftCarDirection222["NONE"] = 1] = "NONE";
LiftCarDirection222[LiftCarDirection222["STOPPED"] = 2] = "STOPPED";
LiftCarDirection222[LiftCarDirection222["UP"] = 3] = "UP";
LiftCarDirection222[LiftCarDirection222["DOWN"] = 4] = "DOWN";
LiftCarDirection222[LiftCarDirection222["UP_AND_DOWN"] = 5] = "UP_AND_DOWN";
return LiftCarDirection222;
})(LiftCarDirection22 || {});
var LiftCarDoorCommand22 = /* @__PURE__ */ ((LiftCarDoorCommand222) => {
LiftCarDoorCommand222[LiftCarDoorCommand222["NONE"] = 0] = "NONE";
LiftCarDoorCommand222[LiftCarDoorCommand222["OPEN"] = 1] = "OPEN";
LiftCarDoorCommand222[LiftCarDoorCommand222["CLOSE"] = 2] = "CLOSE";
return LiftCarDoorCommand222;
})(LiftCarDoorCommand22 || {});
var LiftCarDriveStatus22 = /* @__PURE__ */ ((LiftCarDriveStatus222) => {
LiftCarDriveStatus222[LiftCarDriveStatus222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDriveStatus222[LiftCarDriveStatus222["STATIONARY"] = 1] = "STATIONARY";
LiftCarDriveStatus222[LiftCarDriveStatus222["BRAKING"] = 2] = "BRAKING";
LiftCarDriveStatus222[LiftCarDriveStatus222["ACCELERATE"] = 3] = "ACCELERATE";
LiftCarDriveStatus222[LiftCarDriveStatus222["DECELERATE"] = 4] = "DECELERATE";
LiftCarDriveStatus222[LiftCarDriveStatus222["RATED_SPEED"] = 5] = "RATED_SPEED";
LiftCarDriveStatus222[LiftCarDriveStatus222["SINGLE_FLOOR_JUMP"] = 6] = "SINGLE_FLOOR_JUMP";
LiftCarDriveStatus222[LiftCarDriveStatus222["TWO_FLOOR_JUMP"] = 7] = "TWO_FLOOR_JUMP";
LiftCarDriveStatus222[LiftCarDriveStatus222["THREE_FLOOR_JUMP"] = 8] = "THREE_FLOOR_JUMP";
LiftCarDriveStatus222[LiftCarDriveStatus222["MULTI_FLOOR_JUMP"] = 9] = "MULTI_FLOOR_JUMP";
return LiftCarDriveStatus222;
})(LiftCarDriveStatus22 || {});
var LiftCarMode22 = /* @__PURE__ */ ((LiftCarMode222) => {
LiftCarMode222[LiftCarMode222["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarMode222[LiftCarMode222["NORMAL"] = 1] = "NORMAL";
LiftCarMode222[LiftCarMode222["VIP"] = 2] = "VIP";
LiftCarMode222[LiftCarMode222["HOMING"] = 3] = "HOMING";
LiftCarMode222[LiftCarMode222["PARKING"] = 4] = "PARKING";
LiftCarMode222[LiftCarMode222["ATTENDANT_CONTROL"] = 5] = "ATTENDANT_CONTROL";
LiftCarMode222[LiftCarMode222["FIREFIGHTER_CONTROL"] = 6] = "FIREFIGHTER_CONTROL";
LiftCarMode222[LiftCarMode222["EMERGENCY_POWER"] = 7] = "EMERGENCY_POWER";
LiftCarMode222[LiftCarMode222["INSPECTION"] = 8] = "INSPECTION";
LiftCarMode222[LiftCarMode222["CABINET_RECALL"] = 9] = "CABINET_RECALL";
LiftCarMode222[LiftCarMode222["EARTHQUAKE_OPERATION"] = 10] = "EARTHQUAKE_OPERATION";
LiftCarMode222[LiftCarMode222["FIRE_OPERATION"] = 11] = "FIRE_OPERATION";
LiftCarMode222[LiftCarMode222["OUT_OF_SERVICE"] = 12] = "OUT_OF_SERVICE";
LiftCarMode222[LiftCarMode222["OCCUPANT_EVACUATION"] = 13] = "OCCUPANT_EVACUATION";
return LiftCarMode222;
})(LiftCarMode22 || {});
var LiftFault22 = /* @__PURE__ */ ((LiftFault222) => {
LiftFault222[LiftFault222["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
LiftFault222[LiftFault222["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
LiftFault222[LiftFault222["GOVERNOR_AND_SAFETY_GEAR_FAULT"] = 2] = "GOVERNOR_AND_SAFETY_GEAR_FAULT";
LiftFault222[LiftFault222["LIFT_SHAFT_DEVICE_FAULT"] = 3] = "LIFT_SHAFT_DEVICE_FAULT";
LiftFault222[LiftFault222["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
LiftFault222[LiftFault222["SAFETY_INTERLOCK_FAULT"] = 5] = "SAFETY_INTERLOCK_FAULT";
LiftFault222[LiftFault222["DOOR_CLOSING_FAULT"] = 6] = "DOOR_CLOSING_FAULT";
LiftFault222[LiftFault222["DOOR_OPENING_FAULT"] = 7] = "DOOR_OPENING_FAULT";
LiftFault222[LiftFault222["CAR_STOPPED_OUTSIDE_LANDING_ZONE"] = 8] = "CAR_STOPPED_OUTSIDE_LANDING_ZONE";
LiftFault222[LiftFault222["CALL_BUTTON_STUCK"] = 9] = "CALL_BUTTON_STUCK";
LiftFault222[LiftFault222["START_FAILURE"] = 10] = "START_FAILURE";
LiftFault222[LiftFault222["CONTROLLER_SUPPLY_FAULT"] = 11] = "CONTROLLER_SUPPLY_FAULT";
LiftFault222[LiftFault222["SELF_TEST_FAILURE"] = 12] = "SELF_TEST_FAILURE";
LiftFault222[LiftFault222["RUNTIME_LIMIT_EXCEEDED"] = 13] = "RUNTIME_LIMIT_EXCEEDED";
LiftFault222[LiftFault222["POSITION_LOST"] = 14] = "POSITION_LOST";
LiftFault222[LiftFault222["DRIVE_TEMPERATURE_EXCEEDED"] = 15] = "DRIVE_TEMPERATURE_EXCEEDED";
LiftFault222[LiftFault222["LOAD_MEASUREMENT_FAULT"] = 16] = "LOAD_MEASUREMENT_FAULT";
return LiftFault222;
})(LiftFault22 || {});
var LiftGroupMode22 = /* @__PURE__ */ ((LiftGroupMode222) => {
LiftGroupMode222[LiftGroupMode222["UNKNOWN"] = 0] = "UNKNOWN";
LiftGroupMode222[LiftGroupMode222["NORMAL"] = 1] = "NORMAL";
LiftGroupMode222[LiftGroupMode222["DOWN_PEAK"] = 2] = "DOWN_PEAK";
LiftGroupMode222[LiftGroupMode222["TWO_WAY"] = 3] = "TWO_WAY";
LiftGroupMode222[LiftGroupMode222["FOUR_WAY"] = 4] = "FOUR_WAY";
LiftGroupMode222[LiftGroupMode222["EMERGENCY_POWER"] = 5] = "EMERGENCY_POWER";
LiftGroupMode222[LiftGroupMode222["UP_PEAK"] = 6] = "UP_PEAK";
return LiftGroupMode222;
})(LiftGroupMode22 || {});
var LightingInProgress22 = /* @__PURE__ */ ((LightingInProgress222) => {
LightingInProgress222[LightingInProgress222["IDLE"] = 0] = "IDLE";
LightingInProgress222[LightingInProgress222["FADE_ACTIVE"] = 1] = "FADE_ACTIVE";
LightingInProgress222[LightingInProgress222["RAMP_ACTIVE"] = 2] = "RAMP_ACTIVE";
LightingInProgress222[LightingInProgress222["NOT_CONTROLLED"] = 3] = "NOT_CONTROLLED";
LightingInProgress222[LightingInProgress222["OTHER"] = 4] = "OTHER";
return LightingInProgress222;
})(LightingInProgress22 || {});
var LightingOperation22 = /* @__PURE__ */ ((LightingOperation222) => {
LightingOperation222[LightingOperation222["NONE"] = 0] = "NONE";
LightingOperation222[LightingOperation222["FADE_TO"] = 1] = "FADE_TO";
LightingOperation222[LightingOperation222["RAMP_TO"] = 2] = "RAMP_TO";
LightingOperation222[LightingOperation222["STEP_UP"] = 3] = "STEP_UP";
LightingOperation222[LightingOperation222["STEP_DOWN"] = 4] = "STEP_DOWN";
LightingOperation222[LightingOperation222["STEP_ON"] = 5] = "STEP_ON";
LightingOperation222[LightingOperation222["STEP_OFF"] = 6] = "STEP_OFF";
LightingOperation222[LightingOperation222["WARN"] = 7] = "WARN";
LightingOperation222[LightingOperation222["WARN_OFF"] = 8] = "WARN_OFF";
LightingOperation222[LightingOperation222["WARN_RELINQUISH"] = 9] = "WARN_RELINQUISH";
LightingOperation222[LightingOperation222["STOP"] = 10] = "STOP";
return LightingOperation222;
})(LightingOperation22 || {});
var LightingTransition22 = /* @__PURE__ */ ((LightingTransition222) => {
LightingTransition222[LightingTransition222["NONE"] = 0] = "NONE";
LightingTransition222[LightingTransition222["FADE"] = 1] = "FADE";
LightingTransition222[LightingTransition222["RAMP"] = 2] = "RAMP";
return LightingTransition222;
})(LightingTransition22 || {});
var LockStatus22 = /* @__PURE__ */ ((LockStatus222) => {
LockStatus222[LockStatus222["LOCKED"] = 0] = "LOCKED";
LockStatus222[LockStatus222["UNLOCKED"] = 1] = "UNLOCKED";
LockStatus222[LockStatus222["LOCK_FAULT"] = 2] = "LOCK_FAULT";
LockStatus222[LockStatus222["UNUSED"] = 3] = "UNUSED";
LockStatus222[LockStatus222["UNKNOWN"] = 4] = "UNKNOWN";
return LockStatus222;
})(LockStatus22 || {});
var LoggingType22 = /* @__PURE__ */ ((LoggingType222) => {
LoggingType222[LoggingType222["POLLED"] = 0] = "POLLED";
LoggingType222[LoggingType222["COV"] = 1] = "COV";
LoggingType222[LoggingType222["TRIGGERED"] = 2] = "TRIGGERED";
return LoggingType222;
})(LoggingType22 || {});
var Maintenance22 = /* @__PURE__ */ ((Maintenance222) => {
Maintenance222[Maintenance222["NONE"] = 0] = "NONE";
Maintenance222[Maintenance222["PERIODIC_TEST"] = 1] = "PERIODIC_TEST";
Maintenance222[Maintenance222["NEED_SERVICE_OPERATIONAL"] = 2] = "NEED_SERVICE_OPERATIONAL";
Maintenance222[Maintenance222["NEED_SERVICE_INOPERATIVE"] = 3] = "NEED_SERVICE_INOPERATIVE";
return Maintenance222;
})(Maintenance22 || {});
var NetworkNumberQuality22 = /* @__PURE__ */ ((NetworkNumberQuality222) => {
NetworkNumberQuality222[NetworkNumberQuality222["UNKNOWN"] = 0] = "UNKNOWN";
NetworkNumberQuality222[NetworkNumberQuality222["LEARNED"] = 1] = "LEARNED";
NetworkNumberQuality222[NetworkNumberQuality222["LEARNED_CONFIGURED"] = 2] = "LEARNED_CONFIGURED";
NetworkNumberQuality222[NetworkNumberQuality222["CONFIGURED"] = 3] = "CONFIGURED";
return NetworkNumberQuality222;
})(NetworkNumberQuality22 || {});
var NetworkPortCommand22 = /* @__PURE__ */ ((NetworkPortCommand222) => {
NetworkPortCommand222[NetworkPortCommand222["IDLE"] = 0] = "IDLE";
NetworkPortCommand222[NetworkPortCommand222["DISCARD_CHANGES"] = 1] = "DISCARD_CHANGES";
NetworkPortCommand222[NetworkPortCommand222["RENEW_FD_REGISTRATION"] = 2] = "RENEW_FD_REGISTRATION";
NetworkPortCommand222[NetworkPortCommand222["RESTART_SLAVE_DISCOVERY"] = 3] = "RESTART_SLAVE_DISCOVERY";
NetworkPortCommand222[NetworkPortCommand222["RENEW_DHCP"] = 4] = "RENEW_DHCP";
NetworkPortCommand222[NetworkPortCommand222["RESTART_AUTONEGOTIATION"] = 5] = "RESTART_AUTONEGOTIATION";
NetworkPortCommand222[NetworkPortCommand222["DISCONNECT"] = 6] = "DISCONNECT";
NetworkPortCommand222[NetworkPortCommand222["RESTART_PORT"] = 7] = "RESTART_PORT";
return NetworkPortCommand222;
})(NetworkPortCommand22 || {});
var NetworkType22 = /* @__PURE__ */ ((NetworkType222) => {
NetworkType222[NetworkType222["ETHERNET"] = 0] = "ETHERNET";
NetworkType222[NetworkType222["ARCNET"] = 1] = "ARCNET";
NetworkType222[NetworkType222["MSTP"] = 2] = "MSTP";
NetworkType222[NetworkType222["PTP"] = 3] = "PTP";
NetworkType222[NetworkType222["LONTALK"] = 4] = "LONTALK";
NetworkType222[NetworkType222["IPV4"] = 5] = "IPV4";
NetworkType222[NetworkType222["ZIGBEE"] = 6] = "ZIGBEE";
NetworkType222[NetworkType222["VIRTUAL"] = 7] = "VIRTUAL";
NetworkType222[NetworkType222["IPV6"] = 9] = "IPV6";
NetworkType222[NetworkType222["SERIAL"] = 10] = "SERIAL";
return NetworkType222;
})(NetworkType22 || {});
var NodeType22 = /* @__PURE__ */ ((NodeType222) => {
NodeType222[NodeType222["UNKNOWN"] = 0] = "UNKNOWN";
NodeType222[NodeType222["SYSTEM"] = 1] = "SYSTEM";
NodeType222[NodeType222["NETWORK"] = 2] = "NETWORK";
NodeType222[NodeType222["DEVICE"] = 3] = "DEVICE";
NodeType222[NodeType222["ORGANIZATIONAL"] = 4] = "ORGANIZATIONAL";
NodeType222[NodeType222["AREA"] = 5] = "AREA";
NodeType222[NodeType222["EQUIPMENT"] = 6] = "EQUIPMENT";
NodeType222[NodeType222["POINT"] = 7] = "POINT";
NodeType222[NodeType222["COLLECTION"] = 8] = "COLLECTION";
NodeType222[NodeType222["PROPERTY"] = 9] = "PROPERTY";
NodeType222[NodeType222["FUNCTIONAL"] = 10] = "FUNCTIONAL";
NodeType222[NodeType222["OTHER"] = 11] = "OTHER";
NodeType222[NodeType222["SUBSYSTEM"] = 12] = "SUBSYSTEM";
NodeType222[NodeType222["BUILDING"] = 13] = "BUILDING";
NodeType222[NodeType222["FLOOR"] = 14] = "FLOOR";
NodeType222[NodeType222["SECTION"] = 15] = "SECTION";
NodeType222[NodeType222["MODULE"] = 16] = "MODULE";
NodeType222[NodeType222["TREE"] = 17] = "TREE";
NodeType222[NodeType222["MEMBER"] = 18] = "MEMBER";
NodeType222[NodeType222["PROTOCOL"] = 19] = "PROTOCOL";
NodeType222[NodeType222["ROOM"] = 20] = "ROOM";
NodeType222[NodeType222["ZONE"] = 21] = "ZONE";
return NodeType222;
})(NodeType22 || {});
var NotifyType22 = /* @__PURE__ */ ((NotifyType222) => {
NotifyType222[NotifyType222["ALARM"] = 0] = "ALARM";
NotifyType222[NotifyType222["EVENT"] = 1] = "EVENT";
NotifyType222[NotifyType222["ACK_NOTIFICATION"] = 2] = "ACK_NOTIFICATION";
return NotifyType222;
})(NotifyType22 || {});
var ObjectType22 = /* @__PURE__ */ ((ObjectType222) => {
ObjectType222[ObjectType222["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectType222[ObjectType222["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectType222[ObjectType222["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectType222[ObjectType222["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectType222[ObjectType222["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectType222[ObjectType222["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectType222[ObjectType222["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectType222[ObjectType222["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectType222[ObjectType222["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectType222[ObjectType222["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectType222[ObjectType222["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectType222[ObjectType222["AVERAGING"] = 18] = "AVERAGING";
ObjectType222[ObjectType222["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectType222[ObjectType222["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectType222[ObjectType222["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectType222[ObjectType222["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectType222[ObjectType222["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectType222[ObjectType222["CALENDAR"] = 6] = "CALENDAR";
ObjectType222[ObjectType222["CHANNEL"] = 53] = "CHANNEL";
ObjectType222[ObjectType222["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectType222[ObjectType222["COMMAND"] = 7] = "COMMAND";
ObjectType222[ObjectType222["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectType222[ObjectType222["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectType222[ObjectType222["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectType222[ObjectType222["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectType222[ObjectType222["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectType222[ObjectType222["DEVICE"] = 8] = "DEVICE";
ObjectType222[ObjectType222["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectType222[ObjectType222["ESCALATOR"] = 58] = "ESCALATOR";
ObjectType222[ObjectType222["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectType222[ObjectType222["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectType222[ObjectType222["FILE"] = 10] = "FILE";
ObjectType222[ObjectType222["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectType222[ObjectType222["GROUP"] = 11] = "GROUP";
ObjectType222[ObjectType222["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectType222[ObjectType222["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectType222[ObjectType222["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectType222[ObjectType222["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectType222[ObjectType222["LIFT"] = 59] = "LIFT";
ObjectType222[ObjectType222["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectType222[ObjectType222["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectType222[ObjectType222["LOOP"] = 12] = "LOOP";
ObjectType222[ObjectType222["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectType222[ObjectType222["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectType222[ObjectType222["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectType222[ObjectType222["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectType222[ObjectType222["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectType222[ObjectType222["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectType222[ObjectType222["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectType222[ObjectType222["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectType222[ObjectType222["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectType222[ObjectType222["PROGRAM"] = 16] = "PROGRAM";
ObjectType222[ObjectType222["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectType222[ObjectType222["SCHEDULE"] = 17] = "SCHEDULE";
ObjectType222[ObjectType222["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectType222[ObjectType222["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectType222[ObjectType222["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectType222[ObjectType222["TIMER"] = 31] = "TIMER";
ObjectType222[ObjectType222["TREND_LOG"] = 20] = "TREND_LOG";
ObjectType222[ObjectType222["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
return ObjectType222;
})(ObjectType22 || {});
var Polarity22 = /* @__PURE__ */ ((Polarity222) => {
Polarity222[Polarity222["NORMAL"] = 0] = "NORMAL";
Polarity222[Polarity222["REVERSE"] = 1] = "REVERSE";
return Polarity222;
})(Polarity22 || {});
var ProgramError22 = /* @__PURE__ */ ((ProgramError222) => {
ProgramError222[ProgramError222["NORMAL"] = 0] = "NORMAL";
ProgramError222[ProgramError222["LOAD_FAILED"] = 1] = "LOAD_FAILED";
ProgramError222[ProgramError222["INTERNAL"] = 2] = "INTERNAL";
ProgramError222[ProgramError222["PROGRAM"] = 3] = "PROGRAM";
ProgramError222[ProgramError222["OTHER"] = 4] = "OTHER";
return ProgramError222;
})(ProgramError22 || {});
var ProgramRequest22 = /* @__PURE__ */ ((ProgramRequest222) => {
ProgramRequest222[ProgramRequest222["READY"] = 0] = "READY";
ProgramRequest222[ProgramRequest222["LOAD"] = 1] = "LOAD";
ProgramRequest222[ProgramRequest222["RUN"] = 2] = "RUN";
ProgramRequest222[ProgramRequest222["HALT"] = 3] = "HALT";
ProgramRequest222[ProgramRequest222["RESTART"] = 4] = "RESTART";
ProgramRequest222[ProgramRequest222["UNLOAD"] = 5] = "UNLOAD";
return ProgramRequest222;
})(ProgramRequest22 || {});
var ProgramState22 = /* @__PURE__ */ ((ProgramState222) => {
ProgramState222[ProgramState222["IDLE"] = 0] = "IDLE";
ProgramState222[ProgramState222["LOADING"] = 1] = "LOADING";
ProgramState222[ProgramState222["RUNNING"] = 2] = "RUNNING";
ProgramState222[ProgramState222["WAITING"] = 3] = "WAITING";
ProgramState222[ProgramState222["HALTED"] = 4] = "HALTED";
ProgramState222[ProgramState222["UNLOADING"] = 5] = "UNLOADING";
return ProgramState222;
})(ProgramState22 || {});
var PropertyIdentifier22 = /* @__PURE__ */ ((PropertyIdentifier222) => {
PropertyIdentifier222[PropertyIdentifier222["ABSENTEE_LIMIT"] = 244] = "ABSENTEE_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["ACCEPTED_MODES"] = 175] = "ACCEPTED_MODES";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_ALARM_EVENTS"] = 245] = "ACCESS_ALARM_EVENTS";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_DOORS"] = 246] = "ACCESS_DOORS";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_EVENT"] = 247] = "ACCESS_EVENT";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_EVENT_AUTHENTICATION_FACTOR"] = 248] = "ACCESS_EVENT_AUTHENTICATION_FACTOR";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_EVENT_CREDENTIAL"] = 249] = "ACCESS_EVENT_CREDENTIAL";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_EVENT_TAG"] = 322] = "ACCESS_EVENT_TAG";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_EVENT_TIME"] = 250] = "ACCESS_EVENT_TIME";
PropertyIdentifier222[PropertyIdentifier222["ACCESS_TRANSACTION_EVENTS"] = 251] = "ACCESS_TRANSACTION_EVENTS";
PropertyIdentifier222[PropertyIdentifier222["ACCOMPANIMENT"] = 252] = "ACCOMPANIMENT";
PropertyIdentifier222[PropertyIdentifier222["ACCOMPANIMENT_TIME"] = 253] = "ACCOMPANIMENT_TIME";
PropertyIdentifier222[PropertyIdentifier222["ACK_REQUIRED"] = 1] = "ACK_REQUIRED";
PropertyIdentifier222[PropertyIdentifier222["ACKED_TRANSITIONS"] = 0] = "ACKED_TRANSITIONS";
PropertyIdentifier222[PropertyIdentifier222["ACTION"] = 2] = "ACTION";
PropertyIdentifier222[PropertyIdentifier222["ACTION_TEXT"] = 3] = "ACTION_TEXT";
PropertyIdentifier222[PropertyIdentifier222["ACTIVATION_TIME"] = 254] = "ACTIVATION_TIME";
PropertyIdentifier222[PropertyIdentifier222["ACTIVE_AUTHENTICATION_POLICY"] = 255] = "ACTIVE_AUTHENTICATION_POLICY";
PropertyIdentifier222[PropertyIdentifier222["ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS"] = 481] = "ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS";
PropertyIdentifier222[PropertyIdentifier222["ACTIVE_COV_SUBSCRIPTIONS"] = 152] = "ACTIVE_COV_SUBSCRIPTIONS";
PropertyIdentifier222[PropertyIdentifier222["ACTIVE_TEXT"] = 4] = "ACTIVE_TEXT";
PropertyIdentifier222[PropertyIdentifier222["ACTIVE_VT_SESSIONS"] = 5] = "ACTIVE_VT_SESSIONS";
PropertyIdentifier222[PropertyIdentifier222["ACTUAL_SHED_LEVEL"] = 212] = "ACTUAL_SHED_LEVEL";
PropertyIdentifier222[PropertyIdentifier222["ADJUST_VALUE"] = 176] = "ADJUST_VALUE";
PropertyIdentifier222[PropertyIdentifier222["ALARM_VALUE"] = 6] = "ALARM_VALUE";
PropertyIdentifier222[PropertyIdentifier222["ALARM_VALUES"] = 7] = "ALARM_VALUES";
PropertyIdentifier222[PropertyIdentifier222["ALIGN_INTERVALS"] = 193] = "ALIGN_INTERVALS";
PropertyIdentifier222[PropertyIdentifier222["ALL"] = 8] = "ALL";
PropertyIdentifier222[PropertyIdentifier222["ALL_WRITES_SUCCESSFUL"] = 9] = "ALL_WRITES_SUCCESSFUL";
PropertyIdentifier222[PropertyIdentifier222["ALLOW_GROUP_DELAY_INHIBIT"] = 365] = "ALLOW_GROUP_DELAY_INHIBIT";
PropertyIdentifier222[PropertyIdentifier222["APDU_LENGTH"] = 399] = "APDU_LENGTH";
PropertyIdentifier222[PropertyIdentifier222["APDU_SEGMENT_TIMEOUT"] = 10] = "APDU_SEGMENT_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["APDU_TIMEOUT"] = 11] = "APDU_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["APPLICATION_SOFTWARE_VERSION"] = 12] = "APPLICATION_SOFTWARE_VERSION";
PropertyIdentifier222[PropertyIdentifier222["ARCHIVE"] = 13] = "ARCHIVE";
PropertyIdentifier222[PropertyIdentifier222["ASSIGNED_ACCESS_RIGHTS"] = 256] = "ASSIGNED_ACCESS_RIGHTS";
PropertyIdentifier222[PropertyIdentifier222["ASSIGNED_LANDING_CALLS"] = 447] = "ASSIGNED_LANDING_CALLS";
PropertyIdentifier222[PropertyIdentifier222["ATTEMPTED_SAMPLES"] = 124] = "ATTEMPTED_SAMPLES";
PropertyIdentifier222[PropertyIdentifier222["AUTHENTICATION_FACTORS"] = 257] = "AUTHENTICATION_FACTORS";
PropertyIdentifier222[PropertyIdentifier222["AUTHENTICATION_POLICY_LIST"] = 258] = "AUTHENTICATION_POLICY_LIST";
PropertyIdentifier222[PropertyIdentifier222["AUTHENTICATION_POLICY_NAMES"] = 259] = "AUTHENTICATION_POLICY_NAMES";
PropertyIdentifier222[PropertyIdentifier222["AUTHENTICATION_STATUS"] = 260] = "AUTHENTICATION_STATUS";
PropertyIdentifier222[PropertyIdentifier222["AUTHORIZATION_EXEMPTIONS"] = 364] = "AUTHORIZATION_EXEMPTIONS";
PropertyIdentifier222[PropertyIdentifier222["AUTHORIZATION_MODE"] = 261] = "AUTHORIZATION_MODE";
PropertyIdentifier222[PropertyIdentifier222["AUTO_SLAVE_DISCOVERY"] = 169] = "AUTO_SLAVE_DISCOVERY";
PropertyIdentifier222[PropertyIdentifier222["AVERAGE_VALUE"] = 125] = "AVERAGE_VALUE";
PropertyIdentifier222[PropertyIdentifier222["BACKUP_AND_RESTORE_STATE"] = 338] = "BACKUP_AND_RESTORE_STATE";
PropertyIdentifier222[PropertyIdentifier222["BACKUP_FAILURE_TIMEOUT"] = 153] = "BACKUP_FAILURE_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["BACKUP_PREPARATION_TIME"] = 339] = "BACKUP_PREPARATION_TIME";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IP_GLOBAL_ADDRESS"] = 407] = "BACNET_IP_GLOBAL_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IP_MODE"] = 408] = "BACNET_IP_MODE";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IP_MULTICAST_ADDRESS"] = 409] = "BACNET_IP_MULTICAST_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IP_NAT_TRAVERSAL"] = 410] = "BACNET_IP_NAT_TRAVERSAL";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IP_UDP_PORT"] = 412] = "BACNET_IP_UDP_PORT";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IPV6_MODE"] = 435] = "BACNET_IPV6_MODE";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IPV6_UDP_PORT"] = 438] = "BACNET_IPV6_UDP_PORT";
PropertyIdentifier222[PropertyIdentifier222["BACNET_IPV6_MULTICAST_ADDRESS"] = 440] = "BACNET_IPV6_MULTICAST_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["BBMD_ACCEPT_FD_REGISTRATIONS"] = 413] = "BBMD_ACCEPT_FD_REGISTRATIONS";
PropertyIdentifier222[PropertyIdentifier222["BBMD_BROADCAST_DISTRIBUTION_TABLE"] = 414] = "BBMD_BROADCAST_DISTRIBUTION_TABLE";
PropertyIdentifier222[PropertyIdentifier222["BBMD_FOREIGN_DEVICE_TABLE"] = 415] = "BBMD_FOREIGN_DEVICE_TABLE";
PropertyIdentifier222[PropertyIdentifier222["BELONGS_TO"] = 262] = "BELONGS_TO";
PropertyIdentifier222[PropertyIdentifier222["BIAS"] = 14] = "BIAS";
PropertyIdentifier222[PropertyIdentifier222["BIT_MASK"] = 342] = "BIT_MASK";
PropertyIdentifier222[PropertyIdentifier222["BIT_TEXT"] = 343] = "BIT_TEXT";
PropertyIdentifier222[PropertyIdentifier222["BLINK_WARN_ENABLE"] = 373] = "BLINK_WARN_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["BUFFER_SIZE"] = 126] = "BUFFER_SIZE";
PropertyIdentifier222[PropertyIdentifier222["CAR_ASSIGNED_DIRECTION"] = 448] = "CAR_ASSIGNED_DIRECTION";
PropertyIdentifier222[PropertyIdentifier222["CAR_DOOR_COMMAND"] = 449] = "CAR_DOOR_COMMAND";
PropertyIdentifier222[PropertyIdentifier222["CAR_DOOR_STATUS"] = 450] = "CAR_DOOR_STATUS";
PropertyIdentifier222[PropertyIdentifier222["CAR_DOOR_TEXT"] = 451] = "CAR_DOOR_TEXT";
PropertyIdentifier222[PropertyIdentifier222["CAR_DOOR_ZONE"] = 452] = "CAR_DOOR_ZONE";
PropertyIdentifier222[PropertyIdentifier222["CAR_DRIVE_STATUS"] = 453] = "CAR_DRIVE_STATUS";
PropertyIdentifier222[PropertyIdentifier222["CAR_LOAD"] = 454] = "CAR_LOAD";
PropertyIdentifier222[PropertyIdentifier222["CAR_LOAD_UNITS"] = 455] = "CAR_LOAD_UNITS";
PropertyIdentifier222[PropertyIdentifier222["CAR_MODE"] = 456] = "CAR_MODE";
PropertyIdentifier222[PropertyIdentifier222["CAR_MOVING_DIRECTION"] = 457] = "CAR_MOVING_DIRECTION";
PropertyIdentifier222[PropertyIdentifier222["CAR_POSITION"] = 458] = "CAR_POSITION";
PropertyIdentifier222[PropertyIdentifier222["CHANGE_OF_STATE_COUNT"] = 15] = "CHANGE_OF_STATE_COUNT";
PropertyIdentifier222[PropertyIdentifier222["CHANGE_OF_STATE_TIME"] = 16] = "CHANGE_OF_STATE_TIME";
PropertyIdentifier222[PropertyIdentifier222["CHANGES_PENDING"] = 416] = "CHANGES_PENDING";
PropertyIdentifier222[PropertyIdentifier222["CHANNEL_NUMBER"] = 366] = "CHANNEL_NUMBER";
PropertyIdentifier222[PropertyIdentifier222["CLIENT_COV_INCREMENT"] = 127] = "CLIENT_COV_INCREMENT";
PropertyIdentifier222[PropertyIdentifier222["COMMAND"] = 417] = "COMMAND";
PropertyIdentifier222[PropertyIdentifier222["COMMAND_TIME_ARRAY"] = 430] = "COMMAND_TIME_ARRAY";
PropertyIdentifier222[PropertyIdentifier222["CONFIGURATION_FILES"] = 154] = "CONFIGURATION_FILES";
PropertyIdentifier222[PropertyIdentifier222["CONTROL_GROUPS"] = 367] = "CONTROL_GROUPS";
PropertyIdentifier222[PropertyIdentifier222["CONTROLLED_VARIABLE_REFERENCE"] = 19] = "CONTROLLED_VARIABLE_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["CONTROLLED_VARIABLE_UNITS"] = 20] = "CONTROLLED_VARIABLE_UNITS";
PropertyIdentifier222[PropertyIdentifier222["CONTROLLED_VARIABLE_VALUE"] = 21] = "CONTROLLED_VARIABLE_VALUE";
PropertyIdentifier222[PropertyIdentifier222["COUNT"] = 177] = "COUNT";
PropertyIdentifier222[PropertyIdentifier222["COUNT_BEFORE_CHANGE"] = 178] = "COUNT_BEFORE_CHANGE";
PropertyIdentifier222[PropertyIdentifier222["COUNT_CHANGE_TIME"] = 179] = "COUNT_CHANGE_TIME";
PropertyIdentifier222[PropertyIdentifier222["COV_INCREMENT"] = 22] = "COV_INCREMENT";
PropertyIdentifier222[PropertyIdentifier222["COV_PERIOD"] = 180] = "COV_PERIOD";
PropertyIdentifier222[PropertyIdentifier222["COV_RESUBSCRIPTION_INTERVAL"] = 128] = "COV_RESUBSCRIPTION_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["COVU_PERIOD"] = 349] = "COVU_PERIOD";
PropertyIdentifier222[PropertyIdentifier222["COVU_RECIPIENTS"] = 350] = "COVU_RECIPIENTS";
PropertyIdentifier222[PropertyIdentifier222["CREDENTIAL_DISABLE"] = 263] = "CREDENTIAL_DISABLE";
PropertyIdentifier222[PropertyIdentifier222["CREDENTIAL_STATUS"] = 264] = "CREDENTIAL_STATUS";
PropertyIdentifier222[PropertyIdentifier222["CREDENTIALS"] = 265] = "CREDENTIALS";
PropertyIdentifier222[PropertyIdentifier222["CREDENTIALS_IN_ZONE"] = 266] = "CREDENTIALS_IN_ZONE";
PropertyIdentifier222[PropertyIdentifier222["CURRENT_COMMAND_PRIORITY"] = 431] = "CURRENT_COMMAND_PRIORITY";
PropertyIdentifier222[PropertyIdentifier222["DATABASE_REVISION"] = 155] = "DATABASE_REVISION";
PropertyIdentifier222[PropertyIdentifier222["DATE_LIST"] = 23] = "DATE_LIST";
PropertyIdentifier222[PropertyIdentifier222["DAYLIGHT_SAVINGS_STATUS"] = 24] = "DAYLIGHT_SAVINGS_STATUS";
PropertyIdentifier222[PropertyIdentifier222["DAYS_REMAINING"] = 267] = "DAYS_REMAINING";
PropertyIdentifier222[PropertyIdentifier222["DEADBAND"] = 25] = "DEADBAND";
PropertyIdentifier222[PropertyIdentifier222["DEFAULT_FADE_TIME"] = 374] = "DEFAULT_FADE_TIME";
PropertyIdentifier222[PropertyIdentifier222["DEFAULT_RAMP_RATE"] = 375] = "DEFAULT_RAMP_RATE";
PropertyIdentifier222[PropertyIdentifier222["DEFAULT_STEP_INCREMENT"] = 376] = "DEFAULT_STEP_INCREMENT";
PropertyIdentifier222[PropertyIdentifier222["DEFAULT_SUBORDINATE_RELATIONSHIP"] = 490] = "DEFAULT_SUBORDINATE_RELATIONSHIP";
PropertyIdentifier222[PropertyIdentifier222["DEFAULT_TIMEOUT"] = 393] = "DEFAULT_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["DEPLOYED_PROFILE_LOCATION"] = 484] = "DEPLOYED_PROFILE_LOCATION";
PropertyIdentifier222[PropertyIdentifier222["DERIVATIVE_CONSTANT"] = 26] = "DERIVATIVE_CONSTANT";
PropertyIdentifier222[PropertyIdentifier222["DERIVATIVE_CONSTANT_UNITS"] = 27] = "DERIVATIVE_CONSTANT_UNITS";
PropertyIdentifier222[PropertyIdentifier222["DESCRIPTION"] = 28] = "DESCRIPTION";
PropertyIdentifier222[PropertyIdentifier222["DESCRIPTION_OF_HALT"] = 29] = "DESCRIPTION_OF_HALT";
PropertyIdentifier222[PropertyIdentifier222["DEVICE_ADDRESS_BINDING"] = 30] = "DEVICE_ADDRESS_BINDING";
PropertyIdentifier222[PropertyIdentifier222["DEVICE_TYPE"] = 31] = "DEVICE_TYPE";
PropertyIdentifier222[PropertyIdentifier222["DIRECT_READING"] = 156] = "DIRECT_READING";
PropertyIdentifier222[PropertyIdentifier222["DISTRIBUTION_KEY_REVISION"] = 328] = "DISTRIBUTION_KEY_REVISION";
PropertyIdentifier222[PropertyIdentifier222["DO_NOT_HIDE"] = 329] = "DO_NOT_HIDE";
PropertyIdentifier222[PropertyIdentifier222["DOOR_ALARM_STATE"] = 226] = "DOOR_ALARM_STATE";
PropertyIdentifier222[PropertyIdentifier222["DOOR_EXTENDED_PULSE_TIME"] = 227] = "DOOR_EXTENDED_PULSE_TIME";
PropertyIdentifier222[PropertyIdentifier222["DOOR_MEMBERS"] = 228] = "DOOR_MEMBERS";
PropertyIdentifier222[PropertyIdentifier222["DOOR_OPEN_TOO_LONG_TIME"] = 229] = "DOOR_OPEN_TOO_LONG_TIME";
PropertyIdentifier222[PropertyIdentifier222["DOOR_PULSE_TIME"] = 230] = "DOOR_PULSE_TIME";
PropertyIdentifier222[PropertyIdentifier222["DOOR_STATUS"] = 231] = "DOOR_STATUS";
PropertyIdentifier222[PropertyIdentifier222["DOOR_UNLOCK_DELAY_TIME"] = 232] = "DOOR_UNLOCK_DELAY_TIME";
PropertyIdentifier222[PropertyIdentifier222["DUTY_WINDOW"] = 213] = "DUTY_WINDOW";
PropertyIdentifier222[PropertyIdentifier222["EFFECTIVE_PERIOD"] = 32] = "EFFECTIVE_PERIOD";
PropertyIdentifier222[PropertyIdentifier222["EGRESS_ACTIVE"] = 386] = "EGRESS_ACTIVE";
PropertyIdentifier222[PropertyIdentifier222["EGRESS_TIME"] = 377] = "EGRESS_TIME";
PropertyIdentifier222[PropertyIdentifier222["ELAPSED_ACTIVE_TIME"] = 33] = "ELAPSED_ACTIVE_TIME";
PropertyIdentifier222[PropertyIdentifier222["ELEVATOR_GROUP"] = 459] = "ELEVATOR_GROUP";
PropertyIdentifier222[PropertyIdentifier222["ENABLE"] = 133] = "ENABLE";
PropertyIdentifier222[PropertyIdentifier222["ENERGY_METER"] = 460] = "ENERGY_METER";
PropertyIdentifier222[PropertyIdentifier222["ENERGY_METER_REF"] = 461] = "ENERGY_METER_REF";
PropertyIdentifier222[PropertyIdentifier222["ENTRY_POINTS"] = 268] = "ENTRY_POINTS";
PropertyIdentifier222[PropertyIdentifier222["ERROR_LIMIT"] = 34] = "ERROR_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["ESCALATOR_MODE"] = 462] = "ESCALATOR_MODE";
PropertyIdentifier222[PropertyIdentifier222["EVENT_ALGORITHM_INHIBIT"] = 354] = "EVENT_ALGORITHM_INHIBIT";
PropertyIdentifier222[PropertyIdentifier222["EVENT_ALGORITHM_INHIBIT_REF"] = 355] = "EVENT_ALGORITHM_INHIBIT_REF";
PropertyIdentifier222[PropertyIdentifier222["EVENT_DETECTION_ENABLE"] = 353] = "EVENT_DETECTION_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["EVENT_ENABLE"] = 35] = "EVENT_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["EVENT_MESSAGE_TEXTS"] = 351] = "EVENT_MESSAGE_TEXTS";
PropertyIdentifier222[PropertyIdentifier222["EVENT_MESSAGE_TEXTS_CONFIG"] = 352] = "EVENT_MESSAGE_TEXTS_CONFIG";
PropertyIdentifier222[PropertyIdentifier222["EVENT_PARAMETERS"] = 83] = "EVENT_PARAMETERS";
PropertyIdentifier222[PropertyIdentifier222["EVENT_STATE"] = 36] = "EVENT_STATE";
PropertyIdentifier222[PropertyIdentifier222["EVENT_TIME_STAMPS"] = 130] = "EVENT_TIME_STAMPS";
PropertyIdentifier222[PropertyIdentifier222["EVENT_TYPE"] = 37] = "EVENT_TYPE";
PropertyIdentifier222[PropertyIdentifier222["EXCEPTION_SCHEDULE"] = 38] = "EXCEPTION_SCHEDULE";
PropertyIdentifier222[PropertyIdentifier222["EXECUTION_DELAY"] = 368] = "EXECUTION_DELAY";
PropertyIdentifier222[PropertyIdentifier222["EXIT_POINTS"] = 269] = "EXIT_POINTS";
PropertyIdentifier222[PropertyIdentifier222["EXPECTED_SHED_LEVEL"] = 214] = "EXPECTED_SHED_LEVEL";
PropertyIdentifier222[PropertyIdentifier222["EXPIRATION_TIME"] = 270] = "EXPIRATION_TIME";
PropertyIdentifier222[PropertyIdentifier222["EXTENDED_TIME_ENABLE"] = 271] = "EXTENDED_TIME_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["FAILED_ATTEMPT_EVENTS"] = 272] = "FAILED_ATTEMPT_EVENTS";
PropertyIdentifier222[PropertyIdentifier222["FAILED_ATTEMPTS"] = 273] = "FAILED_ATTEMPTS";
PropertyIdentifier222[PropertyIdentifier222["FAILED_ATTEMPTS_TIME"] = 274] = "FAILED_ATTEMPTS_TIME";
PropertyIdentifier222[PropertyIdentifier222["FAULT_HIGH_LIMIT"] = 388] = "FAULT_HIGH_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["FAULT_LOW_LIMIT"] = 389] = "FAULT_LOW_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["FAULT_PARAMETERS"] = 358] = "FAULT_PARAMETERS";
PropertyIdentifier222[PropertyIdentifier222["FAULT_SIGNALS"] = 463] = "FAULT_SIGNALS";
PropertyIdentifier222[PropertyIdentifier222["FAULT_TYPE"] = 359] = "FAULT_TYPE";
PropertyIdentifier222[PropertyIdentifier222["FAULT_VALUES"] = 39] = "FAULT_VALUES";
PropertyIdentifier222[PropertyIdentifier222["FD_BBMD_ADDRESS"] = 418] = "FD_BBMD_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["FD_SUBSCRIPTION_LIFETIME"] = 419] = "FD_SUBSCRIPTION_LIFETIME";
PropertyIdentifier222[PropertyIdentifier222["FEEDBACK_VALUE"] = 40] = "FEEDBACK_VALUE";
PropertyIdentifier222[PropertyIdentifier222["FILE_ACCESS_METHOD"] = 41] = "FILE_ACCESS_METHOD";
PropertyIdentifier222[PropertyIdentifier222["FILE_SIZE"] = 42] = "FILE_SIZE";
PropertyIdentifier222[PropertyIdentifier222["FILE_TYPE"] = 43] = "FILE_TYPE";
PropertyIdentifier222[PropertyIdentifier222["FIRMWARE_REVISION"] = 44] = "FIRMWARE_REVISION";
PropertyIdentifier222[PropertyIdentifier222["FLOOR_TEXT"] = 464] = "FLOOR_TEXT";
PropertyIdentifier222[PropertyIdentifier222["FULL_DUTY_BASELINE"] = 215] = "FULL_DUTY_BASELINE";
PropertyIdentifier222[PropertyIdentifier222["GLOBAL_IDENTIFIER"] = 323] = "GLOBAL_IDENTIFIER";
PropertyIdentifier222[PropertyIdentifier222["GROUP_ID"] = 465] = "GROUP_ID";
PropertyIdentifier222[PropertyIdentifier222["GROUP_MEMBER_NAMES"] = 346] = "GROUP_MEMBER_NAMES";
PropertyIdentifier222[PropertyIdentifier222["GROUP_MEMBERS"] = 345] = "GROUP_MEMBERS";
PropertyIdentifier222[PropertyIdentifier222["GROUP_MODE"] = 467] = "GROUP_MODE";
PropertyIdentifier222[PropertyIdentifier222["HIGH_LIMIT"] = 45] = "HIGH_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["HIGHER_DECK"] = 468] = "HIGHER_DECK";
PropertyIdentifier222[PropertyIdentifier222["IN_PROCESS"] = 47] = "IN_PROCESS";
PropertyIdentifier222[PropertyIdentifier222["IN_PROGRESS"] = 378] = "IN_PROGRESS";
PropertyIdentifier222[PropertyIdentifier222["INACTIVE_TEXT"] = 46] = "INACTIVE_TEXT";
PropertyIdentifier222[PropertyIdentifier222["INITIAL_TIMEOUT"] = 394] = "INITIAL_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["INPUT_REFERENCE"] = 181] = "INPUT_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["INSTALLATION_ID"] = 469] = "INSTALLATION_ID";
PropertyIdentifier222[PropertyIdentifier222["INSTANCE_OF"] = 48] = "INSTANCE_OF";
PropertyIdentifier222[PropertyIdentifier222["INSTANTANEOUS_POWER"] = 379] = "INSTANTANEOUS_POWER";
PropertyIdentifier222[PropertyIdentifier222["INTEGRAL_CONSTANT"] = 49] = "INTEGRAL_CONSTANT";
PropertyIdentifier222[PropertyIdentifier222["INTEGRAL_CONSTANT_UNITS"] = 50] = "INTEGRAL_CONSTANT_UNITS";
PropertyIdentifier222[PropertyIdentifier222["INTERFACE_VALUE"] = 387] = "INTERFACE_VALUE";
PropertyIdentifier222[PropertyIdentifier222["INTERVAL_OFFSET"] = 195] = "INTERVAL_OFFSET";
PropertyIdentifier222[PropertyIdentifier222["IP_ADDRESS"] = 400] = "IP_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["IP_DEFAULT_GATEWAY"] = 401] = "IP_DEFAULT_GATEWAY";
PropertyIdentifier222[PropertyIdentifier222["IP_DHCP_ENABLE"] = 402] = "IP_DHCP_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["IP_DHCP_LEASE_TIME"] = 403] = "IP_DHCP_LEASE_TIME";
PropertyIdentifier222[PropertyIdentifier222["IP_DHCP_LEASE_TIME_REMAINING"] = 404] = "IP_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier222[PropertyIdentifier222["IP_DHCP_SERVER"] = 405] = "IP_DHCP_SERVER";
PropertyIdentifier222[PropertyIdentifier222["IP_DNS_SERVER"] = 406] = "IP_DNS_SERVER";
PropertyIdentifier222[PropertyIdentifier222["IP_SUBNET_MASK"] = 411] = "IP_SUBNET_MASK";
PropertyIdentifier222[PropertyIdentifier222["IPV6_ADDRESS"] = 436] = "IPV6_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["IPV6_AUTO_ADDRESSING_ENABLE"] = 442] = "IPV6_AUTO_ADDRESSING_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["IPV6_DEFAULT_GATEWAY"] = 439] = "IPV6_DEFAULT_GATEWAY";
PropertyIdentifier222[PropertyIdentifier222["IPV6_DHCP_LEASE_TIME"] = 443] = "IPV6_DHCP_LEASE_TIME";
PropertyIdentifier222[PropertyIdentifier222["IPV6_DHCP_LEASE_TIME_REMAINING"] = 444] = "IPV6_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier222[PropertyIdentifier222["IPV6_DHCP_SERVER"] = 445] = "IPV6_DHCP_SERVER";
PropertyIdentifier222[PropertyIdentifier222["IPV6_DNS_SERVER"] = 441] = "IPV6_DNS_SERVER";
PropertyIdentifier222[PropertyIdentifier222["IPV6_PREFIX_LENGTH"] = 437] = "IPV6_PREFIX_LENGTH";
PropertyIdentifier222[PropertyIdentifier222["IPV6_ZONE_INDEX"] = 446] = "IPV6_ZONE_INDEX";
PropertyIdentifier222[PropertyIdentifier222["IS_UTC"] = 344] = "IS_UTC";
PropertyIdentifier222[PropertyIdentifier222["KEY_SETS"] = 330] = "KEY_SETS";
PropertyIdentifier222[PropertyIdentifier222["LANDING_CALL_CONTROL"] = 471] = "LANDING_CALL_CONTROL";
PropertyIdentifier222[PropertyIdentifier222["LANDING_CALLS"] = 470] = "LANDING_CALLS";
PropertyIdentifier222[PropertyIdentifier222["LANDING_DOOR_STATUS"] = 472] = "LANDING_DOOR_STATUS";
PropertyIdentifier222[PropertyIdentifier222["LAST_ACCESS_EVENT"] = 275] = "LAST_ACCESS_EVENT";
PropertyIdentifier222[PropertyIdentifier222["LAST_ACCESS_POINT"] = 276] = "LAST_ACCESS_POINT";
PropertyIdentifier222[PropertyIdentifier222["LAST_COMMAND_TIME"] = 432] = "LAST_COMMAND_TIME";
PropertyIdentifier222[PropertyIdentifier222["LAST_CREDENTIAL_ADDED"] = 277] = "LAST_CREDENTIAL_ADDED";
PropertyIdentifier222[PropertyIdentifier222["LAST_CREDENTIAL_ADDED_TIME"] = 278] = "LAST_CREDENTIAL_ADDED_TIME";
PropertyIdentifier222[PropertyIdentifier222["LAST_CREDENTIAL_REMOVED"] = 279] = "LAST_CREDENTIAL_REMOVED";
PropertyIdentifier222[PropertyIdentifier222["LAST_CREDENTIAL_REMOVED_TIME"] = 280] = "LAST_CREDENTIAL_REMOVED_TIME";
PropertyIdentifier222[PropertyIdentifier222["LAST_KEY_SERVER"] = 331] = "LAST_KEY_SERVER";
PropertyIdentifier222[PropertyIdentifier222["LAST_NOTIFY_RECORD"] = 173] = "LAST_NOTIFY_RECORD";
PropertyIdentifier222[PropertyIdentifier222["LAST_PRIORITY"] = 369] = "LAST_PRIORITY";
PropertyIdentifier222[PropertyIdentifier222["LAST_RESTART_REASON"] = 196] = "LAST_RESTART_REASON";
PropertyIdentifier222[PropertyIdentifier222["LAST_RESTORE_TIME"] = 157] = "LAST_RESTORE_TIME";
PropertyIdentifier222[PropertyIdentifier222["LAST_STATE_CHANGE"] = 395] = "LAST_STATE_CHANGE";
PropertyIdentifier222[PropertyIdentifier222["LAST_USE_TIME"] = 281] = "LAST_USE_TIME";
PropertyIdentifier222[PropertyIdentifier222["LIFE_SAFETY_ALARM_VALUES"] = 166] = "LIFE_SAFETY_ALARM_VALUES";
PropertyIdentifier222[PropertyIdentifier222["LIGHTING_COMMAND"] = 380] = "LIGHTING_COMMAND";
PropertyIdentifier222[PropertyIdentifier222["LIGHTING_COMMAND_DEFAULT_PRIORITY"] = 381] = "LIGHTING_COMMAND_DEFAULT_PRIORITY";
PropertyIdentifier222[PropertyIdentifier222["LIMIT_ENABLE"] = 52] = "LIMIT_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["LIMIT_MONITORING_INTERVAL"] = 182] = "LIMIT_MONITORING_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["LINK_SPEED"] = 420] = "LINK_SPEED";
PropertyIdentifier222[PropertyIdentifier222["LINK_SPEED_AUTONEGOTIATE"] = 422] = "LINK_SPEED_AUTONEGOTIATE";
PropertyIdentifier222[PropertyIdentifier222["LINK_SPEEDS"] = 421] = "LINK_SPEEDS";
PropertyIdentifier222[PropertyIdentifier222["LIST_OF_GROUP_MEMBERS"] = 53] = "LIST_OF_GROUP_MEMBERS";
PropertyIdentifier222[PropertyIdentifier222["LIST_OF_OBJECT_PROPERTY_REFERENCES"] = 54] = "LIST_OF_OBJECT_PROPERTY_REFERENCES";
PropertyIdentifier222[PropertyIdentifier222["LOCAL_DATE"] = 56] = "LOCAL_DATE";
PropertyIdentifier222[PropertyIdentifier222["LOCAL_FORWARDING_ONLY"] = 360] = "LOCAL_FORWARDING_ONLY";
PropertyIdentifier222[PropertyIdentifier222["LOCAL_TIME"] = 57] = "LOCAL_TIME";
PropertyIdentifier222[PropertyIdentifier222["LOCATION"] = 58] = "LOCATION";
PropertyIdentifier222[PropertyIdentifier222["LOCK_STATUS"] = 233] = "LOCK_STATUS";
PropertyIdentifier222[PropertyIdentifier222["LOCKOUT"] = 282] = "LOCKOUT";
PropertyIdentifier222[PropertyIdentifier222["LOCKOUT_RELINQUISH_TIME"] = 283] = "LOCKOUT_RELINQUISH_TIME";
PropertyIdentifier222[PropertyIdentifier222["LOG_BUFFER"] = 131] = "LOG_BUFFER";
PropertyIdentifier222[PropertyIdentifier222["LOG_DEVICE_OBJECT_PROPERTY"] = 132] = "LOG_DEVICE_OBJECT_PROPERTY";
PropertyIdentifier222[PropertyIdentifier222["LOG_INTERVAL"] = 134] = "LOG_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["LOGGING_OBJECT"] = 183] = "LOGGING_OBJECT";
PropertyIdentifier222[PropertyIdentifier222["LOGGING_RECORD"] = 184] = "LOGGING_RECORD";
PropertyIdentifier222[PropertyIdentifier222["LOGGING_TYPE"] = 197] = "LOGGING_TYPE";
PropertyIdentifier222[PropertyIdentifier222["LOW_DIFF_LIMIT"] = 390] = "LOW_DIFF_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["LOW_LIMIT"] = 59] = "LOW_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["LOWER_DECK"] = 473] = "LOWER_DECK";
PropertyIdentifier222[PropertyIdentifier222["MAC_ADDRESS"] = 423] = "MAC_ADDRESS";
PropertyIdentifier222[PropertyIdentifier222["MACHINE_ROOM_ID"] = 474] = "MACHINE_ROOM_ID";
PropertyIdentifier222[PropertyIdentifier222["MAINTENANCE_REQUIRED"] = 158] = "MAINTENANCE_REQUIRED";
PropertyIdentifier222[PropertyIdentifier222["MAKING_CAR_CALL"] = 475] = "MAKING_CAR_CALL";
PropertyIdentifier222[PropertyIdentifier222["MANIPULATED_VARIABLE_REFERENCE"] = 60] = "MANIPULATED_VARIABLE_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["MANUAL_SLAVE_ADDRESS_BINDING"] = 170] = "MANUAL_SLAVE_ADDRESS_BINDING";
PropertyIdentifier222[PropertyIdentifier222["MASKED_ALARM_VALUES"] = 234] = "MASKED_ALARM_VALUES";
PropertyIdentifier222[PropertyIdentifier222["MAX_ACTUAL_VALUE"] = 382] = "MAX_ACTUAL_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MAX_APDU_LENGTH_ACCEPTED"] = 62] = "MAX_APDU_LENGTH_ACCEPTED";
PropertyIdentifier222[PropertyIdentifier222["MAX_FAILED_ATTEMPTS"] = 285] = "MAX_FAILED_ATTEMPTS";
PropertyIdentifier222[PropertyIdentifier222["MAX_INFO_FRAMES"] = 63] = "MAX_INFO_FRAMES";
PropertyIdentifier222[PropertyIdentifier222["MAX_MASTER"] = 64] = "MAX_MASTER";
PropertyIdentifier222[PropertyIdentifier222["MAX_PRES_VALUE"] = 65] = "MAX_PRES_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MAX_SEGMENTS_ACCEPTED"] = 167] = "MAX_SEGMENTS_ACCEPTED";
PropertyIdentifier222[PropertyIdentifier222["MAXIMUM_OUTPUT"] = 61] = "MAXIMUM_OUTPUT";
PropertyIdentifier222[PropertyIdentifier222["MAXIMUM_VALUE"] = 135] = "MAXIMUM_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MAXIMUM_VALUE_TIMESTAMP"] = 149] = "MAXIMUM_VALUE_TIMESTAMP";
PropertyIdentifier222[PropertyIdentifier222["MEMBER_OF"] = 159] = "MEMBER_OF";
PropertyIdentifier222[PropertyIdentifier222["MEMBER_STATUS_FLAGS"] = 347] = "MEMBER_STATUS_FLAGS";
PropertyIdentifier222[PropertyIdentifier222["MEMBERS"] = 286] = "MEMBERS";
PropertyIdentifier222[PropertyIdentifier222["MIN_ACTUAL_VALUE"] = 383] = "MIN_ACTUAL_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MIN_PRES_VALUE"] = 69] = "MIN_PRES_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MINIMUM_OFF_TIME"] = 66] = "MINIMUM_OFF_TIME";
PropertyIdentifier222[PropertyIdentifier222["MINIMUM_ON_TIME"] = 67] = "MINIMUM_ON_TIME";
PropertyIdentifier222[PropertyIdentifier222["MINIMUM_OUTPUT"] = 68] = "MINIMUM_OUTPUT";
PropertyIdentifier222[PropertyIdentifier222["MINIMUM_VALUE"] = 136] = "MINIMUM_VALUE";
PropertyIdentifier222[PropertyIdentifier222["MINIMUM_VALUE_TIMESTAMP"] = 150] = "MINIMUM_VALUE_TIMESTAMP";
PropertyIdentifier222[PropertyIdentifier222["MODE"] = 160] = "MODE";
PropertyIdentifier222[PropertyIdentifier222["MODEL_NAME"] = 70] = "MODEL_NAME";
PropertyIdentifier222[PropertyIdentifier222["MODIFICATION_DATE"] = 71] = "MODIFICATION_DATE";
PropertyIdentifier222[PropertyIdentifier222["MUSTER_POINT"] = 287] = "MUSTER_POINT";
PropertyIdentifier222[PropertyIdentifier222["NEGATIVE_ACCESS_RULES"] = 288] = "NEGATIVE_ACCESS_RULES";
PropertyIdentifier222[PropertyIdentifier222["NETWORK_ACCESS_SECURITY_POLICIES"] = 332] = "NETWORK_ACCESS_SECURITY_POLICIES";
PropertyIdentifier222[PropertyIdentifier222["NETWORK_INTERFACE_NAME"] = 424] = "NETWORK_INTERFACE_NAME";
PropertyIdentifier222[PropertyIdentifier222["NETWORK_NUMBER"] = 425] = "NETWORK_NUMBER";
PropertyIdentifier222[PropertyIdentifier222["NETWORK_NUMBER_QUALITY"] = 426] = "NETWORK_NUMBER_QUALITY";
PropertyIdentifier222[PropertyIdentifier222["NETWORK_TYPE"] = 427] = "NETWORK_TYPE";
PropertyIdentifier222[PropertyIdentifier222["NEXT_STOPPING_FLOOR"] = 476] = "NEXT_STOPPING_FLOOR";
PropertyIdentifier222[PropertyIdentifier222["NODE_SUBTYPE"] = 207] = "NODE_SUBTYPE";
PropertyIdentifier222[PropertyIdentifier222["NODE_TYPE"] = 208] = "NODE_TYPE";
PropertyIdentifier222[PropertyIdentifier222["NOTIFICATION_CLASS"] = 17] = "NOTIFICATION_CLASS";
PropertyIdentifier222[PropertyIdentifier222["NOTIFICATION_THRESHOLD"] = 137] = "NOTIFICATION_THRESHOLD";
PropertyIdentifier222[PropertyIdentifier222["NOTIFY_TYPE"] = 72] = "NOTIFY_TYPE";
PropertyIdentifier222[PropertyIdentifier222["NUMBER_OF_APDU_RETRIES"] = 73] = "NUMBER_OF_APDU_RETRIES";
PropertyIdentifier222[PropertyIdentifier222["NUMBER_OF_AUTHENTICATION_POLICIES"] = 289] = "NUMBER_OF_AUTHENTICATION_POLICIES";
PropertyIdentifier222[PropertyIdentifier222["NUMBER_OF_STATES"] = 74] = "NUMBER_OF_STATES";
PropertyIdentifier222[PropertyIdentifier222["OBJECT_IDENTIFIER"] = 75] = "OBJECT_IDENTIFIER";
PropertyIdentifier222[PropertyIdentifier222["OBJECT_LIST"] = 76] = "OBJECT_LIST";
PropertyIdentifier222[PropertyIdentifier222["OBJECT_NAME"] = 77] = "OBJECT_NAME";
PropertyIdentifier222[PropertyIdentifier222["OBJECT_PROPERTY_REFERENCE"] = 78] = "OBJECT_PROPERTY_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["OBJECT_TYPE"] = 79] = "OBJECT_TYPE";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_COUNT"] = 290] = "OCCUPANCY_COUNT";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_COUNT_ADJUST"] = 291] = "OCCUPANCY_COUNT_ADJUST";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_COUNT_ENABLE"] = 292] = "OCCUPANCY_COUNT_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_LOWER_LIMIT"] = 294] = "OCCUPANCY_LOWER_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_LOWER_LIMIT_ENFORCED"] = 295] = "OCCUPANCY_LOWER_LIMIT_ENFORCED";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_STATE"] = 296] = "OCCUPANCY_STATE";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_UPPER_LIMIT"] = 297] = "OCCUPANCY_UPPER_LIMIT";
PropertyIdentifier222[PropertyIdentifier222["OCCUPANCY_UPPER_LIMIT_ENFORCED"] = 298] = "OCCUPANCY_UPPER_LIMIT_ENFORCED";
PropertyIdentifier222[PropertyIdentifier222["OPERATION_DIRECTION"] = 477] = "OPERATION_DIRECTION";
PropertyIdentifier222[PropertyIdentifier222["OPERATION_EXPECTED"] = 161] = "OPERATION_EXPECTED";
PropertyIdentifier222[PropertyIdentifier222["OPTIONAL"] = 80] = "OPTIONAL";
PropertyIdentifier222[PropertyIdentifier222["OUT_OF_SERVICE"] = 81] = "OUT_OF_SERVICE";
PropertyIdentifier222[PropertyIdentifier222["OUTPUT_UNITS"] = 82] = "OUTPUT_UNITS";
PropertyIdentifier222[PropertyIdentifier222["PACKET_REORDER_TIME"] = 333] = "PACKET_REORDER_TIME";
PropertyIdentifier222[PropertyIdentifier222["PASSBACK_MODE"] = 300] = "PASSBACK_MODE";
PropertyIdentifier222[PropertyIdentifier222["PASSBACK_TIMEOUT"] = 301] = "PASSBACK_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["PASSENGER_ALARM"] = 478] = "PASSENGER_ALARM";
PropertyIdentifier222[PropertyIdentifier222["POLARITY"] = 84] = "POLARITY";
PropertyIdentifier222[PropertyIdentifier222["PORT_FILTER"] = 363] = "PORT_FILTER";
PropertyIdentifier222[PropertyIdentifier222["POSITIVE_ACCESS_RULES"] = 302] = "POSITIVE_ACCESS_RULES";
PropertyIdentifier222[PropertyIdentifier222["POWER"] = 384] = "POWER";
PropertyIdentifier222[PropertyIdentifier222["POWER_MODE"] = 479] = "POWER_MODE";
PropertyIdentifier222[PropertyIdentifier222["PRESCALE"] = 185] = "PRESCALE";
PropertyIdentifier222[PropertyIdentifier222["PRESENT_VALUE"] = 85] = "PRESENT_VALUE";
PropertyIdentifier222[PropertyIdentifier222["PRIORITY"] = 86] = "PRIORITY";
PropertyIdentifier222[PropertyIdentifier222["PRIORITY_ARRAY"] = 87] = "PRIORITY_ARRAY";
PropertyIdentifier222[PropertyIdentifier222["PRIORITY_FOR_WRITING"] = 88] = "PRIORITY_FOR_WRITING";
PropertyIdentifier222[PropertyIdentifier222["PROCESS_IDENTIFIER"] = 89] = "PROCESS_IDENTIFIER";
PropertyIdentifier222[PropertyIdentifier222["PROCESS_IDENTIFIER_FILTER"] = 361] = "PROCESS_IDENTIFIER_FILTER";
PropertyIdentifier222[PropertyIdentifier222["PROFILE_LOCATION"] = 485] = "PROFILE_LOCATION";
PropertyIdentifier222[PropertyIdentifier222["PROFILE_NAME"] = 168] = "PROFILE_NAME";
PropertyIdentifier222[PropertyIdentifier222["PROGRAM_CHANGE"] = 90] = "PROGRAM_CHANGE";
PropertyIdentifier222[PropertyIdentifier222["PROGRAM_LOCATION"] = 91] = "PROGRAM_LOCATION";
PropertyIdentifier222[PropertyIdentifier222["PROGRAM_STATE"] = 92] = "PROGRAM_STATE";
PropertyIdentifier222[PropertyIdentifier222["PROPERTY_LIST"] = 371] = "PROPERTY_LIST";
PropertyIdentifier222[PropertyIdentifier222["PROPORTIONAL_CONSTANT"] = 93] = "PROPORTIONAL_CONSTANT";
PropertyIdentifier222[PropertyIdentifier222["PROPORTIONAL_CONSTANT_UNITS"] = 94] = "PROPORTIONAL_CONSTANT_UNITS";
PropertyIdentifier222[PropertyIdentifier222["PROTOCOL_LEVEL"] = 482] = "PROTOCOL_LEVEL";
PropertyIdentifier222[PropertyIdentifier222["PROTOCOL_OBJECT_TYPES_SUPPORTED"] = 96] = "PROTOCOL_OBJECT_TYPES_SUPPORTED";
PropertyIdentifier222[PropertyIdentifier222["PROTOCOL_REVISION"] = 139] = "PROTOCOL_REVISION";
PropertyIdentifier222[PropertyIdentifier222["PROTOCOL_SERVICES_SUPPORTED"] = 97] = "PROTOCOL_SERVICES_SUPPORTED";
PropertyIdentifier222[PropertyIdentifier222["PROTOCOL_VERSION"] = 98] = "PROTOCOL_VERSION";
PropertyIdentifier222[PropertyIdentifier222["PULSE_RATE"] = 186] = "PULSE_RATE";
PropertyIdentifier222[PropertyIdentifier222["READ_ONLY"] = 99] = "READ_ONLY";
PropertyIdentifier222[PropertyIdentifier222["REASON_FOR_DISABLE"] = 303] = "REASON_FOR_DISABLE";
PropertyIdentifier222[PropertyIdentifier222["REASON_FOR_HALT"] = 100] = "REASON_FOR_HALT";
PropertyIdentifier222[PropertyIdentifier222["RECIPIENT_LIST"] = 102] = "RECIPIENT_LIST";
PropertyIdentifier222[PropertyIdentifier222["RECORD_COUNT"] = 141] = "RECORD_COUNT";
PropertyIdentifier222[PropertyIdentifier222["RECORDS_SINCE_NOTIFICATION"] = 140] = "RECORDS_SINCE_NOTIFICATION";
PropertyIdentifier222[PropertyIdentifier222["REFERENCE_PORT"] = 483] = "REFERENCE_PORT";
PropertyIdentifier222[PropertyIdentifier222["REGISTERED_CAR_CALL"] = 480] = "REGISTERED_CAR_CALL";
PropertyIdentifier222[PropertyIdentifier222["RELIABILITY"] = 103] = "RELIABILITY";
PropertyIdentifier222[PropertyIdentifier222["RELIABILITY_EVALUATION_INHIBIT"] = 357] = "RELIABILITY_EVALUATION_INHIBIT";
PropertyIdentifier222[PropertyIdentifier222["RELINQUISH_DEFAULT"] = 104] = "RELINQUISH_DEFAULT";
PropertyIdentifier222[PropertyIdentifier222["REPRESENTS"] = 491] = "REPRESENTS";
PropertyIdentifier222[PropertyIdentifier222["REQUESTED_SHED_LEVEL"] = 218] = "REQUESTED_SHED_LEVEL";
PropertyIdentifier222[PropertyIdentifier222["REQUESTED_UPDATE_INTERVAL"] = 348] = "REQUESTED_UPDATE_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["REQUIRED"] = 105] = "REQUIRED";
PropertyIdentifier222[PropertyIdentifier222["RESOLUTION"] = 106] = "RESOLUTION";
PropertyIdentifier222[PropertyIdentifier222["RESTART_NOTIFICATION_RECIPIENTS"] = 202] = "RESTART_NOTIFICATION_RECIPIENTS";
PropertyIdentifier222[PropertyIdentifier222["RESTORE_COMPLETION_TIME"] = 340] = "RESTORE_COMPLETION_TIME";
PropertyIdentifier222[PropertyIdentifier222["RESTORE_PREPARATION_TIME"] = 341] = "RESTORE_PREPARATION_TIME";
PropertyIdentifier222[PropertyIdentifier222["ROUTING_TABLE"] = 428] = "ROUTING_TABLE";
PropertyIdentifier222[PropertyIdentifier222["SCALE"] = 187] = "SCALE";
PropertyIdentifier222[PropertyIdentifier222["SCALE_FACTOR"] = 188] = "SCALE_FACTOR";
PropertyIdentifier222[PropertyIdentifier222["SCHEDULE_DEFAULT"] = 174] = "SCHEDULE_DEFAULT";
PropertyIdentifier222[PropertyIdentifier222["SECURED_STATUS"] = 235] = "SECURED_STATUS";
PropertyIdentifier222[PropertyIdentifier222["SECURITY_PDU_TIMEOUT"] = 334] = "SECURITY_PDU_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["SECURITY_TIME_WINDOW"] = 335] = "SECURITY_TIME_WINDOW";
PropertyIdentifier222[PropertyIdentifier222["SEGMENTATION_SUPPORTED"] = 107] = "SEGMENTATION_SUPPORTED";
PropertyIdentifier222[PropertyIdentifier222["SERIAL_NUMBER"] = 372] = "SERIAL_NUMBER";
PropertyIdentifier222[PropertyIdentifier222["SETPOINT"] = 108] = "SETPOINT";
PropertyIdentifier222[PropertyIdentifier222["SETPOINT_REFERENCE"] = 109] = "SETPOINT_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["SETTING"] = 162] = "SETTING";
PropertyIdentifier222[PropertyIdentifier222["SHED_DURATION"] = 219] = "SHED_DURATION";
PropertyIdentifier222[PropertyIdentifier222["SHED_LEVEL_DESCRIPTIONS"] = 220] = "SHED_LEVEL_DESCRIPTIONS";
PropertyIdentifier222[PropertyIdentifier222["SHED_LEVELS"] = 221] = "SHED_LEVELS";
PropertyIdentifier222[PropertyIdentifier222["SILENCED"] = 163] = "SILENCED";
PropertyIdentifier222[PropertyIdentifier222["SLAVE_ADDRESS_BINDING"] = 171] = "SLAVE_ADDRESS_BINDING";
PropertyIdentifier222[PropertyIdentifier222["SLAVE_PROXY_ENABLE"] = 172] = "SLAVE_PROXY_ENABLE";
PropertyIdentifier222[PropertyIdentifier222["START_TIME"] = 142] = "START_TIME";
PropertyIdentifier222[PropertyIdentifier222["STATE_CHANGE_VALUES"] = 396] = "STATE_CHANGE_VALUES";
PropertyIdentifier222[PropertyIdentifier222["STATE_DESCRIPTION"] = 222] = "STATE_DESCRIPTION";
PropertyIdentifier222[PropertyIdentifier222["STATE_TEXT"] = 110] = "STATE_TEXT";
PropertyIdentifier222[PropertyIdentifier222["STATUS_FLAGS"] = 111] = "STATUS_FLAGS";
PropertyIdentifier222[PropertyIdentifier222["STOP_TIME"] = 143] = "STOP_TIME";
PropertyIdentifier222[PropertyIdentifier222["STOP_WHEN_FULL"] = 144] = "STOP_WHEN_FULL";
PropertyIdentifier222[PropertyIdentifier222["STRIKE_COUNT"] = 391] = "STRIKE_COUNT";
PropertyIdentifier222[PropertyIdentifier222["STRUCTURED_OBJECT_LIST"] = 209] = "STRUCTURED_OBJECT_LIST";
PropertyIdentifier222[PropertyIdentifier222["SUBORDINATE_ANNOTATIONS"] = 210] = "SUBORDINATE_ANNOTATIONS";
PropertyIdentifier222[PropertyIdentifier222["SUBORDINATE_LIST"] = 211] = "SUBORDINATE_LIST";
PropertyIdentifier222[PropertyIdentifier222["SUBORDINATE_NODE_TYPES"] = 487] = "SUBORDINATE_NODE_TYPES";
PropertyIdentifier222[PropertyIdentifier222["SUBORDINATE_RELATIONSHIPS"] = 489] = "SUBORDINATE_RELATIONSHIPS";
PropertyIdentifier222[PropertyIdentifier222["SUBORDINATE_TAGS"] = 488] = "SUBORDINATE_TAGS";
PropertyIdentifier222[PropertyIdentifier222["SUBSCRIBED_RECIPIENTS"] = 362] = "SUBSCRIBED_RECIPIENTS";
PropertyIdentifier222[PropertyIdentifier222["SUPPORTED_FORMAT_CLASSES"] = 305] = "SUPPORTED_FORMAT_CLASSES";
PropertyIdentifier222[PropertyIdentifier222["SUPPORTED_FORMATS"] = 304] = "SUPPORTED_FORMATS";
PropertyIdentifier222[PropertyIdentifier222["SUPPORTED_SECURITY_ALGORITHMS"] = 336] = "SUPPORTED_SECURITY_ALGORITHMS";
PropertyIdentifier222[PropertyIdentifier222["SYSTEM_STATUS"] = 112] = "SYSTEM_STATUS";
PropertyIdentifier222[PropertyIdentifier222["TAGS"] = 486] = "TAGS";
PropertyIdentifier222[PropertyIdentifier222["THREAT_AUTHORITY"] = 306] = "THREAT_AUTHORITY";
PropertyIdentifier222[PropertyIdentifier222["THREAT_LEVEL"] = 307] = "THREAT_LEVEL";
PropertyIdentifier222[PropertyIdentifier222["TIME_DELAY"] = 113] = "TIME_DELAY";
PropertyIdentifier222[PropertyIdentifier222["TIME_DELAY_NORMAL"] = 356] = "TIME_DELAY_NORMAL";
PropertyIdentifier222[PropertyIdentifier222["TIME_OF_ACTIVE_TIME_RESET"] = 114] = "TIME_OF_ACTIVE_TIME_RESET";
PropertyIdentifier222[PropertyIdentifier222["TIME_OF_DEVICE_RESTART"] = 203] = "TIME_OF_DEVICE_RESTART";
PropertyIdentifier222[PropertyIdentifier222["TIME_OF_STATE_COUNT_RESET"] = 115] = "TIME_OF_STATE_COUNT_RESET";
PropertyIdentifier222[PropertyIdentifier222["TIME_OF_STRIKE_COUNT_RESET"] = 392] = "TIME_OF_STRIKE_COUNT_RESET";
PropertyIdentifier222[PropertyIdentifier222["TIME_SYNCHRONIZATION_INTERVAL"] = 204] = "TIME_SYNCHRONIZATION_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["TIME_SYNCHRONIZATION_RECIPIENTS"] = 116] = "TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier222[PropertyIdentifier222["TIMER_RUNNING"] = 397] = "TIMER_RUNNING";
PropertyIdentifier222[PropertyIdentifier222["TIMER_STATE"] = 398] = "TIMER_STATE";
PropertyIdentifier222[PropertyIdentifier222["TOTAL_RECORD_COUNT"] = 145] = "TOTAL_RECORD_COUNT";
PropertyIdentifier222[PropertyIdentifier222["TRACE_FLAG"] = 308] = "TRACE_FLAG";
PropertyIdentifier222[PropertyIdentifier222["TRACKING_VALUE"] = 164] = "TRACKING_VALUE";
PropertyIdentifier222[PropertyIdentifier222["TRANSACTION_NOTIFICATION_CLASS"] = 309] = "TRANSACTION_NOTIFICATION_CLASS";
PropertyIdentifier222[PropertyIdentifier222["TRANSITION"] = 385] = "TRANSITION";
PropertyIdentifier222[PropertyIdentifier222["TRIGGER"] = 205] = "TRIGGER";
PropertyIdentifier222[PropertyIdentifier222["UNITS"] = 117] = "UNITS";
PropertyIdentifier222[PropertyIdentifier222["UPDATE_INTERVAL"] = 118] = "UPDATE_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["UPDATE_KEY_SET_TIMEOUT"] = 337] = "UPDATE_KEY_SET_TIMEOUT";
PropertyIdentifier222[PropertyIdentifier222["UPDATE_TIME"] = 189] = "UPDATE_TIME";
PropertyIdentifier222[PropertyIdentifier222["USER_EXTERNAL_IDENTIFIER"] = 310] = "USER_EXTERNAL_IDENTIFIER";
PropertyIdentifier222[PropertyIdentifier222["USER_INFORMATION_REFERENCE"] = 311] = "USER_INFORMATION_REFERENCE";
PropertyIdentifier222[PropertyIdentifier222["USER_NAME"] = 317] = "USER_NAME";
PropertyIdentifier222[PropertyIdentifier222["USER_TYPE"] = 318] = "USER_TYPE";
PropertyIdentifier222[PropertyIdentifier222["USES_REMAINING"] = 319] = "USES_REMAINING";
PropertyIdentifier222[PropertyIdentifier222["UTC_OFFSET"] = 119] = "UTC_OFFSET";
PropertyIdentifier222[PropertyIdentifier222["UTC_TIME_SYNCHRONIZATION_RECIPIENTS"] = 206] = "UTC_TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier222[PropertyIdentifier222["VALID_SAMPLES"] = 146] = "VALID_SAMPLES";
PropertyIdentifier222[PropertyIdentifier222["VALUE_BEFORE_CHANGE"] = 190] = "VALUE_BEFORE_CHANGE";
PropertyIdentifier222[PropertyIdentifier222["VALUE_CHANGE_TIME"] = 192] = "VALUE_CHANGE_TIME";
PropertyIdentifier222[PropertyIdentifier222["VALUE_SET"] = 191] = "VALUE_SET";
PropertyIdentifier222[PropertyIdentifier222["VALUE_SOURCE"] = 433] = "VALUE_SOURCE";
PropertyIdentifier222[PropertyIdentifier222["VALUE_SOURCE_ARRAY"] = 434] = "VALUE_SOURCE_ARRAY";
PropertyIdentifier222[PropertyIdentifier222["VARIANCE_VALUE"] = 151] = "VARIANCE_VALUE";
PropertyIdentifier222[PropertyIdentifier222["VENDOR_IDENTIFIER"] = 120] = "VENDOR_IDENTIFIER";
PropertyIdentifier222[PropertyIdentifier222["VENDOR_NAME"] = 121] = "VENDOR_NAME";
PropertyIdentifier222[PropertyIdentifier222["VERIFICATION_TIME"] = 326] = "VERIFICATION_TIME";
PropertyIdentifier222[PropertyIdentifier222["VIRTUAL_MAC_ADDRESS_TABLE"] = 429] = "VIRTUAL_MAC_ADDRESS_TABLE";
PropertyIdentifier222[PropertyIdentifier222["VT_CLASSES_SUPPORTED"] = 122] = "VT_CLASSES_SUPPORTED";
PropertyIdentifier222[PropertyIdentifier222["WEEKLY_SCHEDULE"] = 123] = "WEEKLY_SCHEDULE";
PropertyIdentifier222[PropertyIdentifier222["WINDOW_INTERVAL"] = 147] = "WINDOW_INTERVAL";
PropertyIdentifier222[PropertyIdentifier222["WINDOW_SAMPLES"] = 148] = "WINDOW_SAMPLES";
PropertyIdentifier222[PropertyIdentifier222["WRITE_STATUS"] = 370] = "WRITE_STATUS";
PropertyIdentifier222[PropertyIdentifier222["ZONE_FROM"] = 320] = "ZONE_FROM";
PropertyIdentifier222[PropertyIdentifier222["ZONE_MEMBERS"] = 165] = "ZONE_MEMBERS";
PropertyIdentifier222[PropertyIdentifier222["ZONE_TO"] = 321] = "ZONE_TO";
return PropertyIdentifier222;
})(PropertyIdentifier22 || {});
var ProtocolLevel22 = /* @__PURE__ */ ((ProtocolLevel222) => {
ProtocolLevel222[ProtocolLevel222["PHYSICAL"] = 0] = "PHYSICAL";
ProtocolLevel222[ProtocolLevel222["PROTOCOL"] = 1] = "PROTOCOL";
ProtocolLevel222[ProtocolLevel222["BACNET_APPLICATION"] = 2] = "BACNET_APPLICATION";
ProtocolLevel222[ProtocolLevel222["NON_BACNET_APPLICATION"] = 3] = "NON_BACNET_APPLICATION";
return ProtocolLevel222;
})(ProtocolLevel22 || {});
var Relationship22 = /* @__PURE__ */ ((Relationship222) => {
Relationship222[Relationship222["UNKNOWN"] = 0] = "UNKNOWN";
Relationship222[Relationship222["DEFAULT"] = 1] = "DEFAULT";
Relationship222[Relationship222["CONTAINS"] = 2] = "CONTAINS";
Relationship222[Relationship222["CONTAINED_BY"] = 3] = "CONTAINED_BY";
Relationship222[Relationship222["USES"] = 4] = "USES";
Relationship222[Relationship222["USED_BY"] = 5] = "USED_BY";
Relationship222[Relationship222["COMMANDS"] = 6] = "COMMANDS";
Relationship222[Relationship222["COMMANDED_BY"] = 7] = "COMMANDED_BY";
Relationship222[Relationship222["ADJUSTS"] = 8] = "ADJUSTS";
Relationship222[Relationship222["ADJUSTED_BY"] = 9] = "ADJUSTED_BY";
Relationship222[Relationship222["INGRESS"] = 10] = "INGRESS";
Relationship222[Relationship222["EGRESS"] = 11] = "EGRESS";
Relationship222[Relationship222["SUPPLIES_AIR"] = 12] = "SUPPLIES_AIR";
Relationship222[Relationship222["RECEIVES_AIR"] = 13] = "RECEIVES_AIR";
Relationship222[Relationship222["SUPPLIES_HOT_AIR"] = 14] = "SUPPLIES_HOT_AIR";
Relationship222[Relationship222["RECEIVES_HOT_AIR"] = 15] = "RECEIVES_HOT_AIR";
Relationship222[Relationship222["SUPPLIES_COOL_AIR"] = 16] = "SUPPLIES_COOL_AIR";
Relationship222[Relationship222["RECEIVES_COOL_AIR"] = 17] = "RECEIVES_COOL_AIR";
Relationship222[Relationship222["SUPPLIES_POWER"] = 18] = "SUPPLIES_POWER";
Relationship222[Relationship222["RECEIVES_POWER"] = 19] = "RECEIVES_POWER";
Relationship222[Relationship222["SUPPLIES_GAS"] = 20] = "SUPPLIES_GAS";
Relationship222[Relationship222["RECEIVES_GAS"] = 21] = "RECEIVES_GAS";
Relationship222[Relationship222["SUPPLIES_WATER"] = 22] = "SUPPLIES_WATER";
Relationship222[Relationship222["RECEIVES_WATER"] = 23] = "RECEIVES_WATER";
Relationship222[Relationship222["SUPPLIES_HOT_WATER"] = 24] = "SUPPLIES_HOT_WATER";
Relationship222[Relationship222["RECEIVES_HOT_WATER"] = 25] = "RECEIVES_HOT_WATER";
Relationship222[Relationship222["SUPPLIES_COOL_WATER"] = 26] = "SUPPLIES_COOL_WATER";
Relationship222[Relationship222["RECEIVES_COOL_WATER"] = 27] = "RECEIVES_COOL_WATER";
Relationship222[Relationship222["SUPPLIES_STEAM"] = 28] = "SUPPLIES_STEAM";
Relationship222[Relationship222["RECEIVES_STEAM"] = 29] = "RECEIVES_STEAM";
return Relationship222;
})(Relationship22 || {});
var Reliability22 = /* @__PURE__ */ ((Reliability222) => {
Reliability222[Reliability222["NO_FAULT_DETECTED"] = 0] = "NO_FAULT_DETECTED";
Reliability222[Reliability222["NO_SENSOR"] = 1] = "NO_SENSOR";
Reliability222[Reliability222["OVER_RANGE"] = 2] = "OVER_RANGE";
Reliability222[Reliability222["UNDER_RANGE"] = 3] = "UNDER_RANGE";
Reliability222[Reliability222["OPEN_LOOP"] = 4] = "OPEN_LOOP";
Reliability222[Reliability222["SHORTED_LOOP"] = 5] = "SHORTED_LOOP";
Reliability222[Reliability222["NO_OUTPUT"] = 6] = "NO_OUTPUT";
Reliability222[Reliability222["UNRELIABLE_OTHER"] = 7] = "UNRELIABLE_OTHER";
Reliability222[Reliability222["PROCESS_ERROR"] = 8] = "PROCESS_ERROR";
Reliability222[Reliability222["MULTI_STATE_FAULT"] = 9] = "MULTI_STATE_FAULT";
Reliability222[Reliability222["CONFIGURATION_ERROR"] = 10] = "CONFIGURATION_ERROR";
Reliability222[Reliability222["COMMUNICATION_FAILURE"] = 12] = "COMMUNICATION_FAILURE";
Reliability222[Reliability222["MEMBER_FAULT"] = 13] = "MEMBER_FAULT";
Reliability222[Reliability222["MONITORED_OBJECT_FAULT"] = 14] = "MONITORED_OBJECT_FAULT";
Reliability222[Reliability222["TRIPPED"] = 15] = "TRIPPED";
Reliability222[Reliability222["LAMP_FAILURE"] = 16] = "LAMP_FAILURE";
Reliability222[Reliability222["ACTIVATION_FAILURE"] = 17] = "ACTIVATION_FAILURE";
Reliability222[Reliability222["RENEW_DHCP_FAILURE"] = 18] = "RENEW_DHCP_FAILURE";
Reliability222[Reliability222["RENEW_FD_REGISTRATION_FAILURE"] = 19] = "RENEW_FD_REGISTRATION_FAILURE";
Reliability222[Reliability222["RESTART_AUTO_NEGOTIATION_FAILURE"] = 20] = "RESTART_AUTO_NEGOTIATION_FAILURE";
Reliability222[Reliability222["RESTART_FAILURE"] = 21] = "RESTART_FAILURE";
Reliability222[Reliability222["PROPRIETARY_COMMAND_FAILURE"] = 22] = "PROPRIETARY_COMMAND_FAILURE";
Reliability222[Reliability222["FAULTS_LISTED"] = 23] = "FAULTS_LISTED";
Reliability222[Reliability222["REFERENCED_OBJECT_FAULT"] = 24] = "REFERENCED_OBJECT_FAULT";
return Reliability222;
})(Reliability22 || {});
var RestartReason22 = /* @__PURE__ */ ((RestartReason222) => {
RestartReason222[RestartReason222["UNKNOWN"] = 0] = "UNKNOWN";
RestartReason222[RestartReason222["COLDSTART"] = 1] = "COLDSTART";
RestartReason222[RestartReason222["WARMSTART"] = 2] = "WARMSTART";
RestartReason222[RestartReason222["DETECTED_POWER_LOST"] = 3] = "DETECTED_POWER_LOST";
RestartReason222[RestartReason222["DETECTED_POWERED_OFF"] = 4] = "DETECTED_POWERED_OFF";
RestartReason222[RestartReason222["HARDWARE_WATCHDOG"] = 5] = "HARDWARE_WATCHDOG";
RestartReason222[RestartReason222["SOFTWARE_WATCHDOG"] = 6] = "SOFTWARE_WATCHDOG";
RestartReason222[RestartReason222["SUSPENDED"] = 7] = "SUSPENDED";
RestartReason222[RestartReason222["ACTIVATE_CHANGES"] = 8] = "ACTIVATE_CHANGES";
return RestartReason222;
})(RestartReason22 || {});
var SecurityLevel22 = /* @__PURE__ */ ((SecurityLevel222) => {
SecurityLevel222[SecurityLevel222["INCAPABLE"] = 0] = "INCAPABLE";
SecurityLevel222[SecurityLevel222["PLAIN"] = 1] = "PLAIN";
SecurityLevel222[SecurityLevel222["SIGNED"] = 2] = "SIGNED";
SecurityLevel222[SecurityLevel222["ENCRYPTED"] = 3] = "ENCRYPTED";
SecurityLevel222[SecurityLevel222["SIGNED_END_TO_END"] = 4] = "SIGNED_END_TO_END";
SecurityLevel222[SecurityLevel222["ENCRYPTED_END_TO_END"] = 5] = "ENCRYPTED_END_TO_END";
return SecurityLevel222;
})(SecurityLevel22 || {});
var SecurityPolicy22 = /* @__PURE__ */ ((SecurityPolicy222) => {
SecurityPolicy222[SecurityPolicy222["PLAIN_NON_TRUSTED"] = 0] = "PLAIN_NON_TRUSTED";
SecurityPolicy222[SecurityPolicy222["PLAIN_TRUSTED"] = 1] = "PLAIN_TRUSTED";
SecurityPolicy222[SecurityPolicy222["SIGNED_TRUSTED"] = 2] = "SIGNED_TRUSTED";
SecurityPolicy222[SecurityPolicy222["ENCRYPTED_TRUSTED"] = 3] = "ENCRYPTED_TRUSTED";
return SecurityPolicy222;
})(SecurityPolicy22 || {});
var Segmentation22 = /* @__PURE__ */ ((Segmentation222) => {
Segmentation222[Segmentation222["SEGMENTED_BOTH"] = 0] = "SEGMENTED_BOTH";
Segmentation222[Segmentation222["SEGMENTED_TRANSMIT"] = 1] = "SEGMENTED_TRANSMIT";
Segmentation222[Segmentation222["SEGMENTED_RECEIVE"] = 2] = "SEGMENTED_RECEIVE";
Segmentation222[Segmentation222["NO_SEGMENTATION"] = 3] = "NO_SEGMENTATION";
return Segmentation222;
})(Segmentation22 || {});
var ShedState22 = /* @__PURE__ */ ((ShedState222) => {
ShedState222[ShedState222["SHED_INACTIVE"] = 0] = "SHED_INACTIVE";
ShedState222[ShedState222["SHED_REQUEST_PENDING"] = 1] = "SHED_REQUEST_PENDING";
ShedState222[ShedState222["SHED_COMPLIANT"] = 2] = "SHED_COMPLIANT";
ShedState222[ShedState222["SHED_NON_COMPLIANT"] = 3] = "SHED_NON_COMPLIANT";
return ShedState222;
})(ShedState22 || {});
var SilencedState22 = /* @__PURE__ */ ((SilencedState222) => {
SilencedState222[SilencedState222["UNSILENCED"] = 0] = "UNSILENCED";
SilencedState222[SilencedState222["AUDIBLE_SILENCED"] = 1] = "AUDIBLE_SILENCED";
SilencedState222[SilencedState222["VISIBLE_SILENCED"] = 2] = "VISIBLE_SILENCED";
SilencedState222[SilencedState222["ALL_SILENCED"] = 3] = "ALL_SILENCED";
return SilencedState222;
})(SilencedState22 || {});
var TimerState22 = /* @__PURE__ */ ((TimerState222) => {
TimerState222[TimerState222["IDLE"] = 0] = "IDLE";
TimerState222[TimerState222["RUNNING"] = 1] = "RUNNING";
TimerState222[TimerState222["EXPIRED"] = 2] = "EXPIRED";
return TimerState222;
})(TimerState22 || {});
var TimerTransition22 = /* @__PURE__ */ ((TimerTransition222) => {
TimerTransition222[TimerTransition222["NONE"] = 0] = "NONE";
TimerTransition222[TimerTransition222["IDLE_TO_RUNNING"] = 1] = "IDLE_TO_RUNNING";
TimerTransition222[TimerTransition222["RUNNING_TO_IDLE"] = 2] = "RUNNING_TO_IDLE";
TimerTransition222[TimerTransition222["RUNNING_TO_RUNNING"] = 3] = "RUNNING_TO_RUNNING";
TimerTransition222[TimerTransition222["RUNNING_TO_EXPIRED"] = 4] = "RUNNING_TO_EXPIRED";
TimerTransition222[TimerTransition222["FORCED_TO_EXPIRED"] = 5] = "FORCED_TO_EXPIRED";
TimerTransition222[TimerTransition222["EXPIRED_TO_IDLE"] = 6] = "EXPIRED_TO_IDLE";
TimerTransition222[TimerTransition222["EXPIRED_TO_RUNNING"] = 7] = "EXPIRED_TO_RUNNING";
return TimerTransition222;
})(TimerTransition22 || {});
var VTClass22 = /* @__PURE__ */ ((VTClass222) => {
VTClass222[VTClass222["DEFAULT_TERMINAL"] = 0] = "DEFAULT_TERMINAL";
VTClass222[VTClass222["ANSI_X3_64"] = 1] = "ANSI_X3_64";
VTClass222[VTClass222["DEC_VT52"] = 2] = "DEC_VT52";
VTClass222[VTClass222["DEC_VT100"] = 3] = "DEC_VT100";
VTClass222[VTClass222["DEC_VT220"] = 4] = "DEC_VT220";
VTClass222[VTClass222["HP_700_94"] = 5] = "HP_700_94";
VTClass222[VTClass222["IBM_3130"] = 6] = "IBM_3130";
return VTClass222;
})(VTClass22 || {});
var WriteStatus22 = /* @__PURE__ */ ((WriteStatus222) => {
WriteStatus222[WriteStatus222["IDLE"] = 0] = "IDLE";
WriteStatus222[WriteStatus222["IN_PROGRESS"] = 1] = "IN_PROGRESS";
WriteStatus222[WriteStatus222["SUCCESSFUL"] = 2] = "SUCCESSFUL";
WriteStatus222[WriteStatus222["FAILED"] = 3] = "FAILED";
return WriteStatus222;
})(WriteStatus22 || {});
var DaysOfWeek22 = /* @__PURE__ */ ((DaysOfWeek222) => {
DaysOfWeek222[DaysOfWeek222["MONDAY"] = 0] = "MONDAY";
DaysOfWeek222[DaysOfWeek222["TUESDAY"] = 1] = "TUESDAY";
DaysOfWeek222[DaysOfWeek222["WEDNESDAY"] = 2] = "WEDNESDAY";
DaysOfWeek222[DaysOfWeek222["THURSDAY"] = 3] = "THURSDAY";
DaysOfWeek222[DaysOfWeek222["FRIDAY"] = 4] = "FRIDAY";
DaysOfWeek222[DaysOfWeek222["SATURDAY"] = 5] = "SATURDAY";
DaysOfWeek222[DaysOfWeek222["SUNDAY"] = 6] = "SUNDAY";
return DaysOfWeek222;
})(DaysOfWeek22 || {});
var EventTransitionBits22 = /* @__PURE__ */ ((EventTransitionBits222) => {
EventTransitionBits222[EventTransitionBits222["TO_OFFNORMAL"] = 0] = "TO_OFFNORMAL";
EventTransitionBits222[EventTransitionBits222["TO_FAULT"] = 1] = "TO_FAULT";
EventTransitionBits222[EventTransitionBits222["TO_NORMAL"] = 2] = "TO_NORMAL";
return EventTransitionBits222;
})(EventTransitionBits22 || {});
var LimitEnable22 = /* @__PURE__ */ ((LimitEnable222) => {
LimitEnable222[LimitEnable222["LOW_LIMIT_ENABLE"] = 0] = "LOW_LIMIT_ENABLE";
LimitEnable222[LimitEnable222["HIGH_LIMIT_ENABLE"] = 1] = "HIGH_LIMIT_ENABLE";
return LimitEnable222;
})(LimitEnable22 || {});
var LogStatus22 = /* @__PURE__ */ ((LogStatus222) => {
LogStatus222[LogStatus222["LOG_DISABLED"] = 0] = "LOG_DISABLED";
LogStatus222[LogStatus222["BUFFER_PURGED"] = 1] = "BUFFER_PURGED";
LogStatus222[LogStatus222["LOG_INTERRUPTED"] = 2] = "LOG_INTERRUPTED";
return LogStatus222;
})(LogStatus22 || {});
var ObjectTypesSupported22 = /* @__PURE__ */ ((ObjectTypesSupported222) => {
ObjectTypesSupported222[ObjectTypesSupported222["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectTypesSupported222[ObjectTypesSupported222["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectTypesSupported222[ObjectTypesSupported222["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectTypesSupported222[ObjectTypesSupported222["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectTypesSupported222[ObjectTypesSupported222["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["CALENDAR"] = 6] = "CALENDAR";
ObjectTypesSupported222[ObjectTypesSupported222["COMMAND"] = 7] = "COMMAND";
ObjectTypesSupported222[ObjectTypesSupported222["DEVICE"] = 8] = "DEVICE";
ObjectTypesSupported222[ObjectTypesSupported222["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectTypesSupported222[ObjectTypesSupported222["FILE"] = 10] = "FILE";
ObjectTypesSupported222[ObjectTypesSupported222["GROUP"] = 11] = "GROUP";
ObjectTypesSupported222[ObjectTypesSupported222["LOOP"] = 12] = "LOOP";
ObjectTypesSupported222[ObjectTypesSupported222["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectTypesSupported222[ObjectTypesSupported222["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectTypesSupported222[ObjectTypesSupported222["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectTypesSupported222[ObjectTypesSupported222["PROGRAM"] = 16] = "PROGRAM";
ObjectTypesSupported222[ObjectTypesSupported222["SCHEDULE"] = 17] = "SCHEDULE";
ObjectTypesSupported222[ObjectTypesSupported222["AVERAGING"] = 18] = "AVERAGING";
ObjectTypesSupported222[ObjectTypesSupported222["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["TREND_LOG"] = 20] = "TREND_LOG";
ObjectTypesSupported222[ObjectTypesSupported222["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectTypesSupported222[ObjectTypesSupported222["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectTypesSupported222[ObjectTypesSupported222["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectTypesSupported222[ObjectTypesSupported222["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectTypesSupported222[ObjectTypesSupported222["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectTypesSupported222[ObjectTypesSupported222["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectTypesSupported222[ObjectTypesSupported222["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
ObjectTypesSupported222[ObjectTypesSupported222["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectTypesSupported222[ObjectTypesSupported222["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectTypesSupported222[ObjectTypesSupported222["TIMER"] = 31] = "TIMER";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectTypesSupported222[ObjectTypesSupported222["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectTypesSupported222[ObjectTypesSupported222["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectTypesSupported222[ObjectTypesSupported222["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectTypesSupported222[ObjectTypesSupported222["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectTypesSupported222[ObjectTypesSupported222["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectTypesSupported222[ObjectTypesSupported222["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectTypesSupported222[ObjectTypesSupported222["CHANNEL"] = 53] = "CHANNEL";
ObjectTypesSupported222[ObjectTypesSupported222["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectTypesSupported222[ObjectTypesSupported222["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectTypesSupported222[ObjectTypesSupported222["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectTypesSupported222[ObjectTypesSupported222["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectTypesSupported222[ObjectTypesSupported222["ESCALATOR"] = 58] = "ESCALATOR";
ObjectTypesSupported222[ObjectTypesSupported222["LIFT"] = 59] = "LIFT";
return ObjectTypesSupported222;
})(ObjectTypesSupported22 || {});
var ResultFlags22 = /* @__PURE__ */ ((ResultFlags222) => {
ResultFlags222[ResultFlags222["FIRST_ITEM"] = 0] = "FIRST_ITEM";
ResultFlags222[ResultFlags222["LAST_ITEM"] = 1] = "LAST_ITEM";
ResultFlags222[ResultFlags222["MORE_ITEMS"] = 2] = "MORE_ITEMS";
return ResultFlags222;
})(ResultFlags22 || {});
var ServicesSupported22 = /* @__PURE__ */ ((ServicesSupported222) => {
ServicesSupported222[ServicesSupported222["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ServicesSupported222[ServicesSupported222["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ServicesSupported222[ServicesSupported222["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ServicesSupported222[ServicesSupported222["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ServicesSupported222[ServicesSupported222["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ServicesSupported222[ServicesSupported222["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ServicesSupported222[ServicesSupported222["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ServicesSupported222[ServicesSupported222["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ServicesSupported222[ServicesSupported222["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ServicesSupported222[ServicesSupported222["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ServicesSupported222[ServicesSupported222["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ServicesSupported222[ServicesSupported222["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ServicesSupported222[ServicesSupported222["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ServicesSupported222[ServicesSupported222["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ServicesSupported222[ServicesSupported222["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ServicesSupported222[ServicesSupported222["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ServicesSupported222[ServicesSupported222["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ServicesSupported222[ServicesSupported222["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ServicesSupported222[ServicesSupported222["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ServicesSupported222[ServicesSupported222["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ServicesSupported222[ServicesSupported222["VT_OPEN"] = 21] = "VT_OPEN";
ServicesSupported222[ServicesSupported222["VT_CLOSE"] = 22] = "VT_CLOSE";
ServicesSupported222[ServicesSupported222["VT_DATA"] = 23] = "VT_DATA";
ServicesSupported222[ServicesSupported222["READ_PROPERTY_CONDITIONAL"] = 13] = "READ_PROPERTY_CONDITIONAL";
ServicesSupported222[ServicesSupported222["AUTHENTICATE"] = 24] = "AUTHENTICATE";
ServicesSupported222[ServicesSupported222["REQUEST_KEY"] = 25] = "REQUEST_KEY";
ServicesSupported222[ServicesSupported222["I_AM"] = 26] = "I_AM";
ServicesSupported222[ServicesSupported222["I_HAVE"] = 27] = "I_HAVE";
ServicesSupported222[ServicesSupported222["UNCONFIRMED_COV_NOTIFICATION"] = 28] = "UNCONFIRMED_COV_NOTIFICATION";
ServicesSupported222[ServicesSupported222["UNCONFIRMED_EVENT_NOTIFICATION"] = 29] = "UNCONFIRMED_EVENT_NOTIFICATION";
ServicesSupported222[ServicesSupported222["UNCONFIRMED_PRIVATE_TRANSFER"] = 30] = "UNCONFIRMED_PRIVATE_TRANSFER";
ServicesSupported222[ServicesSupported222["UNCONFIRMED_TEXT_MESSAGE"] = 31] = "UNCONFIRMED_TEXT_MESSAGE";
ServicesSupported222[ServicesSupported222["TIME_SYNCHRONIZATION"] = 32] = "TIME_SYNCHRONIZATION";
ServicesSupported222[ServicesSupported222["WHO_HAS"] = 33] = "WHO_HAS";
ServicesSupported222[ServicesSupported222["WHO_IS"] = 34] = "WHO_IS";
ServicesSupported222[ServicesSupported222["READ_RANGE"] = 35] = "READ_RANGE";
ServicesSupported222[ServicesSupported222["UTC_TIME_SYNCHRONIZATION"] = 36] = "UTC_TIME_SYNCHRONIZATION";
ServicesSupported222[ServicesSupported222["LIFE_SAFETY_OPERATION"] = 37] = "LIFE_SAFETY_OPERATION";
ServicesSupported222[ServicesSupported222["SUBSCRIBE_COV_PROPERTY"] = 38] = "SUBSCRIBE_COV_PROPERTY";
ServicesSupported222[ServicesSupported222["GET_EVENT_INFORMATION"] = 39] = "GET_EVENT_INFORMATION";
ServicesSupported222[ServicesSupported222["WRITE_GROUP"] = 40] = "WRITE_GROUP";
ServicesSupported222[ServicesSupported222["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 41] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ServicesSupported222[ServicesSupported222["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 42] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
ServicesSupported222[ServicesSupported222["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 43] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ServicesSupported222;
})(ServicesSupported22 || {});
var StatusFlags22 = /* @__PURE__ */ ((StatusFlags222) => {
StatusFlags222[StatusFlags222["IN_ALARM"] = 0] = "IN_ALARM";
StatusFlags222[StatusFlags222["FAULT"] = 1] = "FAULT";
StatusFlags222[StatusFlags222["OVERRIDDEN"] = 2] = "OVERRIDDEN";
StatusFlags222[StatusFlags222["OUT_OF_SERVICE"] = 3] = "OUT_OF_SERVICE";
return StatusFlags222;
})(StatusFlags22 || {});
var ApplicationTag22 = /* @__PURE__ */ ((ApplicationTag222) => {
ApplicationTag222[ApplicationTag222["NULL"] = 0] = "NULL";
ApplicationTag222[ApplicationTag222["BOOLEAN"] = 1] = "BOOLEAN";
ApplicationTag222[ApplicationTag222["UNSIGNED_INTEGER"] = 2] = "UNSIGNED_INTEGER";
ApplicationTag222[ApplicationTag222["SIGNED_INTEGER"] = 3] = "SIGNED_INTEGER";
ApplicationTag222[ApplicationTag222["REAL"] = 4] = "REAL";
ApplicationTag222[ApplicationTag222["DOUBLE"] = 5] = "DOUBLE";
ApplicationTag222[ApplicationTag222["OCTET_STRING"] = 6] = "OCTET_STRING";
ApplicationTag222[ApplicationTag222["CHARACTER_STRING"] = 7] = "CHARACTER_STRING";
ApplicationTag222[ApplicationTag222["BIT_STRING"] = 8] = "BIT_STRING";
ApplicationTag222[ApplicationTag222["ENUMERATED"] = 9] = "ENUMERATED";
ApplicationTag222[ApplicationTag222["DATE"] = 10] = "DATE";
ApplicationTag222[ApplicationTag222["TIME"] = 11] = "TIME";
ApplicationTag222[ApplicationTag222["OBJECTIDENTIFIER"] = 12] = "OBJECTIDENTIFIER";
ApplicationTag222[ApplicationTag222["EMPTYLIST"] = 100] = "EMPTYLIST";
ApplicationTag222[ApplicationTag222["WEEKNDAY"] = 101] = "WEEKNDAY";
ApplicationTag222[ApplicationTag222["DATERANGE"] = 102] = "DATERANGE";
ApplicationTag222[ApplicationTag222["DATETIME"] = 103] = "DATETIME";
ApplicationTag222[ApplicationTag222["TIMESTAMP"] = 104] = "TIMESTAMP";
ApplicationTag222[ApplicationTag222["ERROR"] = 105] = "ERROR";
ApplicationTag222[ApplicationTag222["DEVICE_OBJECT_PROPERTY_REFERENCE"] = 106] = "DEVICE_OBJECT_PROPERTY_REFERENCE";
ApplicationTag222[ApplicationTag222["DEVICE_OBJECT_REFERENCE"] = 107] = "DEVICE_OBJECT_REFERENCE";
ApplicationTag222[ApplicationTag222["OBJECT_PROPERTY_REFERENCE"] = 108] = "OBJECT_PROPERTY_REFERENCE";
ApplicationTag222[ApplicationTag222["DESTINATION"] = 109] = "DESTINATION";
ApplicationTag222[ApplicationTag222["RECIPIENT"] = 110] = "RECIPIENT";
ApplicationTag222[ApplicationTag222["COV_SUBSCRIPTION"] = 111] = "COV_SUBSCRIPTION";
ApplicationTag222[ApplicationTag222["CALENDAR_ENTRY"] = 112] = "CALENDAR_ENTRY";
ApplicationTag222[ApplicationTag222["WEEKLY_SCHEDULE"] = 113] = "WEEKLY_SCHEDULE";
ApplicationTag222[ApplicationTag222["SPECIAL_EVENT"] = 114] = "SPECIAL_EVENT";
ApplicationTag222[ApplicationTag222["READ_ACCESS_SPECIFICATION"] = 115] = "READ_ACCESS_SPECIFICATION";
ApplicationTag222[ApplicationTag222["READ_ACCESS_RESULT"] = 116] = "READ_ACCESS_RESULT";
ApplicationTag222[ApplicationTag222["LIGHTING_COMMAND"] = 117] = "LIGHTING_COMMAND";
ApplicationTag222[ApplicationTag222["CONTEXT_SPECIFIC_DECODED"] = 118] = "CONTEXT_SPECIFIC_DECODED";
ApplicationTag222[ApplicationTag222["CONTEXT_SPECIFIC_ENCODED"] = 119] = "CONTEXT_SPECIFIC_ENCODED";
ApplicationTag222[ApplicationTag222["LOG_RECORD"] = 120] = "LOG_RECORD";
return ApplicationTag222;
})(ApplicationTag22 || {});
var ApplicationTagName22 = invertEnum22(
ApplicationTag22
);
var BvlcResultFormat22 = /* @__PURE__ */ ((BvlcResultFormat222) => {
BvlcResultFormat222[BvlcResultFormat222["SUCCESSFUL_COMPLETION"] = 0] = "SUCCESSFUL_COMPLETION";
BvlcResultFormat222[BvlcResultFormat222["WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 16] = "WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat222[BvlcResultFormat222["READ_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 32] = "READ_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat222[BvlcResultFormat222["REGISTER_FOREIGN_DEVICE_NAK"] = 48] = "REGISTER_FOREIGN_DEVICE_NAK";
BvlcResultFormat222[BvlcResultFormat222["READ_FOREIGN_DEVICE_TABLE_NAK"] = 64] = "READ_FOREIGN_DEVICE_TABLE_NAK";
BvlcResultFormat222[BvlcResultFormat222["DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK"] = 80] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK";
BvlcResultFormat222[BvlcResultFormat222["DISTRIBUTE_BROADCAST_TO_NETWORK_NAK"] = 96] = "DISTRIBUTE_BROADCAST_TO_NETWORK_NAK";
return BvlcResultFormat222;
})(BvlcResultFormat22 || {});
var BvlcResultPurpose22 = /* @__PURE__ */ ((BvlcResultPurpose222) => {
BvlcResultPurpose222[BvlcResultPurpose222["BVLC_RESULT"] = 0] = "BVLC_RESULT";
BvlcResultPurpose222[BvlcResultPurpose222["WRITE_BROADCAST_DISTRIBUTION_TABLE"] = 1] = "WRITE_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose222[BvlcResultPurpose222["READ_BROADCAST_DISTRIBUTION_TABLE"] = 2] = "READ_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose222[BvlcResultPurpose222["READ_BROADCAST_DISTRIBUTION_TABLE_ACK"] = 3] = "READ_BROADCAST_DISTRIBUTION_TABLE_ACK";
BvlcResultPurpose222[BvlcResultPurpose222["FORWARDED_NPDU"] = 4] = "FORWARDED_NPDU";
BvlcResultPurpose222[BvlcResultPurpose222["REGISTER_FOREIGN_DEVICE"] = 5] = "REGISTER_FOREIGN_DEVICE";
BvlcResultPurpose222[BvlcResultPurpose222["READ_FOREIGN_DEVICE_TABLE"] = 6] = "READ_FOREIGN_DEVICE_TABLE";
BvlcResultPurpose222[BvlcResultPurpose222["READ_FOREIGN_DEVICE_TABLE_ACK"] = 7] = "READ_FOREIGN_DEVICE_TABLE_ACK";
BvlcResultPurpose222[BvlcResultPurpose222["DELETE_FOREIGN_DEVICE_TABLE_ENTRY"] = 8] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY";
BvlcResultPurpose222[BvlcResultPurpose222["DISTRIBUTE_BROADCAST_TO_NETWORK"] = 9] = "DISTRIBUTE_BROADCAST_TO_NETWORK";
BvlcResultPurpose222[BvlcResultPurpose222["ORIGINAL_UNICAST_NPDU"] = 10] = "ORIGINAL_UNICAST_NPDU";
BvlcResultPurpose222[BvlcResultPurpose222["ORIGINAL_BROADCAST_NPDU"] = 11] = "ORIGINAL_BROADCAST_NPDU";
BvlcResultPurpose222[BvlcResultPurpose222["SECURE_BVLL"] = 12] = "SECURE_BVLL";
return BvlcResultPurpose222;
})(BvlcResultPurpose22 || {});
var CharacterStringEncoding22 = /* @__PURE__ */ ((CharacterStringEncoding222) => {
CharacterStringEncoding222[CharacterStringEncoding222["UTF_8"] = 0] = "UTF_8";
CharacterStringEncoding222[CharacterStringEncoding222["MICROSOFT_DBCS"] = 1] = "MICROSOFT_DBCS";
CharacterStringEncoding222[CharacterStringEncoding222["JIS_X_0208"] = 2] = "JIS_X_0208";
CharacterStringEncoding222[CharacterStringEncoding222["UCS_4"] = 3] = "UCS_4";
CharacterStringEncoding222[CharacterStringEncoding222["UCS_2"] = 4] = "UCS_2";
CharacterStringEncoding222[CharacterStringEncoding222["ISO_8859_1"] = 5] = "ISO_8859_1";
return CharacterStringEncoding222;
})(CharacterStringEncoding22 || {});
var CovType22 = /* @__PURE__ */ ((CovType222) => {
CovType222[CovType222["REAL"] = 0] = "REAL";
CovType222[CovType222["BIT_STRING"] = 1] = "BIT_STRING";
return CovType222;
})(CovType22 || {});
var EnableDisable22 = /* @__PURE__ */ ((EnableDisable222) => {
EnableDisable222[EnableDisable222["ENABLE"] = 0] = "ENABLE";
EnableDisable222[EnableDisable222["DISABLE"] = 1] = "DISABLE";
EnableDisable222[EnableDisable222["DISABLE_INITIATION"] = 2] = "DISABLE_INITIATION";
return EnableDisable222;
})(EnableDisable22 || {});
var MaxApduLengthAccepted22 = /* @__PURE__ */ ((MaxApduLengthAccepted222) => {
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_50"] = 0] = "OCTETS_50";
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_128"] = 1] = "OCTETS_128";
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_206"] = 2] = "OCTETS_206";
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_480"] = 3] = "OCTETS_480";
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_1024"] = 4] = "OCTETS_1024";
MaxApduLengthAccepted222[MaxApduLengthAccepted222["OCTETS_1476"] = 5] = "OCTETS_1476";
return MaxApduLengthAccepted222;
})(MaxApduLengthAccepted22 || {});
var MaxSegmentsAccepted22 = /* @__PURE__ */ ((MaxSegmentsAccepted222) => {
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_0"] = 0] = "SEGMENTS_0";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_2"] = 16] = "SEGMENTS_2";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_4"] = 32] = "SEGMENTS_4";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_8"] = 48] = "SEGMENTS_8";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_16"] = 64] = "SEGMENTS_16";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_32"] = 80] = "SEGMENTS_32";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_64"] = 96] = "SEGMENTS_64";
MaxSegmentsAccepted222[MaxSegmentsAccepted222["SEGMENTS_65"] = 112] = "SEGMENTS_65";
return MaxSegmentsAccepted222;
})(MaxSegmentsAccepted22 || {});
var NetworkLayerMessageType22 = /* @__PURE__ */ ((NetworkLayerMessageType222) => {
NetworkLayerMessageType222[NetworkLayerMessageType222["WHO_IS_ROUTER_TO_NETWORK"] = 0] = "WHO_IS_ROUTER_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["I_AM_ROUTER_TO_NETWORK"] = 1] = "I_AM_ROUTER_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["I_COULD_BE_ROUTER_TO_NETWORK"] = 2] = "I_COULD_BE_ROUTER_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["REJECT_MESSAGE_TO_NETWORK"] = 3] = "REJECT_MESSAGE_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["ROUTER_BUSY_TO_NETWORK"] = 4] = "ROUTER_BUSY_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["ROUTER_AVAILABLE_TO_NETWORK"] = 5] = "ROUTER_AVAILABLE_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["INITIALIZE_ROUTING_TABLE"] = 6] = "INITIALIZE_ROUTING_TABLE";
NetworkLayerMessageType222[NetworkLayerMessageType222["INITIALIZE_ROUTING_TABLE_ACK"] = 7] = "INITIALIZE_ROUTING_TABLE_ACK";
NetworkLayerMessageType222[NetworkLayerMessageType222["ESTABLISH_CONNECTION_TO_NETWORK"] = 8] = "ESTABLISH_CONNECTION_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["DISCONNECT_CONNECTION_TO_NETWORK"] = 9] = "DISCONNECT_CONNECTION_TO_NETWORK";
NetworkLayerMessageType222[NetworkLayerMessageType222["CHALLENGE_REQUEST"] = 10] = "CHALLENGE_REQUEST";
NetworkLayerMessageType222[NetworkLayerMessageType222["SECURITY_PAYLOAD"] = 11] = "SECURITY_PAYLOAD";
NetworkLayerMessageType222[NetworkLayerMessageType222["SECURITY_RESPONSE"] = 12] = "SECURITY_RESPONSE";
NetworkLayerMessageType222[NetworkLayerMessageType222["REQUEST_KEY_UPDATE"] = 13] = "REQUEST_KEY_UPDATE";
NetworkLayerMessageType222[NetworkLayerMessageType222["UPDATE_KEY_SET"] = 14] = "UPDATE_KEY_SET";
NetworkLayerMessageType222[NetworkLayerMessageType222["UPDATE_DISTRIBUTION_KEY"] = 15] = "UPDATE_DISTRIBUTION_KEY";
NetworkLayerMessageType222[NetworkLayerMessageType222["REQUEST_MASTER_KEY"] = 16] = "REQUEST_MASTER_KEY";
NetworkLayerMessageType222[NetworkLayerMessageType222["SET_MASTER_KEY"] = 17] = "SET_MASTER_KEY";
NetworkLayerMessageType222[NetworkLayerMessageType222["WHAT_IS_NETWORK_NUMBER"] = 18] = "WHAT_IS_NETWORK_NUMBER";
NetworkLayerMessageType222[NetworkLayerMessageType222["NETWORK_NUMBER_IS"] = 19] = "NETWORK_NUMBER_IS";
return NetworkLayerMessageType222;
})(NetworkLayerMessageType22 || {});
var NpduControlBit22 = /* @__PURE__ */ ((NpduControlBit222) => {
NpduControlBit222[NpduControlBit222["EXPECTING_REPLY"] = 4] = "EXPECTING_REPLY";
NpduControlBit222[NpduControlBit222["SOURCE_SPECIFIED"] = 8] = "SOURCE_SPECIFIED";
NpduControlBit222[NpduControlBit222["DESTINATION_SPECIFIED"] = 32] = "DESTINATION_SPECIFIED";
NpduControlBit222[NpduControlBit222["NETWORK_LAYER_MESSAGE"] = 128] = "NETWORK_LAYER_MESSAGE";
return NpduControlBit222;
})(NpduControlBit22 || {});
var NpduControlPriority22 = /* @__PURE__ */ ((NpduControlPriority222) => {
NpduControlPriority222[NpduControlPriority222["NORMAL_MESSAGE"] = 0] = "NORMAL_MESSAGE";
NpduControlPriority222[NpduControlPriority222["URGENT_MESSAGE"] = 1] = "URGENT_MESSAGE";
NpduControlPriority222[NpduControlPriority222["CRITICAL_EQUIPMENT_MESSAGE"] = 2] = "CRITICAL_EQUIPMENT_MESSAGE";
NpduControlPriority222[NpduControlPriority222["LIFE_SAFETY_MESSAGE"] = 3] = "LIFE_SAFETY_MESSAGE";
return NpduControlPriority222;
})(NpduControlPriority22 || {});
var PduConReqBit22 = /* @__PURE__ */ ((PduConReqBit222) => {
PduConReqBit222[PduConReqBit222["SEGMENTED_RESPONSE_ACCEPTED"] = 2] = "SEGMENTED_RESPONSE_ACCEPTED";
PduConReqBit222[PduConReqBit222["MORE_FOLLOWS"] = 4] = "MORE_FOLLOWS";
PduConReqBit222[PduConReqBit222["SEGMENTED_MESSAGE"] = 8] = "SEGMENTED_MESSAGE";
return PduConReqBit222;
})(PduConReqBit22 || {});
var PduSegAckBit22 = /* @__PURE__ */ ((PduSegAckBit222) => {
PduSegAckBit222[PduSegAckBit222["SERVER"] = 1] = "SERVER";
PduSegAckBit222[PduSegAckBit222["NEGATIVE_ACK"] = 2] = "NEGATIVE_ACK";
return PduSegAckBit222;
})(PduSegAckBit22 || {});
var PduType22 = /* @__PURE__ */ ((PduType222) => {
PduType222[PduType222["CONFIRMED_REQUEST"] = 0] = "CONFIRMED_REQUEST";
PduType222[PduType222["UNCONFIRMED_REQUEST"] = 16] = "UNCONFIRMED_REQUEST";
PduType222[PduType222["SIMPLE_ACK"] = 32] = "SIMPLE_ACK";
PduType222[PduType222["COMPLEX_ACK"] = 48] = "COMPLEX_ACK";
PduType222[PduType222["SEGMENT_ACK"] = 64] = "SEGMENT_ACK";
PduType222[PduType222["ERROR"] = 80] = "ERROR";
PduType222[PduType222["REJECT"] = 96] = "REJECT";
PduType222[PduType222["ABORT"] = 112] = "ABORT";
return PduType222;
})(PduType22 || {});
var PropertyStates22 = /* @__PURE__ */ ((PropertyStates222) => {
PropertyStates222[PropertyStates222["BOOLEAN_VALUE"] = 0] = "BOOLEAN_VALUE";
PropertyStates222[PropertyStates222["BINARY_VALUE"] = 1] = "BINARY_VALUE";
PropertyStates222[PropertyStates222["EVENT_TYPE"] = 2] = "EVENT_TYPE";
PropertyStates222[PropertyStates222["POLARITY"] = 3] = "POLARITY";
PropertyStates222[PropertyStates222["PROGRAM_CHANGE"] = 4] = "PROGRAM_CHANGE";
PropertyStates222[PropertyStates222["PROGRAM_STATE"] = 5] = "PROGRAM_STATE";
PropertyStates222[PropertyStates222["REASON_FOR_HALT"] = 6] = "REASON_FOR_HALT";
PropertyStates222[PropertyStates222["RELIABILITY"] = 7] = "RELIABILITY";
PropertyStates222[PropertyStates222["STATE"] = 8] = "STATE";
PropertyStates222[PropertyStates222["SYSTEM_STATUS"] = 9] = "SYSTEM_STATUS";
PropertyStates222[PropertyStates222["UNITS"] = 10] = "UNITS";
PropertyStates222[PropertyStates222["UNSIGNED_VALUE"] = 11] = "UNSIGNED_VALUE";
PropertyStates222[PropertyStates222["LIFE_SAFETY_MODE"] = 12] = "LIFE_SAFETY_MODE";
PropertyStates222[PropertyStates222["LIFE_SAFETY_STATE"] = 13] = "LIFE_SAFETY_STATE";
PropertyStates222[PropertyStates222["RESTART_REASON"] = 14] = "RESTART_REASON";
PropertyStates222[PropertyStates222["DOOR_ALARM_STATE"] = 15] = "DOOR_ALARM_STATE";
PropertyStates222[PropertyStates222["ACTION"] = 16] = "ACTION";
PropertyStates222[PropertyStates222["DOOR_SECURED_STATUS"] = 17] = "DOOR_SECURED_STATUS";
PropertyStates222[PropertyStates222["DOOR_STATUS"] = 18] = "DOOR_STATUS";
PropertyStates222[PropertyStates222["DOOR_VALUE"] = 19] = "DOOR_VALUE";
PropertyStates222[PropertyStates222["FILE_ACCESS_METHOD"] = 20] = "FILE_ACCESS_METHOD";
PropertyStates222[PropertyStates222["LOCK_STATUS"] = 21] = "LOCK_STATUS";
PropertyStates222[PropertyStates222["LIFE_SAFETY_OPERATION"] = 22] = "LIFE_SAFETY_OPERATION";
PropertyStates222[PropertyStates222["MAINTENANCE"] = 23] = "MAINTENANCE";
PropertyStates222[PropertyStates222["NODE_TYPE"] = 24] = "NODE_TYPE";
PropertyStates222[PropertyStates222["NOTIFY_TYPE"] = 25] = "NOTIFY_TYPE";
PropertyStates222[PropertyStates222["SECURITY_LEVEL"] = 26] = "SECURITY_LEVEL";
PropertyStates222[PropertyStates222["SHED_STATE"] = 27] = "SHED_STATE";
PropertyStates222[PropertyStates222["SILENCED_STATE"] = 28] = "SILENCED_STATE";
PropertyStates222[PropertyStates222["ACCESS_EVENT"] = 30] = "ACCESS_EVENT";
PropertyStates222[PropertyStates222["ZONE_OCCUPANCY_STATE"] = 31] = "ZONE_OCCUPANCY_STATE";
PropertyStates222[PropertyStates222["ACCESS_CREDENTIAL_DISABLE_REASON"] = 32] = "ACCESS_CREDENTIAL_DISABLE_REASON";
PropertyStates222[PropertyStates222["ACCESS_CREDENTIAL_DISABLE"] = 33] = "ACCESS_CREDENTIAL_DISABLE";
PropertyStates222[PropertyStates222["AUTHENTICATION_STATUS"] = 34] = "AUTHENTICATION_STATUS";
PropertyStates222[PropertyStates222["BACKUP_STATE"] = 36] = "BACKUP_STATE";
PropertyStates222[PropertyStates222["WRITE_STATUS"] = 37] = "WRITE_STATUS";
PropertyStates222[PropertyStates222["LIGHTING_IN_PROGRESS"] = 38] = "LIGHTING_IN_PROGRESS";
PropertyStates222[PropertyStates222["LIGHTING_OPERATION"] = 39] = "LIGHTING_OPERATION";
PropertyStates222[PropertyStates222["LIGHTING_TRANSITION"] = 40] = "LIGHTING_TRANSITION";
PropertyStates222[PropertyStates222["INTEGER_VALUE"] = 41] = "INTEGER_VALUE";
PropertyStates222[PropertyStates222["BINARY_LIGHTING_VALUE"] = 42] = "BINARY_LIGHTING_VALUE";
PropertyStates222[PropertyStates222["TIMER_STATE"] = 43] = "TIMER_STATE";
PropertyStates222[PropertyStates222["TIMER_TRANSITION"] = 44] = "TIMER_TRANSITION";
PropertyStates222[PropertyStates222["BACNET_IP_MODE"] = 45] = "BACNET_IP_MODE";
PropertyStates222[PropertyStates222["NETWORK_PORT_COMMAND"] = 46] = "NETWORK_PORT_COMMAND";
PropertyStates222[PropertyStates222["NETWORK_TYPE"] = 47] = "NETWORK_TYPE";
PropertyStates222[PropertyStates222["NETWORK_NUMBER_QUALITY"] = 48] = "NETWORK_NUMBER_QUALITY";
PropertyStates222[PropertyStates222["ESCALATOR_OPERATION_DIRECTION"] = 49] = "ESCALATOR_OPERATION_DIRECTION";
PropertyStates222[PropertyStates222["ESCALATOR_FAULT"] = 50] = "ESCALATOR_FAULT";
PropertyStates222[PropertyStates222["ESCALATOR_MODE"] = 51] = "ESCALATOR_MODE";
PropertyStates222[PropertyStates222["LIFT_CAR_DIRECTION"] = 52] = "LIFT_CAR_DIRECTION";
PropertyStates222[PropertyStates222["LIFT_CAR_DOOR_COMMAND"] = 53] = "LIFT_CAR_DOOR_COMMAND";
PropertyStates222[PropertyStates222["LIFT_CAR_DRIVE_STATUS"] = 54] = "LIFT_CAR_DRIVE_STATUS";
PropertyStates222[PropertyStates222["LIFT_CAR_MODE"] = 55] = "LIFT_CAR_MODE";
PropertyStates222[PropertyStates222["LIFT_GROUP_MODE"] = 56] = "LIFT_GROUP_MODE";
PropertyStates222[PropertyStates222["LIFT_FAULT"] = 57] = "LIFT_FAULT";
PropertyStates222[PropertyStates222["PROTOCOL_LEVEL"] = 58] = "PROTOCOL_LEVEL";
PropertyStates222[PropertyStates222["EXTENDED_VALUE"] = 63] = "EXTENDED_VALUE";
return PropertyStates222;
})(PropertyStates22 || {});
var ReadRangeType22 = /* @__PURE__ */ ((ReadRangeType222) => {
ReadRangeType222[ReadRangeType222["BY_POSITION"] = 0] = "BY_POSITION";
ReadRangeType222[ReadRangeType222["BY_SEQUENCE_NUMBER"] = 1] = "BY_SEQUENCE_NUMBER";
ReadRangeType222[ReadRangeType222["BY_TIME_REFERENCE_TIME_COUNT"] = 2] = "BY_TIME_REFERENCE_TIME_COUNT";
return ReadRangeType222;
})(ReadRangeType22 || {});
var ReinitializedState22 = /* @__PURE__ */ ((ReinitializedState222) => {
ReinitializedState222[ReinitializedState222["COLDSTART"] = 0] = "COLDSTART";
ReinitializedState222[ReinitializedState222["WARMSTART"] = 1] = "WARMSTART";
ReinitializedState222[ReinitializedState222["STARTBACKUP"] = 2] = "STARTBACKUP";
ReinitializedState222[ReinitializedState222["ENDBACKUP"] = 3] = "ENDBACKUP";
ReinitializedState222[ReinitializedState222["STARTRESTORE"] = 4] = "STARTRESTORE";
ReinitializedState222[ReinitializedState222["ENDRESTORE"] = 5] = "ENDRESTORE";
ReinitializedState222[ReinitializedState222["ABORTRESTORE"] = 6] = "ABORTRESTORE";
ReinitializedState222[ReinitializedState222["ACTIVATE_CHANGES"] = 7] = "ACTIVATE_CHANGES";
return ReinitializedState222;
})(ReinitializedState22 || {});
var TimeStamp22 = /* @__PURE__ */ ((TimeStamp222) => {
TimeStamp222[TimeStamp222["TIME"] = 0] = "TIME";
TimeStamp222[TimeStamp222["SEQUENCE_NUMBER"] = 1] = "SEQUENCE_NUMBER";
TimeStamp222[TimeStamp222["DATETIME"] = 2] = "DATETIME";
return TimeStamp222;
})(TimeStamp22 || {});
var import_events222 = __toESM22(require("events"));
var import_debug322 = __toESM22(require("debug"));
var import_dgram22 = require("dgram");
var import_events32 = __toESM22(require("events"));
var import_debug222 = __toESM22(require("debug"));
var EventEmitter32 = import_events32.default.EventEmitter;
var debug222 = (0, import_debug222.default)("bacnet:client:debug");
var DEFAULT_BACNET_PORT32 = 47808;
var Transport22 = class extends EventEmitter32 {
constructor(settings) {
super();
this._lastSendMessages = {};
this._settings = settings;
this._server = (0, import_dgram22.createSocket)({
type: "udp4",
reuseAddr: settings.reuseAddr
});
this._server.on("message", (msg, rinfo) => {
if (this.ownAddress.port === rinfo.port) {
for (let [messageKey, earlierSentBuffer] of Object.entries(
this._lastSendMessages
)) {
if (msg.equals(earlierSentBuffer)) {
debug222(
`server IGNORE message from ${rinfo.address}:${rinfo.port} (${messageKey}): ${msg.toString("hex")}`
);
return;
}
}
}
debug222(
`server got message from ${rinfo.address}:${rinfo.port}: ${msg.toString(
"hex"
)}`
);
this.emit(
"message",
msg,
rinfo.address + (rinfo.port === DEFAULT_BACNET_PORT32 ? "" : ":" + rinfo.port)
);
});
this._server.on("listening", () => {
this.ownAddress = this._server.address();
debug222(
`server listening on ${this.ownAddress.address}:${this.ownAddress.port}`
);
this.emit("listening", this.ownAddress);
});
this._server.on("error", (err) => {
debug222("transport error", err.message);
this.emit("error", err);
});
this._server.on("close", () => {
debug222("transport closed");
this.emit("close");
});
}
getBroadcastAddress() {
return this._settings.broadcastAddress;
}
getMaxPayload() {
return 1482;
}
send(buffer, offset, receiver) {
if (!receiver) {
receiver = this.getBroadcastAddress();
const dataToSend = Buffer.alloc(offset);
const hrTime = process.hrtime();
const messageKey = hrTime[0] * 1e9 + hrTime[1];
buffer.copy(dataToSend, 0, 0, offset);
this._lastSendMessages[messageKey] = dataToSend;
setTimeout(() => {
delete this._lastSendMessages[messageKey];
}, 1e4);
}
const receiverAddress = typeof receiver === "string" ? receiver : receiver.address;
const [address, port] = receiverAddress.split(":");
debug222(
"Send packet to " + receiver + ": " + buffer.toString("hex").substr(0, offset * 2)
);
this._server.send(buffer, 0, offset, +port || DEFAULT_BACNET_PORT32, address);
}
open() {
this._server.bind(this._settings.port, this._settings.interface, () => {
this._server.setBroadcast(true);
});
}
close() {
this._server.close();
}
};
var services_exports22 = {};
__export22(services_exports22, {
addListElement: () => add_list_element_exports22,
alarmAcknowledge: () => alarm_acknowledge_exports22,
alarmSummary: () => alarm_summary_exports22,
atomicReadFile: () => atomic_read_file_exports22,
atomicWriteFile: () => atomic_write_file_exports22,
covNotify: () => cov_notify_exports22,
covNotifyUnconfirmed: () => cov_notify_exports22,
createObject: () => create_object_exports22,
deleteObject: () => delete_object_exports22,
deviceCommunicationControl: () => device_communication_control_exports22,
error: () => error_exports22,
eventInformation: () => event_information_exports22,
eventNotifyData: () => event_notify_data_exports22,
getEnrollmentSummary: () => get_enrollment_summary_exports22,
getEventInformation: () => get_event_information_exports22,
iAm: () => i_am_exports22,
iHave: () => i_have_exports22,
lifeSafetyOperation: () => life_safety_operation_exports22,
privateTransfer: () => private_transfer_exports22,
readProperty: () => read_property_exports22,
readPropertyMultiple: () => read_property_multiple_exports22,
readRange: () => read_range_exports22,
registerForeignDevice: () => register_foreign_device_exports22,
reinitializeDevice: () => reinitialize_device_exports22,
subscribeCov: () => subscribe_cov_exports22,
subscribeProperty: () => subscribe_property_exports22,
timeSync: () => time_sync_exports22,
timeSyncUTC: () => time_sync_exports22,
whoHas: () => who_has_exports22,
whoIs: () => who_is_exports22,
writeProperty: () => write_property_exports22,
writePropertyMultiple: () => write_property_multiple_exports22
});
var add_list_element_exports22 = {};
__export22(add_list_element_exports22, {
decode: () => decode332,
encode: () => encode332
});
var import_iconv_lite22 = __toESM22(require("iconv-lite"));
var enums_default22 = enum_exports22;
var START_YEAR22 = 1900;
var MAX_YEARS22 = 256;
var getBuffer22 = () => {
return {
buffer: Buffer.alloc(1472),
offset: 0
};
};
var getSignedLength22 = (value) => {
if (value >= -128 && value < 128)
return 1;
else if (value >= -32768 && value < 32768)
return 2;
else if (value > -8388608 && value < 8388608)
return 3;
else
return 4;
};
var getUnsignedLength22 = (value) => {
if (value < 256)
return 1;
else if (value < 65536)
return 2;
else if (value < 16777216)
return 3;
else
return 4;
};
var getEncodingType22 = (encoding, decodingBuffer, decodingOffset) => {
switch (encoding) {
case enums_default22.CharacterStringEncoding.UCS_2:
if (decodingBuffer && decodingBuffer[decodingOffset] === 255 && decodingBuffer[decodingOffset + 1] === 254) {
return "ucs2";
}
return "UTF-16BE";
case enums_default22.CharacterStringEncoding.ISO_8859_1:
return "latin1";
case enums_default22.CharacterStringEncoding.MICROSOFT_DBCS:
return "cp850";
case enums_default22.CharacterStringEncoding.JIS_X_0208:
return "Shift_JIS";
default:
return "utf8";
}
};
var encodeUnsigned22 = (buffer, value, length) => {
buffer.buffer.writeUIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetUnsigned22 = (buffer, value) => {
encodeUnsigned22(buffer, value, getUnsignedLength22(value));
};
var encodeSigned22 = (buffer, value, length) => {
buffer.buffer.writeIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetSigned22 = (buffer, value) => {
encodeSigned22(buffer, value, getSignedLength22(value));
};
var encodeBacnetReal22 = (buffer, value) => {
buffer.buffer.writeFloatBE(value, buffer.offset, true);
buffer.offset += 4;
};
var encodeBacnetDouble22 = (buffer, value) => {
buffer.buffer.writeDoubleBE(value, buffer.offset, true);
buffer.offset += 8;
};
var decodeUnsigned22 = (buffer, offset, length) => {
if (length === 0) {
return {
len: 0,
value: 0
};
}
return {
len: length,
//@ts-ignore
value: buffer.readUIntBE(offset, length)
};
};
var decodeEnumerated22 = (buffer, offset, length) => {
return decodeUnsigned22(buffer, offset, length);
};
var encodeBacnetObjectId22 = (buffer, objectType, instance) => {
const value = ((objectType & enums_default22.ASN1_MAX_OBJECT) << enums_default22.ASN1_INSTANCE_BITS | instance & enums_default22.ASN1_MAX_INSTANCE) >>> 0;
encodeUnsigned22(buffer, value, 4);
};
var encodeTag22 = (buffer, tagNumber, contextSpecific, lenValueType) => {
let len = 1;
const tmp = new Array(3);
tmp[0] = 0;
if (contextSpecific) {
tmp[0] |= 8;
}
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
if (lenValueType <= 4) {
tmp[0] |= lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else {
tmp[0] |= 5;
if (lenValueType <= 253) {
tmp[len++] = lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else if (lenValueType <= 65535) {
tmp[len++] = 254;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned22(buffer, lenValueType, 2);
} else {
tmp[len++] = 255;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned22(buffer, lenValueType, 4);
}
}
};
var encodeBacnetEnumerated22 = (buffer, value) => {
encodeBacnetUnsigned22(buffer, value);
};
var isExtendedTagNumber22 = (x) => {
return (x & 240) === 240;
};
var isExtendedValue22 = (x) => {
return (x & 7) === 5;
};
var isContextSpecific22 = (x) => {
return (x & 8) === 8;
};
var isOpeningTag22 = (x) => {
return (x & 7) === 6;
};
var isClosingTag22 = (x) => {
return (x & 7) === 7;
};
var encodeContextReal22 = (buffer, tagNumber, value) => {
encodeTag22(buffer, tagNumber, true, 4);
encodeBacnetReal22(buffer, value);
};
var encodeContextUnsigned22 = (buffer, tagNumber, value) => {
encodeTag22(buffer, tagNumber, true, getUnsignedLength22(value));
encodeBacnetUnsigned22(buffer, value);
};
var encodeContextEnumerated22 = (buffer, tagNumber, value) => {
encodeContextUnsigned22(buffer, tagNumber, value);
};
var encodeOctetString22 = (buffer, octetString, octetOffset, octetCount) => {
if (octetString) {
for (let i = octetOffset; i < octetOffset + octetCount; i++) {
buffer.buffer[buffer.offset++] = octetString[i];
}
}
};
var encodeApplicationOctetString22 = (buffer, octetString, octetOffset, octetCount) => {
encodeTag22(buffer, enums_default22.ApplicationTag.OCTET_STRING, false, octetCount);
encodeOctetString22(buffer, octetString, octetOffset, octetCount);
};
var encodeApplicationNull22 = (buffer) => {
buffer.buffer[buffer.offset++] = enums_default22.ApplicationTag.NULL;
};
var encodeApplicationBoolean22 = (buffer, booleanValue) => {
encodeTag22(buffer, enums_default22.ApplicationTag.BOOLEAN, false, booleanValue ? 1 : 0);
};
var encodeApplicationReal22 = (buffer, value) => {
encodeTag22(buffer, enums_default22.ApplicationTag.REAL, false, 4);
encodeBacnetReal22(buffer, value);
};
var encodeApplicationDouble22 = (buffer, value) => {
encodeTag22(buffer, enums_default22.ApplicationTag.DOUBLE, false, 8);
encodeBacnetDouble22(buffer, value);
};
var bitstringBytesUsed22 = (bitString) => {
let len = 0;
if (bitString.bitsUsed > 0) {
const lastBit = bitString.bitsUsed - 1;
const usedBytes = lastBit / 8 + 1;
len = Math.floor(usedBytes);
}
return len;
};
var encodeApplicationObjectId22 = (buffer, objectType, instance) => {
const tmp = getBuffer22();
encodeBacnetObjectId22(tmp, objectType, instance);
encodeTag22(buffer, enums_default22.ApplicationTag.OBJECTIDENTIFIER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationUnsigned22 = (buffer, value) => {
const tmp = getBuffer22();
encodeBacnetUnsigned22(tmp, value);
encodeTag22(buffer, enums_default22.ApplicationTag.UNSIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationEnumerated22 = (buffer, value) => {
const tmp = getBuffer22();
encodeBacnetEnumerated22(tmp, value);
encodeTag22(buffer, enums_default22.ApplicationTag.ENUMERATED, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationSigned22 = (buffer, value) => {
const tmp = getBuffer22();
encodeBacnetSigned22(tmp, value);
encodeTag22(buffer, enums_default22.ApplicationTag.SIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var byteReverseBits22 = (inByte) => {
let outByte = 0;
if ((inByte & 1) > 0) {
outByte |= 128;
}
if ((inByte & 2) > 0) {
outByte |= 64;
}
if ((inByte & 4) > 0) {
outByte |= 32;
}
if ((inByte & 8) > 0) {
outByte |= 16;
}
if ((inByte & 16) > 0) {
outByte |= 8;
}
if ((inByte & 32) > 0) {
outByte |= 4;
}
if ((inByte & 64) > 0) {
outByte |= 2;
}
if ((inByte & 128) > 0) {
outByte |= 1;
}
return outByte;
};
var bitstringOctet22 = (bitString, octetIndex) => {
let octet = 0;
if (bitString.value && octetIndex < enums_default22.ASN1_MAX_BITSTRING_BYTES) {
octet = bitString.value[octetIndex];
}
return octet;
};
var encodeBitstring22 = (buffer, bitString) => {
if (bitString.bitsUsed === 0) {
buffer.buffer[buffer.offset++] = 0;
} else {
const usedBytes = bitstringBytesUsed22(bitString);
const remainingUsedBits = bitString.bitsUsed - (usedBytes - 1) * 8;
buffer.buffer[buffer.offset++] = 8 - remainingUsedBits;
for (let i = 0; i < usedBytes; i++) {
buffer.buffer[buffer.offset++] = byteReverseBits22(
bitstringOctet22(bitString, i)
);
}
}
};
var encodeApplicationBitstring22 = (buffer, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed22(bitString);
encodeTag22(
buffer,
enums_default22.ApplicationTag.BIT_STRING,
false,
bitStringEncodedLength
);
encodeBitstring22(buffer, bitString);
};
var encodeBacnetDate22 = (buffer, value) => {
if (value === new Date(1, 1, 1)) {
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
return;
}
if (value.getFullYear() >= START_YEAR22) {
buffer.buffer[buffer.offset++] = value.getFullYear() - START_YEAR22;
} else if (value.getFullYear() < MAX_YEARS22) {
buffer.buffer[buffer.offset++] = value.getFullYear();
} else {
throw new Error("invaide year: " + value.getFullYear());
}
buffer.buffer[buffer.offset++] = value.getMonth();
buffer.buffer[buffer.offset++] = value.getDate();
buffer.buffer[buffer.offset++] = value.getDay() === 0 ? 7 : value.getDay();
};
var encodeApplicationDate22 = (buffer, value) => {
encodeTag22(buffer, enums_default22.ApplicationTag.DATE, false, 4);
encodeBacnetDate22(buffer, value);
};
var encodeBacnetTime22 = (buffer, value) => {
buffer.buffer[buffer.offset++] = value.getHours();
buffer.buffer[buffer.offset++] = value.getMinutes();
buffer.buffer[buffer.offset++] = value.getSeconds();
buffer.buffer[buffer.offset++] = value.getMilliseconds() / 10;
};
var encodeApplicationTime22 = (buffer, value) => {
encodeTag22(buffer, enums_default22.ApplicationTag.TIME, false, 4);
encodeBacnetTime22(buffer, value);
};
var bacappEncodeDatetime22 = (buffer, value) => {
if (value !== new Date(1, 1, 1)) {
encodeApplicationDate22(buffer, value);
encodeApplicationTime22(buffer, value);
}
};
var encodeContextObjectId22 = (buffer, tagNumber, objectType, instance) => {
encodeTag22(buffer, tagNumber, true, 4);
encodeBacnetObjectId22(buffer, objectType, instance);
};
var encodeOpeningTag22 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 6;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeClosingTag22 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 7;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeReadAccessSpecification22 = (buffer, value) => {
encodeContextObjectId22(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag22(buffer, 1);
value.properties.forEach((p) => {
encodeContextEnumerated22(buffer, 0, p.id);
if (p.index && p.index !== enums_default22.ASN1_ARRAY_ALL) {
encodeContextUnsigned22(buffer, 1, p.index);
}
});
encodeClosingTag22(buffer, 1);
};
var encodeContextBoolean22 = (buffer, tagNumber, booleanValue) => {
encodeTag22(buffer, tagNumber, true, 1);
buffer.buffer.writeUInt8(booleanValue ? 1 : 0, buffer.offset, true);
buffer.offset += 1;
};
var encodeCovSubscription22 = (buffer, value) => {
encodeOpeningTag22(buffer, 0);
encodeOpeningTag22(buffer, 0);
encodeOpeningTag22(buffer, 1);
encodeApplicationUnsigned22(buffer, value.recipient.network);
if (value.recipient.network === 65535) {
encodeApplicationOctetString22(buffer, 0, 0, 0);
} else {
encodeApplicationOctetString22(
buffer,
value.recipient.address,
0,
value.recipient.address.length
);
}
encodeClosingTag22(buffer, 1);
encodeClosingTag22(buffer, 0);
encodeContextUnsigned22(buffer, 1, value.subscriptionProcessId);
encodeClosingTag22(buffer, 0);
encodeOpeningTag22(buffer, 1);
encodeContextObjectId22(
buffer,
0,
value.monitoredObjectId.type,
value.monitoredObjectId.instance
);
encodeContextEnumerated22(buffer, 1, value.monitoredProperty.id);
if (value.monitoredProperty.index !== enums_default22.ASN1_ARRAY_ALL) {
encodeContextUnsigned22(buffer, 2, value.monitoredProperty.index);
}
encodeClosingTag22(buffer, 1);
encodeContextBoolean22(buffer, 2, value.issueConfirmedNotifications);
encodeContextUnsigned22(buffer, 3, value.timeRemaining);
if (value.covIncrement > 0) {
encodeContextReal22(buffer, 4, value.covIncrement);
}
};
var bacappEncodeApplicationData22 = (buffer, value) => {
if (value.value === null) {
value.type = enums_default22.ApplicationTag.NULL;
}
switch (value.type) {
case enums_default22.ApplicationTag.NULL:
encodeApplicationNull22(buffer);
break;
case enums_default22.ApplicationTag.BOOLEAN:
encodeApplicationBoolean22(buffer, value.value);
break;
case enums_default22.ApplicationTag.UNSIGNED_INTEGER:
encodeApplicationUnsigned22(buffer, value.value);
break;
case enums_default22.ApplicationTag.SIGNED_INTEGER:
encodeApplicationSigned22(buffer, value.value);
break;
case enums_default22.ApplicationTag.REAL:
encodeApplicationReal22(buffer, value.value);
break;
case enums_default22.ApplicationTag.DOUBLE:
encodeApplicationDouble22(buffer, value.value);
break;
case enums_default22.ApplicationTag.OCTET_STRING:
encodeApplicationOctetString22(buffer, value.value, 0, value.value.length);
break;
case enums_default22.ApplicationTag.CHARACTER_STRING:
encodeApplicationCharacterString22(buffer, value.value, value.encoding);
break;
case enums_default22.ApplicationTag.BIT_STRING:
encodeApplicationBitstring22(buffer, value.value);
break;
case enums_default22.ApplicationTag.ENUMERATED:
encodeApplicationEnumerated22(buffer, value.value);
break;
case enums_default22.ApplicationTag.DATE:
encodeApplicationDate22(buffer, value.value);
break;
case enums_default22.ApplicationTag.TIME:
encodeApplicationTime22(buffer, value.value);
break;
case enums_default22.ApplicationTag.TIMESTAMP:
bacappEncodeTimestamp22(buffer, value.value);
break;
case enums_default22.ApplicationTag.DATETIME:
bacappEncodeDatetime22(buffer, value.value);
break;
case enums_default22.ApplicationTag.OBJECTIDENTIFIER:
encodeApplicationObjectId22(buffer, value.value.type, value.value.instance);
break;
case enums_default22.ApplicationTag.COV_SUBSCRIPTION:
encodeCovSubscription22(buffer, value.value);
break;
case enums_default22.ApplicationTag.READ_ACCESS_RESULT:
encodeReadAccessResult22(buffer, value.value);
break;
case enums_default22.ApplicationTag.READ_ACCESS_SPECIFICATION:
encodeReadAccessSpecification22(buffer, value.value);
break;
case void 0:
throw new Error(
"Cannot encode a value if the type has not been specified"
);
default:
throw "No encode for ApplicationTag type: " + enums_default22.getEnumName(
enums_default22.ApplicationTag,
value.type
);
}
};
var bacappEncodeDeviceObjPropertyRef22 = (buffer, value) => {
encodeContextObjectId22(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeContextEnumerated22(buffer, 1, value.id);
if (value.arrayIndex !== enums_default22.ASN1_ARRAY_ALL) {
encodeContextUnsigned22(buffer, 2, value.arrayIndex);
}
if (value.deviceIndentifier.type === enums_default22.ObjectType.DEVICE) {
encodeContextObjectId22(
buffer,
3,
value.deviceIndentifier.type,
value.deviceIndentifier.instance
);
}
};
var bacappEncodeContextDeviceObjPropertyRef22 = (buffer, tagNumber, value) => {
encodeOpeningTag22(buffer, tagNumber);
bacappEncodeDeviceObjPropertyRef22(buffer, value);
encodeClosingTag22(buffer, tagNumber);
};
var bacappEncodePropertyState22 = (buffer, value) => {
switch (value.type) {
case enums_default22.PropertyStates.BOOLEAN_VALUE:
encodeContextBoolean22(buffer, 0, value.state === 1);
break;
case enums_default22.PropertyStates.BINARY_VALUE:
encodeContextEnumerated22(buffer, 1, value.state);
break;
case enums_default22.PropertyStates.EVENT_TYPE:
encodeContextEnumerated22(buffer, 2, value.state);
break;
case enums_default22.PropertyStates.POLARITY:
encodeContextEnumerated22(buffer, 3, value.state);
break;
case enums_default22.PropertyStates.PROGRAM_CHANGE:
encodeContextEnumerated22(buffer, 4, value.state);
break;
case enums_default22.PropertyStates.PROGRAM_STATE:
encodeContextEnumerated22(buffer, 5, value.state);
break;
case enums_default22.PropertyStates.REASON_FOR_HALT:
encodeContextEnumerated22(buffer, 6, value.state);
break;
case enums_default22.PropertyStates.RELIABILITY:
encodeContextEnumerated22(buffer, 7, value.state);
break;
case enums_default22.PropertyStates.STATE:
encodeContextEnumerated22(buffer, 8, value.state);
break;
case enums_default22.PropertyStates.SYSTEM_STATUS:
encodeContextEnumerated22(buffer, 9, value.state);
break;
case enums_default22.PropertyStates.UNITS:
encodeContextEnumerated22(buffer, 10, value.state);
break;
case enums_default22.PropertyStates.UNSIGNED_VALUE:
encodeContextUnsigned22(buffer, 11, value.state);
break;
case enums_default22.PropertyStates.LIFE_SAFETY_MODE:
encodeContextEnumerated22(buffer, 12, value.state);
break;
case enums_default22.PropertyStates.LIFE_SAFETY_STATE:
encodeContextEnumerated22(buffer, 13, value.state);
break;
default:
break;
}
};
var encodeContextBitstring22 = (buffer, tagNumber, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed22(bitString);
encodeTag22(buffer, tagNumber, true, bitStringEncodedLength);
encodeBitstring22(buffer, bitString);
};
var encodeContextSigned22 = (buffer, tagNumber, value) => {
encodeTag22(buffer, tagNumber, true, getSignedLength22(value));
encodeBacnetSigned22(buffer, value);
};
var encodeContextTime22 = (buffer, tagNumber, value) => {
encodeTag22(buffer, tagNumber, true, 4);
encodeBacnetTime22(buffer, value);
};
var bacappEncodeContextDatetime22 = (buffer, tagNumber, value) => {
if (value !== new Date(1, 1, 1)) {
encodeOpeningTag22(buffer, tagNumber);
bacappEncodeDatetime22(buffer, value);
encodeClosingTag22(buffer, tagNumber);
} else {
throw new Error("wrong Datetime while bacapp encoding context");
}
};
var decodeTagNumber22 = (buffer, offset) => {
let len = 1;
let tagNumber;
if (isExtendedTagNumber22(buffer[offset])) {
tagNumber = buffer[offset + 1];
len++;
} else {
tagNumber = buffer[offset] >> 4;
}
return {
len,
tagNumber
};
};
var decodeIsContextTag22 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber22(buffer, offset);
return isContextSpecific22(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsOpeningTagNumber22 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber22(buffer, offset);
return isOpeningTag22(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTagNumber22 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber22(buffer, offset);
return isClosingTag22(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTag22 = (buffer, offset) => {
return (buffer[offset] & 7) === 7;
};
var decodeIsOpeningTag22 = (buffer, offset) => {
return (buffer[offset] & 7) === 6;
};
var decodeObjectId22 = (buffer, offset, NOT_USED_NUMBER = 0) => {
const result = decodeUnsigned22(buffer, offset, 4);
const objectType = result.value >> enums_default22.ASN1_INSTANCE_BITS & enums_default22.ASN1_MAX_OBJECT;
const instance = result.value & enums_default22.ASN1_MAX_INSTANCE;
return {
len: result.len,
objectType,
instance
};
};
var decodeObjectIdSafe22 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: 0,
objectType: 0,
instance: 0
};
} else {
return decodeObjectId22(buffer, offset);
}
};
var decodeTagNumberAndValue22 = (buffer, offset) => {
let value;
let result = decodeTagNumber22(buffer, offset);
let len = result.len;
if (isExtendedValue22(buffer[offset])) {
if (buffer[offset + len] === 255) {
len++;
result = decodeUnsigned22(buffer, offset + len, 4);
len += result.len;
value = result.value;
} else if (buffer[offset + len] === 254) {
len++;
result = decodeUnsigned22(buffer, offset + len, 2);
len += result.len;
value = result.value;
} else {
value = buffer[offset + len];
len++;
}
} else if (isOpeningTag22(buffer[offset])) {
value = 0;
} else if (isClosingTag22(buffer[offset])) {
value = 0;
} else {
value = buffer[offset] & 7;
}
return {
len,
tagNumber: result.tagNumber,
value
};
};
var bacappDecodeApplicationData22 = (buffer, offset, maxOffset, objectType, propertyId) => {
if (!isContextSpecific22(buffer[offset])) {
let result = decodeTagNumberAndValue22(buffer, offset);
if (result) {
let len = result.len;
result = bacappDecodeData22(
buffer,
offset + len,
maxOffset,
result.tagNumber,
result.value
);
if (!result) {
return void 0;
}
let resObj = {
len: len + result.len,
type: result.type,
value: result.value
};
if (result.encoding !== void 0)
resObj.encoding = result.encoding;
return resObj;
}
} else {
return bacappDecodeContextApplicationData22(
buffer,
offset,
maxOffset,
objectType,
propertyId
);
}
};
var encodeReadAccessResult22 = (buffer, value) => {
encodeContextObjectId22(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag22(buffer, 1);
value.values.forEach((item) => {
encodeContextEnumerated22(buffer, 2, item.property.id);
if (item.property.index !== enums_default22.ASN1_ARRAY_ALL) {
encodeContextUnsigned22(buffer, 3, item.property.index);
}
if (item.value && item.value[0] && item.value[0].value && item.value[0].value.type === "BacnetError") {
encodeOpeningTag22(buffer, 5);
encodeApplicationEnumerated22(buffer, item.value[0].value.errorClass);
encodeApplicationEnumerated22(buffer, item.value[0].value.errorCode);
encodeClosingTag22(buffer, 5);
} else {
if (!item.value)
throw new Error("No value in item");
encodeOpeningTag22(buffer, 4);
item.value.forEach((subItem) => {
bacappEncodeApplicationData22(buffer, subItem);
});
encodeClosingTag22(buffer, 4);
}
});
encodeClosingTag22(buffer, 1);
};
var decodeReadAccessResult22 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
let result = decodeObjectId22(buffer, offset + len);
value.objectId = {
type: result.objectType,
instance: result.instance
};
len += result.len;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return -1;
}
len++;
const values = [];
while (apduLen - len > 0) {
let newEntry = {};
if (decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
len++;
break;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeEnumerated22(buffer, offset + len, result.value);
newEntry.id = result.value;
len += result.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 3) {
len += result.len;
result = decodeUnsigned22(buffer, offset + len, result.value);
newEntry.index = result.value;
len += result.len;
} else {
newEntry.index = enums_default22.ASN1_ARRAY_ALL;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 4) {
const localValues = [];
while (len + offset <= buffer.length && !decodeIsClosingTagNumber22(buffer, offset + len, 4)) {
let localResult = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset - 1,
value.objectId.type,
newEntry.id
);
if (!localResult) {
return void 0;
}
len += localResult.len;
let resObj = {
value: localResult.value,
type: localResult.type
};
if (localResult.encoding !== void 0)
resObj.encoding = localResult.encoding;
localValues.push(resObj);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 4)) {
return void 0;
}
if (localValues.count === 2 && localValues[0].type === enums_default22.ApplicationTag.DATE && localValues[1].type === enums_default22.ApplicationTag.TIME) {
const date = localValues[0].value;
const time = localValues[1].value;
const bdatetime = new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
);
newEntry.value = [
{ type: enums_default22.ApplicationTag.DATETIME, value: bdatetime }
];
} else {
newEntry.value = localValues;
}
len++;
} else if (result.tagNumber === 5) {
let err = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
result = decodeEnumerated22(buffer, offset + len, result.value);
len += result.len;
err.errorClass = result.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
result = decodeEnumerated22(buffer, offset + len, result.value);
len += result.len;
err.errorCode = result.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 5)) {
return void 0;
}
len++;
newEntry.value = [
{
type: enums_default22.ApplicationTag.ERROR,
value: err
}
];
}
values.push(newEntry);
}
value.values = values;
return {
len,
value
};
};
var decodeSigned22 = (buffer, offset, length) => {
return {
len: length,
value: buffer.readIntBE(offset, length, true)
};
};
var decodeReal22 = (buffer, offset) => {
return {
len: 4,
value: buffer.readFloatBE(offset, true)
};
};
var decodeRealSafe22 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: 0
};
} else {
return decodeReal22(buffer, offset);
}
};
var decodeDouble22 = (buffer, offset) => {
return {
len: 8,
value: buffer.readDoubleBE(offset, true)
};
};
var decodeDoubleSafe22 = (buffer, offset, lenValue) => {
if (lenValue !== 8) {
return {
len: lenValue,
value: 0
};
} else {
return decodeDouble22(buffer, offset);
}
};
var decodeOctetString22 = (buffer, offset, maxLength, octetStringOffset, octetStringLength) => {
const octetString = [];
for (let i = octetStringOffset; i < octetStringOffset + octetStringLength; i++) {
octetString.push(buffer[offset + i]);
}
return {
len: octetStringLength,
value: octetString
};
};
var multiCharsetCharacterstringDecode22 = (buffer, offset, maxLength, encoding, length) => {
const stringBuf = Buffer.alloc(length);
buffer.copy(stringBuf, 0, offset, offset + length);
return {
value: import_iconv_lite22.default.decode(stringBuf, getEncodingType22(encoding, buffer, offset)),
len: length + 1,
encoding
};
};
var decodeCharacterString22 = (buffer, offset, maxLength, lenValue) => {
return multiCharsetCharacterstringDecode22(
buffer,
offset + 1,
maxLength,
buffer[offset],
lenValue - 1
);
};
var bitstringSetBitsUsed22 = (bitString, bytesUsed, unusedBits) => {
bitString.bitsUsed = bytesUsed * 8;
bitString.bitsUsed -= unusedBits;
};
var decodeBitstring22 = (buffer, offset, lenValue) => {
let len = 0;
let bitString = {};
bitString.value = [];
if (lenValue > 0) {
const bytesUsed = lenValue - 1;
if (bytesUsed <= enums_default22.ASN1_MAX_BITSTRING_BYTES) {
len = 1;
for (let i = 0; i < bytesUsed; i++) {
bitString.value.push(byteReverseBits22(buffer[offset + len++]));
}
const unusedBits = buffer[offset] & 7;
bitstringSetBitsUsed22(bitString, bytesUsed, unusedBits);
}
}
return {
len,
value: bitString
};
};
var decodeDate22 = (buffer, offset) => {
let date;
const year = buffer[offset] + 1900;
const month = buffer[offset + 1];
const day = buffer[offset + 2];
const wday = buffer[offset + 3];
if (month === 255 && day === 255 && wday === 255 && year - 1900 === 255) {
date = new Date(1, 1, 1);
} else {
date = new Date(year, month, day);
}
return {
len: 4,
value: date
};
};
var decodeDateSafe22 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeDate22(buffer, offset);
}
};
var decodeApplicationDate22 = (buffer, offset) => {
const result = decodeTagNumber22(buffer, offset);
if (result.tagNumber === enums_default22.ApplicationTag.DATE) {
const value = decodeDate22(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetTime22 = (buffer, offset, value = new Date(1, 1, 1)) => {
const hour = buffer[offset + 0];
const min = buffer[offset + 1];
const sec = buffer[offset + 2];
let hundredths = buffer[offset + 3];
if (hour === 255 && min === 255 && sec === 255 && hundredths === 255) {
value = new Date(1, 1, 1);
} else {
if (hundredths > 100)
hundredths = 0;
value = new Date(1, 1, 1, hour, min, sec, hundredths * 10);
}
return {
len: 4,
value
};
};
var decodeBacnetTimeSafe22 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeBacnetTime22(buffer, offset);
}
};
var decodeApplicationTime22 = (buffer, offset) => {
const result = decodeTagNumber22(buffer, offset);
if (result.tagNumber === enums_default22.ApplicationTag.TIME) {
const value = decodeBacnetTime22(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetDatetime22 = (buffer, offset) => {
let len = 0;
const date = decodeApplicationDate22(buffer, offset + len);
len += date.len;
const time = decodeApplicationTime22(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
)
};
};
var bacappDecodeData22 = (buffer, offset, maxLength, tagDataType, lenValueType) => {
let result;
let value = {
len: 0,
type: tagDataType
};
switch (tagDataType) {
case enums_default22.ApplicationTag.NULL:
value.value = null;
break;
case enums_default22.ApplicationTag.BOOLEAN:
value.value = lenValueType > 0;
break;
case enums_default22.ApplicationTag.UNSIGNED_INTEGER:
result = decodeUnsigned22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.SIGNED_INTEGER:
result = decodeSigned22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.REAL:
result = decodeRealSafe22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.DOUBLE:
result = decodeDoubleSafe22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.OCTET_STRING:
result = decodeOctetString22(buffer, offset, maxLength, 0, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.CHARACTER_STRING:
result = decodeCharacterString22(buffer, offset, maxLength, lenValueType);
value.len += result.len;
value.value = result.value;
value.encoding = result.encoding;
break;
case enums_default22.ApplicationTag.BIT_STRING:
result = decodeBitstring22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.ENUMERATED:
result = decodeEnumerated22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.DATE:
result = decodeDateSafe22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.TIME:
result = decodeBacnetTimeSafe22(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default22.ApplicationTag.OBJECTIDENTIFIER:
result = decodeObjectIdSafe22(buffer, offset, lenValueType);
value.len += result.len;
value.value = { type: result.objectType, instance: result.instance };
break;
default:
break;
}
return value;
};
var bacappContextTagType22 = (property, tagNumber) => {
let tag = 0;
switch (property) {
case enums_default22.PropertyIdentifier.ACTUAL_SHED_LEVEL:
case enums_default22.PropertyIdentifier.REQUESTED_SHED_LEVEL:
case enums_default22.PropertyIdentifier.EXPECTED_SHED_LEVEL:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default22.ApplicationTag.UNSIGNED_INTEGER;
break;
case 2:
tag = enums_default22.ApplicationTag.REAL;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.ACTION:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
case 2:
tag = enums_default22.ApplicationTag.ENUMERATED;
break;
case 3:
case 5:
case 6:
tag = enums_default22.ApplicationTag.UNSIGNED_INTEGER;
break;
case 7:
case 8:
tag = enums_default22.ApplicationTag.BOOLEAN;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.LIST_OF_GROUP_MEMBERS:
switch (tagNumber) {
case 0:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.EXCEPTION_SCHEDULE:
switch (tagNumber) {
case 1:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
case 3:
tag = enums_default22.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY:
switch (tagNumber) {
case 0:
case 3:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
case 1:
tag = enums_default22.ApplicationTag.ENUMERATED;
break;
case 2:
tag = enums_default22.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.SUBORDINATE_LIST:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.RECIPIENT_LIST:
switch (tagNumber) {
case 0:
tag = enums_default22.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default22.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS:
switch (tagNumber) {
case 0:
case 1:
break;
case 2:
tag = enums_default22.ApplicationTag.BOOLEAN;
break;
case 3:
tag = enums_default22.ApplicationTag.UNSIGNED_INTEGER;
break;
case 4:
tag = enums_default22.ApplicationTag.REAL;
break;
default:
break;
}
break;
default:
break;
}
return tag;
};
var decodeDeviceObjPropertyRef22 = (buffer, offset, NOTUSEDARG = 0) => {
let len = 0;
let arrayIndex = enums_default22.ASN1_ARRAY_ALL;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
let objectId = decodeObjectId22(buffer, offset + len);
len += objectId.len;
let result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
let id = decodeEnumerated22(buffer, offset + len, result.value);
len += id.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
arrayIndex = decodeUnsigned22(buffer, offset + len, result.value);
len += arrayIndex.len;
}
if (decodeIsContextTag22(buffer, offset + len, 3)) {
if (!isClosingTag22(buffer[offset + len])) {
len++;
objectId = decodeObjectId22(buffer, offset + len);
len += objectId.len;
}
}
return {
len,
value: {
objectId,
id
}
};
};
var decodeReadAccessSpecification22 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
let decodedValue = decodeObjectId22(buffer, offset + len);
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
const propertyIdAndArrayIndex = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
let propertyRef = {};
if (!isContextSpecific22(buffer[offset + len])) {
return void 0;
}
let result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (len + result.value >= apduLen) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
propertyRef.id = decodedValue.value;
len += decodedValue.len;
propertyRef.index = enums_default22.ASN1_ARRAY_ALL;
if (isContextSpecific22(buffer[offset + len]) && !isClosingTag22(buffer[offset + len])) {
const tmp = decodeTagNumberAndValue22(buffer, offset + len);
if (tmp.tagNumber === 1) {
len += tmp.len;
if (len + tmp.value >= apduLen) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, tmp.value);
propertyRef.index = decodedValue.value;
len += decodedValue.len;
}
}
propertyIdAndArrayIndex.push(propertyRef);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
value.properties = propertyIdAndArrayIndex;
return {
len,
value
};
};
var decodeCovSubscription22 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
value.recipient = {};
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default22.ApplicationTag.UNSIGNED_INTEGER) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.recipient.net = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default22.ApplicationTag.OCTET_STRING) {
return void 0;
}
decodedValue = decodeOctetString22(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
value.recipient.adr = decodedValue.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriptionProcessId = decodedValue.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty = {};
value.monitoredProperty.id = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
} else {
value.monitoredProperty.index = enums_default22.ASN1_ARRAY_ALL;
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.timeRemaining = decodedValue.value;
if (len < apduLen && !isClosingTag22(buffer[offset + len])) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 4) {
return void 0;
}
decodedValue = decodeReal22(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
return {
len,
value
};
};
var decodeCalendarDate22 = (buffer, offset) => {
return {
len: 4,
year: buffer[offset],
month: buffer[offset + 1],
day: buffer[offset + 2],
wday: buffer[offset + 3]
};
};
var decodeCalendarDateRange22 = (buffer, offset) => {
let len = 1;
const startDate = decodeDate22(buffer, offset + len);
len += startDate.len + 1;
const endDate = decodeDate22(buffer, offset + len);
len += endDate.len + 1;
return {
len,
startDate,
endDate
};
};
var decodeCalendarWeekDay22 = (buffer, offset) => {
return {
len: 3,
month: buffer[offset],
week: buffer[offset + 1],
wday: buffer[offset + 2]
};
};
var decodeCalendar22 = (buffer, offset, apduLen) => {
let len = 0;
const entries = [];
let decodedValue;
while (len < apduLen) {
const result = decodeTagNumber22(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 0:
decodedValue = decodeCalendarDate22(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 1:
decodedValue = decodeCalendarDateRange22(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 2:
decodedValue = decodeCalendarWeekDay22(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
default:
return {
len: len - 1,
value: entries
};
}
}
};
var bacappDecodeContextApplicationData22 = (buffer, offset, maxOffset, objectType, propertyId) => {
let len = 0;
let result;
if (isContextSpecific22(buffer[offset])) {
if (propertyId === enums_default22.PropertyIdentifier.LIST_OF_GROUP_MEMBERS) {
result = decodeReadAccessSpecification22(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default22.ApplicationTag.READ_ACCESS_SPECIFICATION,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default22.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS) {
result = decodeCovSubscription22(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default22.ApplicationTag.COV_SUBSCRIPTION,
value: result.value,
len: result.len
};
} else if (objectType === enums_default22.ObjectType.GROUP && propertyId === enums_default22.PropertyIdentifier.PRESENT_VALUE) {
result = decodeReadAccessResult22(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default22.ApplicationTag.READ_ACCESS_RESULT,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default22.PropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES || propertyId === enums_default22.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY || propertyId === enums_default22.PropertyIdentifier.OBJECT_PROPERTY_REFERENCE) {
result = decodeDeviceObjPropertyRef22(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default22.ApplicationTag.OBJECT_PROPERTY_REFERENCE,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default22.PropertyIdentifier.DATE_LIST) {
result = decodeCalendar22(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default22.ApplicationTag.CONTEXT_SPECIFIC_DECODED,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default22.PropertyIdentifier.EVENT_TIME_STAMPS) {
let subEvtResult;
let evtResult = decodeTagNumberAndValue22(buffer, offset + len);
len += 1;
if (evtResult.tagNumber === 0) {
subEvtResult = decodeBacnetTime22(buffer, offset + 1);
return {
type: enums_default22.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 1) {
subEvtResult = decodeUnsigned22(buffer, offset + len, evtResult.value);
return {
type: enums_default22.ApplicationTag.UNSIGNED_INTEGER,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 2) {
subEvtResult = decodeBacnetDatetime22(buffer, offset + len);
return {
type: enums_default22.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 2
};
} else {
return void 0;
}
}
const list = [];
let tagResult = decodeTagNumberAndValue22(buffer, offset + len);
let multipleValues = isOpeningTag22(buffer[offset + len]);
while (len + offset <= maxOffset && !isClosingTag22(buffer[offset + len])) {
let subResult = decodeTagNumberAndValue22(buffer, offset + len);
if (!subResult) {
return void 0;
}
if (subResult.value === 0) {
len += subResult.len;
result = bacappDecodeApplicationData22(
buffer,
offset + len,
maxOffset,
enums_default22.ASN1_MAX_OBJECT_TYPE,
enums_default22.ASN1_MAX_PROPERTY_ID
);
if (!result) {
return void 0;
}
list.push(result);
len += result.len;
} else {
const overrideTagNumber = bacappContextTagType22(
propertyId,
subResult.tagNumber
);
if (overrideTagNumber !== enums_default22.ASN1_MAX_APPLICATION_TAG) {
subResult.tagNumber = overrideTagNumber;
}
let bacappResult = bacappDecodeData22(
buffer,
offset + len + subResult.len,
maxOffset,
subResult.tagNumber,
subResult.value
);
if (!bacappResult) {
return void 0;
}
if (bacappResult.len === subResult.value) {
let resObj = {
value: bacappResult.value,
type: bacappResult.type
};
if (bacappResult.encoding !== void 0)
resObj.encoding = bacappResult.encoding;
list.push(resObj);
len += subResult.len + subResult.value;
} else {
list.push({
value: buffer.slice(
offset + len + subResult.len,
offset + len + subResult.len + subResult.value
),
type: enums_default22.ApplicationTag.CONTEXT_SPECIFIC_ENCODED
});
len += subResult.len + subResult.value;
}
}
if (multipleValues === false) {
return {
len,
value: list[0],
type: enums_default22.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
}
if (len + offset > maxOffset) {
return void 0;
}
if (decodeIsClosingTagNumber22(buffer, offset + len, tagResult.tagNumber)) {
len++;
}
return {
len,
value: list,
type: enums_default22.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
return void 0;
};
var bacappEncodeTimestamp22 = (buffer, value) => {
switch (value.type) {
case enums_default22.TimeStamp.TIME:
encodeContextTime22(buffer, 0, value.value);
break;
case enums_default22.TimeStamp.SEQUENCE_NUMBER:
encodeContextUnsigned22(buffer, 1, value.value);
break;
case enums_default22.TimeStamp.DATETIME:
bacappEncodeContextDatetime22(buffer, 2, value.value);
break;
default:
throw new Error("NOT_IMPLEMENTED");
}
};
var bacappEncodeContextTimestamp22 = (buffer, tagNumber, value) => {
encodeOpeningTag22(buffer, tagNumber);
bacappEncodeTimestamp22(buffer, value);
encodeClosingTag22(buffer, tagNumber);
};
var decodeContextCharacterString22 = (buffer, offset, maxLength, tagNumber) => {
let len = 0;
if (!decodeIsContextTag22(buffer, offset + len, tagNumber)) {
return void 0;
}
const result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
const decodedValue = multiCharsetCharacterstringDecode22(
buffer,
offset + 1 + len,
maxLength,
buffer[offset + len],
result.value - 1
);
if (!decodedValue) {
return void 0;
}
len += result.value;
return {
len,
value: decodedValue.value,
encoding: decodedValue.encoding
};
};
var decodeIsContextTagWithLength22 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber22(buffer, offset);
return {
len: result.len,
value: isContextSpecific22(buffer[offset]) && result.tagNumber === tagNumber
};
};
var decodeContextObjectId22 = (buffer, offset, tagNumber) => {
const result = decodeIsContextTagWithLength22(buffer, offset, tagNumber);
if (!result.value) {
return void 0;
}
const decodedValue = decodeObjectId22(buffer, offset + result.len);
decodedValue.len = decodedValue.len + result.len;
return decodedValue;
};
var encodeBacnetCharacterString22 = (buffer, value, encoding) => {
encoding = encoding || enums_default22.CharacterStringEncoding.UTF_8;
buffer.buffer[buffer.offset++] = encoding;
const bufEncoded = import_iconv_lite22.default.encode(value, getEncodingType22(encoding));
buffer.offset += bufEncoded.copy(buffer.buffer, buffer.offset);
};
var encodeApplicationCharacterString22 = (buffer, value, encoding) => {
const tmp = getBuffer22();
encodeBacnetCharacterString22(tmp, value, encoding);
encodeTag22(buffer, enums_default22.ApplicationTag.CHARACTER_STRING, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeContextCharacterString22 = (buffer, tagNumber, value, encoding) => {
const tmp = getBuffer22();
encodeBacnetCharacterString22(tmp, value, encoding);
encodeTag22(buffer, tagNumber, true, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encode332 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated22(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 2, arrayIndex);
}
encodeOpeningTag22(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData22(buffer, value);
});
encodeClosingTag22(buffer, 3);
};
var decode332 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.property = { id: decodedValue.value };
if (len < apduLen && decodeIsContextTag22(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL22;
}
const values = [];
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
value.objectId.type,
value.property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
value.values = values;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.len = len;
return value;
};
var alarm_acknowledge_exports22 = {};
__export22(alarm_acknowledge_exports22, {
decode: () => decode2102,
encode: () => encode2102
});
var encode2102 = (buffer, ackProcessId, eventObjectId, eventStateAcknowledged, ackSource, eventTimeStamp, ackTimeStamp) => {
encodeContextUnsigned22(buffer, 0, ackProcessId);
encodeContextObjectId22(
buffer,
1,
eventObjectId.type,
eventObjectId.instance
);
encodeContextEnumerated22(buffer, 2, eventStateAcknowledged);
bacappEncodeContextTimestamp22(buffer, 3, eventTimeStamp);
encodeContextCharacterString22(buffer, 4, ackSource);
bacappEncodeContextTimestamp22(buffer, 5, ackTimeStamp);
};
var decode2102 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
let date;
let time;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedProcessId = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateAcknowledged = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate22(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime22(buffer, offset + len);
len += time.len;
time = time.value.value;
value.eventTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.acknowledgeSource = decodedValue.value;
len += decodedValue.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate22(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime22(buffer, offset + len);
len += time.len;
time = time.value.value;
value.acknowledgeTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
value.len = len;
return value;
};
var alarm_summary_exports22 = {};
__export22(alarm_summary_exports22, {
decode: () => decode342,
encode: () => encode342
});
var encode342 = (buffer, alarms) => {
alarms.forEach((alarm) => {
encodeContextObjectId22(
buffer,
12,
alarm.objectId.type,
alarm.objectId.instance
);
encodeContextEnumerated22(buffer, 9, alarm.alarmState);
encodeContextBitstring22(buffer, 8, alarm.acknowledgedTransitions);
});
};
var decode342 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const alarms = [];
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.alarmState = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
alarms.push(value);
}
return {
len,
alarms
};
};
var atomic_read_file_exports22 = {};
__export22(atomic_read_file_exports22, {
decode: () => decode422,
decodeAcknowledge: () => decodeAcknowledge82,
encode: () => encode422,
encodeAcknowledge: () => encodeAcknowledge92
});
var encode422 = (buffer, isStream, objectId, position, count) => {
encodeApplicationObjectId22(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag22(buffer, 0);
encodeApplicationSigned22(buffer, position);
encodeApplicationUnsigned22(buffer, count);
encodeClosingTag22(buffer, 0);
} else {
encodeOpeningTag22(buffer, 1);
encodeApplicationSigned22(buffer, position);
encodeApplicationUnsigned22(buffer, count);
encodeClosingTag22(buffer, 1);
}
};
var decode422 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let isStream = true;
let objectId = {};
let position = -1;
let count = 0;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
objectId = { type: decodedValue.objectType, instance: decodedValue.instance };
if (decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
count
};
};
var encodeAcknowledge92 = (buffer, isStream, endOfFile, position, blockCount, blocks, counts) => {
encodeApplicationBoolean22(buffer, endOfFile);
if (isStream) {
encodeOpeningTag22(buffer, 0);
encodeApplicationSigned22(buffer, position);
encodeApplicationOctetString22(buffer, blocks[0], 0, counts[0]);
encodeClosingTag22(buffer, 0);
} else {
encodeOpeningTag22(buffer, 1);
encodeApplicationSigned22(buffer, position);
encodeApplicationUnsigned22(buffer, blockCount);
for (let i = 0; i < blockCount; i++) {
encodeApplicationOctetString22(buffer, blocks[i], 0, counts[i]);
}
encodeClosingTag22(buffer, 1);
}
};
var decodeAcknowledge82 = (buffer, offset, length = 0) => {
let len = length;
let result;
let decodedValue;
let endOfFile;
let isStream;
let position;
let targetBuffer;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
endOfFile = result.value > 0;
if (decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
targetBuffer = buffer.slice(offset + len, offset + len + result.value);
len += result.value;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
isStream = false;
throw new Error("NotImplemented");
} else {
return void 0;
}
return {
len,
endOfFile,
isStream,
position,
buffer: targetBuffer
};
};
var atomic_write_file_exports22 = {};
__export22(atomic_write_file_exports22, {
decode: () => decode522,
decodeAcknowledge: () => decodeAcknowledge222,
encode: () => encode522,
encodeAcknowledge: () => encodeAcknowledge222
});
var encode522 = (buffer, isStream, objectId, position, blocks) => {
encodeApplicationObjectId22(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag22(buffer, 0);
encodeApplicationSigned22(buffer, position);
encodeApplicationOctetString22(buffer, blocks[0], 0, blocks[0].length);
encodeClosingTag22(buffer, 0);
} else {
encodeOpeningTag22(buffer, 1);
encodeApplicationSigned22(buffer, position);
encodeApplicationUnsigned22(buffer, blocks.length);
for (let i = 0; i < blocks.length; i++) {
encodeApplicationOctetString22(
buffer,
blocks[i],
0,
blocks[i].length
);
}
encodeClosingTag22(buffer, 1);
}
};
var decode522 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let isStream;
let position;
let blocks = [];
let blockCount;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString22(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
blockCount = decodedValue.value;
for (let i = 0; i < blockCount; i++) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString22(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
blocks
};
};
var encodeAcknowledge222 = (buffer, isStream, position) => {
if (isStream) {
encodeContextSigned22(buffer, 0, position);
} else {
encodeContextSigned22(buffer, 1, position);
}
};
var decodeAcknowledge222 = (buffer, offset, length = 0) => {
let len = length;
let isStream = false;
let position = 0;
let decodedValue;
const result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
isStream = true;
} else if (result.tagNumber === 1) {
isStream = false;
} else {
return void 0;
}
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
return {
len,
isStream,
position
};
};
var cov_notify_exports22 = {};
__export22(cov_notify_exports22, {
decode: () => decode622,
encode: () => encode622
});
var encode622 = (buffer, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) => {
encodeContextUnsigned22(buffer, 0, subscriberProcessId);
encodeContextObjectId22(
buffer,
1,
8,
initiatingDeviceId
);
encodeContextObjectId22(
buffer,
2,
monitoredObjectId.type,
monitoredObjectId.instance
);
encodeContextUnsigned22(buffer, 3, timeRemaining);
encodeOpeningTag22(buffer, 4);
values.forEach((value) => {
encodeContextEnumerated22(buffer, 0, value.property.id);
if (value.property.index === ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 1, value.property.index);
}
encodeOpeningTag22(buffer, 2);
value.value.forEach((v) => {
bacappEncodeApplicationData22(buffer, v);
});
encodeClosingTag22(buffer, 2);
if (value.priority === ASN1_NO_PRIORITY22) {
encodeContextUnsigned22(buffer, 3, value.priority);
}
});
encodeClosingTag22(buffer, 4);
};
var decode622 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
const subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
const initiatingDeviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag22(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
const monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag22(buffer, offset + len, 3)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
const timeRemaining = decodedValue.value;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 4)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber22(buffer, offset + len, 4)) {
let newEntry = {};
newEntry.property = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.id = decodedValue.value;
if (decodeIsContextTag22(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.index = decodedValue.value;
} else {
newEntry.property.index = ASN1_ARRAY_ALL22;
}
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 2)) {
return void 0;
}
len++;
const properties = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber22(buffer, offset + len, 2)) {
decodedValue = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
monitoredObjectId.type,
newEntry.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
properties.push(decodedValue);
}
newEntry.value = properties;
len++;
if (decodeIsContextTag22(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.priority = decodedValue.value;
} else {
newEntry.priority = ASN1_NO_PRIORITY22;
}
values.push(newEntry);
}
return {
len,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
};
};
var create_object_exports22 = {};
__export22(create_object_exports22, {
decode: () => decode722,
encode: () => encode722,
encodeAcknowledge: () => encodeAcknowledge322
});
var encode722 = (buffer, objectId, values) => {
encodeOpeningTag22(buffer, 0);
encodeContextObjectId22(buffer, 1, objectId.type, objectId.instance);
encodeClosingTag22(buffer, 0);
encodeOpeningTag22(buffer, 1);
values.forEach((propertyValue) => {
encodeContextEnumerated22(buffer, 0, propertyValue.property.id);
if (propertyValue.property.index !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 1, propertyValue.property.index);
}
encodeOpeningTag22(buffer, 2);
propertyValue.value.forEach((value) => {
bacappEncodeApplicationData22(buffer, value);
});
encodeClosingTag22(buffer, 2);
if (propertyValue.priority !== ASN1_NO_PRIORITY22) {
encodeContextUnsigned22(buffer, 3, propertyValue.priority);
}
});
encodeClosingTag22(buffer, 1);
};
var decode722 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
const valueList = [];
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 && apduLen > len) {
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeContextObjectId22(buffer, offset + len, 1);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
} else {
return void 0;
}
if (decodeIsClosingTag22(buffer, offset + len)) {
len++;
}
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arraIndex = ASN1_ARRAY_ALL22;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
arraIndex += decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arraIndex };
if (result.tagNumber === 2 && decodeIsOpeningTag22(buffer, offset + len - 1)) {
const values = [];
while (!decodeIsClosingTag22(buffer, offset + len)) {
decodedValue = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
len++;
newEntry.value = values;
} else {
return void 0;
}
valueList.push(newEntry);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
return {
len,
objectId,
values: valueList
};
};
var encodeAcknowledge322 = (buffer, objectId) => {
encodeApplicationObjectId22(buffer, objectId.type, objectId.instance);
};
var delete_object_exports22 = {};
__export22(delete_object_exports22, {
decode: () => decode822,
encode: () => encode822
});
var decode822 = (buffer, offset, apduLen) => {
const result = decodeTagNumberAndValue22(buffer, offset);
if (result.tagNumber !== 12) {
return void 0;
}
let len = 1;
const value = decodeObjectId22(buffer, offset + len);
len += value.len;
if (len !== apduLen) {
return void 0;
}
value.len = len;
return value;
};
var encode822 = (buffer, objectId) => {
encodeApplicationObjectId22(buffer, objectId.type, objectId.instance);
};
var device_communication_control_exports22 = {};
__export22(device_communication_control_exports22, {
decode: () => decode922,
encode: () => encode922
});
var encode922 = (buffer, timeDuration, enableDisable, password) => {
if (timeDuration > 0) {
encodeContextUnsigned22(buffer, 0, timeDuration);
}
encodeContextEnumerated22(buffer, 1, enableDisable);
if (password && password !== "") {
encodeContextCharacterString22(buffer, 2, password);
}
};
var decode922 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result;
if (decodeIsContextTag22(buffer, offset + len, 0)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
value.timeDuration = decodedValue.value;
len += decodedValue.len;
}
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
value.enableDisable = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag22(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var error_exports22 = {};
__export22(error_exports22, {
buildMessage: () => buildMessage22,
decode: () => decode1022,
encode: () => encode1022
});
var encode1022 = (buffer, errorClass, errorCode) => {
encodeApplicationEnumerated22(buffer, errorClass);
encodeApplicationEnumerated22(buffer, errorCode);
};
var decode1022 = (buffer, offset) => {
const orgOffset = offset;
let result;
result = decodeTagNumberAndValue22(buffer, offset);
offset += result.len;
const errorClass = decodeEnumerated22(buffer, offset, result.value);
offset += errorClass.len;
result = decodeTagNumberAndValue22(buffer, offset);
offset += result.len;
const errorCode = decodeEnumerated22(buffer, offset, result.value);
offset += errorClass.len;
return {
len: offset - orgOffset,
class: errorClass.value,
code: errorCode.value
};
};
var buildMessage22 = function(result) {
return "BacnetError Class: " + ErrorClassName22[result.class] + " (" + result.class + ") Code: " + ErrorCodeName22[result.code] + " (" + result.code + ")";
};
var event_information_exports22 = {};
__export22(event_information_exports22, {
decode: () => decode1122,
encode: () => encode1122
});
var encode1122 = (buffer, events, moreEvents) => {
encodeOpeningTag22(buffer, 0);
events.forEach((event) => {
encodeContextObjectId22(
buffer,
0,
event.objectId.type,
event.objectId.instance
);
encodeContextEnumerated22(buffer, 1, event.eventState);
encodeContextBitstring22(buffer, 2, event.acknowledgedTransitions);
encodeOpeningTag22(buffer, 3);
for (let i = 0; i < 3; i++) {
encodeApplicationDate22(buffer, event.eventTimeStamps[i]);
encodeApplicationTime22(buffer, event.eventTimeStamps[i]);
}
encodeClosingTag22(buffer, 3);
encodeContextEnumerated22(buffer, 4, event.notifyType);
encodeContextBitstring22(buffer, 5, event.eventEnable);
encodeOpeningTag22(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned22(buffer, event.eventPriorities[i]);
}
encodeClosingTag22(buffer, 6);
});
encodeClosingTag22(buffer, 0);
encodeContextBoolean22(buffer, 1, moreEvents);
};
var decode1122 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
len++;
const alarms = [];
let moreEvents;
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventState = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
value.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
if (result.tagNumber !== 0) {
decodedValue = decodeApplicationDate22(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime22(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
value.eventTimeStamps[i] = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
} else {
len += result.value;
}
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.notifyType = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventEnable = decodedValue.value;
len++;
value.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventPriorities[i] = decodedValue.value;
}
len++;
alarms.push(value);
}
moreEvents = buffer[apduLen - 1] === 1;
return {
len,
alarms,
moreEvents
};
};
var event_notify_data_exports22 = {};
__export22(event_notify_data_exports22, {
decode: () => decode1222,
encode: () => encode1222
});
var encode1222 = (buffer, data) => {
encodeContextUnsigned22(buffer, 0, data.processId);
encodeContextObjectId22(
buffer,
1,
data.initiatingObjectId.type,
data.initiatingObjectId.instance
);
encodeContextObjectId22(
buffer,
2,
data.eventObjectId.type,
data.eventObjectId.instance
);
bacappEncodeContextTimestamp22(buffer, 3, data.timeStamp);
encodeContextUnsigned22(buffer, 4, data.notificationClass);
encodeContextUnsigned22(buffer, 5, data.priority);
encodeContextEnumerated22(buffer, 6, data.eventType);
if (data.messageText && data.messageText !== "") {
encodeContextCharacterString22(buffer, 7, data.messageText);
}
encodeContextEnumerated22(buffer, 8, data.notifyType);
switch (data.notifyType) {
case 0:
case 1:
encodeContextBoolean22(buffer, 9, data.ackRequired);
encodeContextEnumerated22(buffer, 10, data.fromState);
break;
default:
break;
}
encodeContextEnumerated22(buffer, 11, data.toState);
switch (data.notifyType) {
case 0:
case 1:
encodeOpeningTag22(buffer, 12);
switch (data.eventType) {
case 0:
encodeOpeningTag22(buffer, 0);
encodeContextBitstring22(
buffer,
0,
data.changeOfBitstringReferencedBitString
);
encodeContextBitstring22(
buffer,
1,
data.changeOfBitstringStatusFlags
);
encodeClosingTag22(buffer, 0);
break;
case 1:
encodeOpeningTag22(buffer, 1);
encodeOpeningTag22(buffer, 0);
bacappEncodePropertyState22(buffer, data.changeOfStateNewState);
encodeClosingTag22(buffer, 0);
encodeContextBitstring22(
buffer,
1,
data.changeOfStateStatusFlags
);
encodeClosingTag22(buffer, 1);
break;
case 2:
encodeOpeningTag22(buffer, 2);
encodeOpeningTag22(buffer, 0);
switch (data.changeOfValueTag) {
case 0:
encodeContextReal22(
buffer,
1,
data.changeOfValueChangeValue
);
break;
case 1:
encodeContextBitstring22(
buffer,
0,
data.changeOfValueChangedBits
);
break;
default:
throw new Error("NotImplemented");
}
encodeClosingTag22(buffer, 0);
encodeContextBitstring22(
buffer,
1,
data.changeOfValueStatusFlags
);
encodeClosingTag22(buffer, 2);
break;
case 4:
encodeOpeningTag22(buffer, 4);
encodeContextReal22(buffer, 0, data.floatingLimitReferenceValue);
encodeContextBitstring22(
buffer,
1,
data.floatingLimitStatusFlags
);
encodeContextReal22(buffer, 2, data.floatingLimitSetPointValue);
encodeContextReal22(buffer, 3, data.floatingLimitErrorLimit);
encodeClosingTag22(buffer, 4);
break;
case 5:
encodeOpeningTag22(buffer, 5);
encodeContextReal22(buffer, 0, data.outOfRangeExceedingValue);
encodeContextBitstring22(buffer, 1, data.outOfRangeStatusFlags);
encodeContextReal22(buffer, 2, data.outOfRangeDeadband);
encodeContextReal22(buffer, 3, data.outOfRangeExceededLimit);
encodeClosingTag22(buffer, 5);
break;
case 8:
encodeOpeningTag22(buffer, 8);
encodeContextEnumerated22(
buffer,
0,
data.changeOfLifeSafetyNewState
);
encodeContextEnumerated22(
buffer,
1,
data.changeOfLifeSafetyNewMode
);
encodeContextBitstring22(
buffer,
2,
data.changeOfLifeSafetyStatusFlags
);
encodeContextEnumerated22(
buffer,
3,
data.changeOfLifeSafetyOperationExpected
);
encodeClosingTag22(buffer, 8);
break;
case 10:
encodeOpeningTag22(buffer, 10);
bacappEncodeContextDeviceObjPropertyRef22(
buffer,
0,
data.bufferReadyBufferProperty
);
encodeContextUnsigned22(
buffer,
1,
data.bufferReadyPreviousNotification
);
encodeContextUnsigned22(
buffer,
2,
data.bufferReadyCurrentNotification
);
encodeClosingTag22(buffer, 10);
break;
case 11:
encodeOpeningTag22(buffer, 11);
encodeContextUnsigned22(
buffer,
0,
data.unsignedRangeExceedingValue
);
encodeContextBitstring22(
buffer,
1,
data.unsignedRangeStatusFlags
);
encodeContextUnsigned22(
buffer,
2,
data.unsignedRangeExceededLimit
);
encodeClosingTag22(buffer, 11);
break;
case 9:
case 3:
throw new Error("NotImplemented");
default:
throw new Error("NotImplemented");
}
encodeClosingTag22(buffer, 12);
break;
case 2:
throw new Error("NotImplemented");
default:
break;
}
};
var decode1222 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let eventData = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.processId = decodedValue.value;
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
eventData.initiatingObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag22(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
eventData.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag22(buffer, offset + len, 3)) {
return void 0;
}
len += 2;
decodedValue = decodeApplicationDate22(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime22(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
eventData.timeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len += 2;
if (!decodeIsContextTag22(buffer, offset + len, 4)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notificationClass = decodedValue.value;
if (!decodeIsContextTag22(buffer, offset + len, 5)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.priority = decodedValue.value;
if (eventData.priority > 255) {
return void 0;
}
if (!decodeIsContextTag22(buffer, offset + len, 6)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.eventType = decodedValue.value;
if (decodeIsContextTag22(buffer, offset + len, 7)) {
decodedValue = decodeContextCharacterString22(
buffer,
offset + len,
2e4,
7
);
len += decodedValue.len;
eventData.messageText = decodedValue.value;
}
if (!decodeIsContextTag22(buffer, offset + len, 8)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notifyType = decodedValue.value;
switch (eventData.notifyType) {
case 0:
case 1:
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, 1);
len += decodedValue.len;
eventData.ackRequired = decodedValue.value > 0;
if (!decodeIsContextTag22(buffer, offset + len, 10)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
eventData.fromState = decodedValue.value;
break;
default:
break;
}
if (!decodeIsContextTag22(buffer, offset + len, 11)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.toState = decodedValue.value;
eventData.len = len;
return eventData;
};
var get_enrollment_summary_exports22 = {};
__export22(get_enrollment_summary_exports22, {
decode: () => decode1322,
decodeAcknowledge: () => decodeAcknowledge322,
encode: () => encode1322,
encodeAcknowledge: () => encodeAcknowledge422
});
var encode1322 = (buffer, acknowledgmentFilter, enrollmentFilter, eventStateFilter, eventTypeFilter, priorityFilter, notificationClassFilter) => {
encodeContextEnumerated22(buffer, 0, acknowledgmentFilter);
if (enrollmentFilter) {
encodeOpeningTag22(buffer, 1);
encodeOpeningTag22(buffer, 0);
encodeContextObjectId22(
buffer,
0,
enrollmentFilter.objectId.type,
enrollmentFilter.objectId.instance
);
encodeClosingTag22(buffer, 0);
encodeContextUnsigned22(buffer, 1, enrollmentFilter.processId);
encodeClosingTag22(buffer, 1);
}
if (eventStateFilter) {
encodeOpeningTag22(buffer, 2);
encodeContextEnumerated22(buffer, 0, eventStateFilter);
encodeClosingTag22(buffer, 2);
}
if (eventTypeFilter) {
encodeOpeningTag22(buffer, 3);
encodeContextEnumerated22(buffer, 0, eventTypeFilter);
encodeClosingTag22(buffer, 3);
}
if (priorityFilter) {
encodeOpeningTag22(buffer, 4);
encodeContextUnsigned22(buffer, 0, priorityFilter.min);
encodeContextUnsigned22(buffer, 1, priorityFilter.max);
encodeClosingTag22(buffer, 4);
}
if (notificationClassFilter) {
encodeOpeningTag22(buffer, 5);
encodeContextUnsigned22(buffer, 0, notificationClassFilter);
encodeClosingTag22(buffer, 5);
}
};
var decode1322 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgmentFilter = decodedValue.value;
if (decodeIsContextTag22(buffer, offset + len, 1)) {
len++;
value.enrollmentFilter = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.enrollmentFilter.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.enrollmentFilter.processId = decodedValue.value;
len++;
}
if (decodeIsContextTag22(buffer, offset + len, 2)) {
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag22(buffer, offset + len, 3)) {
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTypeFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag22(buffer, offset + len, 4)) {
len++;
value.priorityFilter = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.min = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.max = decodedValue.value;
len++;
}
if (decodeIsContextTag22(buffer, offset + len, 5)) {
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.notificationClassFilter = decodedValue.value;
len++;
}
value.len = len;
return value;
};
var encodeAcknowledge422 = (buffer, enrollmentSummaries) => {
enrollmentSummaries.forEach((enrollmentSummary) => {
encodeApplicationObjectId22(
buffer,
enrollmentSummary.objectId.type,
enrollmentSummary.objectId.instance
);
encodeApplicationEnumerated22(buffer, enrollmentSummary.eventType);
encodeApplicationEnumerated22(buffer, enrollmentSummary.eventState);
encodeApplicationUnsigned22(buffer, enrollmentSummary.priority);
encodeApplicationUnsigned22(
buffer,
enrollmentSummary.notificationClass
);
});
};
var decodeAcknowledge322 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const enrollmentSummaries = [];
while (apduLen - len > 0) {
const enrollmentSummary = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId22(buffer, offset + len);
len += result.len;
enrollmentSummary.objectId = {
type: result.objectType,
instance: result.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated22(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventType = result.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated22(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventState = result.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned22(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.priority = result.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned22(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.notificationClass = result.value;
enrollmentSummaries.push(enrollmentSummary);
}
return {
enrollmentSummaries,
len
};
};
var get_event_information_exports22 = {};
__export22(get_event_information_exports22, {
decode: () => decode1422,
decodeAcknowledge: () => decodeAcknowledge422,
encode: () => encode1422,
encodeAcknowledge: () => encodeAcknowledge522
});
var encode1422 = (buffer, lastReceivedObjectId) => {
encodeContextObjectId22(
buffer,
0,
lastReceivedObjectId.type,
lastReceivedObjectId.instance
);
};
var decode1422 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.lastReceivedObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var encodeAcknowledge522 = (buffer, events, moreEvents) => {
encodeOpeningTag22(buffer, 0);
events.forEach((eventData) => {
encodeContextObjectId22(
buffer,
0,
eventData.objectId.type,
eventData.objectId.instance
);
encodeContextEnumerated22(buffer, 1, eventData.eventState);
encodeContextBitstring22(buffer, 2, eventData.acknowledgedTransitions);
encodeOpeningTag22(buffer, 3);
for (let i = 0; i < 3; i++) {
bacappEncodeTimestamp22(buffer, eventData.eventTimeStamps[i]);
}
encodeClosingTag22(buffer, 3);
encodeContextEnumerated22(buffer, 4, eventData.notifyType);
encodeContextBitstring22(buffer, 5, eventData.eventEnable);
encodeOpeningTag22(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned22(buffer, eventData.eventPriorities[i]);
}
encodeClosingTag22(buffer, 6);
});
encodeClosingTag22(buffer, 0);
encodeContextBoolean22(buffer, 1, moreEvents);
};
var decodeAcknowledge422 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
value.events = [];
while (apduLen - len > 3) {
let event = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
event.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventState = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
event.acknowledgedTransitions = decodedValue.value;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
event.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime22(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 0
/* TIME */
};
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 1
/* SEQUENCE_NUMBER */
};
} else if (result.tagNumber === 2) {
let date = decodeApplicationDate22(
buffer,
offset + len
);
len += date.len;
date = date.value.value;
let time = decodeApplicationTime22(
buffer,
offset + len
);
len += time.len;
time = time.value.value;
event.eventTimeStamps[i] = {
value: new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
),
type: 2
/* DATETIME */
};
len++;
}
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
event.notifyType = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventEnable = decodedValue.value;
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 6)) {
return void 0;
}
len++;
event.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventPriorities[i] = decodedValue.value;
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 6)) {
return void 0;
}
len++;
value.events.push(event);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
value.moreEvents = buffer[offset + len] > 0;
len++;
value.len = len;
return value;
};
var i_am_exports22 = {};
__export22(i_am_exports22, {
decode: () => decode1522,
encode: () => encode1522
});
var encode1522 = (buffer, deviceId, maxApdu, segmentation, vendorId) => {
encodeApplicationObjectId22(buffer, 8, deviceId);
encodeApplicationUnsigned22(buffer, maxApdu);
encodeApplicationEnumerated22(buffer, segmentation);
encodeApplicationUnsigned22(buffer, vendorId);
};
var decode1522 = (buffer, offset) => {
let result;
let apduLen = 0;
const orgOffset = offset;
result = decodeTagNumberAndValue22(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId22(buffer, offset + apduLen);
apduLen += result.len;
if (result.objectType !== 8) {
return void 0;
}
const deviceId = result.instance;
result = decodeTagNumberAndValue22(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned22(buffer, offset + apduLen, result.value);
apduLen += result.len;
const maxApdu = result.value;
result = decodeTagNumberAndValue22(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated22(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 3) {
return void 0;
}
const segmentation = result.value;
result = decodeTagNumberAndValue22(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned22(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 65535) {
return void 0;
}
const vendorId = result.value;
return {
len: offset - orgOffset,
deviceId,
maxApdu,
segmentation,
vendorId
};
};
var i_have_exports22 = {};
__export22(i_have_exports22, {
decode: () => decode1622,
encode: () => encode1622
});
var encode1622 = (buffer, deviceId, objectId, objectName) => {
encodeApplicationObjectId22(buffer, deviceId.type, deviceId.instance);
encodeApplicationObjectId22(buffer, objectId.type, objectId.instance);
encodeApplicationCharacterString22(buffer, objectName);
};
var decode1622 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.deviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
value.len = len;
return value;
};
var life_safety_operation_exports22 = {};
__export22(life_safety_operation_exports22, {
decode: () => decode1722,
encode: () => encode1722
});
var encode1722 = (buffer, processId, requestingSource, operation, targetObjectId) => {
encodeContextUnsigned22(buffer, 0, processId);
encodeContextCharacterString22(buffer, 1, requestingSource);
encodeContextEnumerated22(buffer, 2, operation);
encodeContextObjectId22(
buffer,
3,
targetObjectId.type,
targetObjectId.instance
);
};
var decode1722 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.processId = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.requestingSource = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.operation = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.targetObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var private_transfer_exports22 = {};
__export22(private_transfer_exports22, {
decode: () => decode1822,
encode: () => encode1822
});
var encode1822 = (buffer, vendorId, serviceNumber, data) => {
encodeContextUnsigned22(buffer, 0, vendorId);
encodeContextUnsigned22(buffer, 1, serviceNumber);
encodeOpeningTag22(buffer, 2);
for (let i = 0; i < data.length; i++) {
buffer.buffer[buffer.offset++] = data[i];
}
encodeClosingTag22(buffer, 2);
};
var decode1822 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.vendorId = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.serviceNumber = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
const size = apduLen - (offset + len + 1);
const data = [];
for (let i = 0; i < size; i++) {
data.push(buffer[offset + len++]);
}
value.data = data;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
value.len = len;
return value;
};
var read_property_exports22 = {};
__export22(read_property_exports22, {
decode: () => decode1922,
decodeAcknowledge: () => decodeAcknowledge522,
encode: () => encode1922,
encodeAcknowledge: () => encodeAcknowledge622
});
var encode1922 = (buffer, objectType, objectInstance, propertyId, arrayIndex) => {
if (objectType <= ASN1_MAX_OBJECT22) {
encodeContextObjectId22(buffer, 0, objectType, objectInstance);
}
if (propertyId <= ASN1_MAX_PROPERTY_ID22) {
encodeContextEnumerated22(buffer, 1, propertyId);
}
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(
buffer,
2,
arrayIndex || arrayIndex === 0 ? arrayIndex : ASN1_ARRAY_ALL22
);
}
};
var decode1922 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (apduLen < 7) {
return void 0;
}
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
property.index = ASN1_ARRAY_ALL22;
if (len < apduLen) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 2 && len < apduLen) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
return void 0;
}
}
if (len < apduLen) {
return void 0;
}
return {
len,
objectId,
property
};
};
var encodeAcknowledge622 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated22(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 2, arrayIndex);
}
encodeOpeningTag22(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData22(buffer, value);
});
encodeClosingTag22(buffer, 3);
};
var decodeAcknowledge522 = (buffer, offset, apduLen) => {
let result;
let decodedValue;
let objectId = {};
let property = {};
if (!decodeIsContextTag22(buffer, offset, 0)) {
return void 0;
}
let len = 1;
result = decodeObjectId22(buffer, offset + len);
len += result.len;
objectId.type = result.objectType;
objectId.instance = result.instance;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
result = decodeEnumerated22(buffer, offset + len, result.value);
len += result.len;
property.id = result.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL22;
}
const values = [];
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
objectId.type,
property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
return {
len,
objectId,
property,
values
};
};
var read_property_multiple_exports22 = {};
__export22(read_property_multiple_exports22, {
decode: () => decode2022,
decodeAcknowledge: () => decodeAcknowledge622,
encode: () => encode2022,
encodeAcknowledge: () => encodeAcknowledge722
});
var encode2022 = (buffer, properties) => {
properties.forEach((value) => {
encodeReadAccessSpecification22(buffer, value);
});
};
var decode2022 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const decodedValue = decodeReadAccessSpecification22(
buffer,
offset + len,
apduLen - len
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
values.push(decodedValue.value);
}
return {
len,
properties: values
};
};
var encodeAcknowledge722 = (buffer, values) => {
values.forEach((value) => {
encodeReadAccessResult22(buffer, value);
});
};
var decodeAcknowledge622 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const result = decodeReadAccessResult22(
buffer,
offset + len,
apduLen - len
);
if (!result || result === -1) {
return void 0;
}
len += result.len;
values.push(result.value);
}
return {
len,
values
};
};
var read_range_exports22 = {};
__export22(read_range_exports22, {
decode: () => decode2122,
decodeAcknowledge: () => decodeAcknowledge722,
encode: () => encode2122,
encodeAcknowledge: () => encodeAcknowledge822
});
var encode2122 = (buffer, objectId, propertyId, arrayIndex, requestType, position, time, count) => {
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated22(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 2, arrayIndex);
}
switch (requestType) {
case 0:
encodeOpeningTag22(buffer, 3);
encodeApplicationUnsigned22(buffer, position);
encodeApplicationSigned22(buffer, count);
encodeClosingTag22(buffer, 3);
break;
case 1:
encodeOpeningTag22(buffer, 6);
encodeApplicationUnsigned22(buffer, position);
encodeApplicationSigned22(buffer, count);
encodeClosingTag22(buffer, 6);
break;
case 2:
encodeOpeningTag22(buffer, 7);
encodeApplicationDate22(buffer, time);
encodeApplicationTime22(buffer, time);
encodeApplicationSigned22(buffer, count);
encodeClosingTag22(buffer, 7);
break;
default:
break;
}
};
var decode2122 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let requestType;
let position;
let time;
let count;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId22(buffer, offset + len, 0);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
if (len < apduLen && decodeIsContextTag22(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL22;
}
if (len < apduLen) {
result = decodeTagNumber22(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 3:
requestType = 0;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 6:
requestType = 1;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 7:
requestType = 2;
decodedValue = decodeApplicationDate22(buffer, offset + len);
len += decodedValue.len;
const tmpDate = decodedValue.value.value;
decodedValue = decodeApplicationTime22(buffer, offset + len);
len += decodedValue.len;
const tmpTime = decodedValue.value.value;
time = new Date(
tmpDate.getYear(),
tmpDate.getMonth(),
tmpDate.getDate(),
tmpTime.getHours(),
tmpTime.getMinutes(),
tmpTime.getSeconds(),
tmpTime.getMilliseconds()
);
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned22(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
default:
return void 0;
}
result = decodeTagNumber22(buffer, offset + len);
len += result.len;
}
return {
len,
objectId,
property,
requestType,
position,
time,
count
};
};
var encodeAcknowledge822 = (buffer, objectId, propertyId, arrayIndex, resultFlags, itemCount, applicationData, requestType, firstSequence) => {
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated22(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 2, arrayIndex);
}
encodeContextBitstring22(buffer, 3, resultFlags);
encodeContextUnsigned22(buffer, 4, itemCount);
encodeOpeningTag22(buffer, 5);
if (itemCount !== 0) {
applicationData.copy(
buffer.buffer,
buffer.offset,
0,
applicationData.length
);
buffer.offset += applicationData.length;
}
encodeClosingTag22(buffer, 5);
if (itemCount !== 0 && requestType && requestType !== 0) {
encodeContextUnsigned22(buffer, 6, firstSequence);
}
};
var decodeAcknowledge722 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
const objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
const property = { index: ASN1_ARRAY_ALL22 };
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 2 && len < apduLen) {
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring22(buffer, offset + len, result.value);
len += decodedValue.len;
const resultFlag = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
const itemCount = decodedValue.value;
if (!decodeIsOpeningTag22(buffer, offset + len)) {
return void 0;
}
len++;
const rangeBuffer = buffer.slice(offset + len, apduLen - 3);
return {
objectId,
property,
resultFlag,
itemCount,
rangeBuffer,
len
};
};
var register_foreign_device_exports22 = {};
__export22(register_foreign_device_exports22, {
decode: () => decode2222,
encode: () => encode2222
});
var encode2222 = (buffer, ttl, length = 2) => {
encodeUnsigned22(buffer, ttl, length);
};
var decode2222 = (buffer, offset, length = 2) => {
let len = 0;
let result = decodeUnsigned22(buffer, offset + len, length);
len += result.len;
return {
len,
ttl: result.value
};
};
var reinitialize_device_exports22 = {};
__export22(reinitialize_device_exports22, {
decode: () => decode2322,
encode: () => encode2322
});
var encode2322 = (buffer, state, password) => {
encodeContextEnumerated22(buffer, 0, state);
if (password && password !== "") {
encodeContextCharacterString22(buffer, 1, password);
}
};
var decode2322 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
let decodedValue = decodeEnumerated22(
buffer,
offset + len,
result.value
);
value.state = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var subscribe_cov_exports22 = {};
__export22(subscribe_cov_exports22, {
decode: () => decode2422,
encode: () => encode2422
});
var encode2422 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime) => {
encodeContextUnsigned22(buffer, 0, subscriberProcessId);
encodeContextObjectId22(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean22(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned22(buffer, 3, lifetime);
}
};
var decode2422 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
if (len < apduLen) {
value.issueConfirmedNotifications = false;
if (decodeIsContextTag22(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag22(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
}
value.len = len;
return value;
};
var subscribe_property_exports22 = {};
__export22(subscribe_property_exports22, {
decode: () => decode2522,
encode: () => encode2522
});
var encode2522 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime, monitoredProperty, covIncrementPresent, covIncrement) => {
encodeContextUnsigned22(buffer, 0, subscriberProcessId);
encodeContextObjectId22(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean22(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned22(buffer, 3, lifetime);
}
encodeOpeningTag22(buffer, 4);
encodeContextEnumerated22(buffer, 0, monitoredProperty.id);
if (monitoredProperty.index !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 1, monitoredProperty.index);
}
encodeClosingTag22(buffer, 4);
if (covIncrementPresent) {
encodeContextReal22(buffer, 5, covIncrement);
}
};
var decode2522 = (buffer, offset) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag22(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
value.issueConfirmedNotifications = false;
if (decodeIsContextTag22(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag22(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.monitoredProperty = {};
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.id = decodedValue.value;
value.monitoredProperty.index = ASN1_ARRAY_ALL22;
if (decodeIsContextTag22(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
}
if (!decodeIsClosingTagNumber22(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.covIncrement = 0;
if (decodeIsContextTag22(buffer, offset + len, 5)) {
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
decodedValue = decodeReal22(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
value.len = len;
return value;
};
var time_sync_exports22 = {};
__export22(time_sync_exports22, {
decode: () => decode2622,
encode: () => encode2622
});
var encode2622 = (buffer, time) => {
encodeApplicationDate22(buffer, time);
encodeApplicationTime22(buffer, time);
};
var decode2622 = (buffer, offset, length) => {
let len = 0;
let result;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 10) {
return void 0;
}
const date = decodeDate22(buffer, offset + len);
len += date.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 11) {
return void 0;
}
const time = decodeBacnetTime22(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.value.getFullYear(),
date.value.getMonth(),
date.value.getDate(),
time.value.getHours(),
time.value.getMinutes(),
time.value.getSeconds(),
time.value.getMilliseconds()
)
};
};
var who_has_exports22 = {};
__export22(who_has_exports22, {
decode: () => decode2722,
encode: () => encode2722
});
var encode2722 = (buffer, lowLimit, highLimit, objectId, objectName) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE22 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE22) {
encodeContextUnsigned22(buffer, 0, lowLimit);
encodeContextUnsigned22(buffer, 1, highLimit);
}
if (objectName && objectName !== "") {
encodeContextCharacterString22(buffer, 3, objectName);
} else {
encodeContextObjectId22(buffer, 2, objectId.type, objectId.instance);
}
};
var decode2722 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE22) {
value.lowLimit = decodedValue.value;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE22) {
value.highLimit = decodedValue.value;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 2) {
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
}
if (result.tagNumber === 3) {
decodedValue = decodeCharacterString22(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
}
value.len = len;
return value;
};
var who_is_exports22 = {};
__export22(who_is_exports22, {
decode: () => decode2822,
encode: () => encode2822
});
var encode2822 = (buffer, lowLimit, highLimit) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE22 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE22) {
encodeContextUnsigned22(buffer, 0, lowLimit);
encodeContextUnsigned22(buffer, 1, highLimit);
}
};
var decode2822 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (apduLen <= 0) {
return {};
}
let result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
let decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE22) {
value.lowLimit = decodedValue.value;
}
if (apduLen <= len) {
return void 0;
}
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE22) {
value.highLimit = decodedValue.value;
}
value.len = len;
return value;
};
var write_property_exports22 = {};
__export22(write_property_exports22, {
decode: () => decode2922,
encode: () => encode2922
});
var encode2922 = (buffer, objectType, objectInstance, propertyId, arrayIndex, priority, values) => {
encodeContextObjectId22(buffer, 0, objectType, objectInstance);
encodeContextEnumerated22(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 2, arrayIndex);
}
encodeOpeningTag22(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData22(buffer, value);
});
encodeClosingTag22(buffer, 3);
if (priority !== ASN1_NO_PRIORITY22) {
encodeContextUnsigned22(buffer, 4, priority);
}
};
var decode2922 = (buffer, offset, apduLen) => {
let len = 0;
let value = {
property: {}
};
let decodedValue;
let result;
if (!decodeIsContextTag22(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId22(buffer, offset + len);
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.id = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL22;
}
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber22(buffer, offset + len, 3)) {
decodedValue = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
objectId.type,
value.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
value.value = values;
if (!decodeIsClosingTagNumber22(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.priority = ASN1_MAX_PRIORITY22;
if (len < apduLen) {
result = decodeTagNumberAndValue22(buffer, offset + len);
if (result.tagNumber === 4) {
len += result.len;
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue;
if (decodedValue.value >= ASN1_MIN_PRIORITY22 && decodedValue.value <= ASN1_MAX_PRIORITY22) {
value.priority = decodedValue.value;
} else {
return void 0;
}
}
}
return {
len,
objectId,
value
};
};
var write_property_multiple_exports22 = {};
__export22(write_property_multiple_exports22, {
decode: () => decode3022,
encode: () => encode3022,
encodeObject: () => encodeObject22
});
var encode3022 = (buffer, objectId, values) => {
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
encodeOpeningTag22(buffer, 1);
values.forEach((pValue) => {
encodeContextEnumerated22(buffer, 0, pValue.property.id);
if (pValue.property.index !== ASN1_ARRAY_ALL22) {
encodeContextUnsigned22(buffer, 1, pValue.property.index);
}
encodeOpeningTag22(buffer, 2);
pValue.value.forEach((value) => {
bacappEncodeApplicationData22(buffer, value);
});
encodeClosingTag22(buffer, 2);
if (pValue.priority !== ASN1_NO_PRIORITY22) {
encodeContextUnsigned22(buffer, 3, pValue.priority);
}
});
encodeClosingTag22(buffer, 1);
};
var decode3022 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0 || apduLen <= len) {
return void 0;
}
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeObjectId22(buffer, offset + len);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsOpeningTagNumber22(buffer, offset + len, 1)) {
return void 0;
}
len++;
const _values = [];
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated22(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arrayIndex = ASN1_ARRAY_ALL22;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
arrayIndex = decodedValue.value;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arrayIndex };
if (result.tagNumber !== 2 || !decodeIsOpeningTag22(buffer, offset + len - 1)) {
return void 0;
}
const values = [];
while (len + offset <= buffer.length && !decodeIsClosingTag22(buffer, offset + len)) {
let value = bacappDecodeApplicationData22(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!value) {
return void 0;
}
len += value.len;
delete value.len;
values.push(value);
}
len++;
newEntry.value = values;
let priority = ASN1_NO_PRIORITY22;
result = decodeTagNumberAndValue22(buffer, offset + len);
len += result.len;
if (result.tagNumber === 3) {
decodedValue = decodeUnsigned22(buffer, offset + len, result.value);
len += decodedValue.len;
priority = decodedValue.value;
} else {
len--;
}
newEntry.priority = priority;
_values.push(newEntry);
if (decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
len++;
}
}
if (decodeIsClosingTagNumber22(buffer, offset + len, 1)) {
len++;
}
return {
len,
objectId,
values: _values
};
};
var encodeObject22 = (buffer, values) => {
values.forEach((object) => {
encode3022(buffer, object.objectId, object.values);
});
};
var getDecodedType22 = (buffer, offset) => {
return buffer[offset];
};
var encodeConfirmedServiceRequest22 = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowSize;
}
buffer.buffer[buffer.offset++] = service;
};
var decodeConfirmedServiceRequest22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const maxSegments = buffer[offset] & 240;
const maxApdu = buffer[offset++] & 15;
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
maxSegments,
maxApdu,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeUnconfirmedServiceRequest22 = (buffer, type, service) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = service;
};
var decodeUnconfirmedServiceRequest22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service
};
};
var encodeSimpleAck22 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeSimpleAck22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var encodeComplexAck22 = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
let len = 3;
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowNumber;
len += 2;
}
buffer.buffer[buffer.offset++] = service;
return len;
};
var decodeComplexAck22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeSegmentAck22 = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = originalInvokeId;
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = actualWindowSize;
};
var decodeSegmentAck22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const originalInvokeId = buffer[offset++];
const sequencenumber = buffer[offset++];
const actualWindowSize = buffer[offset++];
return {
len: offset - orgOffset,
type,
originalInvokeId,
sequencenumber,
actualWindowSize
};
};
var encodeResult22 = (buffer, resultCode) => {
encodeUnsigned22(buffer, resultCode, 2);
};
var encodeError22 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeError22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var decodeAbort22 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const reason = buffer[offset++];
return {
len: offset - orgOffset,
type,
invokeId,
reason
};
};
var DEFAULT_HOP_COUNT32 = 255;
var BACNET_PROTOCOL_VERSION22 = 1;
var BACNET_ADDRESS_TYPES22 = {
NONE: 0,
IP: 1
};
var decodeTarget22 = (buffer, offset) => {
let len = 0;
const target = {
type: BACNET_ADDRESS_TYPES22.NONE,
net: buffer[offset + len++] << 8 | buffer[offset + len++] << 0
};
const adrLen = buffer[offset + len++];
if (adrLen > 0) {
target.adr = [];
for (let i = 0; i < adrLen; i++) {
target.adr.push(buffer[offset + len++]);
}
}
return {
target,
len
};
};
var encodeTarget22 = (buffer, target) => {
buffer.buffer[buffer.offset++] = (target.net & 65280) >> 8;
buffer.buffer[buffer.offset++] = (target.net & 255) >> 0;
if (target.net === 65535 || !target.adr) {
buffer.buffer[buffer.offset++] = 0;
} else {
buffer.buffer[buffer.offset++] = target.adr.length;
if (target.adr.length > 0) {
for (let i = 0; i < target.adr.length; i++) {
buffer.buffer[buffer.offset++] = target.adr[i];
}
}
}
};
var decode3122 = (buffer, offset) => {
let adrLen;
const orgOffset = offset;
offset++;
const funct = buffer[offset++];
let destination;
if (funct & 32) {
const tmpDestination = decodeTarget22(buffer, offset);
offset += tmpDestination.len;
destination = tmpDestination.target;
}
let source;
if (funct & 8) {
const tmpSource = decodeTarget22(buffer, offset);
offset += tmpSource.len;
source = tmpSource.target;
}
let hopCount = 0;
if (funct & 32) {
hopCount = buffer[offset++];
}
let networkMsgType = 0;
let vendorId = 0;
if (funct & 128) {
networkMsgType = buffer[offset++];
if (networkMsgType >= 128) {
vendorId = buffer[offset++] << 8 | buffer[offset++] << 0;
} else if (networkMsgType === 0) {
offset += 2;
}
}
if (buffer[orgOffset + 0] !== BACNET_PROTOCOL_VERSION22) {
return void 0;
}
return {
len: offset - orgOffset,
funct,
destination,
source,
hopCount,
networkMsgType,
vendorId
};
};
var encode3122 = (buffer, funct, destination, source, hopCount, networkMsgType, vendorId) => {
const hasDestination = destination && destination.net > 0;
const hasSource = source && source.net > 0 && source.net !== 65535;
buffer.buffer[buffer.offset++] = BACNET_PROTOCOL_VERSION22;
buffer.buffer[buffer.offset++] = funct | (hasDestination ? 32 : 0) | (hasSource ? 8 : 0);
if (hasDestination) {
encodeTarget22(buffer, destination);
}
if (hasSource) {
encodeTarget22(buffer, source);
}
if (hasDestination) {
buffer.buffer[buffer.offset++] = hopCount || DEFAULT_HOP_COUNT32;
}
if ((funct & 128) > 0) {
buffer.buffer[buffer.offset++] = networkMsgType;
if (networkMsgType >= 128) {
buffer.buffer[buffer.offset++] = (vendorId & 65280) >> 8;
buffer.buffer[buffer.offset++] = (vendorId & 255) >> 0;
}
}
};
var DEFAULT_BACNET_PORT222 = 47808;
var encode3222 = (buffer, func, msgLength, originatingIP) => {
buffer[0] = BVLL_TYPE_BACNET_IP22;
buffer[1] = func;
buffer[2] = (msgLength & 65280) >> 8;
buffer[3] = (msgLength & 255) >> 0;
if (originatingIP) {
if (func !== 4) {
throw new Error(
"Cannot specify originatingIP unless BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
const [ipstr, portstr] = originatingIP.split(":");
const port = parseInt(portstr, 10) || DEFAULT_BACNET_PORT222;
const ip = ipstr.split(".");
buffer[4] = parseInt(ip[0], 10);
buffer[5] = parseInt(ip[1], 10);
buffer[6] = parseInt(ip[2], 10);
buffer[7] = parseInt(ip[3], 10);
buffer[8] = (port & 65280) >> 8;
buffer[9] = (port & 255) >> 0;
return 6 + BVLC_HEADER_LENGTH32;
} else {
if (func === 4) {
throw new Error(
"Must specify originatingIP if BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
}
return BVLC_HEADER_LENGTH32;
};
var decode3222 = (buffer, _offset) => {
let len;
const func = buffer[1];
const msgLength = buffer[2] << 8 | buffer[3] << 0;
if (buffer[0] !== BVLL_TYPE_BACNET_IP22 || buffer.length !== msgLength) {
return void 0;
}
let originatingIP = null;
switch (func) {
case 0:
case 10:
case 11:
case 9:
case 5:
case 6:
case 8:
case 2:
case 1:
case 3:
case 7:
len = 4;
break;
case 4:
const port = buffer[8] << 8 | buffer[9];
originatingIP = buffer.slice(4, 8).join(".");
if (port !== DEFAULT_BACNET_PORT222) {
originatingIP += ":" + port;
}
len = 10;
break;
case 12:
return void 0;
default:
return void 0;
}
return {
len,
func,
msgLength,
// Originating IP is set to the IP address of the node that originally
// sent the packet, when it has been forwarded to us by a BBMD (since the
// BBMD's IP address will be in the sender field.
originatingIP
};
};
var EventEmitter222 = import_events222.default.EventEmitter;
var debug322 = (0, import_debug322.default)("bacnet:client:debug");
var trace222 = (0, import_debug322.default)("bacnet:client:trace");
var ALL_INTERFACES22 = "0.0.0.0";
var LOCALHOST_INTERFACES_IPV422 = "127.0.0.1";
var BROADCAST_ADDRESS22 = "255.255.255.255";
var DEFAULT_HOP_COUNT222 = 255;
var BVLC_HEADER_LENGTH222 = 4;
var BVLC_FWD_HEADER_LENGTH22 = 10;
var beU22 = UnconfirmedServiceChoice22;
var unconfirmedServiceMap22 = {
[beU22.I_AM]: "iAm",
[beU22.WHO_IS]: "whoIs",
[beU22.WHO_HAS]: "whoHas",
[beU22.UNCONFIRMED_COV_NOTIFICATION]: "covNotifyUnconfirmed",
[beU22.TIME_SYNCHRONIZATION]: "timeSync",
[beU22.UTC_TIME_SYNCHRONIZATION]: "timeSyncUTC",
[beU22.UNCONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beU22.I_HAVE]: "iHave",
[beU22.UNCONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var beC22 = ConfirmedServiceChoice22;
var confirmedServiceMap22 = {
[beC22.READ_PROPERTY]: "readProperty",
[beC22.WRITE_PROPERTY]: "writeProperty",
[beC22.READ_PROPERTY_MULTIPLE]: "readPropertyMultiple",
[beC22.WRITE_PROPERTY_MULTIPLE]: "writePropertyMultiple",
[beC22.CONFIRMED_COV_NOTIFICATION]: "covNotify",
[beC22.ATOMIC_WRITE_FILE]: "atomicWriteFile",
[beC22.ATOMIC_READ_FILE]: "atomicReadFile",
[beC22.SUBSCRIBE_COV]: "subscribeCov",
[beC22.SUBSCRIBE_COV_PROPERTY]: "subscribeProperty",
[beC22.DEVICE_COMMUNICATION_CONTROL]: "deviceCommunicationControl",
[beC22.REINITIALIZE_DEVICE]: "reinitializeDevice",
[beC22.CONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beC22.READ_RANGE]: "readRange",
[beC22.CREATE_OBJECT]: "createObject",
[beC22.DELETE_OBJECT]: "deleteObject",
[beC22.ACKNOWLEDGE_ALARM]: "alarmAcknowledge",
[beC22.GET_ALARM_SUMMARY]: "getAlarmSummary",
[beC22.GET_ENROLLMENT_SUMMARY]: "getEnrollmentSummary",
[beC22.GET_EVENT_INFORMATION]: "getEventInformation",
[beC22.LIFE_SAFETY_OPERATION]: "lifeSafetyOperation",
[beC22.ADD_LIST_ELEMENT]: "addListElement",
[beC22.REMOVE_LIST_ELEMENT]: "removeListElement",
[beC22.CONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var errorReasonEnums22 = {
BacnetAbort: RejectReason22
};
var BacnetError22 = class extends Error {
constructor(message, bacnetErrorClass, bacnetErrorCode) {
super(message);
this.bacnetErrorClass = bacnetErrorClass;
this.bacnetErrorCode = bacnetErrorCode;
}
};
function bacnetErrorToString22(err) {
var _a;
const isError = err instanceof Error || err instanceof BacnetError22;
if (!isError)
return;
const message = err.message;
const reasonClass = message == null ? void 0 : message.split(" - ")[0];
const reason = +((_a = message == null ? void 0 : message.split("Reason:")[1]) == null ? void 0 : _a.split(" ")[0]);
if (!errorReasonEnums22[reasonClass])
return;
const reasonString = errorReasonEnums22[reasonClass][reason];
return reasonClass + ": " + reasonString;
}
var Client22 = class extends EventEmitter222 {
/**
*
* @param options
*/
constructor(options) {
super();
options = options || {};
this._invokeCounter = 1;
this._invokeStore = {};
this._lastSequenceNumber = 0;
this._segmentStore = [];
this._settings = {
port: options.port || 47808,
interface: options.interface || ALL_INTERFACES22,
transport: options.transport,
broadcastAddress: options.broadcastAddress || BROADCAST_ADDRESS22,
apduTimeout: options.apduTimeout || 3e3
};
options.reuseAddr = options.reuseAddr === void 0 ? true : !!options.reuseAddr;
this._transport = this._settings.transport || new Transport22({
port: this._settings.port,
interface: this._settings.interface,
broadcastAddress: this._settings.broadcastAddress,
reuseAddr: options.reuseAddr
});
this._transport.on("message", this._receiveData.bind(this));
this._transport.on("error", this._receiveError.bind(this));
this._transport.on("listening", () => this.emit("listening"));
this._transport.open();
}
/**
*
* @returns {number}
* @private
*/
_getInvokeId() {
const id = this._invokeCounter++;
if (id >= 256)
this._invokeCounter = 1;
return id - 1;
}
/**
*
* @param id
* @param err
* @param result
* @returns {*}
* @private
*/
_invokeCallback(id, err, result) {
const callback = this._invokeStore[id];
if (callback) {
return void callback(err, result);
}
debug322("InvokeId", id, "not found -> drop package");
}
/**
*
* @param id
* @param callback
* @private
*/
_addCallback(id, callback) {
const timeout = setTimeout(() => {
delete this._invokeStore[id];
callback(new Error("ERR_TIMEOUT"));
}, this._settings.apduTimeout);
this._invokeStore[id] = (err, data) => {
clearTimeout(timeout);
delete this._invokeStore[id];
callback(err, data);
};
}
/**
*
* @param isForwarded
* @returns {{offset: (number), buffer: *}}
* @private
*/
_getBuffer(isForwarded) {
return Object.assign(
{},
{
buffer: Buffer.alloc(this._transport.getMaxPayload()),
offset: isForwarded ? BVLC_FWD_HEADER_LENGTH22 : BVLC_HEADER_LENGTH222
}
);
}
/**
*
* @param invokeId
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processError(invokeId, buffer, offset, length) {
const result = error_exports22.decode(buffer, offset);
trace222("Received error:", result);
if (!result) {
return debug322("Couldn`t decode Error");
}
const err = new BacnetError22(error_exports22.buildMessage(result));
err.bacnetErrorClass = result.class;
err.bacnetErrorCode = result.code;
this._invokeCallback(invokeId, err);
}
/**
*
* @param invokeId
* @param reason
* @private
*/
_processAbort(invokeId, reason) {
const err = new BacnetError22("BacnetAbort - Reason:" + reason);
err.bacnetAbortReason = reason;
err.bacnetErrorClass = AbortReason22;
this._invokeCallback(invokeId, err);
}
/**
*
* @param receiver
* @param negative
* @param server
* @param originalInvokeId
* @param sequencenumber
* @param actualWindowSize
* @private
*/
_segmentAckResponse(receiver, negative, server, originalInvokeId, sequencenumber, actualWindowSize) {
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode3122(
buffer,
0,
receiver,
null,
DEFAULT_HOP_COUNT222,
0,
0
);
encodeSegmentAck22(
buffer,
64 | (negative ? 2 : 0) | (server ? 1 : 0),
originalInvokeId,
sequencenumber,
actualWindowSize
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param msg
* @param first
* @param moreFollows
* @param buffer
* @param offset
* @param length
* @private
*/
_performDefaultSegmentHandling(msg, first, moreFollows, buffer, offset, length) {
if (first) {
this._segmentStore = [];
msg.type &= ~8;
let apduHeaderLen = 3;
if ((msg.type & PDU_TYPE_MASK22) === 0) {
apduHeaderLen = 4;
}
const apdubuffer = this._getBuffer();
apdubuffer.offset = 0;
buffer.copy(apdubuffer.buffer, apduHeaderLen, offset, offset + length);
if ((msg.type & PDU_TYPE_MASK22) === 0) {
encodeConfirmedServiceRequest22(
apdubuffer,
msg.type,
msg.service,
msg.maxSegments,
msg.maxApdu,
msg.invokeId,
0,
0
);
} else {
encodeComplexAck22(
apdubuffer,
msg.type,
msg.service,
msg.invokeId,
0,
0
);
}
this._segmentStore.push(
//@ts-ignore
apdubuffer.buffer.slice(0, length + apduHeaderLen)
);
} else {
this._segmentStore.push(buffer.slice(offset, offset + length));
}
if (!moreFollows) {
const apduBuffer = Buffer.concat(this._segmentStore);
this._segmentStore = [];
msg.type &= ~8;
this._handlePdu(apduBuffer, 0, apduBuffer.length, msg.header);
}
}
/**
*
* @param msg
* @param server
* @param buffer
* @param offset
* @param length
* @private
*/
_processSegment(msg, server, buffer, offset, length) {
let first = false;
if (msg.sequencenumber === 0 && this._lastSequenceNumber === 0) {
first = true;
} else {
if (msg.sequencenumber !== this._lastSequenceNumber + 1) {
return this._segmentAckResponse(
msg.header.address,
true,
server,
msg.invokeId,
this._lastSequenceNumber,
msg.proposedWindowNumber
);
}
}
this._lastSequenceNumber = msg.sequencenumber;
const moreFollows = msg.type & 4;
if (!moreFollows) {
this._lastSequenceNumber = 0;
}
if (msg.sequencenumber % msg.proposedWindowNumber === 0 || !moreFollows) {
this._segmentAckResponse(
msg.header.address,
false,
server,
msg.invokeId,
msg.sequencenumber,
msg.proposedWindowNumber
);
}
this._performDefaultSegmentHandling(
msg,
first,
moreFollows,
buffer,
offset,
length
);
}
/**
*
* @param serviceMap
* @param content
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processServiceRequest(serviceMap, content, buffer, offset, length) {
let result;
const sender = content.header.sender;
if (sender.address === LOCALHOST_INTERFACES_IPV422) {
debug322("Received and skipped localhost service request:", content.service);
return;
}
const name = serviceMap[content.service];
if (!name) {
debug322("Received unsupported service request:", content.service);
return;
}
const id = content.invokeId ? "@" + content.invokeId : "";
trace222(`Received service request${id}:`, name);
const serviceHandler = services_exports22[name];
if (serviceHandler) {
try {
content.payload = serviceHandler.decode(buffer, offset, length);
trace222(`Handled service request${id}:`, name, JSON.stringify(content));
} catch (e) {
debug322("Exception thrown when processing message:", e);
debug322("Original message was", name + ":", content);
return;
}
if (!content.payload) {
return debug322("Received invalid", name, "message");
}
} else {
debug322("No serviceHandler defined for:", name);
}
if (this.listenerCount(name)) {
trace222("listener count by name emits " + name + " with content");
this.emit(name, content);
} else {
if (this.listenerCount("unhandledEvent")) {
trace222("unhandled event emiting with content");
this.emit("unhandledEvent", content);
} else {
trace222(
"no unhandled event handler with header: " + JSON.stringify(content.header)
);
if (content.header.expectingReply) {
debug322("Replying with error for unhandled service:", name);
content.header.sender.forwardedFrom = null;
this.errorResponse(
content.header.sender,
content.service,
content.invokeId,
5,
67
/* REJECT_UNRECOGNIZED_SERVICE */
);
}
}
}
}
/**
*
* @param buffer
* @param offset
* @param length
* @param header
* @private
*/
_handlePdu(buffer, offset, length, header) {
let msg;
trace222("handlePdu Header: ", header);
switch (header.apduType & PDU_TYPE_MASK22) {
case 16:
msg = decodeUnconfirmedServiceRequest22(buffer, offset);
msg.header = header;
msg.header.confirmedService = false;
this._processServiceRequest(
unconfirmedServiceMap22,
msg,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 32:
msg = decodeSimpleAck22(buffer, offset);
offset += msg.len;
length -= msg.len;
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
break;
case 48:
msg = decodeComplexAck22(buffer, offset);
msg.header = header;
if ((header.apduType & 8) === 0) {
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
case 64:
msg = decodeSegmentAck22(buffer, offset);
msg.header = header;
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 80:
msg = decodeError22(buffer, offset);
this._processError(
msg.invokeId,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 96:
case 112:
msg = decodeAbort22(buffer, offset);
this._processAbort(msg.invokeId, msg.reason);
break;
case 0:
msg = decodeConfirmedServiceRequest22(buffer, offset);
msg.header = header;
msg.header.confirmedService = true;
if ((header.apduType & 8) === 0) {
this._processServiceRequest(
confirmedServiceMap22,
msg,
buffer,
offset + msg.len,
length - msg.len
);
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
default:
debug322(`Received unknown PDU type ${header.apduType} -> Drop packet`);
break;
}
}
/**
*
* @param buffer
* @param offset
* @param msgLength
* @param header
* @returns {*}
* @private
*/
_handleNpdu(buffer, offset, msgLength, header) {
if (msgLength <= 0) {
return trace222("No NPDU data -> Drop package");
}
const result = decode3122(buffer, offset);
if (!result) {
return trace222("Received invalid NPDU header -> Drop package");
}
if (result.funct & 128) {
return trace222("Received network layer message -> Drop package");
}
offset += result.len;
msgLength -= result.len;
if (msgLength <= 0) {
return trace222("No APDU data -> Drop package");
}
header.apduType = getDecodedType22(buffer, offset);
header.expectingReply = !!(result.funct & 4);
this._handlePdu(buffer, offset, msgLength, header);
}
/**
*
* @param buffer
* @param remoteAddress
* @returns {*}
* @private
*/
_receiveData(buffer, remoteAddress) {
if (buffer.length < BVLC_HEADER_LENGTH32) {
return trace222("Received invalid data -> Drop package");
}
const result = decode3222(buffer, 0);
if (!result) {
return trace222("Received invalid BVLC header -> Drop package");
}
let header = {
// Which function the packet came in on, so later code can distinguish
// between ORIGINAL_BROADCAST_NPDU and DISTRIBUTE_BROADCAST_TO_NETWORK.
func: result.func,
sender: {
// Address of the host we are directly connected to. String, IP:port.
address: remoteAddress,
// If the host is a BBMD passing messages along to another node, this
// is the address of the distant BACnet node. String, IP:port.
// Typically we won't have network connectivity to this address, but
// we have to include it in replies so the host we are connect to knows
// where to forward the messages.
forwardedFrom: null
}
};
switch (result.func) {
case 10:
case 11:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 4:
header.sender.forwardedFrom = result.originatingIP;
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 5:
let decodeResult = register_foreign_device_exports22.decode(
buffer,
result.len,
buffer.length - result.len
);
if (!decodeResult) {
return trace222("Received invalid registerForeignDevice message");
}
this.emit("registerForeignDevice", {
header,
payload: decodeResult
});
break;
case 9:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
default:
debug322(
"Received unknown BVLC function " + result.func + " -> Drop package"
);
break;
}
}
/**
* @event bacnet.error
* @param {error} err - The error object thrown by the underlying transport layer.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.on('error', (err) => {
* console.log('Error occurred: ', err);
* client.close();
* });
*/
_receiveError(err) {
this.emit("error", err);
}
/**
* The whoIs command discovers all BACNET devices in a network.
* @function bacnet.whoIs
* @param {string} receiver - IP address of the target device.
* @param {object=} options
* @param {number=} options.lowLimit - Minimal device instance number to search for.
* @param {number=} options.highLimit - Maximal device instance number to search for.
* @fires bacnet.iAm
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.whoIs();
*/
whoIs(receiver, options) {
if (!options) {
if (receiver && typeof receiver === "object" && receiver.address === void 0 && receiver.forwardedFrom === void 0 && (receiver.lowLimit !== void 0 || receiver.highLimit !== void 0)) {
options = receiver;
receiver = void 0;
}
}
options = options || {};
const settings = {
lowLimit: options.lowLimit,
highLimit: options.highLimit
};
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode3122(
buffer,
0,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT222,
0,
0
);
encodeUnconfirmedServiceRequest22(
buffer,
16,
8
/* WHO_IS */
);
who_is_exports22.encode(buffer, settings.lowLimit, settings.highLimit);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSync command sets the time of a target device.
* @function bacnet.timeSync
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSync('192.168.1.43', new Date());
*/
timeSync(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
6
/* TIME_SYNCHRONIZATION */
);
time_sync_exports22.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSyncUTC command sets the UTC time of a target device.
* @function bacnet.timeSyncUTC
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSyncUTC('192.168.1.43', new Date());
*/
timeSyncUTC(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
9
/* UTC_TIME_SYNCHRONIZATION */
);
time_sync_exports22.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The readProperty command reads a single property of an object from a device.
* @function bacnet.readProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to read.
* @param {number} objectId.type - The BACNET object type to read.
* @param {number} objectId.instance - The BACNET object instance to read.
* @param {number} propertyId - The BACNET property id in the specified object to read.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.readProperty('192.168.1.43', {type: 8, instance: 44301}, 28, (err, value) => {
* console.log('value: ', value);
* });
*/
readProperty(receiver, objectId, propertyId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || options.arrayIndex === 0 ? options.arrayIndex : ASN1_ARRAY_ALL22
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT222,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest22(
buffer,
type,
12,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_exports22.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_property_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writeProperty command writes a single property of an object to a device.
* @function bacnet.writeProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to write.
* @param {number} objectId.type - The BACNET object type to write.
* @param {number} objectId.instance - The BACNET object instance to write.
* @param {number} propertyId - The BACNET property id in the specified object to write.
* @param {object[]} values - A list of values to be written to the specified property.
* @param {ApplicationTag} values.type - The data-type of the value to be written.
* @param {number} values.value - The actual value to be written.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {number=} options.priority - The priority of the value to be written.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.writeProperty('192.168.1.43', {type: 8, instance: 44301}, 28, [
* {type: bacnet.enum.ApplicationTag.REAL, value: 100}
* ], (err, value) => {
* console.log('value: ', value);
* });
*/
writeProperty(receiver, objectId, propertyId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || ASN1_ARRAY_ALL22,
priority: options.priority || ASN1_NO_PRIORITY22
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT222,
0,
0
);
encodeConfirmedServiceRequest22(
buffer,
0,
15,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
write_property_exports22.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex,
settings.priority,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The readPropertyMultiple command reads multiple properties in multiple objects from a device.
* @function bacnet.readPropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} propertiesArray - List of object and property specifications to be read.
* @param {object} propertiesArray.objectId - Specifies which object to read.
* @param {number} propertiesArray.objectId.type - The BACNET object type to read.
* @param {number} propertiesArray.objectId.instance - The BACNET object instance to read.
* @param {object[]} propertiesArray.properties - List of properties to be read.
* @param {number} propertiesArray.properties.id - The BACNET property id in the specified object to read. Also supports 8 for all properties.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const requestArray = [
* {objectId: {type: 8, instance: 4194303}, properties: [{id: 8}]}
* ];
* client.readPropertyMultiple('192.168.1.43', requestArray, (err, value) => {
* console.log('value: ', value);
* });
*/
readPropertyMultiple(receiver, propertiesArray, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const isForwarded = typeof receiver !== "string" && receiver.forwardedFrom;
const buffer = this._getBuffer(!!isForwarded);
encode3122(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT222,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest22(
buffer,
type,
14,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_multiple_exports22.encode(buffer, propertiesArray);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return next(err);
}
const result = read_property_multiple_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writePropertyMultiple command writes multiple properties in multiple objects to a device.
* @function bacnet.writePropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} values - List of object and property specifications to be written.
* @param {object} values.objectId - Specifies which object to read.
* @param {number} values.objectId.type - The BACNET object type to read.
* @param {number} values.objectId.instance - The BACNET object instance to read.
* @param {object[]} values.values - List of properties to be written.
* @param {object} values.values.property - Property specifications to be written.
* @param {number} values.values.property.id - The BACNET property id in the specified object to write.
* @param {number} values.values.property.index - The array index of the property to be written.
* @param {object[]} values.values.value - A list of values to be written to the specified property.
* @param {ApplicationTag} values.values.value.type - The data-type of the value to be written.
* @param {object} values.values.value.value - The actual value to be written.
* @param {number} values.values.priority - The priority to be used for writing to the property.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const values = [
* {objectId: {type: 8, instance: 44301}, values: [
* {property: {id: 28, index: 12}, value: [{type: bacnet.enum.ApplicationTag.BOOLEAN, value: true}], priority: 8}
* ]}
* ];
* client.writePropertyMultiple('192.168.1.43', values, (err, value) => {
* console.log('value: ', value);
* });
*/
writePropertyMultiple(receiver, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
//@ts-ignore
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
16,
settings.maxSegments,
settings.maxApdu,
settings.invokeId
);
write_property_multiple_exports22.encodeObject(buffer, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The confirmedCOVNotification command is used to push notifications to other
* systems that have registered with us via a subscribeCOV message.
* @function bacnet.confirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {object} monitoredObject - The object being monitored, from subscribeCOV.
* @param {number} monitoredObject.type - Object type.
* @param {number} monitoredObject.instance - Object instance.
* @param {number} subscribeId - Subscriber ID from subscribeCOV,
* @param {number} initiatingDeviceId - Our BACnet device ID.
* @param {number} lifetime - Number of seconds left until the subscription expires.
* @param {array} values - values for the monitored object. See example.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const settings = {deviceId: 123}; // our BACnet device
*
* // Items saved from subscribeCOV message
* const monitoredObject = {type: 1, instance: 1};
* const subscriberProcessId = 123;
*
* client.confirmedCOVNotification(
* '192.168.1.43',
* monitoredObject,
* subscriberProcessId,
* settings.deviceId,
* 30, // should be lifetime of subscription really
* [
* {
* property: { id: bacnet.enum.PropertyIdentifier.PRESENT_VALUE },
* value: [
* {value: 123, type: bacnet.enum.ApplicationTag.REAL},
* ],
* },
* ],
* (err) => {
* console.log('error: ', err);
* }
* );
*/
confirmedCOVNotification(receiver, monitoredObject, subscribeId, initiatingDeviceId, lifetime, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer();
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
1,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
cov_notify_exports22.encode(
buffer,
subscribeId,
initiatingDeviceId,
monitoredObject,
lifetime,
values
);
encode3222(
buffer.buffer,
10,
buffer.offset
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The deviceCommunicationControl command enables or disables network communication of the target device.
* @function bacnet.deviceCommunicationControl
* @param {string} receiver - IP address of the target device.
* @param {number} timeDuration - The time to hold the network communication state in seconds. 0 for infinite.
* @param {EnableDisable} enableDisable - The network communication state to set.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to set the network communication state.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.deviceCommunicationControl('192.168.1.43', 0, bacnet.enum.EnableDisable.DISABLE, (err) => {
* console.log('error: ', err);
* });
*/
deviceCommunicationControl(receiver, timeDuration, enableDisable, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
17,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
device_communication_control_exports22.encode(
buffer,
timeDuration,
enableDisable,
settings.password
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The reinitializeDevice command initiates a restart of the target device.
* @function bacnet.reinitializeDevice
* @param {string} receiver - IP address of the target device.
* @param {ReinitializedState} state - The type of restart to be initiated.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to restart the device.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.reinitializeDevice('192.168.1.43', bacnet.enum.ReinitializedState.COLDSTART, (err, value) => {
* console.log('value: ', value);
* });
*/
reinitializeDevice(receiver, state, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
20,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
reinitialize_device_exports22.encode(buffer, state, settings.password);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param fileBuffer
* @param options
* @param next
*/
writeFile(receiver, objectId, position, fileBuffer, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
7,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_write_file_exports22.encode(
buffer,
false,
objectId,
position,
fileBuffer
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_write_file_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param count
* @param options
* @param next
*/
readFile(receiver, objectId, position, count, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
6,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_read_file_exports22.encode(buffer, true, objectId, position, count);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_read_file_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param idxBegin
* @param quantity
* @param options
* @param next
*/
readRange(receiver, objectId, idxBegin, quantity, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
26,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_range_exports22.encode(
buffer,
objectId,
131,
ASN1_ARRAY_ALL22,
0,
idxBegin,
/* @__PURE__ */ new Date(),
quantity
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_range_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param lifetime
* @param options
* @param next
*/
subscribeCov(receiver, objectId, subscribeId, cancel, issueConfirmedNotifications, lifetime, options, nextFunc) {
const next = nextFunc || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
// @ts-ignore TODO types not matching with documentation and code
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
5,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_cov_exports22.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
lifetime
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param monitoredProperty
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param options
* @param next
*/
subscribeProperty(receiver, objectId, monitoredProperty, subscribeId, cancel, issueConfirmedNotifications, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
28,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_property_exports22.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
0,
monitoredProperty,
false,
15
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The unconfirmedCOVNotification command sends an unconfirmed COV notification to a device
* @function bacnet.unconfirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {number} subscriberProcessId - The process id which was used by a target device in the subscription.
* @param {number} initiatingDeviceId - The id of this device.
* @param {object} monitoredObjectId - Specifies about which object the notification is.
* @param {number} monitoredObjectId.type - The BACNET object type of the notification.
* @param {number} monitoredObjectId.instance - The BACNET object instance of the notification.
* @param {number} timeRemaining - How long the subscription is still active in seconds.
* @param {object[]} values - List of properties with updated values.
* @param {object} values.property - Property specifications.
* @param {number} values.property.id - The updated BACNET property id.
* @param {number} values.property.index - The array index of the updated property.
* @param {object[]} values.value - A list of updated values.
* @param {ApplicationTag} values.value.type - The data-type of the updated value.
* @param {object} values.value.value - The actual updated value.
* @param {number} values.priority - The priority of the updated property.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.unconfirmedCOVNotification(
* '127.0.0.1',
* 3,
* 433,
* {type: 2, instance: 122},
* 120,
* [
* {
* property: {id: 85},
* value: [{type: baEnum.ApplicationTag.REAL, value: 12.3}]
* },
* {
* property: {id: 111},
* value: [{type: baEnum.ApplicationTag.BIT_STRING, value: 0xFFFF}]
* }
* ]);
*/
unconfirmedCOVNotification(receiver, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) {
const buffer = this._getBuffer();
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
2
/* UNCONFIRMED_COV_NOTIFICATION */
);
cov_notify_exports22.encode(
buffer,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
);
encode3222(
buffer.buffer,
10,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver);
}
/**
*
* @param receiver
* @param objectId
* @param values
* @param options
* @param next
*/
createObject(receiver, objectId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
10,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
create_object_exports22.encode(buffer, objectId, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
deleteObject(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
11,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
delete_object_exports22.encode(buffer, objectId);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
removeListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
9,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports22.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
addListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
8,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports22.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param options
* @param next
*/
getAlarmSummary(receiver, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
3,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = alarm_summary_exports22.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
getEventInformation(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
29,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
encodeContextObjectId22(buffer, 0, objectId.type, objectId.instance);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = event_information_exports22.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param eventState
* @param ackText
* @param evTimeStamp
* @param ackTimeStamp
* @param options
* @param next
*/
acknowledgeAlarm(receiver, objectId, eventState, ackText, evTimeStamp, ackTimeStamp, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
0,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
alarm_acknowledge_exports22.encode(
buffer,
57,
objectId,
eventState,
ackText,
evTimeStamp,
ackTimeStamp
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
* @param options
* @param next
*/
confirmedPrivateTransfer(receiver, vendorId, serviceNumber, data, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
18,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
private_transfer_exports22.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data2) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
*/
unconfirmedPrivateTransfer(receiver, vendorId, serviceNumber, data) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
4
/* UNCONFIRMED_PRIVATE_TRANSFER */
);
private_transfer_exports22.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param acknowledgmentFilter
* @param options
* @param next
*/
getEnrollmentSummary(receiver, acknowledgmentFilter, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
4,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
get_enrollment_summary_exports22.encode(
buffer,
acknowledgmentFilter,
options.enrollmentFilter,
options.eventStateFilter,
options.eventTypeFilter,
options.priorityFilter,
options.notificationClassFilter
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = get_enrollment_summary_exports22.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param eventNotification
*/
unconfirmedEventNotification(receiver, eventNotification) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
3
/* UNCONFIRMED_EVENT_NOTIFICATION */
);
event_notify_data_exports22.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param eventNotification
* @param options
* @param next
*/
confirmedEventNotification(receiver, eventNotification, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest22(
buffer,
0,
2,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
event_notify_data_exports22.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The readPropertyResponse call sends a response with information about one of our properties.
* @function bacnet.readPropertyResponse
* @param {string} receiver - IP address of the target device.
* @param {number} invokeId - ID of the original readProperty request.
* @param {object} objectId - objectId from the original request,
* @param {object} property - property being read, taken from the original request.
* @param {object=} options varying behaviour for special circumstances
* @param {string=} options.forwardedFrom - If functioning as a BBMD, the IP address this message originally came from.
*/
readPropertyResponse(receiver, invokeId, objectId, property, value, options = {}) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeComplexAck22(
buffer,
48,
12,
invokeId
);
read_property_exports22.encodeAcknowledge(
buffer,
objectId,
property.id,
property.index,
value
);
this.sendBvlc(receiver, buffer);
}
readPropertyMultipleResponse(receiver, invokeId, values) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeComplexAck22(
buffer,
48,
14,
invokeId
);
read_property_multiple_exports22.encodeAcknowledge(buffer, values);
this.sendBvlc(receiver, buffer);
}
/**
* The iAmResponse command is sent as a reply to a whoIs request.
* @function bacnet.iAmResponse
* @param {object} receiver - address to send packet to, null for local broadcast.
* @param {number} deviceId - Our device ID.
* @param {number} segmentation - an enum.Segmentation value.
* @param {number} vendorId - The numeric ID assigned to the organisation providing this application.
*/
iAmResponse(receiver, deviceId, segmentation, vendorId) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
0
/* I_AM */
);
i_am_exports22.encode(
buffer,
deviceId,
this._transport.getMaxPayload(),
segmentation,
vendorId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param deviceId
* @param objectId
* @param objectName
*/
iHaveResponse(receiver, deviceId, objectId, objectName) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode3122(buffer, 0, receiver);
encodeUnconfirmedServiceRequest22(
buffer,
16,
1
/* I_HAVE */
);
i_have_exports22.encode(buffer, deviceId, objectId, objectName);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
*/
simpleAckResponse(receiver, service, invokeId) {
if (typeof receiver === "string")
return;
const buffer = this._getBuffer(!!receiver.forwardedFrom);
encode3122(buffer, 0, receiver);
encodeSimpleAck22(
buffer,
32,
service,
invokeId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
* @param errorClass
* @param errorCode
*/
errorResponse(receiver, service, invokeId, errorClass, errorCode) {
trace222(
`error response on ${JSON.stringify(receiver)} service: ${JSON.stringify(
service
)} invokeId: ${invokeId} errorClass: ${errorClass} errorCode: ${errorCode}`
);
trace222(
`error message ${error_exports22.buildMessage({
class: errorClass,
code: errorCode
})}`
);
const hasSource = !!(typeof receiver !== "string" && receiver.forwardedFrom);
if (typeof receiver === "string")
throw new Error("receiver must be object");
const buffer = this._getBuffer(hasSource);
encode3122(buffer, 0, receiver);
encodeError22(buffer, 80, service, invokeId);
error_exports22.encode(buffer, errorClass, errorCode);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param buffer
*/
sendBvlc(receiver, buffer) {
if (typeof receiver === "string") {
receiver = {
address: receiver
};
}
if (receiver && receiver.forwardedFrom) {
encode3222(
buffer.buffer,
4,
buffer.offset,
receiver.forwardedFrom
);
} else if (receiver && receiver.address) {
encode3222(
buffer.buffer,
10,
buffer.offset
);
} else {
encode3222(
buffer.buffer,
11,
buffer.offset
);
}
this._transport.send(
buffer.buffer,
buffer.offset,
receiver && receiver.address || null
);
}
/**
* The resultResponse is a BVLC-Result message used to respond to certain events, such as BBMD registration.
* This message cannot be wrapped for passing through a BBMD, as it is used as a BBMD control message.
* @function bacnet.resultResponse
* @param {string} receiver - IP address of the target device.
* @param {number} resultCode - Single value from BvlcResultFormat enum.
*/
resultResponse(receiver, resultCode) {
const buffer = this._getBuffer();
encodeResult22(buffer, resultCode);
encode3222(
buffer.buffer,
0,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver.address);
}
/**
* Unloads the current bacnet instance and closes the underlying UDP socket.
* @function bacnet.close
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.close();
*/
close() {
this._transport.close();
}
/**
* Helper function to take an array of enums and produce a bitstring suitable
* for inclusion as a property.
*
* @example
* [bacnet.enum.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED]: [
* {value: bacnet.createBitstring([
* bacnet.enum.ObjectTypesSupported.ANALOG_INPUT,
* bacnet.enum.ObjectTypesSupported.ANALOG_OUTPUT,
* ]),
* type: bacnet.enum.ApplicationTag.BIT_STRING},
* ],
*/
static createBitstring(items) {
let offset = 0;
let bytes = [];
let bitsUsed = 0;
while (items.length) {
let value = 0;
items = items.filter((i) => {
if (i >= offset + 8) {
return true;
}
value |= 1 << i - offset;
bitsUsed = Math.max(bitsUsed, i);
return false;
});
bytes.push(value);
offset += 8;
}
bitsUsed++;
return {
value: bytes,
bitsUsed
};
}
};
var import_underscore22 = __toESM22(require("underscore"));
var import_process22 = __toESM22(require("process"));
var import__22 = __toESM22(require_dist22());
var PropertyIdentifierToEnumMap22 = {};
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.OBJECT_TYPE] = import__22.enums.ObjectType;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED] = import__22.enums.Segmentation;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.EVENT_STATE] = import__22.enums.EventState;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.UNITS] = import__22.enums.EngineeringUnits;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.RELIABILITY] = import__22.enums.Reliability;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.NOTIFY_TYPE] = import__22.enums.NotifyType;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.POLARITY] = import__22.enums.Polarity;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED] = import__22.enums.ServicesSupported;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED] = import__22.enums.ObjectTypesSupported;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.STATUS_FLAGS] = import__22.enums.StatusFlags;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.LIMIT_ENABLE] = import__22.enums.LimitEnable;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.EVENT_ENABLE] = import__22.enums.EventTransitionBits;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.ACKED_TRANSITIONS] = import__22.enums.EventTransitionBits;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.SYSTEM_STATUS] = import__22.enums.DeviceStatus;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.SYSTEM_STATUS] = import__22.enums.DeviceStatus;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.ACK_REQUIRED] = import__22.enums.EventTransitionBits;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.LOGGING_TYPE] = import__22.enums.LoggingType;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.FILE_ACCESS_METHOD] = import__22.enums.FileAccessMethod;
PropertyIdentifierToEnumMap22[import__22.enums.PropertyIdentifier.NODE_TYPE] = import__22.enums.NodeType;
var ObjectTypeSpecificPropertyIdentifierToEnumMap22 = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_INPUT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_INPUT][import__22.enums.PropertyIdentifier.MODE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.ANALOG_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.ANALOG_INPUT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.ANALOG_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.ANALOG_OUTPUT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_OUTPUT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_OUTPUT][import__22.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_VALUE][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_VALUE][import__22.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_LIGHTING_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_LIGHTING_OUTPUT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryLightingPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BITSTRING_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.BINARY_VALUE][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.TRACKING_VALUE] = import__22.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.MODE] = import__22.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.ACCEPTED_MODES] = import__22.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.SILENCED] = import__22.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_POINT][import__22.enums.PropertyIdentifier.OPERATION_EXPECTED] = import__22.enums.LifeSafetyOperation;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_ZONE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_ZONE][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LIFE_SAFETY_ZONE][import__22.enums.PropertyIdentifier.MODE] = import__22.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LOAD_CONTROL] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap22[import__22.enums.ObjectType.LOAD_CONTROL][import__22.enums.PropertyIdentifier.PRESENT_VALUE] = import__22.enums.ShedState;
var propSubSet22 = import_process22.default.argv.includes("--all") ? Object.values(import__22.enums.PropertyIdentifier) : [
/* normally supported from all devices */
import__22.enums.PropertyIdentifier.OBJECT_IDENTIFIER,
import__22.enums.PropertyIdentifier.OBJECT_NAME,
import__22.enums.PropertyIdentifier.OBJECT_TYPE,
import__22.enums.PropertyIdentifier.PRESENT_VALUE,
import__22.enums.PropertyIdentifier.STATUS_FLAGS,
import__22.enums.PropertyIdentifier.EVENT_STATE,
import__22.enums.PropertyIdentifier.RELIABILITY,
import__22.enums.PropertyIdentifier.OUT_OF_SERVICE,
import__22.enums.PropertyIdentifier.UNITS,
/* other properties */
import__22.enums.PropertyIdentifier.DESCRIPTION,
import__22.enums.PropertyIdentifier.SYSTEM_STATUS,
import__22.enums.PropertyIdentifier.VENDOR_NAME,
import__22.enums.PropertyIdentifier.VENDOR_IDENTIFIER,
import__22.enums.PropertyIdentifier.MODEL_NAME,
import__22.enums.PropertyIdentifier.FIRMWARE_REVISION,
import__22.enums.PropertyIdentifier.APPLICATION_SOFTWARE_VERSION,
import__22.enums.PropertyIdentifier.LOCATION,
import__22.enums.PropertyIdentifier.LOCAL_DATE,
import__22.enums.PropertyIdentifier.LOCAL_TIME,
import__22.enums.PropertyIdentifier.UTC_OFFSET,
import__22.enums.PropertyIdentifier.DAYLIGHT_SAVINGS_STATUS,
import__22.enums.PropertyIdentifier.PROTOCOL_VERSION,
import__22.enums.PropertyIdentifier.PROTOCOL_REVISION,
import__22.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED,
import__22.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED,
import__22.enums.PropertyIdentifier.OBJECT_LIST,
import__22.enums.PropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED,
import__22.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED,
import__22.enums.PropertyIdentifier.APDU_TIMEOUT,
import__22.enums.PropertyIdentifier.NUMBER_OF_APDU_RETRIES,
import__22.enums.PropertyIdentifier.DEVICE_ADDRESS_BINDING,
import__22.enums.PropertyIdentifier.DATABASE_REVISION,
import__22.enums.PropertyIdentifier.MAX_INFO_FRAMES,
import__22.enums.PropertyIdentifier.MAX_MASTER,
import__22.enums.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS,
import__22.enums.PropertyIdentifier.ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS
];
var debug422 = import_process22.default.argv.includes("--debug");
function getAllPropertiesManually22(address, objectId, callback, propList, result) {
if (!propList) {
propList = propSubSet22.map((x) => x);
}
if (!result) {
result = [];
}
if (!propList.length) {
return callback({
values: [
{
objectId,
values: result
}
]
});
}
const prop = propList.shift();
bacnetClient.readProperty(address, objectId, prop, {}, (err, value) => {
if (!err) {
if (debug422) {
console.log("Handle value " + prop + ": ", JSON.stringify(value));
}
const objRes = value.property;
objRes.value = value.values;
result.push(objRes);
} else {
}
getAllPropertiesManually22(address, objectId, callback, propList, result);
});
}
function readBit22(buffer, i, bit) {
return (buffer[i] >> bit) % 2;
}
function handleBitString22(buffer, bitsUsed, usedEnum) {
const res = [];
for (let i = 0; i < bitsUsed; i++) {
const bufferIndex = Math.floor(i / 8);
if (readBit22(buffer, bufferIndex, i % 8)) {
res.push(import__22.enums.getEnumName(usedEnum, i));
}
}
return res;
}
function parseValue22(address, objId, parentType, value, supportsMultiple, callback) {
let resValue = null;
if (value && value.type && value.value !== null && value.value !== void 0) {
switch (value.type) {
case import__22.enums.ApplicationTag.NULL:
resValue = null;
break;
case import__22.enums.ApplicationTag.BOOLEAN:
resValue = !!value.value;
break;
case import__22.enums.ApplicationTag.UNSIGNED_INTEGER:
case import__22.enums.ApplicationTag.SIGNED_INTEGER:
case import__22.enums.ApplicationTag.REAL:
case import__22.enums.ApplicationTag.DOUBLE:
case import__22.enums.ApplicationTag.CHARACTER_STRING:
resValue = value.value;
break;
case import__22.enums.ApplicationTag.DATE:
case import__22.enums.ApplicationTag.TIME:
case import__22.enums.ApplicationTag.TIMESTAMP:
resValue = value.value;
break;
case import__22.enums.ApplicationTag.BIT_STRING:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType][objId]) {
resValue = handleBitString22(
value.value.value,
value.value.bitsUsed,
ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType][objId]
);
} else if (PropertyIdentifierToEnumMap22[objId]) {
resValue = handleBitString22(
value.value.value,
value.value.bitsUsed,
PropertyIdentifierToEnumMap22[objId]
);
} else {
if (parentType !== import__22.enums.ObjectType.BITSTRING_VALUE) {
console.log(
"Unknown value for BIT_STRING type for objId " + import__22.enums.getEnumName(import__22.enums.PropertyIdentifier, objId) + " and parent type " + import__22.enums.getEnumName(import__22.enums.ObjectType, parentType)
);
}
resValue = value.value;
}
break;
case import__22.enums.ApplicationTag.ENUMERATED:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType][objId]) {
resValue = import__22.enums.getEnumName(
ObjectTypeSpecificPropertyIdentifierToEnumMap22[parentType][objId],
value.value
);
} else if (PropertyIdentifierToEnumMap22[objId]) {
resValue = import__22.enums.getEnumName(
PropertyIdentifierToEnumMap22[objId],
value.value
);
} else {
console.log(
"Unknown value for ENUMERATED type for objId " + import__22.enums.getEnumName(import__22.enums.PropertyIdentifier, objId) + " and parent type " + import__22.enums.getEnumName(import__22.enums.ObjectType, parentType)
);
resValue = value.value;
}
break;
case import__22.enums.ApplicationTag.OBJECTIDENTIFIER:
if (objId === import__22.enums.PropertyIdentifier.OBJECT_IDENTIFIER || objId === import__22.enums.PropertyIdentifier.STRUCTURED_OBJECT_LIST || objId === import__22.enums.PropertyIdentifier.SUBORDINATE_LIST) {
resValue = value.value;
} else if (supportsMultiple) {
const requestArray = [
{
objectId: value.value,
properties: [{ id: 8 }]
}
];
bacnetClient.readPropertyMultiple(
address,
requestArray,
(err, resValue2) => {
parseDeviceObject22(address, resValue2, value.value, true, callback);
}
);
return;
} else {
getAllPropertiesManually22(address, value.value, (result) => {
parseDeviceObject22(address, result, value.value, false, callback);
});
return;
}
break;
case import__22.enums.ApplicationTag.OCTET_STRING:
resValue = value.value;
break;
case import__22.enums.ApplicationTag.ERROR:
resValue = {
errorClass: import__22.enums.getEnumName(
import__22.enums.ErrorClass,
value.value.errorClass
),
errorCode: import__22.enums.getEnumName(import__22.enums.ErrorCode, value.value.errorCode)
};
break;
case import__22.enums.ApplicationTag.OBJECT_PROPERTY_REFERENCE:
case import__22.enums.ApplicationTag.DEVICE_OBJECT_PROPERTY_REFERENCE:
case import__22.enums.ApplicationTag.DEVICE_OBJECT_REFERENCE:
case import__22.enums.ApplicationTag.READ_ACCESS_SPECIFICATION:
resValue = value.value;
break;
case import__22.enums.ApplicationTag.CONTEXT_SPECIFIC_DECODED:
parseValue22(
address,
objId,
parentType,
value.value,
supportsMultiple,
callback
);
return;
case import__22.enums.ApplicationTag.READ_ACCESS_RESULT:
resValue = value.value;
break;
default:
console.log(
"unknown type " + value.type + ": " + JSON.stringify(value)
);
resValue = value;
}
}
setImmediate(() => callback(resValue));
}
function parseDeviceObject22(address, obj, parent, supportsMultiple, callback) {
if (debug422) {
console.log(
"START parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(obj)
);
}
if (!obj) {
console.log("object not valid on parse device object");
return;
}
if (!obj.values || !Array.isArray(obj.values)) {
console.log("No device or invalid response");
callback({ ERROR: "No device or invalid response" });
return;
}
let cbCount = 0;
let objDef = {};
const finalize = () => {
Object.keys(objDef).forEach((devId) => {
Object.keys(objDef[devId]).forEach((objId) => {
if (objDef[devId][objId].length === 1) {
objDef[devId][objId] = objDef[devId][objId][0];
}
});
});
if (obj.values.length === 1) {
objDef = objDef[obj.values[0].objectId.instance];
}
if (debug422) {
console.log(
"END parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(objDef)
);
}
callback(objDef);
};
obj.values.forEach((devBaseObj) => {
if (!devBaseObj.objectId) {
console.log("No device Id found in object data");
return;
}
if (devBaseObj.objectId.type === void 0 || devBaseObj.objectId.instance === void 0) {
console.log("No device type or instance found in object data");
return;
}
if (!devBaseObj.values || !Array.isArray(devBaseObj.values)) {
console.log("No device values response");
return;
}
const deviceId = devBaseObj.objectId.instance;
objDef[deviceId] = {};
devBaseObj.values.forEach((devObj) => {
let objId = import__22.enums.getEnumName(import__22.enums.PropertyIdentifier, devObj.id);
if (devObj.index !== 4294967295) {
objId += "-" + devObj.index;
}
if (debug422) {
console.log("Handle Object property:", deviceId, objId, devObj.value);
}
devObj.value.forEach((val) => {
if (JSON.stringify(val.value) === JSON.stringify(parent)) {
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(val.value);
return;
}
cbCount++;
parseValue22(
address,
devObj.id,
parent.type,
val,
supportsMultiple,
(parsedValue) => {
if (debug422) {
console.log(
"RETURN parsedValue",
deviceId,
objId,
devObj.value,
parsedValue
);
}
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(parsedValue);
if (!--cbCount) {
finalize();
}
}
);
});
});
});
if (cbCount === 0) {
finalize();
}
}
var limitToDevice22 = null;
if (import_process22.default.argv.length === 3) {
limitToDevice22 = parseInt(import_process22.default.argv[2]);
if (isNaN(limitToDevice22)) {
limitToDevice22 = null;
}
}
var node_bacnet_default22 = Client22;
}
});
var node_bacnet_exports2 = {};
__export2(node_bacnet_exports2, {
_: () => import_underscore2.default,
bacnetErrorToString: () => bacnetErrorToString2,
default: () => node_bacnet_default2,
enums: () => enum_exports2,
parseValue: () => parseValue2
});
module2.exports = __toCommonJS2(node_bacnet_exports2);
var enum_exports2 = {};
__export2(enum_exports2, {
ASN1_ARRAY_ALL: () => ASN1_ARRAY_ALL2,
ASN1_INSTANCE_BITS: () => ASN1_INSTANCE_BITS2,
ASN1_MAX_APPLICATION_TAG: () => ASN1_MAX_APPLICATION_TAG2,
ASN1_MAX_BITSTRING_BYTES: () => ASN1_MAX_BITSTRING_BYTES2,
ASN1_MAX_INSTANCE: () => ASN1_MAX_INSTANCE2,
ASN1_MAX_OBJECT: () => ASN1_MAX_OBJECT2,
ASN1_MAX_OBJECT_TYPE: () => ASN1_MAX_OBJECT_TYPE2,
ASN1_MAX_PRIORITY: () => ASN1_MAX_PRIORITY2,
ASN1_MAX_PROPERTY_ID: () => ASN1_MAX_PROPERTY_ID2,
ASN1_MIN_PRIORITY: () => ASN1_MIN_PRIORITY2,
ASN1_NO_PRIORITY: () => ASN1_NO_PRIORITY2,
AbortReason: () => AbortReason2,
AccessAuthenticationFactorDisable: () => AccessAuthenticationFactorDisable2,
AccessCredentialDisable: () => AccessCredentialDisable2,
AccessCredentialDisableReason: () => AccessCredentialDisableReason2,
AccessEvent: () => AccessEvent2,
AccessPassbackMode: () => AccessPassbackMode2,
AccessUserType: () => AccessUserType2,
AccessZoneOccupancyState: () => AccessZoneOccupancyState2,
Action: () => Action2,
ApplicationTag: () => ApplicationTag2,
ApplicationTagName: () => ApplicationTagName2,
AuthenticationFactorType: () => AuthenticationFactorType2,
AuthenticationStatus: () => AuthenticationStatus2,
AuthorizationExemption: () => AuthorizationExemption2,
AuthorizationMode: () => AuthorizationMode2,
BVLC_HEADER_LENGTH: () => BVLC_HEADER_LENGTH3,
BVLL_TYPE_BACNET_IP: () => BVLL_TYPE_BACNET_IP2,
BackupState: () => BackupState2,
BinaryLightingPV: () => BinaryLightingPV2,
BinaryPV: () => BinaryPV2,
BvlcResultFormat: () => BvlcResultFormat2,
BvlcResultPurpose: () => BvlcResultPurpose2,
CharacterStringEncoding: () => CharacterStringEncoding2,
ConfirmedServiceChoice: () => ConfirmedServiceChoice2,
CovType: () => CovType2,
DaysOfWeek: () => DaysOfWeek2,
DeviceStatus: () => DeviceStatus2,
DoorAlarmState: () => DoorAlarmState2,
DoorSecuredStatus: () => DoorSecuredStatus2,
DoorStatus: () => DoorStatus2,
DoorValue: () => DoorValue2,
EnableDisable: () => EnableDisable2,
EngineeringUnits: () => EngineeringUnits2,
ErrorClass: () => ErrorClass2,
ErrorClassName: () => ErrorClassName2,
ErrorCode: () => ErrorCode2,
ErrorCodeName: () => ErrorCodeName2,
EscalatorFault: () => EscalatorFault2,
EscalatorMode: () => EscalatorMode2,
EscalatorOperationDirection: () => EscalatorOperationDirection2,
EventState: () => EventState2,
EventTransitionBits: () => EventTransitionBits2,
EventType: () => EventType2,
FaultType: () => FaultType2,
FileAccessMethod: () => FileAccessMethod2,
IPMode: () => IPMode2,
LifeSafetyMode: () => LifeSafetyMode2,
LifeSafetyOperation: () => LifeSafetyOperation2,
LifeSafetyState: () => LifeSafetyState2,
LiftCarDirection: () => LiftCarDirection2,
LiftCarDoorCommand: () => LiftCarDoorCommand2,
LiftCarDriveStatus: () => LiftCarDriveStatus2,
LiftCarMode: () => LiftCarMode2,
LiftFault: () => LiftFault2,
LiftGroupMode: () => LiftGroupMode2,
LightingInProgress: () => LightingInProgress2,
LightingOperation: () => LightingOperation2,
LightingTransition: () => LightingTransition2,
LimitEnable: () => LimitEnable2,
LockStatus: () => LockStatus2,
LogStatus: () => LogStatus2,
LoggingType: () => LoggingType2,
Maintenance: () => Maintenance2,
MaxApduLengthAccepted: () => MaxApduLengthAccepted2,
MaxSegmentsAccepted: () => MaxSegmentsAccepted2,
NetworkLayerMessageType: () => NetworkLayerMessageType2,
NetworkNumberQuality: () => NetworkNumberQuality2,
NetworkPortCommand: () => NetworkPortCommand2,
NetworkType: () => NetworkType2,
NodeType: () => NodeType2,
NotifyType: () => NotifyType2,
NpduControlBit: () => NpduControlBit2,
NpduControlPriority: () => NpduControlPriority2,
ObjectType: () => ObjectType2,
ObjectTypesSupported: () => ObjectTypesSupported2,
PDU_TYPE_MASK: () => PDU_TYPE_MASK2,
PduConReqBit: () => PduConReqBit2,
PduSegAckBit: () => PduSegAckBit2,
PduType: () => PduType2,
Polarity: () => Polarity2,
ProgramError: () => ProgramError2,
ProgramRequest: () => ProgramRequest2,
ProgramState: () => ProgramState2,
PropertyIdentifier: () => PropertyIdentifier2,
PropertyStates: () => PropertyStates2,
ProtocolLevel: () => ProtocolLevel2,
ReadRangeType: () => ReadRangeType2,
ReinitializedState: () => ReinitializedState2,
RejectReason: () => RejectReason2,
Relationship: () => Relationship2,
Reliability: () => Reliability2,
RestartReason: () => RestartReason2,
ResultFlags: () => ResultFlags2,
SecurityLevel: () => SecurityLevel2,
SecurityPolicy: () => SecurityPolicy2,
Segmentation: () => Segmentation2,
ServicesSupported: () => ServicesSupported2,
ShedState: () => ShedState2,
SilencedState: () => SilencedState2,
StatusFlags: () => StatusFlags2,
TimeStamp: () => TimeStamp2,
TimerState: () => TimerState2,
TimerTransition: () => TimerTransition2,
UnconfirmedServiceChoice: () => UnconfirmedServiceChoice2,
VTClass: () => VTClass2,
WriteStatus: () => WriteStatus2,
getEnumName: () => getEnumName2
});
var import_debug4 = __toESM2(require("debug"));
var debug5 = (0, import_debug4.default)("bacnet=enum=debug");
var trace3 = (0, import_debug4.default)("bacnet=enum=trace");
function invertEnum2(enumToInvert) {
const invertedEnum = {};
Object.keys(enumToInvert).forEach((key) => {
invertedEnum[enumToInvert[key]] = key;
});
return invertedEnum;
}
function getEnumName2(group, value, addNumberValue = true, undefinedFallbackValue = void 0) {
if (!Number.isInteger(value)) {
throw new Error(
'getEnumName() can only be passed an integer value, was given "' + value + '"'
);
}
let foundEntry;
try {
const invertedGroup = invertEnum2(group);
foundEntry = invertedGroup[value];
if (foundEntry === void 0 && undefinedFallbackValue) {
foundEntry = undefinedFallbackValue;
}
if (foundEntry === void 0) {
foundEntry = value.toString();
} else if (addNumberValue) {
foundEntry += "(" + value + ")";
}
} catch (e) {
trace3(e.message);
foundEntry = null;
}
return foundEntry;
}
var PDU_TYPE_MASK2 = 240;
var ASN1_MAX_OBJECT2 = 1023;
var ASN1_INSTANCE_BITS2 = 22;
var ASN1_MAX_INSTANCE2 = 4194303;
var ASN1_MAX_BITSTRING_BYTES2 = 15;
var ASN1_ARRAY_ALL2 = 4294967295;
var ASN1_NO_PRIORITY2 = 0;
var ASN1_MIN_PRIORITY2 = 1;
var ASN1_MAX_PRIORITY2 = 16;
var ASN1_MAX_APPLICATION_TAG2 = 16;
var ASN1_MAX_OBJECT_TYPE2 = 1024;
var ASN1_MAX_PROPERTY_ID2 = 4194303;
var BVLL_TYPE_BACNET_IP2 = 129;
var BVLC_HEADER_LENGTH3 = 4;
var ConfirmedServiceChoice2 = /* @__PURE__ */ ((ConfirmedServiceChoice22) => {
ConfirmedServiceChoice22[ConfirmedServiceChoice22["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["VT_OPEN"] = 21] = "VT_OPEN";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["VT_CLOSE"] = 22] = "VT_CLOSE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["VT_DATA"] = 23] = "VT_DATA";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["READ_RANGE"] = 26] = "READ_RANGE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["LIFE_SAFETY_OPERATION"] = 27] = "LIFE_SAFETY_OPERATION";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["SUBSCRIBE_COV_PROPERTY"] = 28] = "SUBSCRIBE_COV_PROPERTY";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["GET_EVENT_INFORMATION"] = 29] = "GET_EVENT_INFORMATION";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 30] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ConfirmedServiceChoice22[ConfirmedServiceChoice22["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 31] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ConfirmedServiceChoice22;
})(ConfirmedServiceChoice2 || {});
var UnconfirmedServiceChoice2 = /* @__PURE__ */ ((UnconfirmedServiceChoice22) => {
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["I_AM"] = 0] = "I_AM";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["I_HAVE"] = 1] = "I_HAVE";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UNCONFIRMED_COV_NOTIFICATION"] = 2] = "UNCONFIRMED_COV_NOTIFICATION";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UNCONFIRMED_EVENT_NOTIFICATION"] = 3] = "UNCONFIRMED_EVENT_NOTIFICATION";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UNCONFIRMED_PRIVATE_TRANSFER"] = 4] = "UNCONFIRMED_PRIVATE_TRANSFER";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UNCONFIRMED_TEXT_MESSAGE"] = 5] = "UNCONFIRMED_TEXT_MESSAGE";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["TIME_SYNCHRONIZATION"] = 6] = "TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["WHO_HAS"] = 7] = "WHO_HAS";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["WHO_IS"] = 8] = "WHO_IS";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UTC_TIME_SYNCHRONIZATION"] = 9] = "UTC_TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["WRITE_GROUP"] = 10] = "WRITE_GROUP";
UnconfirmedServiceChoice22[UnconfirmedServiceChoice22["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 11] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return UnconfirmedServiceChoice22;
})(UnconfirmedServiceChoice2 || {});
var AbortReason2 = /* @__PURE__ */ ((AbortReason22) => {
AbortReason22[AbortReason22["OTHER"] = 0] = "OTHER";
AbortReason22[AbortReason22["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
AbortReason22[AbortReason22["INVALID_APDU_IN_THIS_STATE"] = 2] = "INVALID_APDU_IN_THIS_STATE";
AbortReason22[AbortReason22["PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 3] = "PREEMPTED_BY_HIGHER_PRIORITY_TASK";
AbortReason22[AbortReason22["SEGMENTATION_NOT_SUPPORTED"] = 4] = "SEGMENTATION_NOT_SUPPORTED";
AbortReason22[AbortReason22["SECURITY_ERROR"] = 5] = "SECURITY_ERROR";
AbortReason22[AbortReason22["INSUFFICIENT_SECURITY"] = 6] = "INSUFFICIENT_SECURITY";
AbortReason22[AbortReason22["WINDOW_SIZE_OUT_OF_RANGE"] = 7] = "WINDOW_SIZE_OUT_OF_RANGE";
AbortReason22[AbortReason22["APPLICATION_EXCEEDED_REPLY_TIME"] = 8] = "APPLICATION_EXCEEDED_REPLY_TIME";
AbortReason22[AbortReason22["OUT_OF_RESOURCES"] = 9] = "OUT_OF_RESOURCES";
AbortReason22[AbortReason22["TSM_TIMEOUT"] = 10] = "TSM_TIMEOUT";
AbortReason22[AbortReason22["APDU_TOO_LONG"] = 11] = "APDU_TOO_LONG";
return AbortReason22;
})(AbortReason2 || {});
var RejectReason2 = /* @__PURE__ */ ((RejectReason22) => {
RejectReason22[RejectReason22["OTHER"] = 0] = "OTHER";
RejectReason22[RejectReason22["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
RejectReason22[RejectReason22["INCONSISTENT_PARAMETERS"] = 2] = "INCONSISTENT_PARAMETERS";
RejectReason22[RejectReason22["INVALID_PARAMETER_DATA_TYPE"] = 3] = "INVALID_PARAMETER_DATA_TYPE";
RejectReason22[RejectReason22["INVALID_TAG"] = 4] = "INVALID_TAG";
RejectReason22[RejectReason22["MISSING_REQUIRED_PARAMETER"] = 5] = "MISSING_REQUIRED_PARAMETER";
RejectReason22[RejectReason22["PARAMETER_OUT_OF_RANGE"] = 6] = "PARAMETER_OUT_OF_RANGE";
RejectReason22[RejectReason22["TOO_MANY_ARGUMENTS"] = 7] = "TOO_MANY_ARGUMENTS";
RejectReason22[RejectReason22["UNDEFINED_ENUMERATION"] = 8] = "UNDEFINED_ENUMERATION";
RejectReason22[RejectReason22["UNRECOGNIZED_SERVICE"] = 9] = "UNRECOGNIZED_SERVICE";
return RejectReason22;
})(RejectReason2 || {});
var ErrorClass2 = /* @__PURE__ */ ((ErrorClass22) => {
ErrorClass22[ErrorClass22["DEVICE"] = 0] = "DEVICE";
ErrorClass22[ErrorClass22["OBJECT"] = 1] = "OBJECT";
ErrorClass22[ErrorClass22["PROPERTY"] = 2] = "PROPERTY";
ErrorClass22[ErrorClass22["RESOURCES"] = 3] = "RESOURCES";
ErrorClass22[ErrorClass22["SECURITY"] = 4] = "SECURITY";
ErrorClass22[ErrorClass22["SERVICES"] = 5] = "SERVICES";
ErrorClass22[ErrorClass22["VT"] = 6] = "VT";
ErrorClass22[ErrorClass22["COMMUNICATION"] = 7] = "COMMUNICATION";
return ErrorClass22;
})(ErrorClass2 || {});
var ErrorClassName2 = invertEnum2(
ErrorClass2
);
var ErrorCode2 = /* @__PURE__ */ ((ErrorCode22) => {
ErrorCode22[ErrorCode22["ABORT_APDU_TOO_LONG"] = 123] = "ABORT_APDU_TOO_LONG";
ErrorCode22[ErrorCode22["ABORT_APPLICATION_EXCEEDED_REPLY_TIME"] = 124] = "ABORT_APPLICATION_EXCEEDED_REPLY_TIME";
ErrorCode22[ErrorCode22["ABORT_BUFFER_OVERFLOW"] = 51] = "ABORT_BUFFER_OVERFLOW";
ErrorCode22[ErrorCode22["ABORT_INSUFFICIENT_SECURITY"] = 135] = "ABORT_INSUFFICIENT_SECURITY";
ErrorCode22[ErrorCode22["ABORT_INVALID_APDU_IN_THIS_STATE"] = 52] = "ABORT_INVALID_APDU_IN_THIS_STATE";
ErrorCode22[ErrorCode22["ABORT_OTHER"] = 56] = "ABORT_OTHER";
ErrorCode22[ErrorCode22["ABORT_OUT_OF_RESOURCES"] = 125] = "ABORT_OUT_OF_RESOURCES";
ErrorCode22[ErrorCode22["ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 53] = "ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK";
ErrorCode22[ErrorCode22["ABORT_PROPRIETARY"] = 55] = "ABORT_PROPRIETARY";
ErrorCode22[ErrorCode22["ABORT_SECURITY_ERROR"] = 136] = "ABORT_SECURITY_ERROR";
ErrorCode22[ErrorCode22["ABORT_SEGMENTATION_NOT_SUPPORTED"] = 54] = "ABORT_SEGMENTATION_NOT_SUPPORTED";
ErrorCode22[ErrorCode22["ABORT_TSM_TIMEOUT"] = 126] = "ABORT_TSM_TIMEOUT";
ErrorCode22[ErrorCode22["ABORT_WINDOW_SIZE_OUT_OF_RANGE"] = 127] = "ABORT_WINDOW_SIZE_OUT_OF_RANGE";
ErrorCode22[ErrorCode22["ACCESS_DENIED"] = 85] = "ACCESS_DENIED";
ErrorCode22[ErrorCode22["ADDRESSING_ERROR"] = 115] = "ADDRESSING_ERROR";
ErrorCode22[ErrorCode22["BAD_DESTINATION_ADDRESS"] = 86] = "BAD_DESTINATION_ADDRESS";
ErrorCode22[ErrorCode22["BAD_DESTINATION_DEVICE_ID"] = 87] = "BAD_DESTINATION_DEVICE_ID";
ErrorCode22[ErrorCode22["BAD_SIGNATURE"] = 88] = "BAD_SIGNATURE";
ErrorCode22[ErrorCode22["BAD_SOURCE_ADDRESS"] = 89] = "BAD_SOURCE_ADDRESS";
ErrorCode22[ErrorCode22["BAD_TIMESTAMP"] = 90] = "BAD_TIMESTAMP";
ErrorCode22[ErrorCode22["BUSY"] = 82] = "BUSY";
ErrorCode22[ErrorCode22["CANNOT_USE_KEY"] = 91] = "CANNOT_USE_KEY";
ErrorCode22[ErrorCode22["CANNOT_VERIFY_MESSAGE_ID"] = 92] = "CANNOT_VERIFY_MESSAGE_ID";
ErrorCode22[ErrorCode22["CHARACTER_SET_NOT_SUPPORTED"] = 41] = "CHARACTER_SET_NOT_SUPPORTED";
ErrorCode22[ErrorCode22["COMMUNICATION_DISABLED"] = 83] = "COMMUNICATION_DISABLED";
ErrorCode22[ErrorCode22["CONFIGURATION_IN_PROGRESS"] = 2] = "CONFIGURATION_IN_PROGRESS";
ErrorCode22[ErrorCode22["CORRECT_KEY_REVISION"] = 93] = "CORRECT_KEY_REVISION";
ErrorCode22[ErrorCode22["COV_SUBSCRIPTION_FAILED"] = 43] = "COV_SUBSCRIPTION_FAILED";
ErrorCode22[ErrorCode22["DATATYPE_NOT_SUPPORTED"] = 47] = "DATATYPE_NOT_SUPPORTED";
ErrorCode22[ErrorCode22["DELETE_FDT_ENTRY_FAILED"] = 120] = "DELETE_FDT_ENTRY_FAILED";
ErrorCode22[ErrorCode22["DESTINATION_DEVICE_ID_REQUIRED"] = 94] = "DESTINATION_DEVICE_ID_REQUIRED";
ErrorCode22[ErrorCode22["DEVICE_BUSY"] = 3] = "DEVICE_BUSY";
ErrorCode22[ErrorCode22["DISTRIBUTE_BROADCAST_FAILED"] = 121] = "DISTRIBUTE_BROADCAST_FAILED";
ErrorCode22[ErrorCode22["DUPLICATE_ENTRY"] = 137] = "DUPLICATE_ENTRY";
ErrorCode22[ErrorCode22["DUPLICATE_MESSAGE"] = 95] = "DUPLICATE_MESSAGE";
ErrorCode22[ErrorCode22["DUPLICATE_NAME"] = 48] = "DUPLICATE_NAME";
ErrorCode22[ErrorCode22["DUPLICATE_OBJECT_ID"] = 49] = "DUPLICATE_OBJECT_ID";
ErrorCode22[ErrorCode22["DYNAMIC_CREATION_NOT_SUPPORTED"] = 4] = "DYNAMIC_CREATION_NOT_SUPPORTED";
ErrorCode22[ErrorCode22["ENCRYPTION_NOT_CONFIGURED"] = 96] = "ENCRYPTION_NOT_CONFIGURED";
ErrorCode22[ErrorCode22["ENCRYPTION_REQUIRED"] = 97] = "ENCRYPTION_REQUIRED";
ErrorCode22[ErrorCode22["FILE_ACCESS_DENIED"] = 5] = "FILE_ACCESS_DENIED";
ErrorCode22[ErrorCode22["FILE_FULL"] = 128] = "FILE_FULL";
ErrorCode22[ErrorCode22["INCONSISTENT_CONFIGURATION"] = 129] = "INCONSISTENT_CONFIGURATION";
ErrorCode22[ErrorCode22["INCONSISTENT_OBJECT_TYPE"] = 130] = "INCONSISTENT_OBJECT_TYPE";
ErrorCode22[ErrorCode22["INCONSISTENT_PARAMETERS"] = 7] = "INCONSISTENT_PARAMETERS";
ErrorCode22[ErrorCode22["INCONSISTENT_SELECTION_CRITERION"] = 8] = "INCONSISTENT_SELECTION_CRITERION";
ErrorCode22[ErrorCode22["INCORRECT_KEY"] = 98] = "INCORRECT_KEY";
ErrorCode22[ErrorCode22["INTERNAL_ERROR"] = 131] = "INTERNAL_ERROR";
ErrorCode22[ErrorCode22["INVALID_ARRAY_INDEX"] = 42] = "INVALID_ARRAY_INDEX";
ErrorCode22[ErrorCode22["INVALID_CONFIGURATION_DATA"] = 46] = "INVALID_CONFIGURATION_DATA";
ErrorCode22[ErrorCode22["INVALID_DATA_TYPE"] = 9] = "INVALID_DATA_TYPE";
ErrorCode22[ErrorCode22["INVALID_EVENT_STATE"] = 73] = "INVALID_EVENT_STATE";
ErrorCode22[ErrorCode22["INVALID_FILE_ACCESS_METHOD"] = 10] = "INVALID_FILE_ACCESS_METHOD";
ErrorCode22[ErrorCode22["INVALID_FILE_START_POSITION"] = 11] = "INVALID_FILE_START_POSITION";
ErrorCode22[ErrorCode22["INVALID_KEY_DATA"] = 99] = "INVALID_KEY_DATA";
ErrorCode22[ErrorCode22["INVALID_PARAMETER_DATA_TYPE"] = 13] = "INVALID_PARAMETER_DATA_TYPE";
ErrorCode22[ErrorCode22["INVALID_TAG"] = 57] = "INVALID_TAG";
ErrorCode22[ErrorCode22["INVALID_TIMESTAMP"] = 14] = "INVALID_TIMESTAMP";
ErrorCode22[ErrorCode22["INVALID_VALUE_IN_THIS_STATE"] = 138] = "INVALID_VALUE_IN_THIS_STATE";
ErrorCode22[ErrorCode22["KEY_UPDATE_IN_PROGRESS"] = 100] = "KEY_UPDATE_IN_PROGRESS";
ErrorCode22[ErrorCode22["LIST_ELEMENT_NOT_FOUND"] = 81] = "LIST_ELEMENT_NOT_FOUND";
ErrorCode22[ErrorCode22["LOG_BUFFER_FULL"] = 75] = "LOG_BUFFER_FULL";
ErrorCode22[ErrorCode22["LOGGED_VALUE_PURGED"] = 76] = "LOGGED_VALUE_PURGED";
ErrorCode22[ErrorCode22["MALFORMED_MESSAGE"] = 101] = "MALFORMED_MESSAGE";
ErrorCode22[ErrorCode22["MESSAGE_TOO_LONG"] = 113] = "MESSAGE_TOO_LONG";
ErrorCode22[ErrorCode22["MISSING_REQUIRED_PARAMETER"] = 16] = "MISSING_REQUIRED_PARAMETER";
ErrorCode22[ErrorCode22["NETWORK_DOWN"] = 58] = "NETWORK_DOWN";
ErrorCode22[ErrorCode22["NO_ALARM_CONFIGURED"] = 74] = "NO_ALARM_CONFIGURED";
ErrorCode22[ErrorCode22["NO_OBJECTS_OF_SPECIFIED_TYPE"] = 17] = "NO_OBJECTS_OF_SPECIFIED_TYPE";
ErrorCode22[ErrorCode22["NO_PROPERTY_SPECIFIED"] = 77] = "NO_PROPERTY_SPECIFIED";
ErrorCode22[ErrorCode22["NO_SPACE_FOR_OBJECT"] = 18] = "NO_SPACE_FOR_OBJECT";
ErrorCode22[ErrorCode22["NO_SPACE_TO_ADD_LIST_ELEMENT"] = 19] = "NO_SPACE_TO_ADD_LIST_ELEMENT";
ErrorCode22[ErrorCode22["NO_SPACE_TO_WRITE_PROPERTY"] = 20] = "NO_SPACE_TO_WRITE_PROPERTY";
ErrorCode22[ErrorCode22["NO_VT_SESSIONS_AVAILABLE"] = 21] = "NO_VT_SESSIONS_AVAILABLE";
ErrorCode22[ErrorCode22["NOT_CONFIGURED"] = 132] = "NOT_CONFIGURED";
ErrorCode22[ErrorCode22["NOT_CONFIGURED_FOR_TRIGGERED_LOGGING"] = 78] = "NOT_CONFIGURED_FOR_TRIGGERED_LOGGING";
ErrorCode22[ErrorCode22["NOT_COV_PROPERTY"] = 44] = "NOT_COV_PROPERTY";
ErrorCode22[ErrorCode22["NOT_KEY_SERVER"] = 102] = "NOT_KEY_SERVER";
ErrorCode22[ErrorCode22["NOT_ROUTER_TO_DNET"] = 110] = "NOT_ROUTER_TO_DNET";
ErrorCode22[ErrorCode22["OBJECT_DELETION_NOT_PERMITTED"] = 23] = "OBJECT_DELETION_NOT_PERMITTED";
ErrorCode22[ErrorCode22["OBJECT_IDENTIFIER_ALREADY_EXISTS"] = 24] = "OBJECT_IDENTIFIER_ALREADY_EXISTS";
ErrorCode22[ErrorCode22["OPERATIONAL_PROBLEM"] = 25] = "OPERATIONAL_PROBLEM";
ErrorCode22[ErrorCode22["OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED"] = 45] = "OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED";
ErrorCode22[ErrorCode22["OTHER"] = 0] = "OTHER";
ErrorCode22[ErrorCode22["OUT_OF_MEMORY"] = 133] = "OUT_OF_MEMORY";
ErrorCode22[ErrorCode22["PARAMETER_OUT_OF_RANGE"] = 80] = "PARAMETER_OUT_OF_RANGE";
ErrorCode22[ErrorCode22["PASSWORD_FAILURE"] = 26] = "PASSWORD_FAILURE";
ErrorCode22[ErrorCode22["PROPERTY_IS_NOT_A_LIST"] = 22] = "PROPERTY_IS_NOT_A_LIST";
ErrorCode22[ErrorCode22["PROPERTY_IS_NOT_AN_ARRAY"] = 50] = "PROPERTY_IS_NOT_AN_ARRAY";
ErrorCode22[ErrorCode22["READ_ACCESS_DENIED"] = 27] = "READ_ACCESS_DENIED";
ErrorCode22[ErrorCode22["READ_BDT_FAILED"] = 117] = "READ_BDT_FAILED";
ErrorCode22[ErrorCode22["READ_FDT_FAILED"] = 119] = "READ_FDT_FAILED";
ErrorCode22[ErrorCode22["REGISTER_FOREIGN_DEVICE_FAILED"] = 118] = "REGISTER_FOREIGN_DEVICE_FAILED";
ErrorCode22[ErrorCode22["REJECT_BUFFER_OVERFLOW"] = 59] = "REJECT_BUFFER_OVERFLOW";
ErrorCode22[ErrorCode22["REJECT_INCONSISTENT_PARAMETERS"] = 60] = "REJECT_INCONSISTENT_PARAMETERS";
ErrorCode22[ErrorCode22["REJECT_INVALID_PARAMETER_DATA_TYPE"] = 61] = "REJECT_INVALID_PARAMETER_DATA_TYPE";
ErrorCode22[ErrorCode22["REJECT_INVALID_TAG"] = 62] = "REJECT_INVALID_TAG";
ErrorCode22[ErrorCode22["REJECT_MISSING_REQUIRED_PARAMETER"] = 63] = "REJECT_MISSING_REQUIRED_PARAMETER";
ErrorCode22[ErrorCode22["REJECT_OTHER"] = 69] = "REJECT_OTHER";
ErrorCode22[ErrorCode22["REJECT_PARAMETER_OUT_OF_RANGE"] = 64] = "REJECT_PARAMETER_OUT_OF_RANGE";
ErrorCode22[ErrorCode22["REJECT_PROPRIETARY"] = 68] = "REJECT_PROPRIETARY";
ErrorCode22[ErrorCode22["REJECT_TOO_MANY_ARGUMENTS"] = 65] = "REJECT_TOO_MANY_ARGUMENTS";
ErrorCode22[ErrorCode22["REJECT_UNDEFINED_ENUMERATION"] = 66] = "REJECT_UNDEFINED_ENUMERATION";
ErrorCode22[ErrorCode22["REJECT_UNRECOGNIZED_SERVICE"] = 67] = "REJECT_UNRECOGNIZED_SERVICE";
ErrorCode22[ErrorCode22["ROUTER_BUSY"] = 111] = "ROUTER_BUSY";
ErrorCode22[ErrorCode22["SECURITY_ERROR"] = 114] = "SECURITY_ERROR";
ErrorCode22[ErrorCode22["SECURITY_NOT_CONFIGURED"] = 103] = "SECURITY_NOT_CONFIGURED";
ErrorCode22[ErrorCode22["SERVICE_REQUEST_DENIED"] = 29] = "SERVICE_REQUEST_DENIED";
ErrorCode22[ErrorCode22["SOURCE_SECURITY_REQUIRED"] = 104] = "SOURCE_SECURITY_REQUIRED";
ErrorCode22[ErrorCode22["SUCCESS"] = 84] = "SUCCESS";
ErrorCode22[ErrorCode22["TIMEOUT"] = 30] = "TIMEOUT";
ErrorCode22[ErrorCode22["TOO_MANY_KEYS"] = 105] = "TOO_MANY_KEYS";
ErrorCode22[ErrorCode22["UNKNOWN_AUTHENTICATION_TYPE"] = 106] = "UNKNOWN_AUTHENTICATION_TYPE";
ErrorCode22[ErrorCode22["UNKNOWN_DEVICE"] = 70] = "UNKNOWN_DEVICE";
ErrorCode22[ErrorCode22["UNKNOWN_FILE_SIZE"] = 122] = "UNKNOWN_FILE_SIZE";
ErrorCode22[ErrorCode22["UNKNOWN_KEY"] = 107] = "UNKNOWN_KEY";
ErrorCode22[ErrorCode22["UNKNOWN_KEY_REVISION"] = 108] = "UNKNOWN_KEY_REVISION";
ErrorCode22[ErrorCode22["UNKNOWN_NETWORK_MESSAGE"] = 112] = "UNKNOWN_NETWORK_MESSAGE";
ErrorCode22[ErrorCode22["UNKNOWN_OBJECT"] = 31] = "UNKNOWN_OBJECT";
ErrorCode22[ErrorCode22["UNKNOWN_PROPERTY"] = 32] = "UNKNOWN_PROPERTY";
ErrorCode22[ErrorCode22["UNKNOWN_ROUTE"] = 71] = "UNKNOWN_ROUTE";
ErrorCode22[ErrorCode22["UNKNOWN_SOURCE_MESSAGE"] = 109] = "UNKNOWN_SOURCE_MESSAGE";
ErrorCode22[ErrorCode22["UNKNOWN_SUBSCRIPTION"] = 79] = "UNKNOWN_SUBSCRIPTION";
ErrorCode22[ErrorCode22["UNKNOWN_VT_CLASS"] = 34] = "UNKNOWN_VT_CLASS";
ErrorCode22[ErrorCode22["UNKNOWN_VT_SESSION"] = 35] = "UNKNOWN_VT_SESSION";
ErrorCode22[ErrorCode22["UNSUPPORTED_OBJECT_TYPE"] = 36] = "UNSUPPORTED_OBJECT_TYPE";
ErrorCode22[ErrorCode22["VALUE_NOT_INITIALIZED"] = 72] = "VALUE_NOT_INITIALIZED";
ErrorCode22[ErrorCode22["VALUE_OUT_OF_RANGE"] = 37] = "VALUE_OUT_OF_RANGE";
ErrorCode22[ErrorCode22["VALUE_TOO_LONG"] = 134] = "VALUE_TOO_LONG";
ErrorCode22[ErrorCode22["VT_SESSION_ALREADY_CLOSED"] = 38] = "VT_SESSION_ALREADY_CLOSED";
ErrorCode22[ErrorCode22["VT_SESSION_TERMINATION_FAILURE"] = 39] = "VT_SESSION_TERMINATION_FAILURE";
ErrorCode22[ErrorCode22["WRITE_ACCESS_DENIED"] = 40] = "WRITE_ACCESS_DENIED";
ErrorCode22[ErrorCode22["WRITE_BDT_FAILED"] = 116] = "WRITE_BDT_FAILED";
return ErrorCode22;
})(ErrorCode2 || {});
var ErrorCodeName2 = invertEnum2(
ErrorCode2
);
var AccessAuthenticationFactorDisable2 = /* @__PURE__ */ ((AccessAuthenticationFactorDisable22) => {
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["NONE"] = 0] = "NONE";
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["DISABLED"] = 1] = "DISABLED";
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["DISABLED_LOST"] = 2] = "DISABLED_LOST";
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["DISABLED_STOLEN"] = 3] = "DISABLED_STOLEN";
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["DISABLED_DAMAGED"] = 4] = "DISABLED_DAMAGED";
AccessAuthenticationFactorDisable22[AccessAuthenticationFactorDisable22["DISABLED_DESTROYED"] = 5] = "DISABLED_DESTROYED";
return AccessAuthenticationFactorDisable22;
})(AccessAuthenticationFactorDisable2 || {});
var AccessCredentialDisable2 = /* @__PURE__ */ ((AccessCredentialDisable22) => {
AccessCredentialDisable22[AccessCredentialDisable22["NONE"] = 0] = "NONE";
AccessCredentialDisable22[AccessCredentialDisable22["DISABLE"] = 1] = "DISABLE";
AccessCredentialDisable22[AccessCredentialDisable22["DISABLE_MANUAL"] = 2] = "DISABLE_MANUAL";
AccessCredentialDisable22[AccessCredentialDisable22["DISABLE_LOCKOUT"] = 3] = "DISABLE_LOCKOUT";
return AccessCredentialDisable22;
})(AccessCredentialDisable2 || {});
var AccessCredentialDisableReason2 = /* @__PURE__ */ ((AccessCredentialDisableReason22) => {
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED"] = 0] = "DISABLED";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_NEEDS_PROVISIONING"] = 1] = "DISABLED_NEEDS_PROVISIONING";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_UNASSIGNED"] = 2] = "DISABLED_UNASSIGNED";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_NOT_YET_ACTIVE"] = 3] = "DISABLED_NOT_YET_ACTIVE";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_EXPIRED"] = 4] = "DISABLED_EXPIRED";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_LOCKOUT"] = 5] = "DISABLED_LOCKOUT";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_MAX_DAYS"] = 6] = "DISABLED_MAX_DAYS";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_MAX_USES"] = 7] = "DISABLED_MAX_USES";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_INACTIVITY"] = 8] = "DISABLED_INACTIVITY";
AccessCredentialDisableReason22[AccessCredentialDisableReason22["DISABLED_MANUAL"] = 9] = "DISABLED_MANUAL";
return AccessCredentialDisableReason22;
})(AccessCredentialDisableReason2 || {});
var AccessEvent2 = /* @__PURE__ */ ((AccessEvent22) => {
AccessEvent22[AccessEvent22["NONE"] = 0] = "NONE";
AccessEvent22[AccessEvent22["GRANTED"] = 1] = "GRANTED";
AccessEvent22[AccessEvent22["MUSTER"] = 2] = "MUSTER";
AccessEvent22[AccessEvent22["PASSBACK_DETECTED"] = 3] = "PASSBACK_DETECTED";
AccessEvent22[AccessEvent22["DURESS"] = 4] = "DURESS";
AccessEvent22[AccessEvent22["TRACE"] = 5] = "TRACE";
AccessEvent22[AccessEvent22["LOCKOUT_MAX_ATTEMPTS"] = 6] = "LOCKOUT_MAX_ATTEMPTS";
AccessEvent22[AccessEvent22["LOCKOUT_OTHER"] = 7] = "LOCKOUT_OTHER";
AccessEvent22[AccessEvent22["LOCKOUT_RELINQUISHED"] = 8] = "LOCKOUT_RELINQUISHED";
AccessEvent22[AccessEvent22["LOCKED_BY_HIGHER_PRIORITY"] = 9] = "LOCKED_BY_HIGHER_PRIORITY";
AccessEvent22[AccessEvent22["OUT_OF_SERVICE"] = 10] = "OUT_OF_SERVICE";
AccessEvent22[AccessEvent22["OUT_OF_SERVICE_RELINQUISHED"] = 11] = "OUT_OF_SERVICE_RELINQUISHED";
AccessEvent22[AccessEvent22["ACCOMPANIMENT_BY"] = 12] = "ACCOMPANIMENT_BY";
AccessEvent22[AccessEvent22["AUTHENTICATION_FACTOR_READ"] = 13] = "AUTHENTICATION_FACTOR_READ";
AccessEvent22[AccessEvent22["AUTHORIZATION_DELAYED"] = 14] = "AUTHORIZATION_DELAYED";
AccessEvent22[AccessEvent22["VERIFICATION_REQUIRED"] = 15] = "VERIFICATION_REQUIRED";
AccessEvent22[AccessEvent22["NO_ENTRY_AFTER_GRANTED"] = 16] = "NO_ENTRY_AFTER_GRANTED";
AccessEvent22[AccessEvent22["DENIED_DENY_ALL"] = 128] = "DENIED_DENY_ALL";
AccessEvent22[AccessEvent22["DENIED_UNKNOWN_CREDENTIAL"] = 129] = "DENIED_UNKNOWN_CREDENTIAL";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_UNAVAILABLE"] = 130] = "DENIED_AUTHENTICATION_UNAVAILABLE";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_TIMEOUT"] = 131] = "DENIED_AUTHENTICATION_FACTOR_TIMEOUT";
AccessEvent22[AccessEvent22["DENIED_INCORRECT_AUTHENTICATION_FACTOR"] = 132] = "DENIED_INCORRECT_AUTHENTICATION_FACTOR";
AccessEvent22[AccessEvent22["DENIED_ZONE_NO_ACCESS_RIGHTS"] = 133] = "DENIED_ZONE_NO_ACCESS_RIGHTS";
AccessEvent22[AccessEvent22["DENIED_POINT_NO_ACCESS_RIGHTS"] = 134] = "DENIED_POINT_NO_ACCESS_RIGHTS";
AccessEvent22[AccessEvent22["DENIED_NO_ACCESS_RIGHTS"] = 135] = "DENIED_NO_ACCESS_RIGHTS";
AccessEvent22[AccessEvent22["DENIED_OUT_OF_TIME_RANGE"] = 136] = "DENIED_OUT_OF_TIME_RANGE";
AccessEvent22[AccessEvent22["DENIED_THREAT_LEVEL"] = 137] = "DENIED_THREAT_LEVEL";
AccessEvent22[AccessEvent22["DENIED_PASSBACK"] = 138] = "DENIED_PASSBACK";
AccessEvent22[AccessEvent22["DENIED_UNEXPECTED_LOCATION_USAGE"] = 139] = "DENIED_UNEXPECTED_LOCATION_USAGE";
AccessEvent22[AccessEvent22["DENIED_MAX_ATTEMPTS"] = 140] = "DENIED_MAX_ATTEMPTS";
AccessEvent22[AccessEvent22["DENIED_LOWER_OCCUPANCY_LIMIT"] = 141] = "DENIED_LOWER_OCCUPANCY_LIMIT";
AccessEvent22[AccessEvent22["DENIED_UPPER_OCCUPANCY_LIMIT"] = 142] = "DENIED_UPPER_OCCUPANCY_LIMIT";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_LOST"] = 143] = "DENIED_AUTHENTICATION_FACTOR_LOST";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_STOLEN"] = 144] = "DENIED_AUTHENTICATION_FACTOR_STOLEN";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_DAMAGED"] = 145] = "DENIED_AUTHENTICATION_FACTOR_DAMAGED";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_DESTROYED"] = 146] = "DENIED_AUTHENTICATION_FACTOR_DESTROYED";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_DISABLED"] = 147] = "DENIED_AUTHENTICATION_FACTOR_DISABLED";
AccessEvent22[AccessEvent22["DENIED_AUTHENTICATION_FACTOR_ERROR"] = 148] = "DENIED_AUTHENTICATION_FACTOR_ERROR";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_UNASSIGNED"] = 149] = "DENIED_CREDENTIAL_UNASSIGNED";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_NOT_PROVISIONED"] = 150] = "DENIED_CREDENTIAL_NOT_PROVISIONED";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_NOT_YET_ACTIVE"] = 151] = "DENIED_CREDENTIAL_NOT_YET_ACTIVE";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_EXPIRED"] = 152] = "DENIED_CREDENTIAL_EXPIRED";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_MANUAL_DISABLE"] = 153] = "DENIED_CREDENTIAL_MANUAL_DISABLE";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_LOCKOUT"] = 154] = "DENIED_CREDENTIAL_LOCKOUT";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_MAX_DAYS"] = 155] = "DENIED_CREDENTIAL_MAX_DAYS";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_MAX_USES"] = 156] = "DENIED_CREDENTIAL_MAX_USES";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_INACTIVITY"] = 157] = "DENIED_CREDENTIAL_INACTIVITY";
AccessEvent22[AccessEvent22["DENIED_CREDENTIAL_DISABLED"] = 158] = "DENIED_CREDENTIAL_DISABLED";
AccessEvent22[AccessEvent22["DENIED_NO_ACCOMPANIMENT"] = 159] = "DENIED_NO_ACCOMPANIMENT";
AccessEvent22[AccessEvent22["DENIED_INCORRECT_ACCOMPANIMENT"] = 160] = "DENIED_INCORRECT_ACCOMPANIMENT";
AccessEvent22[AccessEvent22["DENIED_LOCKOUT"] = 161] = "DENIED_LOCKOUT";
AccessEvent22[AccessEvent22["DENIED_VERIFICATION_FAILED"] = 162] = "DENIED_VERIFICATION_FAILED";
AccessEvent22[AccessEvent22["DENIED_VERIFICATION_TIMEOUT"] = 163] = "DENIED_VERIFICATION_TIMEOUT";
AccessEvent22[AccessEvent22["DENIED_OTHER"] = 164] = "DENIED_OTHER";
return AccessEvent22;
})(AccessEvent2 || {});
var AccessPassbackMode2 = /* @__PURE__ */ ((AccessPassbackMode22) => {
AccessPassbackMode22[AccessPassbackMode22["PASSBACK_OFF"] = 0] = "PASSBACK_OFF";
AccessPassbackMode22[AccessPassbackMode22["HARD_PASSBACK"] = 1] = "HARD_PASSBACK";
AccessPassbackMode22[AccessPassbackMode22["SOFT_PASSBACK"] = 2] = "SOFT_PASSBACK";
return AccessPassbackMode22;
})(AccessPassbackMode2 || {});
var AccessUserType2 = /* @__PURE__ */ ((AccessUserType22) => {
AccessUserType22[AccessUserType22["ASSET"] = 0] = "ASSET";
AccessUserType22[AccessUserType22["GROUP"] = 1] = "GROUP";
AccessUserType22[AccessUserType22["PERSON"] = 2] = "PERSON";
return AccessUserType22;
})(AccessUserType2 || {});
var AccessZoneOccupancyState2 = /* @__PURE__ */ ((AccessZoneOccupancyState22) => {
AccessZoneOccupancyState22[AccessZoneOccupancyState22["NORMAL"] = 0] = "NORMAL";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["BELOW_LOWER_LIMIT"] = 1] = "BELOW_LOWER_LIMIT";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["AT_LOWER_LIMIT"] = 2] = "AT_LOWER_LIMIT";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["AT_UPPER_LIMIT"] = 3] = "AT_UPPER_LIMIT";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["ABOVE_UPPER_LIMIT"] = 4] = "ABOVE_UPPER_LIMIT";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["DISABLED"] = 5] = "DISABLED";
AccessZoneOccupancyState22[AccessZoneOccupancyState22["NOT_SUPPORTED"] = 6] = "NOT_SUPPORTED";
return AccessZoneOccupancyState22;
})(AccessZoneOccupancyState2 || {});
var Action2 = /* @__PURE__ */ ((Action22) => {
Action22[Action22["DIRECT"] = 0] = "DIRECT";
Action22[Action22["REVERSE"] = 1] = "REVERSE";
return Action22;
})(Action2 || {});
var AuthenticationFactorType2 = /* @__PURE__ */ ((AuthenticationFactorType22) => {
AuthenticationFactorType22[AuthenticationFactorType22["UNDEFINED"] = 0] = "UNDEFINED";
AuthenticationFactorType22[AuthenticationFactorType22["ERROR"] = 1] = "ERROR";
AuthenticationFactorType22[AuthenticationFactorType22["CUSTOM"] = 2] = "CUSTOM";
AuthenticationFactorType22[AuthenticationFactorType22["SIMPLE_NUMBER16"] = 3] = "SIMPLE_NUMBER16";
AuthenticationFactorType22[AuthenticationFactorType22["SIMPLE_NUMBER32"] = 4] = "SIMPLE_NUMBER32";
AuthenticationFactorType22[AuthenticationFactorType22["SIMPLE_NUMBER56"] = 5] = "SIMPLE_NUMBER56";
AuthenticationFactorType22[AuthenticationFactorType22["SIMPLE_ALPHA_NUMERIC"] = 6] = "SIMPLE_ALPHA_NUMERIC";
AuthenticationFactorType22[AuthenticationFactorType22["ABA_TRACK2"] = 7] = "ABA_TRACK2";
AuthenticationFactorType22[AuthenticationFactorType22["WIEGAND26"] = 8] = "WIEGAND26";
AuthenticationFactorType22[AuthenticationFactorType22["WIEGAND37"] = 9] = "WIEGAND37";
AuthenticationFactorType22[AuthenticationFactorType22["WIEGAND37_FACILITY"] = 10] = "WIEGAND37_FACILITY";
AuthenticationFactorType22[AuthenticationFactorType22["FACILITY16_CARD32"] = 11] = "FACILITY16_CARD32";
AuthenticationFactorType22[AuthenticationFactorType22["FACILITY32_CARD32"] = 12] = "FACILITY32_CARD32";
AuthenticationFactorType22[AuthenticationFactorType22["FASC_N"] = 13] = "FASC_N";
AuthenticationFactorType22[AuthenticationFactorType22["FASC_N_BCD"] = 14] = "FASC_N_BCD";
AuthenticationFactorType22[AuthenticationFactorType22["FASC_N_LARGE"] = 15] = "FASC_N_LARGE";
AuthenticationFactorType22[AuthenticationFactorType22["FASC_N_LARGE_BCD"] = 16] = "FASC_N_LARGE_BCD";
AuthenticationFactorType22[AuthenticationFactorType22["GSA75"] = 17] = "GSA75";
AuthenticationFactorType22[AuthenticationFactorType22["CHUID"] = 18] = "CHUID";
AuthenticationFactorType22[AuthenticationFactorType22["CHUID_FULL"] = 19] = "CHUID_FULL";
AuthenticationFactorType22[AuthenticationFactorType22["GUID"] = 20] = "GUID";
AuthenticationFactorType22[AuthenticationFactorType22["CBEFF_A"] = 21] = "CBEFF_A";
AuthenticationFactorType22[AuthenticationFactorType22["CBEFF_B"] = 22] = "CBEFF_B";
AuthenticationFactorType22[AuthenticationFactorType22["CBEFF_C"] = 23] = "CBEFF_C";
AuthenticationFactorType22[AuthenticationFactorType22["USER_PASSWORD"] = 24] = "USER_PASSWORD";
return AuthenticationFactorType22;
})(AuthenticationFactorType2 || {});
var AuthenticationStatus2 = /* @__PURE__ */ ((AuthenticationStatus22) => {
AuthenticationStatus22[AuthenticationStatus22["NOT_READY"] = 0] = "NOT_READY";
AuthenticationStatus22[AuthenticationStatus22["READY"] = 1] = "READY";
AuthenticationStatus22[AuthenticationStatus22["DISABLED"] = 2] = "DISABLED";
AuthenticationStatus22[AuthenticationStatus22["WAITING_FOR_AUTHENTICATION_FACTOR"] = 3] = "WAITING_FOR_AUTHENTICATION_FACTOR";
AuthenticationStatus22[AuthenticationStatus22["WAITING_FOR_ACCOMPANIMENT"] = 4] = "WAITING_FOR_ACCOMPANIMENT";
AuthenticationStatus22[AuthenticationStatus22["WAITING_FOR_VERIFICATION"] = 5] = "WAITING_FOR_VERIFICATION";
AuthenticationStatus22[AuthenticationStatus22["IN_PROGRESS"] = 6] = "IN_PROGRESS";
return AuthenticationStatus22;
})(AuthenticationStatus2 || {});
var AuthorizationExemption2 = /* @__PURE__ */ ((AuthorizationExemption22) => {
AuthorizationExemption22[AuthorizationExemption22["PASSBACK"] = 0] = "PASSBACK";
AuthorizationExemption22[AuthorizationExemption22["OCCUPANCY_CHECK"] = 1] = "OCCUPANCY_CHECK";
AuthorizationExemption22[AuthorizationExemption22["ACCESS_RIGHTS"] = 2] = "ACCESS_RIGHTS";
AuthorizationExemption22[AuthorizationExemption22["LOCKOUT"] = 3] = "LOCKOUT";
AuthorizationExemption22[AuthorizationExemption22["DENY"] = 4] = "DENY";
AuthorizationExemption22[AuthorizationExemption22["VERIFICATION"] = 5] = "VERIFICATION";
AuthorizationExemption22[AuthorizationExemption22["AUTHORIZATION_DELAY"] = 6] = "AUTHORIZATION_DELAY";
return AuthorizationExemption22;
})(AuthorizationExemption2 || {});
var AuthorizationMode2 = /* @__PURE__ */ ((AuthorizationMode22) => {
AuthorizationMode22[AuthorizationMode22["AUTHORIZE"] = 0] = "AUTHORIZE";
AuthorizationMode22[AuthorizationMode22["GRANT_ACTIVE"] = 1] = "GRANT_ACTIVE";
AuthorizationMode22[AuthorizationMode22["DENY_ALL"] = 2] = "DENY_ALL";
AuthorizationMode22[AuthorizationMode22["VERIFICATION_REQUIRED"] = 3] = "VERIFICATION_REQUIRED";
AuthorizationMode22[AuthorizationMode22["AUTHORIZATION_DELAYED"] = 4] = "AUTHORIZATION_DELAYED";
AuthorizationMode22[AuthorizationMode22["NONE"] = 5] = "NONE";
return AuthorizationMode22;
})(AuthorizationMode2 || {});
var BackupState2 = /* @__PURE__ */ ((BackupState22) => {
BackupState22[BackupState22["IDLE"] = 0] = "IDLE";
BackupState22[BackupState22["PREPARING_FOR_BACKUP"] = 1] = "PREPARING_FOR_BACKUP";
BackupState22[BackupState22["PREPARING_FOR_RESTORE"] = 2] = "PREPARING_FOR_RESTORE";
BackupState22[BackupState22["PERFORMING_A_BACKUP"] = 3] = "PERFORMING_A_BACKUP";
BackupState22[BackupState22["PERFORMING_A_RESTORE"] = 4] = "PERFORMING_A_RESTORE";
BackupState22[BackupState22["BACKUP_FAILURE"] = 5] = "BACKUP_FAILURE";
BackupState22[BackupState22["RESTORE_FAILURE"] = 6] = "RESTORE_FAILURE";
return BackupState22;
})(BackupState2 || {});
var BinaryLightingPV2 = /* @__PURE__ */ ((BinaryLightingPV22) => {
BinaryLightingPV22[BinaryLightingPV22["OFF"] = 0] = "OFF";
BinaryLightingPV22[BinaryLightingPV22["ON"] = 1] = "ON";
BinaryLightingPV22[BinaryLightingPV22["WARN"] = 2] = "WARN";
BinaryLightingPV22[BinaryLightingPV22["WARN_OFF"] = 3] = "WARN_OFF";
BinaryLightingPV22[BinaryLightingPV22["WARN_RELINQUISH"] = 4] = "WARN_RELINQUISH";
BinaryLightingPV22[BinaryLightingPV22["STOP"] = 5] = "STOP";
return BinaryLightingPV22;
})(BinaryLightingPV2 || {});
var BinaryPV2 = /* @__PURE__ */ ((BinaryPV22) => {
BinaryPV22[BinaryPV22["INACTIVE"] = 0] = "INACTIVE";
BinaryPV22[BinaryPV22["ACTIVE"] = 1] = "ACTIVE";
return BinaryPV22;
})(BinaryPV2 || {});
var DeviceStatus2 = /* @__PURE__ */ ((DeviceStatus22) => {
DeviceStatus22[DeviceStatus22["OPERATIONAL"] = 0] = "OPERATIONAL";
DeviceStatus22[DeviceStatus22["OPERATIONAL_READ_ONLY"] = 1] = "OPERATIONAL_READ_ONLY";
DeviceStatus22[DeviceStatus22["DOWNLOAD_REQUIRED"] = 2] = "DOWNLOAD_REQUIRED";
DeviceStatus22[DeviceStatus22["DOWNLOAD_IN_PROGRESS"] = 3] = "DOWNLOAD_IN_PROGRESS";
DeviceStatus22[DeviceStatus22["NON_OPERATIONAL"] = 4] = "NON_OPERATIONAL";
DeviceStatus22[DeviceStatus22["BACKUP_IN_PROGRESS"] = 5] = "BACKUP_IN_PROGRESS";
return DeviceStatus22;
})(DeviceStatus2 || {});
var DoorAlarmState2 = /* @__PURE__ */ ((DoorAlarmState22) => {
DoorAlarmState22[DoorAlarmState22["NORMAL"] = 0] = "NORMAL";
DoorAlarmState22[DoorAlarmState22["ALARM"] = 1] = "ALARM";
DoorAlarmState22[DoorAlarmState22["DOOR_OPEN_TOO_LONG"] = 2] = "DOOR_OPEN_TOO_LONG";
DoorAlarmState22[DoorAlarmState22["FORCED_OPEN"] = 3] = "FORCED_OPEN";
DoorAlarmState22[DoorAlarmState22["TAMPER"] = 4] = "TAMPER";
DoorAlarmState22[DoorAlarmState22["DOOR_FAULT"] = 5] = "DOOR_FAULT";
DoorAlarmState22[DoorAlarmState22["LOCK_DOWN"] = 6] = "LOCK_DOWN";
DoorAlarmState22[DoorAlarmState22["FREE_ACCESS"] = 7] = "FREE_ACCESS";
DoorAlarmState22[DoorAlarmState22["EGRESS_OPEN"] = 8] = "EGRESS_OPEN";
return DoorAlarmState22;
})(DoorAlarmState2 || {});
var DoorSecuredStatus2 = /* @__PURE__ */ ((DoorSecuredStatus22) => {
DoorSecuredStatus22[DoorSecuredStatus22["SECURED"] = 0] = "SECURED";
DoorSecuredStatus22[DoorSecuredStatus22["UNSECURED"] = 1] = "UNSECURED";
DoorSecuredStatus22[DoorSecuredStatus22["UNKNOWN"] = 2] = "UNKNOWN";
return DoorSecuredStatus22;
})(DoorSecuredStatus2 || {});
var DoorStatus2 = /* @__PURE__ */ ((DoorStatus22) => {
DoorStatus22[DoorStatus22["CLOSED"] = 0] = "CLOSED";
DoorStatus22[DoorStatus22["OPENED"] = 1] = "OPENED";
DoorStatus22[DoorStatus22["UNKNOWN"] = 2] = "UNKNOWN";
DoorStatus22[DoorStatus22["DOOR_FAULT"] = 3] = "DOOR_FAULT";
DoorStatus22[DoorStatus22["UNUSED"] = 4] = "UNUSED";
DoorStatus22[DoorStatus22["NONE"] = 5] = "NONE";
DoorStatus22[DoorStatus22["CLOSING"] = 6] = "CLOSING";
DoorStatus22[DoorStatus22["OPENING"] = 7] = "OPENING";
DoorStatus22[DoorStatus22["SAFETY_LOCKED"] = 8] = "SAFETY_LOCKED";
DoorStatus22[DoorStatus22["LIMITED_OPENED"] = 9] = "LIMITED_OPENED";
return DoorStatus22;
})(DoorStatus2 || {});
var DoorValue2 = /* @__PURE__ */ ((DoorValue22) => {
DoorValue22[DoorValue22["LOCK"] = 0] = "LOCK";
DoorValue22[DoorValue22["UNLOCK"] = 1] = "UNLOCK";
DoorValue22[DoorValue22["PULSE_UNLOCK"] = 2] = "PULSE_UNLOCK";
DoorValue22[DoorValue22["EXTENDED_PULSE_UNLOCK"] = 3] = "EXTENDED_PULSE_UNLOCK";
return DoorValue22;
})(DoorValue2 || {});
var EngineeringUnits2 = /* @__PURE__ */ ((EngineeringUnits22) => {
EngineeringUnits22[EngineeringUnits22["METERS_PER_SECOND_PER_SECOND"] = 166] = "METERS_PER_SECOND_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["SQUARE_METERS"] = 0] = "SQUARE_METERS";
EngineeringUnits22[EngineeringUnits22["SQUARE_CENTIMETERS"] = 116] = "SQUARE_CENTIMETERS";
EngineeringUnits22[EngineeringUnits22["SQUARE_FEET"] = 1] = "SQUARE_FEET";
EngineeringUnits22[EngineeringUnits22["SQUARE_INCHES"] = 115] = "SQUARE_INCHES";
EngineeringUnits22[EngineeringUnits22["CURRENCY1"] = 105] = "CURRENCY1";
EngineeringUnits22[EngineeringUnits22["CURRENCY2"] = 106] = "CURRENCY2";
EngineeringUnits22[EngineeringUnits22["CURRENCY3"] = 107] = "CURRENCY3";
EngineeringUnits22[EngineeringUnits22["CURRENCY4"] = 108] = "CURRENCY4";
EngineeringUnits22[EngineeringUnits22["CURRENCY5"] = 109] = "CURRENCY5";
EngineeringUnits22[EngineeringUnits22["CURRENCY6"] = 110] = "CURRENCY6";
EngineeringUnits22[EngineeringUnits22["CURRENCY7"] = 111] = "CURRENCY7";
EngineeringUnits22[EngineeringUnits22["CURRENCY8"] = 112] = "CURRENCY8";
EngineeringUnits22[EngineeringUnits22["CURRENCY9"] = 113] = "CURRENCY9";
EngineeringUnits22[EngineeringUnits22["CURRENCY10"] = 114] = "CURRENCY10";
EngineeringUnits22[EngineeringUnits22["MILLIAMPERES"] = 2] = "MILLIAMPERES";
EngineeringUnits22[EngineeringUnits22["AMPERES"] = 3] = "AMPERES";
EngineeringUnits22[EngineeringUnits22["AMPERES_PER_METER"] = 167] = "AMPERES_PER_METER";
EngineeringUnits22[EngineeringUnits22["AMPERES_PER_SQUARE_METER"] = 168] = "AMPERES_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["AMPERE_SQUARE_METERS"] = 169] = "AMPERE_SQUARE_METERS";
EngineeringUnits22[EngineeringUnits22["DECIBELS"] = 199] = "DECIBELS";
EngineeringUnits22[EngineeringUnits22["DECIBELS_MILLIVOLT"] = 200] = "DECIBELS_MILLIVOLT";
EngineeringUnits22[EngineeringUnits22["DECIBELS_VOLT"] = 201] = "DECIBELS_VOLT";
EngineeringUnits22[EngineeringUnits22["FARADS"] = 170] = "FARADS";
EngineeringUnits22[EngineeringUnits22["HENRYS"] = 171] = "HENRYS";
EngineeringUnits22[EngineeringUnits22["OHMS"] = 4] = "OHMS";
EngineeringUnits22[EngineeringUnits22["OHM_METER_SQUARED_PER_METER"] = 237] = "OHM_METER_SQUARED_PER_METER";
EngineeringUnits22[EngineeringUnits22["OHM_METERS"] = 172] = "OHM_METERS";
EngineeringUnits22[EngineeringUnits22["MILLIOHMS"] = 145] = "MILLIOHMS";
EngineeringUnits22[EngineeringUnits22["KILOHMS"] = 122] = "KILOHMS";
EngineeringUnits22[EngineeringUnits22["MEGOHMS"] = 123] = "MEGOHMS";
EngineeringUnits22[EngineeringUnits22["MICROSIEMENS"] = 190] = "MICROSIEMENS";
EngineeringUnits22[EngineeringUnits22["MILLISIEMENS"] = 202] = "MILLISIEMENS";
EngineeringUnits22[EngineeringUnits22["SIEMENS"] = 173] = "SIEMENS";
EngineeringUnits22[EngineeringUnits22["SIEMENS_PER_METER"] = 174] = "SIEMENS_PER_METER";
EngineeringUnits22[EngineeringUnits22["TESLAS"] = 175] = "TESLAS";
EngineeringUnits22[EngineeringUnits22["VOLTS"] = 5] = "VOLTS";
EngineeringUnits22[EngineeringUnits22["MILLIVOLTS"] = 124] = "MILLIVOLTS";
EngineeringUnits22[EngineeringUnits22["KILOVOLTS"] = 6] = "KILOVOLTS";
EngineeringUnits22[EngineeringUnits22["MEGAVOLTS"] = 7] = "MEGAVOLTS";
EngineeringUnits22[EngineeringUnits22["VOLT_AMPERES"] = 8] = "VOLT_AMPERES";
EngineeringUnits22[EngineeringUnits22["KILOVOLT_AMPERES"] = 9] = "KILOVOLT_AMPERES";
EngineeringUnits22[EngineeringUnits22["MEGAVOLT_AMPERES"] = 10] = "MEGAVOLT_AMPERES";
EngineeringUnits22[EngineeringUnits22["VOLT_AMPERES_REACTIVE"] = 11] = "VOLT_AMPERES_REACTIVE";
EngineeringUnits22[EngineeringUnits22["KILOVOLT_AMPERES_REACTIVE"] = 12] = "KILOVOLT_AMPERES_REACTIVE";
EngineeringUnits22[EngineeringUnits22["MEGAVOLT_AMPERES_REACTIVE"] = 13] = "MEGAVOLT_AMPERES_REACTIVE";
EngineeringUnits22[EngineeringUnits22["VOLTS_PER_DEGREE_KELVIN"] = 176] = "VOLTS_PER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["VOLTS_PER_METER"] = 177] = "VOLTS_PER_METER";
EngineeringUnits22[EngineeringUnits22["DEGREES_PHASE"] = 14] = "DEGREES_PHASE";
EngineeringUnits22[EngineeringUnits22["POWER_FACTOR"] = 15] = "POWER_FACTOR";
EngineeringUnits22[EngineeringUnits22["WEBERS"] = 178] = "WEBERS";
EngineeringUnits22[EngineeringUnits22["AMPERE_SECONDS"] = 238] = "AMPERE_SECONDS";
EngineeringUnits22[EngineeringUnits22["VOLT_AMPERE_HOURS"] = 239] = "VOLT_AMPERE_HOURS";
EngineeringUnits22[EngineeringUnits22["KILOVOLT_AMPERE_HOURS"] = 240] = "KILOVOLT_AMPERE_HOURS";
EngineeringUnits22[EngineeringUnits22["MEGAVOLT_AMPERE_HOURS"] = 241] = "MEGAVOLT_AMPERE_HOURS";
EngineeringUnits22[EngineeringUnits22["VOLT_AMPERE_HOURS_REACTIVE"] = 242] = "VOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["KILOVOLT_AMPERE_HOURS_REACTIVE"] = 243] = "KILOVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["MEGAVOLT_AMPERE_HOURS_REACTIVE"] = 244] = "MEGAVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["VOLT_SQUARE_HOURS"] = 245] = "VOLT_SQUARE_HOURS";
EngineeringUnits22[EngineeringUnits22["AMPERE_SQUARE_HOURS"] = 246] = "AMPERE_SQUARE_HOURS";
EngineeringUnits22[EngineeringUnits22["JOULES"] = 16] = "JOULES";
EngineeringUnits22[EngineeringUnits22["KILOJOULES"] = 17] = "KILOJOULES";
EngineeringUnits22[EngineeringUnits22["KILOJOULES_PER_KILOGRAM"] = 125] = "KILOJOULES_PER_KILOGRAM";
EngineeringUnits22[EngineeringUnits22["MEGAJOULES"] = 126] = "MEGAJOULES";
EngineeringUnits22[EngineeringUnits22["WATT_HOURS"] = 18] = "WATT_HOURS";
EngineeringUnits22[EngineeringUnits22["KILOWATT_HOURS"] = 19] = "KILOWATT_HOURS";
EngineeringUnits22[EngineeringUnits22["MEGAWATT_HOURS"] = 146] = "MEGAWATT_HOURS";
EngineeringUnits22[EngineeringUnits22["WATT_HOURS_REACTIVE"] = 203] = "WATT_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["KILOWATT_HOURS_REACTIVE"] = 204] = "KILOWATT_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["MEGAWATT_HOURS_REACTIVE"] = 205] = "MEGAWATT_HOURS_REACTIVE";
EngineeringUnits22[EngineeringUnits22["BTUS"] = 20] = "BTUS";
EngineeringUnits22[EngineeringUnits22["KILO_BTUS"] = 147] = "KILO_BTUS";
EngineeringUnits22[EngineeringUnits22["MEGA_BTUS"] = 148] = "MEGA_BTUS";
EngineeringUnits22[EngineeringUnits22["THERMS"] = 21] = "THERMS";
EngineeringUnits22[EngineeringUnits22["TON_HOURS"] = 22] = "TON_HOURS";
EngineeringUnits22[EngineeringUnits22["JOULES_PER_KILOGRAM_DRY_AIR"] = 23] = "JOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits22[EngineeringUnits22["KILOJOULES_PER_KILOGRAM_DRY_AIR"] = 149] = "KILOJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits22[EngineeringUnits22["MEGAJOULES_PER_KILOGRAM_DRY_AIR"] = 150] = "MEGAJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits22[EngineeringUnits22["BTUS_PER_POUND_DRY_AIR"] = 24] = "BTUS_PER_POUND_DRY_AIR";
EngineeringUnits22[EngineeringUnits22["BTUS_PER_POUND"] = 117] = "BTUS_PER_POUND";
EngineeringUnits22[EngineeringUnits22["JOULES_PER_DEGREE_KELVIN"] = 127] = "JOULES_PER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["KILOJOULES_PER_DEGREE_KELVIN"] = 151] = "KILOJOULES_PER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["MEGAJOULES_PER_DEGREE_KELVIN"] = 152] = "MEGAJOULES_PER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["JOULES_PER_KILOGRAM_DEGREE_KELVIN"] = 128] = "JOULES_PER_KILOGRAM_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["NEWTON"] = 153] = "NEWTON";
EngineeringUnits22[EngineeringUnits22["CYCLES_PER_HOUR"] = 25] = "CYCLES_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["CYCLES_PER_MINUTE"] = 26] = "CYCLES_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["HERTZ"] = 27] = "HERTZ";
EngineeringUnits22[EngineeringUnits22["KILOHERTZ"] = 129] = "KILOHERTZ";
EngineeringUnits22[EngineeringUnits22["MEGAHERTZ"] = 130] = "MEGAHERTZ";
EngineeringUnits22[EngineeringUnits22["PER_HOUR"] = 131] = "PER_HOUR";
EngineeringUnits22[EngineeringUnits22["GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR"] = 28] = "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR";
EngineeringUnits22[EngineeringUnits22["PERCENT_RELATIVE_HUMIDITY"] = 29] = "PERCENT_RELATIVE_HUMIDITY";
EngineeringUnits22[EngineeringUnits22["MICROMETERS"] = 194] = "MICROMETERS";
EngineeringUnits22[EngineeringUnits22["MILLIMETERS"] = 30] = "MILLIMETERS";
EngineeringUnits22[EngineeringUnits22["CENTIMETERS"] = 118] = "CENTIMETERS";
EngineeringUnits22[EngineeringUnits22["KILOMETERS"] = 193] = "KILOMETERS";
EngineeringUnits22[EngineeringUnits22["METERS"] = 31] = "METERS";
EngineeringUnits22[EngineeringUnits22["INCHES"] = 32] = "INCHES";
EngineeringUnits22[EngineeringUnits22["FEET"] = 33] = "FEET";
EngineeringUnits22[EngineeringUnits22["CANDELAS"] = 179] = "CANDELAS";
EngineeringUnits22[EngineeringUnits22["CANDELAS_PER_SQUARE_METER"] = 180] = "CANDELAS_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["WATTS_PER_SQUARE_FOOT"] = 34] = "WATTS_PER_SQUARE_FOOT";
EngineeringUnits22[EngineeringUnits22["WATTS_PER_SQUARE_METER"] = 35] = "WATTS_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["LUMENS"] = 36] = "LUMENS";
EngineeringUnits22[EngineeringUnits22["LUXES"] = 37] = "LUXES";
EngineeringUnits22[EngineeringUnits22["FOOT_CANDLES"] = 38] = "FOOT_CANDLES";
EngineeringUnits22[EngineeringUnits22["MILLIGRAMS"] = 196] = "MILLIGRAMS";
EngineeringUnits22[EngineeringUnits22["GRAMS"] = 195] = "GRAMS";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS"] = 39] = "KILOGRAMS";
EngineeringUnits22[EngineeringUnits22["POUNDS_MASS"] = 40] = "POUNDS_MASS";
EngineeringUnits22[EngineeringUnits22["TONS"] = 41] = "TONS";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_SECOND"] = 154] = "GRAMS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_MINUTE"] = 155] = "GRAMS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS_PER_SECOND"] = 42] = "KILOGRAMS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS_PER_MINUTE"] = 43] = "KILOGRAMS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS_PER_HOUR"] = 44] = "KILOGRAMS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["POUNDS_MASS_PER_SECOND"] = 119] = "POUNDS_MASS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["POUNDS_MASS_PER_MINUTE"] = 45] = "POUNDS_MASS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["POUNDS_MASS_PER_HOUR"] = 46] = "POUNDS_MASS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["TONS_PER_HOUR"] = 156] = "TONS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["MILLIWATTS"] = 132] = "MILLIWATTS";
EngineeringUnits22[EngineeringUnits22["WATTS"] = 47] = "WATTS";
EngineeringUnits22[EngineeringUnits22["KILOWATTS"] = 48] = "KILOWATTS";
EngineeringUnits22[EngineeringUnits22["MEGAWATTS"] = 49] = "MEGAWATTS";
EngineeringUnits22[EngineeringUnits22["BTUS_PER_HOUR"] = 50] = "BTUS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["KILO_BTUS_PER_HOUR"] = 157] = "KILO_BTUS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["JOULE_PER_HOURS"] = 247] = "JOULE_PER_HOURS";
EngineeringUnits22[EngineeringUnits22["HORSEPOWER"] = 51] = "HORSEPOWER";
EngineeringUnits22[EngineeringUnits22["TONS_REFRIGERATION"] = 52] = "TONS_REFRIGERATION";
EngineeringUnits22[EngineeringUnits22["PASCALS"] = 53] = "PASCALS";
EngineeringUnits22[EngineeringUnits22["HECTOPASCALS"] = 133] = "HECTOPASCALS";
EngineeringUnits22[EngineeringUnits22["KILOPASCALS"] = 54] = "KILOPASCALS";
EngineeringUnits22[EngineeringUnits22["MILLIBARS"] = 134] = "MILLIBARS";
EngineeringUnits22[EngineeringUnits22["BARS"] = 55] = "BARS";
EngineeringUnits22[EngineeringUnits22["POUNDS_FORCE_PER_SQUARE_INCH"] = 56] = "POUNDS_FORCE_PER_SQUARE_INCH";
EngineeringUnits22[EngineeringUnits22["MILLIMETERS_OF_WATER"] = 206] = "MILLIMETERS_OF_WATER";
EngineeringUnits22[EngineeringUnits22["CENTIMETERS_OF_WATER"] = 57] = "CENTIMETERS_OF_WATER";
EngineeringUnits22[EngineeringUnits22["INCHES_OF_WATER"] = 58] = "INCHES_OF_WATER";
EngineeringUnits22[EngineeringUnits22["MILLIMETERS_OF_MERCURY"] = 59] = "MILLIMETERS_OF_MERCURY";
EngineeringUnits22[EngineeringUnits22["CENTIMETERS_OF_MERCURY"] = 60] = "CENTIMETERS_OF_MERCURY";
EngineeringUnits22[EngineeringUnits22["INCHES_OF_MERCURY"] = 61] = "INCHES_OF_MERCURY";
EngineeringUnits22[EngineeringUnits22["DEGREES_CELSIUS"] = 62] = "DEGREES_CELSIUS";
EngineeringUnits22[EngineeringUnits22["DEGREES_KELVIN"] = 63] = "DEGREES_KELVIN";
EngineeringUnits22[EngineeringUnits22["DEGREES_KELVIN_PER_HOUR"] = 181] = "DEGREES_KELVIN_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["DEGREES_KELVIN_PER_MINUTE"] = 182] = "DEGREES_KELVIN_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["DEGREES_FAHRENHEIT"] = 64] = "DEGREES_FAHRENHEIT";
EngineeringUnits22[EngineeringUnits22["DEGREE_DAYS_CELSIUS"] = 65] = "DEGREE_DAYS_CELSIUS";
EngineeringUnits22[EngineeringUnits22["DEGREE_DAYS_FAHRENHEIT"] = 66] = "DEGREE_DAYS_FAHRENHEIT";
EngineeringUnits22[EngineeringUnits22["DELTA_DEGREES_FAHRENHEIT"] = 120] = "DELTA_DEGREES_FAHRENHEIT";
EngineeringUnits22[EngineeringUnits22["DELTA_DEGREES_KELVIN"] = 121] = "DELTA_DEGREES_KELVIN";
EngineeringUnits22[EngineeringUnits22["YEARS"] = 67] = "YEARS";
EngineeringUnits22[EngineeringUnits22["MONTHS"] = 68] = "MONTHS";
EngineeringUnits22[EngineeringUnits22["WEEKS"] = 69] = "WEEKS";
EngineeringUnits22[EngineeringUnits22["DAYS"] = 70] = "DAYS";
EngineeringUnits22[EngineeringUnits22["HOURS"] = 71] = "HOURS";
EngineeringUnits22[EngineeringUnits22["MINUTES"] = 72] = "MINUTES";
EngineeringUnits22[EngineeringUnits22["SECONDS"] = 73] = "SECONDS";
EngineeringUnits22[EngineeringUnits22["HUNDREDTHS_SECONDS"] = 158] = "HUNDREDTHS_SECONDS";
EngineeringUnits22[EngineeringUnits22["MILLISECONDS"] = 159] = "MILLISECONDS";
EngineeringUnits22[EngineeringUnits22["NEWTON_METERS"] = 160] = "NEWTON_METERS";
EngineeringUnits22[EngineeringUnits22["MILLIMETERS_PER_SECOND"] = 161] = "MILLIMETERS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["MILLIMETERS_PER_MINUTE"] = 162] = "MILLIMETERS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["METERS_PER_SECOND"] = 74] = "METERS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["METERS_PER_MINUTE"] = 163] = "METERS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["METERS_PER_HOUR"] = 164] = "METERS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["KILOMETERS_PER_HOUR"] = 75] = "KILOMETERS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["FEET_PER_SECOND"] = 76] = "FEET_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["FEET_PER_MINUTE"] = 77] = "FEET_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["MILES_PER_HOUR"] = 78] = "MILES_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["CUBIC_FEET"] = 79] = "CUBIC_FEET";
EngineeringUnits22[EngineeringUnits22["CUBIC_METERS"] = 80] = "CUBIC_METERS";
EngineeringUnits22[EngineeringUnits22["IMPERIAL_GALLONS"] = 81] = "IMPERIAL_GALLONS";
EngineeringUnits22[EngineeringUnits22["MILLILITERS"] = 197] = "MILLILITERS";
EngineeringUnits22[EngineeringUnits22["LITERS"] = 82] = "LITERS";
EngineeringUnits22[EngineeringUnits22["US_GALLONS"] = 83] = "US_GALLONS";
EngineeringUnits22[EngineeringUnits22["CUBIC_FEET_PER_SECOND"] = 142] = "CUBIC_FEET_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["CUBIC_FEET_PER_MINUTE"] = 84] = "CUBIC_FEET_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["MILLION_STANDARD_CUBIC_FEET_PER_MINUTE"] = 254] = "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["CUBIC_FEET_PER_HOUR"] = 191] = "CUBIC_FEET_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["CUBIC_FEET_PER_DAY"] = 248] = "CUBIC_FEET_PER_DAY";
EngineeringUnits22[EngineeringUnits22["STANDARD_CUBIC_FEET_PER_DAY"] = 47808] = "STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits22[EngineeringUnits22["MILLION_STANDARD_CUBIC_FEET_PER_DAY"] = 47809] = "MILLION_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits22[EngineeringUnits22["THOUSAND_CUBIC_FEET_PER_DAY"] = 47810] = "THOUSAND_CUBIC_FEET_PER_DAY";
EngineeringUnits22[EngineeringUnits22["THOUSAND_STANDARD_CUBIC_FEET_PER_DAY"] = 47811] = "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits22[EngineeringUnits22["POUNDS_MASS_PER_DAY"] = 47812] = "POUNDS_MASS_PER_DAY";
EngineeringUnits22[EngineeringUnits22["CUBIC_METERS_PER_SECOND"] = 85] = "CUBIC_METERS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["CUBIC_METERS_PER_MINUTE"] = 165] = "CUBIC_METERS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["CUBIC_METERS_PER_HOUR"] = 135] = "CUBIC_METERS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["CUBIC_METERS_PER_DAY"] = 249] = "CUBIC_METERS_PER_DAY";
EngineeringUnits22[EngineeringUnits22["IMPERIAL_GALLONS_PER_MINUTE"] = 86] = "IMPERIAL_GALLONS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["MILLILITERS_PER_SECOND"] = 198] = "MILLILITERS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["LITERS_PER_SECOND"] = 87] = "LITERS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["LITERS_PER_MINUTE"] = 88] = "LITERS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["LITERS_PER_HOUR"] = 136] = "LITERS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["US_GALLONS_PER_MINUTE"] = 89] = "US_GALLONS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["US_GALLONS_PER_HOUR"] = 192] = "US_GALLONS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["DEGREES_ANGULAR"] = 90] = "DEGREES_ANGULAR";
EngineeringUnits22[EngineeringUnits22["DEGREES_CELSIUS_PER_HOUR"] = 91] = "DEGREES_CELSIUS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["DEGREES_CELSIUS_PER_MINUTE"] = 92] = "DEGREES_CELSIUS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["DEGREES_FAHRENHEIT_PER_HOUR"] = 93] = "DEGREES_FAHRENHEIT_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["DEGREES_FAHRENHEIT_PER_MINUTE"] = 94] = "DEGREES_FAHRENHEIT_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["JOULE_SECONDS"] = 183] = "JOULE_SECONDS";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS_PER_CUBIC_METER"] = 186] = "KILOGRAMS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["KILOWATT_HOURS_PER_SQUARE_METER"] = 137] = "KILOWATT_HOURS_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["KILOWATT_HOURS_PER_SQUARE_FOOT"] = 138] = "KILOWATT_HOURS_PER_SQUARE_FOOT";
EngineeringUnits22[EngineeringUnits22["WATT_HOURS_PER_CUBIC_METER"] = 250] = "WATT_HOURS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["JOULES_PER_CUBIC_METER"] = 251] = "JOULES_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["MEGAJOULES_PER_SQUARE_METER"] = 139] = "MEGAJOULES_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["MEGAJOULES_PER_SQUARE_FOOT"] = 140] = "MEGAJOULES_PER_SQUARE_FOOT";
EngineeringUnits22[EngineeringUnits22["MOLE_PERCENT"] = 252] = "MOLE_PERCENT";
EngineeringUnits22[EngineeringUnits22["NO_UNITS"] = 95] = "NO_UNITS";
EngineeringUnits22[EngineeringUnits22["NEWTON_SECONDS"] = 187] = "NEWTON_SECONDS";
EngineeringUnits22[EngineeringUnits22["NEWTONS_PER_METER"] = 188] = "NEWTONS_PER_METER";
EngineeringUnits22[EngineeringUnits22["PARTS_PER_MILLION"] = 96] = "PARTS_PER_MILLION";
EngineeringUnits22[EngineeringUnits22["PARTS_PER_BILLION"] = 97] = "PARTS_PER_BILLION";
EngineeringUnits22[EngineeringUnits22["PASCAL_SECONDS"] = 253] = "PASCAL_SECONDS";
EngineeringUnits22[EngineeringUnits22["PERCENT"] = 98] = "PERCENT";
EngineeringUnits22[EngineeringUnits22["PERCENT_OBSCURATION_PER_FOOT"] = 143] = "PERCENT_OBSCURATION_PER_FOOT";
EngineeringUnits22[EngineeringUnits22["PERCENT_OBSCURATION_PER_METER"] = 144] = "PERCENT_OBSCURATION_PER_METER";
EngineeringUnits22[EngineeringUnits22["PERCENT_PER_SECOND"] = 99] = "PERCENT_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["PER_MINUTE"] = 100] = "PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["PER_SECOND"] = 101] = "PER_SECOND";
EngineeringUnits22[EngineeringUnits22["PSI_PER_DEGREE_FAHRENHEIT"] = 102] = "PSI_PER_DEGREE_FAHRENHEIT";
EngineeringUnits22[EngineeringUnits22["RADIANS"] = 103] = "RADIANS";
EngineeringUnits22[EngineeringUnits22["RADIANS_PER_SECOND"] = 184] = "RADIANS_PER_SECOND";
EngineeringUnits22[EngineeringUnits22["REVOLUTIONS_PER_MINUTE"] = 104] = "REVOLUTIONS_PER_MINUTE";
EngineeringUnits22[EngineeringUnits22["SQUARE_METERS_PER_NEWTON"] = 185] = "SQUARE_METERS_PER_NEWTON";
EngineeringUnits22[EngineeringUnits22["WATTS_PER_METER_PER_DEGREE_KELVIN"] = 189] = "WATTS_PER_METER_PER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["WATTS_PER_SQUARE_METER_DEGREE_KELVIN"] = 141] = "WATTS_PER_SQUARE_METER_DEGREE_KELVIN";
EngineeringUnits22[EngineeringUnits22["PER_MILLE"] = 207] = "PER_MILLE";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_GRAM"] = 208] = "GRAMS_PER_GRAM";
EngineeringUnits22[EngineeringUnits22["KILOGRAMS_PER_KILOGRAM"] = 209] = "KILOGRAMS_PER_KILOGRAM";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_KILOGRAM"] = 210] = "GRAMS_PER_KILOGRAM";
EngineeringUnits22[EngineeringUnits22["MILLIGRAMS_PER_GRAM"] = 211] = "MILLIGRAMS_PER_GRAM";
EngineeringUnits22[EngineeringUnits22["MILLIGRAMS_PER_KILOGRAM"] = 212] = "MILLIGRAMS_PER_KILOGRAM";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_MILLILITER"] = 213] = "GRAMS_PER_MILLILITER";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_LITER"] = 214] = "GRAMS_PER_LITER";
EngineeringUnits22[EngineeringUnits22["MILLIGRAMS_PER_LITER"] = 215] = "MILLIGRAMS_PER_LITER";
EngineeringUnits22[EngineeringUnits22["MICROGRAMS_PER_LITER"] = 216] = "MICROGRAMS_PER_LITER";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_CUBIC_METER"] = 217] = "GRAMS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["MILLIGRAMS_PER_CUBIC_METER"] = 218] = "MILLIGRAMS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["MICROGRAMS_PER_CUBIC_METER"] = 219] = "MICROGRAMS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["NANOGRAMS_PER_CUBIC_METER"] = 220] = "NANOGRAMS_PER_CUBIC_METER";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_CUBIC_CENTIMETER"] = 221] = "GRAMS_PER_CUBIC_CENTIMETER";
EngineeringUnits22[EngineeringUnits22["BECQUERELS"] = 222] = "BECQUERELS";
EngineeringUnits22[EngineeringUnits22["KILOBECQUERELS"] = 223] = "KILOBECQUERELS";
EngineeringUnits22[EngineeringUnits22["MEGABECQUERELS"] = 224] = "MEGABECQUERELS";
EngineeringUnits22[EngineeringUnits22["GRAY"] = 225] = "GRAY";
EngineeringUnits22[EngineeringUnits22["MILLIGRAY"] = 226] = "MILLIGRAY";
EngineeringUnits22[EngineeringUnits22["MICROGRAY"] = 227] = "MICROGRAY";
EngineeringUnits22[EngineeringUnits22["SIEVERTS"] = 228] = "SIEVERTS";
EngineeringUnits22[EngineeringUnits22["MILLISIEVERTS"] = 229] = "MILLISIEVERTS";
EngineeringUnits22[EngineeringUnits22["MICROSIEVERTS"] = 230] = "MICROSIEVERTS";
EngineeringUnits22[EngineeringUnits22["MICROSIEVERTS_PER_HOUR"] = 231] = "MICROSIEVERTS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["MILLIREMS"] = 47814] = "MILLIREMS";
EngineeringUnits22[EngineeringUnits22["MILLIREMS_PER_HOUR"] = 47815] = "MILLIREMS_PER_HOUR";
EngineeringUnits22[EngineeringUnits22["DECIBELS_A"] = 232] = "DECIBELS_A";
EngineeringUnits22[EngineeringUnits22["NEPHELOMETRIC_TURBIDITY_UNIT"] = 233] = "NEPHELOMETRIC_TURBIDITY_UNIT";
EngineeringUnits22[EngineeringUnits22["PH"] = 234] = "PH";
EngineeringUnits22[EngineeringUnits22["GRAMS_PER_SQUARE_METER"] = 235] = "GRAMS_PER_SQUARE_METER";
EngineeringUnits22[EngineeringUnits22["MINUTES_PER_DEGREE_KELVIN"] = 236] = "MINUTES_PER_DEGREE_KELVIN";
return EngineeringUnits22;
})(EngineeringUnits2 || {});
var EscalatorFault2 = /* @__PURE__ */ ((EscalatorFault22) => {
EscalatorFault22[EscalatorFault22["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
EscalatorFault22[EscalatorFault22["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
EscalatorFault22[EscalatorFault22["MECHANICAL_COMPONENT_FAULT"] = 2] = "MECHANICAL_COMPONENT_FAULT";
EscalatorFault22[EscalatorFault22["OVERSPEED_FAULT"] = 3] = "OVERSPEED_FAULT";
EscalatorFault22[EscalatorFault22["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
EscalatorFault22[EscalatorFault22["SAFETY_DEVICE_FAULT"] = 5] = "SAFETY_DEVICE_FAULT";
EscalatorFault22[EscalatorFault22["CONTROLLER_SUPPLY_FAULT"] = 6] = "CONTROLLER_SUPPLY_FAULT";
EscalatorFault22[EscalatorFault22["DRIVE_TEMPERATURE_EXCEEDED"] = 7] = "DRIVE_TEMPERATURE_EXCEEDED";
EscalatorFault22[EscalatorFault22["COMB_PLATE_FAULT"] = 8] = "COMB_PLATE_FAULT";
return EscalatorFault22;
})(EscalatorFault2 || {});
var EscalatorMode2 = /* @__PURE__ */ ((EscalatorMode22) => {
EscalatorMode22[EscalatorMode22["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorMode22[EscalatorMode22["STOP"] = 1] = "STOP";
EscalatorMode22[EscalatorMode22["UP"] = 2] = "UP";
EscalatorMode22[EscalatorMode22["DOWN"] = 3] = "DOWN";
EscalatorMode22[EscalatorMode22["INSPECTION"] = 4] = "INSPECTION";
EscalatorMode22[EscalatorMode22["OUT_OF_SERVICE"] = 5] = "OUT_OF_SERVICE";
return EscalatorMode22;
})(EscalatorMode2 || {});
var EscalatorOperationDirection2 = /* @__PURE__ */ ((EscalatorOperationDirection22) => {
EscalatorOperationDirection22[EscalatorOperationDirection22["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorOperationDirection22[EscalatorOperationDirection22["STOPPED"] = 1] = "STOPPED";
EscalatorOperationDirection22[EscalatorOperationDirection22["UP_RATED_SPEED"] = 2] = "UP_RATED_SPEED";
EscalatorOperationDirection22[EscalatorOperationDirection22["UP_REDUCED_SPEED"] = 3] = "UP_REDUCED_SPEED";
EscalatorOperationDirection22[EscalatorOperationDirection22["DOWN_RATED_SPEED"] = 4] = "DOWN_RATED_SPEED";
EscalatorOperationDirection22[EscalatorOperationDirection22["DOWN_REDUCED_SPEED"] = 5] = "DOWN_REDUCED_SPEED";
return EscalatorOperationDirection22;
})(EscalatorOperationDirection2 || {});
var EventState2 = /* @__PURE__ */ ((EventState22) => {
EventState22[EventState22["NORMAL"] = 0] = "NORMAL";
EventState22[EventState22["FAULT"] = 1] = "FAULT";
EventState22[EventState22["OFFNORMAL"] = 2] = "OFFNORMAL";
EventState22[EventState22["HIGH_LIMIT"] = 3] = "HIGH_LIMIT";
EventState22[EventState22["LOW_LIMIT"] = 4] = "LOW_LIMIT";
EventState22[EventState22["LIFE_SAFETY_ALARM"] = 5] = "LIFE_SAFETY_ALARM";
return EventState22;
})(EventState2 || {});
var EventType2 = /* @__PURE__ */ ((EventType22) => {
EventType22[EventType22["CHANGE_OF_BITSTRING"] = 0] = "CHANGE_OF_BITSTRING";
EventType22[EventType22["CHANGE_OF_STATE"] = 1] = "CHANGE_OF_STATE";
EventType22[EventType22["CHANGE_OF_VALUE"] = 2] = "CHANGE_OF_VALUE";
EventType22[EventType22["COMMAND_FAILURE"] = 3] = "COMMAND_FAILURE";
EventType22[EventType22["FLOATING_LIMIT"] = 4] = "FLOATING_LIMIT";
EventType22[EventType22["OUT_OF_RANGE"] = 5] = "OUT_OF_RANGE";
EventType22[EventType22["COMPLEX_EVENT_TYPE"] = 6] = "COMPLEX_EVENT_TYPE";
EventType22[EventType22["CHANGE_OF_LIFE_SAFETY"] = 8] = "CHANGE_OF_LIFE_SAFETY";
EventType22[EventType22["EXTENDED"] = 9] = "EXTENDED";
EventType22[EventType22["BUFFER_READY"] = 10] = "BUFFER_READY";
EventType22[EventType22["UNSIGNED_RANGE"] = 11] = "UNSIGNED_RANGE";
EventType22[EventType22["ACCESS_EVENT"] = 13] = "ACCESS_EVENT";
EventType22[EventType22["DOUBLE_OUT_OF_RANGE"] = 14] = "DOUBLE_OUT_OF_RANGE";
EventType22[EventType22["SIGNED_OUT_OF_RANGE"] = 15] = "SIGNED_OUT_OF_RANGE";
EventType22[EventType22["UNSIGNED_OUT_OF_RANGE"] = 16] = "UNSIGNED_OUT_OF_RANGE";
EventType22[EventType22["CHANGE_OF_CHARACTERSTRING"] = 17] = "CHANGE_OF_CHARACTERSTRING";
EventType22[EventType22["CHANGE_OF_STATUS_FLAGS"] = 18] = "CHANGE_OF_STATUS_FLAGS";
EventType22[EventType22["CHANGE_OF_RELIABILITY"] = 19] = "CHANGE_OF_RELIABILITY";
EventType22[EventType22["NONE"] = 20] = "NONE";
EventType22[EventType22["CHANGE_OF_DISCRETE_VALUE"] = 21] = "CHANGE_OF_DISCRETE_VALUE";
EventType22[EventType22["CHANGE_OF_TIMER"] = 22] = "CHANGE_OF_TIMER";
return EventType22;
})(EventType2 || {});
var FaultType2 = /* @__PURE__ */ ((FaultType22) => {
FaultType22[FaultType22["NONE"] = 0] = "NONE";
FaultType22[FaultType22["FAULT_CHARACTERSTRING"] = 1] = "FAULT_CHARACTERSTRING";
FaultType22[FaultType22["FAULT_EXTENDED"] = 2] = "FAULT_EXTENDED";
FaultType22[FaultType22["FAULT_LIFE_SAFETY"] = 3] = "FAULT_LIFE_SAFETY";
FaultType22[FaultType22["FAULT_STATE"] = 4] = "FAULT_STATE";
FaultType22[FaultType22["FAULT_STATUS_FLAGS"] = 5] = "FAULT_STATUS_FLAGS";
FaultType22[FaultType22["FAULT_OUT_OF_RANGE"] = 6] = "FAULT_OUT_OF_RANGE";
FaultType22[FaultType22["FAULT_LISTED"] = 7] = "FAULT_LISTED";
return FaultType22;
})(FaultType2 || {});
var FileAccessMethod2 = /* @__PURE__ */ ((FileAccessMethod22) => {
FileAccessMethod22[FileAccessMethod22["RECORD_ACCESS"] = 0] = "RECORD_ACCESS";
FileAccessMethod22[FileAccessMethod22["STREAM_ACCESS"] = 1] = "STREAM_ACCESS";
return FileAccessMethod22;
})(FileAccessMethod2 || {});
var IPMode2 = /* @__PURE__ */ ((IPMode22) => {
IPMode22[IPMode22["NORMAL"] = 0] = "NORMAL";
IPMode22[IPMode22["FOREIGN"] = 1] = "FOREIGN";
IPMode22[IPMode22["BBMD"] = 2] = "BBMD";
return IPMode22;
})(IPMode2 || {});
var LifeSafetyMode2 = /* @__PURE__ */ ((LifeSafetyMode22) => {
LifeSafetyMode22[LifeSafetyMode22["OFF"] = 0] = "OFF";
LifeSafetyMode22[LifeSafetyMode22["ON"] = 1] = "ON";
LifeSafetyMode22[LifeSafetyMode22["TEST"] = 2] = "TEST";
LifeSafetyMode22[LifeSafetyMode22["MANNED"] = 3] = "MANNED";
LifeSafetyMode22[LifeSafetyMode22["UNMANNED"] = 4] = "UNMANNED";
LifeSafetyMode22[LifeSafetyMode22["ARMED"] = 5] = "ARMED";
LifeSafetyMode22[LifeSafetyMode22["DISARMED"] = 6] = "DISARMED";
LifeSafetyMode22[LifeSafetyMode22["PREARMED"] = 7] = "PREARMED";
LifeSafetyMode22[LifeSafetyMode22["SLOW"] = 8] = "SLOW";
LifeSafetyMode22[LifeSafetyMode22["FAST"] = 9] = "FAST";
LifeSafetyMode22[LifeSafetyMode22["DISCONNECTED"] = 10] = "DISCONNECTED";
LifeSafetyMode22[LifeSafetyMode22["ENABLED"] = 11] = "ENABLED";
LifeSafetyMode22[LifeSafetyMode22["DISABLED"] = 12] = "DISABLED";
LifeSafetyMode22[LifeSafetyMode22["AUTOMATIC_RELEASE_DISABLED"] = 13] = "AUTOMATIC_RELEASE_DISABLED";
LifeSafetyMode22[LifeSafetyMode22["DEFAULT"] = 14] = "DEFAULT";
return LifeSafetyMode22;
})(LifeSafetyMode2 || {});
var LifeSafetyOperation2 = /* @__PURE__ */ ((LifeSafetyOperation22) => {
LifeSafetyOperation22[LifeSafetyOperation22["NONE"] = 0] = "NONE";
LifeSafetyOperation22[LifeSafetyOperation22["SILENCE"] = 1] = "SILENCE";
LifeSafetyOperation22[LifeSafetyOperation22["SILENCE_AUDIBLE"] = 2] = "SILENCE_AUDIBLE";
LifeSafetyOperation22[LifeSafetyOperation22["SILENCE_VISUAL"] = 3] = "SILENCE_VISUAL";
LifeSafetyOperation22[LifeSafetyOperation22["RESET"] = 4] = "RESET";
LifeSafetyOperation22[LifeSafetyOperation22["RESET_ALARM"] = 5] = "RESET_ALARM";
LifeSafetyOperation22[LifeSafetyOperation22["RESET_FAULT"] = 6] = "RESET_FAULT";
LifeSafetyOperation22[LifeSafetyOperation22["UNSILENCE"] = 7] = "UNSILENCE";
LifeSafetyOperation22[LifeSafetyOperation22["UNSILENCE_AUDIBLE"] = 8] = "UNSILENCE_AUDIBLE";
LifeSafetyOperation22[LifeSafetyOperation22["UNSILENCE_VISUAL"] = 9] = "UNSILENCE_VISUAL";
return LifeSafetyOperation22;
})(LifeSafetyOperation2 || {});
var LifeSafetyState2 = /* @__PURE__ */ ((LifeSafetyState22) => {
LifeSafetyState22[LifeSafetyState22["QUIET"] = 0] = "QUIET";
LifeSafetyState22[LifeSafetyState22["PRE_ALARM"] = 1] = "PRE_ALARM";
LifeSafetyState22[LifeSafetyState22["ALARM"] = 2] = "ALARM";
LifeSafetyState22[LifeSafetyState22["FAULT"] = 3] = "FAULT";
LifeSafetyState22[LifeSafetyState22["FAULT_PRE_ALARM"] = 4] = "FAULT_PRE_ALARM";
LifeSafetyState22[LifeSafetyState22["FAULT_ALARM"] = 5] = "FAULT_ALARM";
LifeSafetyState22[LifeSafetyState22["NOT_READY"] = 6] = "NOT_READY";
LifeSafetyState22[LifeSafetyState22["ACTIVE"] = 7] = "ACTIVE";
LifeSafetyState22[LifeSafetyState22["TAMPER"] = 8] = "TAMPER";
LifeSafetyState22[LifeSafetyState22["TEST_ALARM"] = 9] = "TEST_ALARM";
LifeSafetyState22[LifeSafetyState22["TEST_ACTIVE"] = 10] = "TEST_ACTIVE";
LifeSafetyState22[LifeSafetyState22["TEST_FAULT"] = 11] = "TEST_FAULT";
LifeSafetyState22[LifeSafetyState22["TEST_FAULT_ALARM"] = 12] = "TEST_FAULT_ALARM";
LifeSafetyState22[LifeSafetyState22["HOLDUP"] = 13] = "HOLDUP";
LifeSafetyState22[LifeSafetyState22["DURESS"] = 14] = "DURESS";
LifeSafetyState22[LifeSafetyState22["TAMPER_ALARM"] = 15] = "TAMPER_ALARM";
LifeSafetyState22[LifeSafetyState22["ABNORMAL"] = 16] = "ABNORMAL";
LifeSafetyState22[LifeSafetyState22["EMERGENCY_POWER"] = 17] = "EMERGENCY_POWER";
LifeSafetyState22[LifeSafetyState22["DELAYED"] = 18] = "DELAYED";
LifeSafetyState22[LifeSafetyState22["BLOCKED"] = 19] = "BLOCKED";
LifeSafetyState22[LifeSafetyState22["LOCAL_ALARM"] = 20] = "LOCAL_ALARM";
LifeSafetyState22[LifeSafetyState22["GENERAL_ALARM"] = 21] = "GENERAL_ALARM";
LifeSafetyState22[LifeSafetyState22["SUPERVISORY"] = 22] = "SUPERVISORY";
LifeSafetyState22[LifeSafetyState22["TEST_SUPERVISORY"] = 23] = "TEST_SUPERVISORY";
return LifeSafetyState22;
})(LifeSafetyState2 || {});
var LiftCarDirection2 = /* @__PURE__ */ ((LiftCarDirection22) => {
LiftCarDirection22[LiftCarDirection22["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDirection22[LiftCarDirection22["NONE"] = 1] = "NONE";
LiftCarDirection22[LiftCarDirection22["STOPPED"] = 2] = "STOPPED";
LiftCarDirection22[LiftCarDirection22["UP"] = 3] = "UP";
LiftCarDirection22[LiftCarDirection22["DOWN"] = 4] = "DOWN";
LiftCarDirection22[LiftCarDirection22["UP_AND_DOWN"] = 5] = "UP_AND_DOWN";
return LiftCarDirection22;
})(LiftCarDirection2 || {});
var LiftCarDoorCommand2 = /* @__PURE__ */ ((LiftCarDoorCommand22) => {
LiftCarDoorCommand22[LiftCarDoorCommand22["NONE"] = 0] = "NONE";
LiftCarDoorCommand22[LiftCarDoorCommand22["OPEN"] = 1] = "OPEN";
LiftCarDoorCommand22[LiftCarDoorCommand22["CLOSE"] = 2] = "CLOSE";
return LiftCarDoorCommand22;
})(LiftCarDoorCommand2 || {});
var LiftCarDriveStatus2 = /* @__PURE__ */ ((LiftCarDriveStatus22) => {
LiftCarDriveStatus22[LiftCarDriveStatus22["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDriveStatus22[LiftCarDriveStatus22["STATIONARY"] = 1] = "STATIONARY";
LiftCarDriveStatus22[LiftCarDriveStatus22["BRAKING"] = 2] = "BRAKING";
LiftCarDriveStatus22[LiftCarDriveStatus22["ACCELERATE"] = 3] = "ACCELERATE";
LiftCarDriveStatus22[LiftCarDriveStatus22["DECELERATE"] = 4] = "DECELERATE";
LiftCarDriveStatus22[LiftCarDriveStatus22["RATED_SPEED"] = 5] = "RATED_SPEED";
LiftCarDriveStatus22[LiftCarDriveStatus22["SINGLE_FLOOR_JUMP"] = 6] = "SINGLE_FLOOR_JUMP";
LiftCarDriveStatus22[LiftCarDriveStatus22["TWO_FLOOR_JUMP"] = 7] = "TWO_FLOOR_JUMP";
LiftCarDriveStatus22[LiftCarDriveStatus22["THREE_FLOOR_JUMP"] = 8] = "THREE_FLOOR_JUMP";
LiftCarDriveStatus22[LiftCarDriveStatus22["MULTI_FLOOR_JUMP"] = 9] = "MULTI_FLOOR_JUMP";
return LiftCarDriveStatus22;
})(LiftCarDriveStatus2 || {});
var LiftCarMode2 = /* @__PURE__ */ ((LiftCarMode22) => {
LiftCarMode22[LiftCarMode22["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarMode22[LiftCarMode22["NORMAL"] = 1] = "NORMAL";
LiftCarMode22[LiftCarMode22["VIP"] = 2] = "VIP";
LiftCarMode22[LiftCarMode22["HOMING"] = 3] = "HOMING";
LiftCarMode22[LiftCarMode22["PARKING"] = 4] = "PARKING";
LiftCarMode22[LiftCarMode22["ATTENDANT_CONTROL"] = 5] = "ATTENDANT_CONTROL";
LiftCarMode22[LiftCarMode22["FIREFIGHTER_CONTROL"] = 6] = "FIREFIGHTER_CONTROL";
LiftCarMode22[LiftCarMode22["EMERGENCY_POWER"] = 7] = "EMERGENCY_POWER";
LiftCarMode22[LiftCarMode22["INSPECTION"] = 8] = "INSPECTION";
LiftCarMode22[LiftCarMode22["CABINET_RECALL"] = 9] = "CABINET_RECALL";
LiftCarMode22[LiftCarMode22["EARTHQUAKE_OPERATION"] = 10] = "EARTHQUAKE_OPERATION";
LiftCarMode22[LiftCarMode22["FIRE_OPERATION"] = 11] = "FIRE_OPERATION";
LiftCarMode22[LiftCarMode22["OUT_OF_SERVICE"] = 12] = "OUT_OF_SERVICE";
LiftCarMode22[LiftCarMode22["OCCUPANT_EVACUATION"] = 13] = "OCCUPANT_EVACUATION";
return LiftCarMode22;
})(LiftCarMode2 || {});
var LiftFault2 = /* @__PURE__ */ ((LiftFault22) => {
LiftFault22[LiftFault22["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
LiftFault22[LiftFault22["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
LiftFault22[LiftFault22["GOVERNOR_AND_SAFETY_GEAR_FAULT"] = 2] = "GOVERNOR_AND_SAFETY_GEAR_FAULT";
LiftFault22[LiftFault22["LIFT_SHAFT_DEVICE_FAULT"] = 3] = "LIFT_SHAFT_DEVICE_FAULT";
LiftFault22[LiftFault22["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
LiftFault22[LiftFault22["SAFETY_INTERLOCK_FAULT"] = 5] = "SAFETY_INTERLOCK_FAULT";
LiftFault22[LiftFault22["DOOR_CLOSING_FAULT"] = 6] = "DOOR_CLOSING_FAULT";
LiftFault22[LiftFault22["DOOR_OPENING_FAULT"] = 7] = "DOOR_OPENING_FAULT";
LiftFault22[LiftFault22["CAR_STOPPED_OUTSIDE_LANDING_ZONE"] = 8] = "CAR_STOPPED_OUTSIDE_LANDING_ZONE";
LiftFault22[LiftFault22["CALL_BUTTON_STUCK"] = 9] = "CALL_BUTTON_STUCK";
LiftFault22[LiftFault22["START_FAILURE"] = 10] = "START_FAILURE";
LiftFault22[LiftFault22["CONTROLLER_SUPPLY_FAULT"] = 11] = "CONTROLLER_SUPPLY_FAULT";
LiftFault22[LiftFault22["SELF_TEST_FAILURE"] = 12] = "SELF_TEST_FAILURE";
LiftFault22[LiftFault22["RUNTIME_LIMIT_EXCEEDED"] = 13] = "RUNTIME_LIMIT_EXCEEDED";
LiftFault22[LiftFault22["POSITION_LOST"] = 14] = "POSITION_LOST";
LiftFault22[LiftFault22["DRIVE_TEMPERATURE_EXCEEDED"] = 15] = "DRIVE_TEMPERATURE_EXCEEDED";
LiftFault22[LiftFault22["LOAD_MEASUREMENT_FAULT"] = 16] = "LOAD_MEASUREMENT_FAULT";
return LiftFault22;
})(LiftFault2 || {});
var LiftGroupMode2 = /* @__PURE__ */ ((LiftGroupMode22) => {
LiftGroupMode22[LiftGroupMode22["UNKNOWN"] = 0] = "UNKNOWN";
LiftGroupMode22[LiftGroupMode22["NORMAL"] = 1] = "NORMAL";
LiftGroupMode22[LiftGroupMode22["DOWN_PEAK"] = 2] = "DOWN_PEAK";
LiftGroupMode22[LiftGroupMode22["TWO_WAY"] = 3] = "TWO_WAY";
LiftGroupMode22[LiftGroupMode22["FOUR_WAY"] = 4] = "FOUR_WAY";
LiftGroupMode22[LiftGroupMode22["EMERGENCY_POWER"] = 5] = "EMERGENCY_POWER";
LiftGroupMode22[LiftGroupMode22["UP_PEAK"] = 6] = "UP_PEAK";
return LiftGroupMode22;
})(LiftGroupMode2 || {});
var LightingInProgress2 = /* @__PURE__ */ ((LightingInProgress22) => {
LightingInProgress22[LightingInProgress22["IDLE"] = 0] = "IDLE";
LightingInProgress22[LightingInProgress22["FADE_ACTIVE"] = 1] = "FADE_ACTIVE";
LightingInProgress22[LightingInProgress22["RAMP_ACTIVE"] = 2] = "RAMP_ACTIVE";
LightingInProgress22[LightingInProgress22["NOT_CONTROLLED"] = 3] = "NOT_CONTROLLED";
LightingInProgress22[LightingInProgress22["OTHER"] = 4] = "OTHER";
return LightingInProgress22;
})(LightingInProgress2 || {});
var LightingOperation2 = /* @__PURE__ */ ((LightingOperation22) => {
LightingOperation22[LightingOperation22["NONE"] = 0] = "NONE";
LightingOperation22[LightingOperation22["FADE_TO"] = 1] = "FADE_TO";
LightingOperation22[LightingOperation22["RAMP_TO"] = 2] = "RAMP_TO";
LightingOperation22[LightingOperation22["STEP_UP"] = 3] = "STEP_UP";
LightingOperation22[LightingOperation22["STEP_DOWN"] = 4] = "STEP_DOWN";
LightingOperation22[LightingOperation22["STEP_ON"] = 5] = "STEP_ON";
LightingOperation22[LightingOperation22["STEP_OFF"] = 6] = "STEP_OFF";
LightingOperation22[LightingOperation22["WARN"] = 7] = "WARN";
LightingOperation22[LightingOperation22["WARN_OFF"] = 8] = "WARN_OFF";
LightingOperation22[LightingOperation22["WARN_RELINQUISH"] = 9] = "WARN_RELINQUISH";
LightingOperation22[LightingOperation22["STOP"] = 10] = "STOP";
return LightingOperation22;
})(LightingOperation2 || {});
var LightingTransition2 = /* @__PURE__ */ ((LightingTransition22) => {
LightingTransition22[LightingTransition22["NONE"] = 0] = "NONE";
LightingTransition22[LightingTransition22["FADE"] = 1] = "FADE";
LightingTransition22[LightingTransition22["RAMP"] = 2] = "RAMP";
return LightingTransition22;
})(LightingTransition2 || {});
var LockStatus2 = /* @__PURE__ */ ((LockStatus22) => {
LockStatus22[LockStatus22["LOCKED"] = 0] = "LOCKED";
LockStatus22[LockStatus22["UNLOCKED"] = 1] = "UNLOCKED";
LockStatus22[LockStatus22["LOCK_FAULT"] = 2] = "LOCK_FAULT";
LockStatus22[LockStatus22["UNUSED"] = 3] = "UNUSED";
LockStatus22[LockStatus22["UNKNOWN"] = 4] = "UNKNOWN";
return LockStatus22;
})(LockStatus2 || {});
var LoggingType2 = /* @__PURE__ */ ((LoggingType22) => {
LoggingType22[LoggingType22["POLLED"] = 0] = "POLLED";
LoggingType22[LoggingType22["COV"] = 1] = "COV";
LoggingType22[LoggingType22["TRIGGERED"] = 2] = "TRIGGERED";
return LoggingType22;
})(LoggingType2 || {});
var Maintenance2 = /* @__PURE__ */ ((Maintenance22) => {
Maintenance22[Maintenance22["NONE"] = 0] = "NONE";
Maintenance22[Maintenance22["PERIODIC_TEST"] = 1] = "PERIODIC_TEST";
Maintenance22[Maintenance22["NEED_SERVICE_OPERATIONAL"] = 2] = "NEED_SERVICE_OPERATIONAL";
Maintenance22[Maintenance22["NEED_SERVICE_INOPERATIVE"] = 3] = "NEED_SERVICE_INOPERATIVE";
return Maintenance22;
})(Maintenance2 || {});
var NetworkNumberQuality2 = /* @__PURE__ */ ((NetworkNumberQuality22) => {
NetworkNumberQuality22[NetworkNumberQuality22["UNKNOWN"] = 0] = "UNKNOWN";
NetworkNumberQuality22[NetworkNumberQuality22["LEARNED"] = 1] = "LEARNED";
NetworkNumberQuality22[NetworkNumberQuality22["LEARNED_CONFIGURED"] = 2] = "LEARNED_CONFIGURED";
NetworkNumberQuality22[NetworkNumberQuality22["CONFIGURED"] = 3] = "CONFIGURED";
return NetworkNumberQuality22;
})(NetworkNumberQuality2 || {});
var NetworkPortCommand2 = /* @__PURE__ */ ((NetworkPortCommand22) => {
NetworkPortCommand22[NetworkPortCommand22["IDLE"] = 0] = "IDLE";
NetworkPortCommand22[NetworkPortCommand22["DISCARD_CHANGES"] = 1] = "DISCARD_CHANGES";
NetworkPortCommand22[NetworkPortCommand22["RENEW_FD_REGISTRATION"] = 2] = "RENEW_FD_REGISTRATION";
NetworkPortCommand22[NetworkPortCommand22["RESTART_SLAVE_DISCOVERY"] = 3] = "RESTART_SLAVE_DISCOVERY";
NetworkPortCommand22[NetworkPortCommand22["RENEW_DHCP"] = 4] = "RENEW_DHCP";
NetworkPortCommand22[NetworkPortCommand22["RESTART_AUTONEGOTIATION"] = 5] = "RESTART_AUTONEGOTIATION";
NetworkPortCommand22[NetworkPortCommand22["DISCONNECT"] = 6] = "DISCONNECT";
NetworkPortCommand22[NetworkPortCommand22["RESTART_PORT"] = 7] = "RESTART_PORT";
return NetworkPortCommand22;
})(NetworkPortCommand2 || {});
var NetworkType2 = /* @__PURE__ */ ((NetworkType22) => {
NetworkType22[NetworkType22["ETHERNET"] = 0] = "ETHERNET";
NetworkType22[NetworkType22["ARCNET"] = 1] = "ARCNET";
NetworkType22[NetworkType22["MSTP"] = 2] = "MSTP";
NetworkType22[NetworkType22["PTP"] = 3] = "PTP";
NetworkType22[NetworkType22["LONTALK"] = 4] = "LONTALK";
NetworkType22[NetworkType22["IPV4"] = 5] = "IPV4";
NetworkType22[NetworkType22["ZIGBEE"] = 6] = "ZIGBEE";
NetworkType22[NetworkType22["VIRTUAL"] = 7] = "VIRTUAL";
NetworkType22[NetworkType22["IPV6"] = 9] = "IPV6";
NetworkType22[NetworkType22["SERIAL"] = 10] = "SERIAL";
return NetworkType22;
})(NetworkType2 || {});
var NodeType2 = /* @__PURE__ */ ((NodeType22) => {
NodeType22[NodeType22["UNKNOWN"] = 0] = "UNKNOWN";
NodeType22[NodeType22["SYSTEM"] = 1] = "SYSTEM";
NodeType22[NodeType22["NETWORK"] = 2] = "NETWORK";
NodeType22[NodeType22["DEVICE"] = 3] = "DEVICE";
NodeType22[NodeType22["ORGANIZATIONAL"] = 4] = "ORGANIZATIONAL";
NodeType22[NodeType22["AREA"] = 5] = "AREA";
NodeType22[NodeType22["EQUIPMENT"] = 6] = "EQUIPMENT";
NodeType22[NodeType22["POINT"] = 7] = "POINT";
NodeType22[NodeType22["COLLECTION"] = 8] = "COLLECTION";
NodeType22[NodeType22["PROPERTY"] = 9] = "PROPERTY";
NodeType22[NodeType22["FUNCTIONAL"] = 10] = "FUNCTIONAL";
NodeType22[NodeType22["OTHER"] = 11] = "OTHER";
NodeType22[NodeType22["SUBSYSTEM"] = 12] = "SUBSYSTEM";
NodeType22[NodeType22["BUILDING"] = 13] = "BUILDING";
NodeType22[NodeType22["FLOOR"] = 14] = "FLOOR";
NodeType22[NodeType22["SECTION"] = 15] = "SECTION";
NodeType22[NodeType22["MODULE"] = 16] = "MODULE";
NodeType22[NodeType22["TREE"] = 17] = "TREE";
NodeType22[NodeType22["MEMBER"] = 18] = "MEMBER";
NodeType22[NodeType22["PROTOCOL"] = 19] = "PROTOCOL";
NodeType22[NodeType22["ROOM"] = 20] = "ROOM";
NodeType22[NodeType22["ZONE"] = 21] = "ZONE";
return NodeType22;
})(NodeType2 || {});
var NotifyType2 = /* @__PURE__ */ ((NotifyType22) => {
NotifyType22[NotifyType22["ALARM"] = 0] = "ALARM";
NotifyType22[NotifyType22["EVENT"] = 1] = "EVENT";
NotifyType22[NotifyType22["ACK_NOTIFICATION"] = 2] = "ACK_NOTIFICATION";
return NotifyType22;
})(NotifyType2 || {});
var ObjectType2 = /* @__PURE__ */ ((ObjectType22) => {
ObjectType22[ObjectType22["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectType22[ObjectType22["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectType22[ObjectType22["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectType22[ObjectType22["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectType22[ObjectType22["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectType22[ObjectType22["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectType22[ObjectType22["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectType22[ObjectType22["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectType22[ObjectType22["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectType22[ObjectType22["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectType22[ObjectType22["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectType22[ObjectType22["AVERAGING"] = 18] = "AVERAGING";
ObjectType22[ObjectType22["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectType22[ObjectType22["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectType22[ObjectType22["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectType22[ObjectType22["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectType22[ObjectType22["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectType22[ObjectType22["CALENDAR"] = 6] = "CALENDAR";
ObjectType22[ObjectType22["CHANNEL"] = 53] = "CHANNEL";
ObjectType22[ObjectType22["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectType22[ObjectType22["COMMAND"] = 7] = "COMMAND";
ObjectType22[ObjectType22["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectType22[ObjectType22["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectType22[ObjectType22["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectType22[ObjectType22["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectType22[ObjectType22["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectType22[ObjectType22["DEVICE"] = 8] = "DEVICE";
ObjectType22[ObjectType22["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectType22[ObjectType22["ESCALATOR"] = 58] = "ESCALATOR";
ObjectType22[ObjectType22["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectType22[ObjectType22["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectType22[ObjectType22["FILE"] = 10] = "FILE";
ObjectType22[ObjectType22["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectType22[ObjectType22["GROUP"] = 11] = "GROUP";
ObjectType22[ObjectType22["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectType22[ObjectType22["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectType22[ObjectType22["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectType22[ObjectType22["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectType22[ObjectType22["LIFT"] = 59] = "LIFT";
ObjectType22[ObjectType22["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectType22[ObjectType22["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectType22[ObjectType22["LOOP"] = 12] = "LOOP";
ObjectType22[ObjectType22["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectType22[ObjectType22["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectType22[ObjectType22["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectType22[ObjectType22["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectType22[ObjectType22["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectType22[ObjectType22["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectType22[ObjectType22["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectType22[ObjectType22["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectType22[ObjectType22["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectType22[ObjectType22["PROGRAM"] = 16] = "PROGRAM";
ObjectType22[ObjectType22["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectType22[ObjectType22["SCHEDULE"] = 17] = "SCHEDULE";
ObjectType22[ObjectType22["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectType22[ObjectType22["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectType22[ObjectType22["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectType22[ObjectType22["TIMER"] = 31] = "TIMER";
ObjectType22[ObjectType22["TREND_LOG"] = 20] = "TREND_LOG";
ObjectType22[ObjectType22["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
return ObjectType22;
})(ObjectType2 || {});
var Polarity2 = /* @__PURE__ */ ((Polarity22) => {
Polarity22[Polarity22["NORMAL"] = 0] = "NORMAL";
Polarity22[Polarity22["REVERSE"] = 1] = "REVERSE";
return Polarity22;
})(Polarity2 || {});
var ProgramError2 = /* @__PURE__ */ ((ProgramError22) => {
ProgramError22[ProgramError22["NORMAL"] = 0] = "NORMAL";
ProgramError22[ProgramError22["LOAD_FAILED"] = 1] = "LOAD_FAILED";
ProgramError22[ProgramError22["INTERNAL"] = 2] = "INTERNAL";
ProgramError22[ProgramError22["PROGRAM"] = 3] = "PROGRAM";
ProgramError22[ProgramError22["OTHER"] = 4] = "OTHER";
return ProgramError22;
})(ProgramError2 || {});
var ProgramRequest2 = /* @__PURE__ */ ((ProgramRequest22) => {
ProgramRequest22[ProgramRequest22["READY"] = 0] = "READY";
ProgramRequest22[ProgramRequest22["LOAD"] = 1] = "LOAD";
ProgramRequest22[ProgramRequest22["RUN"] = 2] = "RUN";
ProgramRequest22[ProgramRequest22["HALT"] = 3] = "HALT";
ProgramRequest22[ProgramRequest22["RESTART"] = 4] = "RESTART";
ProgramRequest22[ProgramRequest22["UNLOAD"] = 5] = "UNLOAD";
return ProgramRequest22;
})(ProgramRequest2 || {});
var ProgramState2 = /* @__PURE__ */ ((ProgramState22) => {
ProgramState22[ProgramState22["IDLE"] = 0] = "IDLE";
ProgramState22[ProgramState22["LOADING"] = 1] = "LOADING";
ProgramState22[ProgramState22["RUNNING"] = 2] = "RUNNING";
ProgramState22[ProgramState22["WAITING"] = 3] = "WAITING";
ProgramState22[ProgramState22["HALTED"] = 4] = "HALTED";
ProgramState22[ProgramState22["UNLOADING"] = 5] = "UNLOADING";
return ProgramState22;
})(ProgramState2 || {});
var PropertyIdentifier2 = /* @__PURE__ */ ((PropertyIdentifier22) => {
PropertyIdentifier22[PropertyIdentifier22["ABSENTEE_LIMIT"] = 244] = "ABSENTEE_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["ACCEPTED_MODES"] = 175] = "ACCEPTED_MODES";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_ALARM_EVENTS"] = 245] = "ACCESS_ALARM_EVENTS";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_DOORS"] = 246] = "ACCESS_DOORS";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_EVENT"] = 247] = "ACCESS_EVENT";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_EVENT_AUTHENTICATION_FACTOR"] = 248] = "ACCESS_EVENT_AUTHENTICATION_FACTOR";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_EVENT_CREDENTIAL"] = 249] = "ACCESS_EVENT_CREDENTIAL";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_EVENT_TAG"] = 322] = "ACCESS_EVENT_TAG";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_EVENT_TIME"] = 250] = "ACCESS_EVENT_TIME";
PropertyIdentifier22[PropertyIdentifier22["ACCESS_TRANSACTION_EVENTS"] = 251] = "ACCESS_TRANSACTION_EVENTS";
PropertyIdentifier22[PropertyIdentifier22["ACCOMPANIMENT"] = 252] = "ACCOMPANIMENT";
PropertyIdentifier22[PropertyIdentifier22["ACCOMPANIMENT_TIME"] = 253] = "ACCOMPANIMENT_TIME";
PropertyIdentifier22[PropertyIdentifier22["ACK_REQUIRED"] = 1] = "ACK_REQUIRED";
PropertyIdentifier22[PropertyIdentifier22["ACKED_TRANSITIONS"] = 0] = "ACKED_TRANSITIONS";
PropertyIdentifier22[PropertyIdentifier22["ACTION"] = 2] = "ACTION";
PropertyIdentifier22[PropertyIdentifier22["ACTION_TEXT"] = 3] = "ACTION_TEXT";
PropertyIdentifier22[PropertyIdentifier22["ACTIVATION_TIME"] = 254] = "ACTIVATION_TIME";
PropertyIdentifier22[PropertyIdentifier22["ACTIVE_AUTHENTICATION_POLICY"] = 255] = "ACTIVE_AUTHENTICATION_POLICY";
PropertyIdentifier22[PropertyIdentifier22["ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS"] = 481] = "ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS";
PropertyIdentifier22[PropertyIdentifier22["ACTIVE_COV_SUBSCRIPTIONS"] = 152] = "ACTIVE_COV_SUBSCRIPTIONS";
PropertyIdentifier22[PropertyIdentifier22["ACTIVE_TEXT"] = 4] = "ACTIVE_TEXT";
PropertyIdentifier22[PropertyIdentifier22["ACTIVE_VT_SESSIONS"] = 5] = "ACTIVE_VT_SESSIONS";
PropertyIdentifier22[PropertyIdentifier22["ACTUAL_SHED_LEVEL"] = 212] = "ACTUAL_SHED_LEVEL";
PropertyIdentifier22[PropertyIdentifier22["ADJUST_VALUE"] = 176] = "ADJUST_VALUE";
PropertyIdentifier22[PropertyIdentifier22["ALARM_VALUE"] = 6] = "ALARM_VALUE";
PropertyIdentifier22[PropertyIdentifier22["ALARM_VALUES"] = 7] = "ALARM_VALUES";
PropertyIdentifier22[PropertyIdentifier22["ALIGN_INTERVALS"] = 193] = "ALIGN_INTERVALS";
PropertyIdentifier22[PropertyIdentifier22["ALL"] = 8] = "ALL";
PropertyIdentifier22[PropertyIdentifier22["ALL_WRITES_SUCCESSFUL"] = 9] = "ALL_WRITES_SUCCESSFUL";
PropertyIdentifier22[PropertyIdentifier22["ALLOW_GROUP_DELAY_INHIBIT"] = 365] = "ALLOW_GROUP_DELAY_INHIBIT";
PropertyIdentifier22[PropertyIdentifier22["APDU_LENGTH"] = 399] = "APDU_LENGTH";
PropertyIdentifier22[PropertyIdentifier22["APDU_SEGMENT_TIMEOUT"] = 10] = "APDU_SEGMENT_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["APDU_TIMEOUT"] = 11] = "APDU_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["APPLICATION_SOFTWARE_VERSION"] = 12] = "APPLICATION_SOFTWARE_VERSION";
PropertyIdentifier22[PropertyIdentifier22["ARCHIVE"] = 13] = "ARCHIVE";
PropertyIdentifier22[PropertyIdentifier22["ASSIGNED_ACCESS_RIGHTS"] = 256] = "ASSIGNED_ACCESS_RIGHTS";
PropertyIdentifier22[PropertyIdentifier22["ASSIGNED_LANDING_CALLS"] = 447] = "ASSIGNED_LANDING_CALLS";
PropertyIdentifier22[PropertyIdentifier22["ATTEMPTED_SAMPLES"] = 124] = "ATTEMPTED_SAMPLES";
PropertyIdentifier22[PropertyIdentifier22["AUTHENTICATION_FACTORS"] = 257] = "AUTHENTICATION_FACTORS";
PropertyIdentifier22[PropertyIdentifier22["AUTHENTICATION_POLICY_LIST"] = 258] = "AUTHENTICATION_POLICY_LIST";
PropertyIdentifier22[PropertyIdentifier22["AUTHENTICATION_POLICY_NAMES"] = 259] = "AUTHENTICATION_POLICY_NAMES";
PropertyIdentifier22[PropertyIdentifier22["AUTHENTICATION_STATUS"] = 260] = "AUTHENTICATION_STATUS";
PropertyIdentifier22[PropertyIdentifier22["AUTHORIZATION_EXEMPTIONS"] = 364] = "AUTHORIZATION_EXEMPTIONS";
PropertyIdentifier22[PropertyIdentifier22["AUTHORIZATION_MODE"] = 261] = "AUTHORIZATION_MODE";
PropertyIdentifier22[PropertyIdentifier22["AUTO_SLAVE_DISCOVERY"] = 169] = "AUTO_SLAVE_DISCOVERY";
PropertyIdentifier22[PropertyIdentifier22["AVERAGE_VALUE"] = 125] = "AVERAGE_VALUE";
PropertyIdentifier22[PropertyIdentifier22["BACKUP_AND_RESTORE_STATE"] = 338] = "BACKUP_AND_RESTORE_STATE";
PropertyIdentifier22[PropertyIdentifier22["BACKUP_FAILURE_TIMEOUT"] = 153] = "BACKUP_FAILURE_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["BACKUP_PREPARATION_TIME"] = 339] = "BACKUP_PREPARATION_TIME";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IP_GLOBAL_ADDRESS"] = 407] = "BACNET_IP_GLOBAL_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IP_MODE"] = 408] = "BACNET_IP_MODE";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IP_MULTICAST_ADDRESS"] = 409] = "BACNET_IP_MULTICAST_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IP_NAT_TRAVERSAL"] = 410] = "BACNET_IP_NAT_TRAVERSAL";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IP_UDP_PORT"] = 412] = "BACNET_IP_UDP_PORT";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IPV6_MODE"] = 435] = "BACNET_IPV6_MODE";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IPV6_UDP_PORT"] = 438] = "BACNET_IPV6_UDP_PORT";
PropertyIdentifier22[PropertyIdentifier22["BACNET_IPV6_MULTICAST_ADDRESS"] = 440] = "BACNET_IPV6_MULTICAST_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["BBMD_ACCEPT_FD_REGISTRATIONS"] = 413] = "BBMD_ACCEPT_FD_REGISTRATIONS";
PropertyIdentifier22[PropertyIdentifier22["BBMD_BROADCAST_DISTRIBUTION_TABLE"] = 414] = "BBMD_BROADCAST_DISTRIBUTION_TABLE";
PropertyIdentifier22[PropertyIdentifier22["BBMD_FOREIGN_DEVICE_TABLE"] = 415] = "BBMD_FOREIGN_DEVICE_TABLE";
PropertyIdentifier22[PropertyIdentifier22["BELONGS_TO"] = 262] = "BELONGS_TO";
PropertyIdentifier22[PropertyIdentifier22["BIAS"] = 14] = "BIAS";
PropertyIdentifier22[PropertyIdentifier22["BIT_MASK"] = 342] = "BIT_MASK";
PropertyIdentifier22[PropertyIdentifier22["BIT_TEXT"] = 343] = "BIT_TEXT";
PropertyIdentifier22[PropertyIdentifier22["BLINK_WARN_ENABLE"] = 373] = "BLINK_WARN_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["BUFFER_SIZE"] = 126] = "BUFFER_SIZE";
PropertyIdentifier22[PropertyIdentifier22["CAR_ASSIGNED_DIRECTION"] = 448] = "CAR_ASSIGNED_DIRECTION";
PropertyIdentifier22[PropertyIdentifier22["CAR_DOOR_COMMAND"] = 449] = "CAR_DOOR_COMMAND";
PropertyIdentifier22[PropertyIdentifier22["CAR_DOOR_STATUS"] = 450] = "CAR_DOOR_STATUS";
PropertyIdentifier22[PropertyIdentifier22["CAR_DOOR_TEXT"] = 451] = "CAR_DOOR_TEXT";
PropertyIdentifier22[PropertyIdentifier22["CAR_DOOR_ZONE"] = 452] = "CAR_DOOR_ZONE";
PropertyIdentifier22[PropertyIdentifier22["CAR_DRIVE_STATUS"] = 453] = "CAR_DRIVE_STATUS";
PropertyIdentifier22[PropertyIdentifier22["CAR_LOAD"] = 454] = "CAR_LOAD";
PropertyIdentifier22[PropertyIdentifier22["CAR_LOAD_UNITS"] = 455] = "CAR_LOAD_UNITS";
PropertyIdentifier22[PropertyIdentifier22["CAR_MODE"] = 456] = "CAR_MODE";
PropertyIdentifier22[PropertyIdentifier22["CAR_MOVING_DIRECTION"] = 457] = "CAR_MOVING_DIRECTION";
PropertyIdentifier22[PropertyIdentifier22["CAR_POSITION"] = 458] = "CAR_POSITION";
PropertyIdentifier22[PropertyIdentifier22["CHANGE_OF_STATE_COUNT"] = 15] = "CHANGE_OF_STATE_COUNT";
PropertyIdentifier22[PropertyIdentifier22["CHANGE_OF_STATE_TIME"] = 16] = "CHANGE_OF_STATE_TIME";
PropertyIdentifier22[PropertyIdentifier22["CHANGES_PENDING"] = 416] = "CHANGES_PENDING";
PropertyIdentifier22[PropertyIdentifier22["CHANNEL_NUMBER"] = 366] = "CHANNEL_NUMBER";
PropertyIdentifier22[PropertyIdentifier22["CLIENT_COV_INCREMENT"] = 127] = "CLIENT_COV_INCREMENT";
PropertyIdentifier22[PropertyIdentifier22["COMMAND"] = 417] = "COMMAND";
PropertyIdentifier22[PropertyIdentifier22["COMMAND_TIME_ARRAY"] = 430] = "COMMAND_TIME_ARRAY";
PropertyIdentifier22[PropertyIdentifier22["CONFIGURATION_FILES"] = 154] = "CONFIGURATION_FILES";
PropertyIdentifier22[PropertyIdentifier22["CONTROL_GROUPS"] = 367] = "CONTROL_GROUPS";
PropertyIdentifier22[PropertyIdentifier22["CONTROLLED_VARIABLE_REFERENCE"] = 19] = "CONTROLLED_VARIABLE_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["CONTROLLED_VARIABLE_UNITS"] = 20] = "CONTROLLED_VARIABLE_UNITS";
PropertyIdentifier22[PropertyIdentifier22["CONTROLLED_VARIABLE_VALUE"] = 21] = "CONTROLLED_VARIABLE_VALUE";
PropertyIdentifier22[PropertyIdentifier22["COUNT"] = 177] = "COUNT";
PropertyIdentifier22[PropertyIdentifier22["COUNT_BEFORE_CHANGE"] = 178] = "COUNT_BEFORE_CHANGE";
PropertyIdentifier22[PropertyIdentifier22["COUNT_CHANGE_TIME"] = 179] = "COUNT_CHANGE_TIME";
PropertyIdentifier22[PropertyIdentifier22["COV_INCREMENT"] = 22] = "COV_INCREMENT";
PropertyIdentifier22[PropertyIdentifier22["COV_PERIOD"] = 180] = "COV_PERIOD";
PropertyIdentifier22[PropertyIdentifier22["COV_RESUBSCRIPTION_INTERVAL"] = 128] = "COV_RESUBSCRIPTION_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["COVU_PERIOD"] = 349] = "COVU_PERIOD";
PropertyIdentifier22[PropertyIdentifier22["COVU_RECIPIENTS"] = 350] = "COVU_RECIPIENTS";
PropertyIdentifier22[PropertyIdentifier22["CREDENTIAL_DISABLE"] = 263] = "CREDENTIAL_DISABLE";
PropertyIdentifier22[PropertyIdentifier22["CREDENTIAL_STATUS"] = 264] = "CREDENTIAL_STATUS";
PropertyIdentifier22[PropertyIdentifier22["CREDENTIALS"] = 265] = "CREDENTIALS";
PropertyIdentifier22[PropertyIdentifier22["CREDENTIALS_IN_ZONE"] = 266] = "CREDENTIALS_IN_ZONE";
PropertyIdentifier22[PropertyIdentifier22["CURRENT_COMMAND_PRIORITY"] = 431] = "CURRENT_COMMAND_PRIORITY";
PropertyIdentifier22[PropertyIdentifier22["DATABASE_REVISION"] = 155] = "DATABASE_REVISION";
PropertyIdentifier22[PropertyIdentifier22["DATE_LIST"] = 23] = "DATE_LIST";
PropertyIdentifier22[PropertyIdentifier22["DAYLIGHT_SAVINGS_STATUS"] = 24] = "DAYLIGHT_SAVINGS_STATUS";
PropertyIdentifier22[PropertyIdentifier22["DAYS_REMAINING"] = 267] = "DAYS_REMAINING";
PropertyIdentifier22[PropertyIdentifier22["DEADBAND"] = 25] = "DEADBAND";
PropertyIdentifier22[PropertyIdentifier22["DEFAULT_FADE_TIME"] = 374] = "DEFAULT_FADE_TIME";
PropertyIdentifier22[PropertyIdentifier22["DEFAULT_RAMP_RATE"] = 375] = "DEFAULT_RAMP_RATE";
PropertyIdentifier22[PropertyIdentifier22["DEFAULT_STEP_INCREMENT"] = 376] = "DEFAULT_STEP_INCREMENT";
PropertyIdentifier22[PropertyIdentifier22["DEFAULT_SUBORDINATE_RELATIONSHIP"] = 490] = "DEFAULT_SUBORDINATE_RELATIONSHIP";
PropertyIdentifier22[PropertyIdentifier22["DEFAULT_TIMEOUT"] = 393] = "DEFAULT_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["DEPLOYED_PROFILE_LOCATION"] = 484] = "DEPLOYED_PROFILE_LOCATION";
PropertyIdentifier22[PropertyIdentifier22["DERIVATIVE_CONSTANT"] = 26] = "DERIVATIVE_CONSTANT";
PropertyIdentifier22[PropertyIdentifier22["DERIVATIVE_CONSTANT_UNITS"] = 27] = "DERIVATIVE_CONSTANT_UNITS";
PropertyIdentifier22[PropertyIdentifier22["DESCRIPTION"] = 28] = "DESCRIPTION";
PropertyIdentifier22[PropertyIdentifier22["DESCRIPTION_OF_HALT"] = 29] = "DESCRIPTION_OF_HALT";
PropertyIdentifier22[PropertyIdentifier22["DEVICE_ADDRESS_BINDING"] = 30] = "DEVICE_ADDRESS_BINDING";
PropertyIdentifier22[PropertyIdentifier22["DEVICE_TYPE"] = 31] = "DEVICE_TYPE";
PropertyIdentifier22[PropertyIdentifier22["DIRECT_READING"] = 156] = "DIRECT_READING";
PropertyIdentifier22[PropertyIdentifier22["DISTRIBUTION_KEY_REVISION"] = 328] = "DISTRIBUTION_KEY_REVISION";
PropertyIdentifier22[PropertyIdentifier22["DO_NOT_HIDE"] = 329] = "DO_NOT_HIDE";
PropertyIdentifier22[PropertyIdentifier22["DOOR_ALARM_STATE"] = 226] = "DOOR_ALARM_STATE";
PropertyIdentifier22[PropertyIdentifier22["DOOR_EXTENDED_PULSE_TIME"] = 227] = "DOOR_EXTENDED_PULSE_TIME";
PropertyIdentifier22[PropertyIdentifier22["DOOR_MEMBERS"] = 228] = "DOOR_MEMBERS";
PropertyIdentifier22[PropertyIdentifier22["DOOR_OPEN_TOO_LONG_TIME"] = 229] = "DOOR_OPEN_TOO_LONG_TIME";
PropertyIdentifier22[PropertyIdentifier22["DOOR_PULSE_TIME"] = 230] = "DOOR_PULSE_TIME";
PropertyIdentifier22[PropertyIdentifier22["DOOR_STATUS"] = 231] = "DOOR_STATUS";
PropertyIdentifier22[PropertyIdentifier22["DOOR_UNLOCK_DELAY_TIME"] = 232] = "DOOR_UNLOCK_DELAY_TIME";
PropertyIdentifier22[PropertyIdentifier22["DUTY_WINDOW"] = 213] = "DUTY_WINDOW";
PropertyIdentifier22[PropertyIdentifier22["EFFECTIVE_PERIOD"] = 32] = "EFFECTIVE_PERIOD";
PropertyIdentifier22[PropertyIdentifier22["EGRESS_ACTIVE"] = 386] = "EGRESS_ACTIVE";
PropertyIdentifier22[PropertyIdentifier22["EGRESS_TIME"] = 377] = "EGRESS_TIME";
PropertyIdentifier22[PropertyIdentifier22["ELAPSED_ACTIVE_TIME"] = 33] = "ELAPSED_ACTIVE_TIME";
PropertyIdentifier22[PropertyIdentifier22["ELEVATOR_GROUP"] = 459] = "ELEVATOR_GROUP";
PropertyIdentifier22[PropertyIdentifier22["ENABLE"] = 133] = "ENABLE";
PropertyIdentifier22[PropertyIdentifier22["ENERGY_METER"] = 460] = "ENERGY_METER";
PropertyIdentifier22[PropertyIdentifier22["ENERGY_METER_REF"] = 461] = "ENERGY_METER_REF";
PropertyIdentifier22[PropertyIdentifier22["ENTRY_POINTS"] = 268] = "ENTRY_POINTS";
PropertyIdentifier22[PropertyIdentifier22["ERROR_LIMIT"] = 34] = "ERROR_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["ESCALATOR_MODE"] = 462] = "ESCALATOR_MODE";
PropertyIdentifier22[PropertyIdentifier22["EVENT_ALGORITHM_INHIBIT"] = 354] = "EVENT_ALGORITHM_INHIBIT";
PropertyIdentifier22[PropertyIdentifier22["EVENT_ALGORITHM_INHIBIT_REF"] = 355] = "EVENT_ALGORITHM_INHIBIT_REF";
PropertyIdentifier22[PropertyIdentifier22["EVENT_DETECTION_ENABLE"] = 353] = "EVENT_DETECTION_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["EVENT_ENABLE"] = 35] = "EVENT_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["EVENT_MESSAGE_TEXTS"] = 351] = "EVENT_MESSAGE_TEXTS";
PropertyIdentifier22[PropertyIdentifier22["EVENT_MESSAGE_TEXTS_CONFIG"] = 352] = "EVENT_MESSAGE_TEXTS_CONFIG";
PropertyIdentifier22[PropertyIdentifier22["EVENT_PARAMETERS"] = 83] = "EVENT_PARAMETERS";
PropertyIdentifier22[PropertyIdentifier22["EVENT_STATE"] = 36] = "EVENT_STATE";
PropertyIdentifier22[PropertyIdentifier22["EVENT_TIME_STAMPS"] = 130] = "EVENT_TIME_STAMPS";
PropertyIdentifier22[PropertyIdentifier22["EVENT_TYPE"] = 37] = "EVENT_TYPE";
PropertyIdentifier22[PropertyIdentifier22["EXCEPTION_SCHEDULE"] = 38] = "EXCEPTION_SCHEDULE";
PropertyIdentifier22[PropertyIdentifier22["EXECUTION_DELAY"] = 368] = "EXECUTION_DELAY";
PropertyIdentifier22[PropertyIdentifier22["EXIT_POINTS"] = 269] = "EXIT_POINTS";
PropertyIdentifier22[PropertyIdentifier22["EXPECTED_SHED_LEVEL"] = 214] = "EXPECTED_SHED_LEVEL";
PropertyIdentifier22[PropertyIdentifier22["EXPIRATION_TIME"] = 270] = "EXPIRATION_TIME";
PropertyIdentifier22[PropertyIdentifier22["EXTENDED_TIME_ENABLE"] = 271] = "EXTENDED_TIME_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["FAILED_ATTEMPT_EVENTS"] = 272] = "FAILED_ATTEMPT_EVENTS";
PropertyIdentifier22[PropertyIdentifier22["FAILED_ATTEMPTS"] = 273] = "FAILED_ATTEMPTS";
PropertyIdentifier22[PropertyIdentifier22["FAILED_ATTEMPTS_TIME"] = 274] = "FAILED_ATTEMPTS_TIME";
PropertyIdentifier22[PropertyIdentifier22["FAULT_HIGH_LIMIT"] = 388] = "FAULT_HIGH_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["FAULT_LOW_LIMIT"] = 389] = "FAULT_LOW_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["FAULT_PARAMETERS"] = 358] = "FAULT_PARAMETERS";
PropertyIdentifier22[PropertyIdentifier22["FAULT_SIGNALS"] = 463] = "FAULT_SIGNALS";
PropertyIdentifier22[PropertyIdentifier22["FAULT_TYPE"] = 359] = "FAULT_TYPE";
PropertyIdentifier22[PropertyIdentifier22["FAULT_VALUES"] = 39] = "FAULT_VALUES";
PropertyIdentifier22[PropertyIdentifier22["FD_BBMD_ADDRESS"] = 418] = "FD_BBMD_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["FD_SUBSCRIPTION_LIFETIME"] = 419] = "FD_SUBSCRIPTION_LIFETIME";
PropertyIdentifier22[PropertyIdentifier22["FEEDBACK_VALUE"] = 40] = "FEEDBACK_VALUE";
PropertyIdentifier22[PropertyIdentifier22["FILE_ACCESS_METHOD"] = 41] = "FILE_ACCESS_METHOD";
PropertyIdentifier22[PropertyIdentifier22["FILE_SIZE"] = 42] = "FILE_SIZE";
PropertyIdentifier22[PropertyIdentifier22["FILE_TYPE"] = 43] = "FILE_TYPE";
PropertyIdentifier22[PropertyIdentifier22["FIRMWARE_REVISION"] = 44] = "FIRMWARE_REVISION";
PropertyIdentifier22[PropertyIdentifier22["FLOOR_TEXT"] = 464] = "FLOOR_TEXT";
PropertyIdentifier22[PropertyIdentifier22["FULL_DUTY_BASELINE"] = 215] = "FULL_DUTY_BASELINE";
PropertyIdentifier22[PropertyIdentifier22["GLOBAL_IDENTIFIER"] = 323] = "GLOBAL_IDENTIFIER";
PropertyIdentifier22[PropertyIdentifier22["GROUP_ID"] = 465] = "GROUP_ID";
PropertyIdentifier22[PropertyIdentifier22["GROUP_MEMBER_NAMES"] = 346] = "GROUP_MEMBER_NAMES";
PropertyIdentifier22[PropertyIdentifier22["GROUP_MEMBERS"] = 345] = "GROUP_MEMBERS";
PropertyIdentifier22[PropertyIdentifier22["GROUP_MODE"] = 467] = "GROUP_MODE";
PropertyIdentifier22[PropertyIdentifier22["HIGH_LIMIT"] = 45] = "HIGH_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["HIGHER_DECK"] = 468] = "HIGHER_DECK";
PropertyIdentifier22[PropertyIdentifier22["IN_PROCESS"] = 47] = "IN_PROCESS";
PropertyIdentifier22[PropertyIdentifier22["IN_PROGRESS"] = 378] = "IN_PROGRESS";
PropertyIdentifier22[PropertyIdentifier22["INACTIVE_TEXT"] = 46] = "INACTIVE_TEXT";
PropertyIdentifier22[PropertyIdentifier22["INITIAL_TIMEOUT"] = 394] = "INITIAL_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["INPUT_REFERENCE"] = 181] = "INPUT_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["INSTALLATION_ID"] = 469] = "INSTALLATION_ID";
PropertyIdentifier22[PropertyIdentifier22["INSTANCE_OF"] = 48] = "INSTANCE_OF";
PropertyIdentifier22[PropertyIdentifier22["INSTANTANEOUS_POWER"] = 379] = "INSTANTANEOUS_POWER";
PropertyIdentifier22[PropertyIdentifier22["INTEGRAL_CONSTANT"] = 49] = "INTEGRAL_CONSTANT";
PropertyIdentifier22[PropertyIdentifier22["INTEGRAL_CONSTANT_UNITS"] = 50] = "INTEGRAL_CONSTANT_UNITS";
PropertyIdentifier22[PropertyIdentifier22["INTERFACE_VALUE"] = 387] = "INTERFACE_VALUE";
PropertyIdentifier22[PropertyIdentifier22["INTERVAL_OFFSET"] = 195] = "INTERVAL_OFFSET";
PropertyIdentifier22[PropertyIdentifier22["IP_ADDRESS"] = 400] = "IP_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["IP_DEFAULT_GATEWAY"] = 401] = "IP_DEFAULT_GATEWAY";
PropertyIdentifier22[PropertyIdentifier22["IP_DHCP_ENABLE"] = 402] = "IP_DHCP_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["IP_DHCP_LEASE_TIME"] = 403] = "IP_DHCP_LEASE_TIME";
PropertyIdentifier22[PropertyIdentifier22["IP_DHCP_LEASE_TIME_REMAINING"] = 404] = "IP_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier22[PropertyIdentifier22["IP_DHCP_SERVER"] = 405] = "IP_DHCP_SERVER";
PropertyIdentifier22[PropertyIdentifier22["IP_DNS_SERVER"] = 406] = "IP_DNS_SERVER";
PropertyIdentifier22[PropertyIdentifier22["IP_SUBNET_MASK"] = 411] = "IP_SUBNET_MASK";
PropertyIdentifier22[PropertyIdentifier22["IPV6_ADDRESS"] = 436] = "IPV6_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["IPV6_AUTO_ADDRESSING_ENABLE"] = 442] = "IPV6_AUTO_ADDRESSING_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["IPV6_DEFAULT_GATEWAY"] = 439] = "IPV6_DEFAULT_GATEWAY";
PropertyIdentifier22[PropertyIdentifier22["IPV6_DHCP_LEASE_TIME"] = 443] = "IPV6_DHCP_LEASE_TIME";
PropertyIdentifier22[PropertyIdentifier22["IPV6_DHCP_LEASE_TIME_REMAINING"] = 444] = "IPV6_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier22[PropertyIdentifier22["IPV6_DHCP_SERVER"] = 445] = "IPV6_DHCP_SERVER";
PropertyIdentifier22[PropertyIdentifier22["IPV6_DNS_SERVER"] = 441] = "IPV6_DNS_SERVER";
PropertyIdentifier22[PropertyIdentifier22["IPV6_PREFIX_LENGTH"] = 437] = "IPV6_PREFIX_LENGTH";
PropertyIdentifier22[PropertyIdentifier22["IPV6_ZONE_INDEX"] = 446] = "IPV6_ZONE_INDEX";
PropertyIdentifier22[PropertyIdentifier22["IS_UTC"] = 344] = "IS_UTC";
PropertyIdentifier22[PropertyIdentifier22["KEY_SETS"] = 330] = "KEY_SETS";
PropertyIdentifier22[PropertyIdentifier22["LANDING_CALL_CONTROL"] = 471] = "LANDING_CALL_CONTROL";
PropertyIdentifier22[PropertyIdentifier22["LANDING_CALLS"] = 470] = "LANDING_CALLS";
PropertyIdentifier22[PropertyIdentifier22["LANDING_DOOR_STATUS"] = 472] = "LANDING_DOOR_STATUS";
PropertyIdentifier22[PropertyIdentifier22["LAST_ACCESS_EVENT"] = 275] = "LAST_ACCESS_EVENT";
PropertyIdentifier22[PropertyIdentifier22["LAST_ACCESS_POINT"] = 276] = "LAST_ACCESS_POINT";
PropertyIdentifier22[PropertyIdentifier22["LAST_COMMAND_TIME"] = 432] = "LAST_COMMAND_TIME";
PropertyIdentifier22[PropertyIdentifier22["LAST_CREDENTIAL_ADDED"] = 277] = "LAST_CREDENTIAL_ADDED";
PropertyIdentifier22[PropertyIdentifier22["LAST_CREDENTIAL_ADDED_TIME"] = 278] = "LAST_CREDENTIAL_ADDED_TIME";
PropertyIdentifier22[PropertyIdentifier22["LAST_CREDENTIAL_REMOVED"] = 279] = "LAST_CREDENTIAL_REMOVED";
PropertyIdentifier22[PropertyIdentifier22["LAST_CREDENTIAL_REMOVED_TIME"] = 280] = "LAST_CREDENTIAL_REMOVED_TIME";
PropertyIdentifier22[PropertyIdentifier22["LAST_KEY_SERVER"] = 331] = "LAST_KEY_SERVER";
PropertyIdentifier22[PropertyIdentifier22["LAST_NOTIFY_RECORD"] = 173] = "LAST_NOTIFY_RECORD";
PropertyIdentifier22[PropertyIdentifier22["LAST_PRIORITY"] = 369] = "LAST_PRIORITY";
PropertyIdentifier22[PropertyIdentifier22["LAST_RESTART_REASON"] = 196] = "LAST_RESTART_REASON";
PropertyIdentifier22[PropertyIdentifier22["LAST_RESTORE_TIME"] = 157] = "LAST_RESTORE_TIME";
PropertyIdentifier22[PropertyIdentifier22["LAST_STATE_CHANGE"] = 395] = "LAST_STATE_CHANGE";
PropertyIdentifier22[PropertyIdentifier22["LAST_USE_TIME"] = 281] = "LAST_USE_TIME";
PropertyIdentifier22[PropertyIdentifier22["LIFE_SAFETY_ALARM_VALUES"] = 166] = "LIFE_SAFETY_ALARM_VALUES";
PropertyIdentifier22[PropertyIdentifier22["LIGHTING_COMMAND"] = 380] = "LIGHTING_COMMAND";
PropertyIdentifier22[PropertyIdentifier22["LIGHTING_COMMAND_DEFAULT_PRIORITY"] = 381] = "LIGHTING_COMMAND_DEFAULT_PRIORITY";
PropertyIdentifier22[PropertyIdentifier22["LIMIT_ENABLE"] = 52] = "LIMIT_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["LIMIT_MONITORING_INTERVAL"] = 182] = "LIMIT_MONITORING_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["LINK_SPEED"] = 420] = "LINK_SPEED";
PropertyIdentifier22[PropertyIdentifier22["LINK_SPEED_AUTONEGOTIATE"] = 422] = "LINK_SPEED_AUTONEGOTIATE";
PropertyIdentifier22[PropertyIdentifier22["LINK_SPEEDS"] = 421] = "LINK_SPEEDS";
PropertyIdentifier22[PropertyIdentifier22["LIST_OF_GROUP_MEMBERS"] = 53] = "LIST_OF_GROUP_MEMBERS";
PropertyIdentifier22[PropertyIdentifier22["LIST_OF_OBJECT_PROPERTY_REFERENCES"] = 54] = "LIST_OF_OBJECT_PROPERTY_REFERENCES";
PropertyIdentifier22[PropertyIdentifier22["LOCAL_DATE"] = 56] = "LOCAL_DATE";
PropertyIdentifier22[PropertyIdentifier22["LOCAL_FORWARDING_ONLY"] = 360] = "LOCAL_FORWARDING_ONLY";
PropertyIdentifier22[PropertyIdentifier22["LOCAL_TIME"] = 57] = "LOCAL_TIME";
PropertyIdentifier22[PropertyIdentifier22["LOCATION"] = 58] = "LOCATION";
PropertyIdentifier22[PropertyIdentifier22["LOCK_STATUS"] = 233] = "LOCK_STATUS";
PropertyIdentifier22[PropertyIdentifier22["LOCKOUT"] = 282] = "LOCKOUT";
PropertyIdentifier22[PropertyIdentifier22["LOCKOUT_RELINQUISH_TIME"] = 283] = "LOCKOUT_RELINQUISH_TIME";
PropertyIdentifier22[PropertyIdentifier22["LOG_BUFFER"] = 131] = "LOG_BUFFER";
PropertyIdentifier22[PropertyIdentifier22["LOG_DEVICE_OBJECT_PROPERTY"] = 132] = "LOG_DEVICE_OBJECT_PROPERTY";
PropertyIdentifier22[PropertyIdentifier22["LOG_INTERVAL"] = 134] = "LOG_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["LOGGING_OBJECT"] = 183] = "LOGGING_OBJECT";
PropertyIdentifier22[PropertyIdentifier22["LOGGING_RECORD"] = 184] = "LOGGING_RECORD";
PropertyIdentifier22[PropertyIdentifier22["LOGGING_TYPE"] = 197] = "LOGGING_TYPE";
PropertyIdentifier22[PropertyIdentifier22["LOW_DIFF_LIMIT"] = 390] = "LOW_DIFF_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["LOW_LIMIT"] = 59] = "LOW_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["LOWER_DECK"] = 473] = "LOWER_DECK";
PropertyIdentifier22[PropertyIdentifier22["MAC_ADDRESS"] = 423] = "MAC_ADDRESS";
PropertyIdentifier22[PropertyIdentifier22["MACHINE_ROOM_ID"] = 474] = "MACHINE_ROOM_ID";
PropertyIdentifier22[PropertyIdentifier22["MAINTENANCE_REQUIRED"] = 158] = "MAINTENANCE_REQUIRED";
PropertyIdentifier22[PropertyIdentifier22["MAKING_CAR_CALL"] = 475] = "MAKING_CAR_CALL";
PropertyIdentifier22[PropertyIdentifier22["MANIPULATED_VARIABLE_REFERENCE"] = 60] = "MANIPULATED_VARIABLE_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["MANUAL_SLAVE_ADDRESS_BINDING"] = 170] = "MANUAL_SLAVE_ADDRESS_BINDING";
PropertyIdentifier22[PropertyIdentifier22["MASKED_ALARM_VALUES"] = 234] = "MASKED_ALARM_VALUES";
PropertyIdentifier22[PropertyIdentifier22["MAX_ACTUAL_VALUE"] = 382] = "MAX_ACTUAL_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MAX_APDU_LENGTH_ACCEPTED"] = 62] = "MAX_APDU_LENGTH_ACCEPTED";
PropertyIdentifier22[PropertyIdentifier22["MAX_FAILED_ATTEMPTS"] = 285] = "MAX_FAILED_ATTEMPTS";
PropertyIdentifier22[PropertyIdentifier22["MAX_INFO_FRAMES"] = 63] = "MAX_INFO_FRAMES";
PropertyIdentifier22[PropertyIdentifier22["MAX_MASTER"] = 64] = "MAX_MASTER";
PropertyIdentifier22[PropertyIdentifier22["MAX_PRES_VALUE"] = 65] = "MAX_PRES_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MAX_SEGMENTS_ACCEPTED"] = 167] = "MAX_SEGMENTS_ACCEPTED";
PropertyIdentifier22[PropertyIdentifier22["MAXIMUM_OUTPUT"] = 61] = "MAXIMUM_OUTPUT";
PropertyIdentifier22[PropertyIdentifier22["MAXIMUM_VALUE"] = 135] = "MAXIMUM_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MAXIMUM_VALUE_TIMESTAMP"] = 149] = "MAXIMUM_VALUE_TIMESTAMP";
PropertyIdentifier22[PropertyIdentifier22["MEMBER_OF"] = 159] = "MEMBER_OF";
PropertyIdentifier22[PropertyIdentifier22["MEMBER_STATUS_FLAGS"] = 347] = "MEMBER_STATUS_FLAGS";
PropertyIdentifier22[PropertyIdentifier22["MEMBERS"] = 286] = "MEMBERS";
PropertyIdentifier22[PropertyIdentifier22["MIN_ACTUAL_VALUE"] = 383] = "MIN_ACTUAL_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MIN_PRES_VALUE"] = 69] = "MIN_PRES_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MINIMUM_OFF_TIME"] = 66] = "MINIMUM_OFF_TIME";
PropertyIdentifier22[PropertyIdentifier22["MINIMUM_ON_TIME"] = 67] = "MINIMUM_ON_TIME";
PropertyIdentifier22[PropertyIdentifier22["MINIMUM_OUTPUT"] = 68] = "MINIMUM_OUTPUT";
PropertyIdentifier22[PropertyIdentifier22["MINIMUM_VALUE"] = 136] = "MINIMUM_VALUE";
PropertyIdentifier22[PropertyIdentifier22["MINIMUM_VALUE_TIMESTAMP"] = 150] = "MINIMUM_VALUE_TIMESTAMP";
PropertyIdentifier22[PropertyIdentifier22["MODE"] = 160] = "MODE";
PropertyIdentifier22[PropertyIdentifier22["MODEL_NAME"] = 70] = "MODEL_NAME";
PropertyIdentifier22[PropertyIdentifier22["MODIFICATION_DATE"] = 71] = "MODIFICATION_DATE";
PropertyIdentifier22[PropertyIdentifier22["MUSTER_POINT"] = 287] = "MUSTER_POINT";
PropertyIdentifier22[PropertyIdentifier22["NEGATIVE_ACCESS_RULES"] = 288] = "NEGATIVE_ACCESS_RULES";
PropertyIdentifier22[PropertyIdentifier22["NETWORK_ACCESS_SECURITY_POLICIES"] = 332] = "NETWORK_ACCESS_SECURITY_POLICIES";
PropertyIdentifier22[PropertyIdentifier22["NETWORK_INTERFACE_NAME"] = 424] = "NETWORK_INTERFACE_NAME";
PropertyIdentifier22[PropertyIdentifier22["NETWORK_NUMBER"] = 425] = "NETWORK_NUMBER";
PropertyIdentifier22[PropertyIdentifier22["NETWORK_NUMBER_QUALITY"] = 426] = "NETWORK_NUMBER_QUALITY";
PropertyIdentifier22[PropertyIdentifier22["NETWORK_TYPE"] = 427] = "NETWORK_TYPE";
PropertyIdentifier22[PropertyIdentifier22["NEXT_STOPPING_FLOOR"] = 476] = "NEXT_STOPPING_FLOOR";
PropertyIdentifier22[PropertyIdentifier22["NODE_SUBTYPE"] = 207] = "NODE_SUBTYPE";
PropertyIdentifier22[PropertyIdentifier22["NODE_TYPE"] = 208] = "NODE_TYPE";
PropertyIdentifier22[PropertyIdentifier22["NOTIFICATION_CLASS"] = 17] = "NOTIFICATION_CLASS";
PropertyIdentifier22[PropertyIdentifier22["NOTIFICATION_THRESHOLD"] = 137] = "NOTIFICATION_THRESHOLD";
PropertyIdentifier22[PropertyIdentifier22["NOTIFY_TYPE"] = 72] = "NOTIFY_TYPE";
PropertyIdentifier22[PropertyIdentifier22["NUMBER_OF_APDU_RETRIES"] = 73] = "NUMBER_OF_APDU_RETRIES";
PropertyIdentifier22[PropertyIdentifier22["NUMBER_OF_AUTHENTICATION_POLICIES"] = 289] = "NUMBER_OF_AUTHENTICATION_POLICIES";
PropertyIdentifier22[PropertyIdentifier22["NUMBER_OF_STATES"] = 74] = "NUMBER_OF_STATES";
PropertyIdentifier22[PropertyIdentifier22["OBJECT_IDENTIFIER"] = 75] = "OBJECT_IDENTIFIER";
PropertyIdentifier22[PropertyIdentifier22["OBJECT_LIST"] = 76] = "OBJECT_LIST";
PropertyIdentifier22[PropertyIdentifier22["OBJECT_NAME"] = 77] = "OBJECT_NAME";
PropertyIdentifier22[PropertyIdentifier22["OBJECT_PROPERTY_REFERENCE"] = 78] = "OBJECT_PROPERTY_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["OBJECT_TYPE"] = 79] = "OBJECT_TYPE";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_COUNT"] = 290] = "OCCUPANCY_COUNT";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_COUNT_ADJUST"] = 291] = "OCCUPANCY_COUNT_ADJUST";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_COUNT_ENABLE"] = 292] = "OCCUPANCY_COUNT_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_LOWER_LIMIT"] = 294] = "OCCUPANCY_LOWER_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_LOWER_LIMIT_ENFORCED"] = 295] = "OCCUPANCY_LOWER_LIMIT_ENFORCED";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_STATE"] = 296] = "OCCUPANCY_STATE";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_UPPER_LIMIT"] = 297] = "OCCUPANCY_UPPER_LIMIT";
PropertyIdentifier22[PropertyIdentifier22["OCCUPANCY_UPPER_LIMIT_ENFORCED"] = 298] = "OCCUPANCY_UPPER_LIMIT_ENFORCED";
PropertyIdentifier22[PropertyIdentifier22["OPERATION_DIRECTION"] = 477] = "OPERATION_DIRECTION";
PropertyIdentifier22[PropertyIdentifier22["OPERATION_EXPECTED"] = 161] = "OPERATION_EXPECTED";
PropertyIdentifier22[PropertyIdentifier22["OPTIONAL"] = 80] = "OPTIONAL";
PropertyIdentifier22[PropertyIdentifier22["OUT_OF_SERVICE"] = 81] = "OUT_OF_SERVICE";
PropertyIdentifier22[PropertyIdentifier22["OUTPUT_UNITS"] = 82] = "OUTPUT_UNITS";
PropertyIdentifier22[PropertyIdentifier22["PACKET_REORDER_TIME"] = 333] = "PACKET_REORDER_TIME";
PropertyIdentifier22[PropertyIdentifier22["PASSBACK_MODE"] = 300] = "PASSBACK_MODE";
PropertyIdentifier22[PropertyIdentifier22["PASSBACK_TIMEOUT"] = 301] = "PASSBACK_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["PASSENGER_ALARM"] = 478] = "PASSENGER_ALARM";
PropertyIdentifier22[PropertyIdentifier22["POLARITY"] = 84] = "POLARITY";
PropertyIdentifier22[PropertyIdentifier22["PORT_FILTER"] = 363] = "PORT_FILTER";
PropertyIdentifier22[PropertyIdentifier22["POSITIVE_ACCESS_RULES"] = 302] = "POSITIVE_ACCESS_RULES";
PropertyIdentifier22[PropertyIdentifier22["POWER"] = 384] = "POWER";
PropertyIdentifier22[PropertyIdentifier22["POWER_MODE"] = 479] = "POWER_MODE";
PropertyIdentifier22[PropertyIdentifier22["PRESCALE"] = 185] = "PRESCALE";
PropertyIdentifier22[PropertyIdentifier22["PRESENT_VALUE"] = 85] = "PRESENT_VALUE";
PropertyIdentifier22[PropertyIdentifier22["PRIORITY"] = 86] = "PRIORITY";
PropertyIdentifier22[PropertyIdentifier22["PRIORITY_ARRAY"] = 87] = "PRIORITY_ARRAY";
PropertyIdentifier22[PropertyIdentifier22["PRIORITY_FOR_WRITING"] = 88] = "PRIORITY_FOR_WRITING";
PropertyIdentifier22[PropertyIdentifier22["PROCESS_IDENTIFIER"] = 89] = "PROCESS_IDENTIFIER";
PropertyIdentifier22[PropertyIdentifier22["PROCESS_IDENTIFIER_FILTER"] = 361] = "PROCESS_IDENTIFIER_FILTER";
PropertyIdentifier22[PropertyIdentifier22["PROFILE_LOCATION"] = 485] = "PROFILE_LOCATION";
PropertyIdentifier22[PropertyIdentifier22["PROFILE_NAME"] = 168] = "PROFILE_NAME";
PropertyIdentifier22[PropertyIdentifier22["PROGRAM_CHANGE"] = 90] = "PROGRAM_CHANGE";
PropertyIdentifier22[PropertyIdentifier22["PROGRAM_LOCATION"] = 91] = "PROGRAM_LOCATION";
PropertyIdentifier22[PropertyIdentifier22["PROGRAM_STATE"] = 92] = "PROGRAM_STATE";
PropertyIdentifier22[PropertyIdentifier22["PROPERTY_LIST"] = 371] = "PROPERTY_LIST";
PropertyIdentifier22[PropertyIdentifier22["PROPORTIONAL_CONSTANT"] = 93] = "PROPORTIONAL_CONSTANT";
PropertyIdentifier22[PropertyIdentifier22["PROPORTIONAL_CONSTANT_UNITS"] = 94] = "PROPORTIONAL_CONSTANT_UNITS";
PropertyIdentifier22[PropertyIdentifier22["PROTOCOL_LEVEL"] = 482] = "PROTOCOL_LEVEL";
PropertyIdentifier22[PropertyIdentifier22["PROTOCOL_OBJECT_TYPES_SUPPORTED"] = 96] = "PROTOCOL_OBJECT_TYPES_SUPPORTED";
PropertyIdentifier22[PropertyIdentifier22["PROTOCOL_REVISION"] = 139] = "PROTOCOL_REVISION";
PropertyIdentifier22[PropertyIdentifier22["PROTOCOL_SERVICES_SUPPORTED"] = 97] = "PROTOCOL_SERVICES_SUPPORTED";
PropertyIdentifier22[PropertyIdentifier22["PROTOCOL_VERSION"] = 98] = "PROTOCOL_VERSION";
PropertyIdentifier22[PropertyIdentifier22["PULSE_RATE"] = 186] = "PULSE_RATE";
PropertyIdentifier22[PropertyIdentifier22["READ_ONLY"] = 99] = "READ_ONLY";
PropertyIdentifier22[PropertyIdentifier22["REASON_FOR_DISABLE"] = 303] = "REASON_FOR_DISABLE";
PropertyIdentifier22[PropertyIdentifier22["REASON_FOR_HALT"] = 100] = "REASON_FOR_HALT";
PropertyIdentifier22[PropertyIdentifier22["RECIPIENT_LIST"] = 102] = "RECIPIENT_LIST";
PropertyIdentifier22[PropertyIdentifier22["RECORD_COUNT"] = 141] = "RECORD_COUNT";
PropertyIdentifier22[PropertyIdentifier22["RECORDS_SINCE_NOTIFICATION"] = 140] = "RECORDS_SINCE_NOTIFICATION";
PropertyIdentifier22[PropertyIdentifier22["REFERENCE_PORT"] = 483] = "REFERENCE_PORT";
PropertyIdentifier22[PropertyIdentifier22["REGISTERED_CAR_CALL"] = 480] = "REGISTERED_CAR_CALL";
PropertyIdentifier22[PropertyIdentifier22["RELIABILITY"] = 103] = "RELIABILITY";
PropertyIdentifier22[PropertyIdentifier22["RELIABILITY_EVALUATION_INHIBIT"] = 357] = "RELIABILITY_EVALUATION_INHIBIT";
PropertyIdentifier22[PropertyIdentifier22["RELINQUISH_DEFAULT"] = 104] = "RELINQUISH_DEFAULT";
PropertyIdentifier22[PropertyIdentifier22["REPRESENTS"] = 491] = "REPRESENTS";
PropertyIdentifier22[PropertyIdentifier22["REQUESTED_SHED_LEVEL"] = 218] = "REQUESTED_SHED_LEVEL";
PropertyIdentifier22[PropertyIdentifier22["REQUESTED_UPDATE_INTERVAL"] = 348] = "REQUESTED_UPDATE_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["REQUIRED"] = 105] = "REQUIRED";
PropertyIdentifier22[PropertyIdentifier22["RESOLUTION"] = 106] = "RESOLUTION";
PropertyIdentifier22[PropertyIdentifier22["RESTART_NOTIFICATION_RECIPIENTS"] = 202] = "RESTART_NOTIFICATION_RECIPIENTS";
PropertyIdentifier22[PropertyIdentifier22["RESTORE_COMPLETION_TIME"] = 340] = "RESTORE_COMPLETION_TIME";
PropertyIdentifier22[PropertyIdentifier22["RESTORE_PREPARATION_TIME"] = 341] = "RESTORE_PREPARATION_TIME";
PropertyIdentifier22[PropertyIdentifier22["ROUTING_TABLE"] = 428] = "ROUTING_TABLE";
PropertyIdentifier22[PropertyIdentifier22["SCALE"] = 187] = "SCALE";
PropertyIdentifier22[PropertyIdentifier22["SCALE_FACTOR"] = 188] = "SCALE_FACTOR";
PropertyIdentifier22[PropertyIdentifier22["SCHEDULE_DEFAULT"] = 174] = "SCHEDULE_DEFAULT";
PropertyIdentifier22[PropertyIdentifier22["SECURED_STATUS"] = 235] = "SECURED_STATUS";
PropertyIdentifier22[PropertyIdentifier22["SECURITY_PDU_TIMEOUT"] = 334] = "SECURITY_PDU_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["SECURITY_TIME_WINDOW"] = 335] = "SECURITY_TIME_WINDOW";
PropertyIdentifier22[PropertyIdentifier22["SEGMENTATION_SUPPORTED"] = 107] = "SEGMENTATION_SUPPORTED";
PropertyIdentifier22[PropertyIdentifier22["SERIAL_NUMBER"] = 372] = "SERIAL_NUMBER";
PropertyIdentifier22[PropertyIdentifier22["SETPOINT"] = 108] = "SETPOINT";
PropertyIdentifier22[PropertyIdentifier22["SETPOINT_REFERENCE"] = 109] = "SETPOINT_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["SETTING"] = 162] = "SETTING";
PropertyIdentifier22[PropertyIdentifier22["SHED_DURATION"] = 219] = "SHED_DURATION";
PropertyIdentifier22[PropertyIdentifier22["SHED_LEVEL_DESCRIPTIONS"] = 220] = "SHED_LEVEL_DESCRIPTIONS";
PropertyIdentifier22[PropertyIdentifier22["SHED_LEVELS"] = 221] = "SHED_LEVELS";
PropertyIdentifier22[PropertyIdentifier22["SILENCED"] = 163] = "SILENCED";
PropertyIdentifier22[PropertyIdentifier22["SLAVE_ADDRESS_BINDING"] = 171] = "SLAVE_ADDRESS_BINDING";
PropertyIdentifier22[PropertyIdentifier22["SLAVE_PROXY_ENABLE"] = 172] = "SLAVE_PROXY_ENABLE";
PropertyIdentifier22[PropertyIdentifier22["START_TIME"] = 142] = "START_TIME";
PropertyIdentifier22[PropertyIdentifier22["STATE_CHANGE_VALUES"] = 396] = "STATE_CHANGE_VALUES";
PropertyIdentifier22[PropertyIdentifier22["STATE_DESCRIPTION"] = 222] = "STATE_DESCRIPTION";
PropertyIdentifier22[PropertyIdentifier22["STATE_TEXT"] = 110] = "STATE_TEXT";
PropertyIdentifier22[PropertyIdentifier22["STATUS_FLAGS"] = 111] = "STATUS_FLAGS";
PropertyIdentifier22[PropertyIdentifier22["STOP_TIME"] = 143] = "STOP_TIME";
PropertyIdentifier22[PropertyIdentifier22["STOP_WHEN_FULL"] = 144] = "STOP_WHEN_FULL";
PropertyIdentifier22[PropertyIdentifier22["STRIKE_COUNT"] = 391] = "STRIKE_COUNT";
PropertyIdentifier22[PropertyIdentifier22["STRUCTURED_OBJECT_LIST"] = 209] = "STRUCTURED_OBJECT_LIST";
PropertyIdentifier22[PropertyIdentifier22["SUBORDINATE_ANNOTATIONS"] = 210] = "SUBORDINATE_ANNOTATIONS";
PropertyIdentifier22[PropertyIdentifier22["SUBORDINATE_LIST"] = 211] = "SUBORDINATE_LIST";
PropertyIdentifier22[PropertyIdentifier22["SUBORDINATE_NODE_TYPES"] = 487] = "SUBORDINATE_NODE_TYPES";
PropertyIdentifier22[PropertyIdentifier22["SUBORDINATE_RELATIONSHIPS"] = 489] = "SUBORDINATE_RELATIONSHIPS";
PropertyIdentifier22[PropertyIdentifier22["SUBORDINATE_TAGS"] = 488] = "SUBORDINATE_TAGS";
PropertyIdentifier22[PropertyIdentifier22["SUBSCRIBED_RECIPIENTS"] = 362] = "SUBSCRIBED_RECIPIENTS";
PropertyIdentifier22[PropertyIdentifier22["SUPPORTED_FORMAT_CLASSES"] = 305] = "SUPPORTED_FORMAT_CLASSES";
PropertyIdentifier22[PropertyIdentifier22["SUPPORTED_FORMATS"] = 304] = "SUPPORTED_FORMATS";
PropertyIdentifier22[PropertyIdentifier22["SUPPORTED_SECURITY_ALGORITHMS"] = 336] = "SUPPORTED_SECURITY_ALGORITHMS";
PropertyIdentifier22[PropertyIdentifier22["SYSTEM_STATUS"] = 112] = "SYSTEM_STATUS";
PropertyIdentifier22[PropertyIdentifier22["TAGS"] = 486] = "TAGS";
PropertyIdentifier22[PropertyIdentifier22["THREAT_AUTHORITY"] = 306] = "THREAT_AUTHORITY";
PropertyIdentifier22[PropertyIdentifier22["THREAT_LEVEL"] = 307] = "THREAT_LEVEL";
PropertyIdentifier22[PropertyIdentifier22["TIME_DELAY"] = 113] = "TIME_DELAY";
PropertyIdentifier22[PropertyIdentifier22["TIME_DELAY_NORMAL"] = 356] = "TIME_DELAY_NORMAL";
PropertyIdentifier22[PropertyIdentifier22["TIME_OF_ACTIVE_TIME_RESET"] = 114] = "TIME_OF_ACTIVE_TIME_RESET";
PropertyIdentifier22[PropertyIdentifier22["TIME_OF_DEVICE_RESTART"] = 203] = "TIME_OF_DEVICE_RESTART";
PropertyIdentifier22[PropertyIdentifier22["TIME_OF_STATE_COUNT_RESET"] = 115] = "TIME_OF_STATE_COUNT_RESET";
PropertyIdentifier22[PropertyIdentifier22["TIME_OF_STRIKE_COUNT_RESET"] = 392] = "TIME_OF_STRIKE_COUNT_RESET";
PropertyIdentifier22[PropertyIdentifier22["TIME_SYNCHRONIZATION_INTERVAL"] = 204] = "TIME_SYNCHRONIZATION_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["TIME_SYNCHRONIZATION_RECIPIENTS"] = 116] = "TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier22[PropertyIdentifier22["TIMER_RUNNING"] = 397] = "TIMER_RUNNING";
PropertyIdentifier22[PropertyIdentifier22["TIMER_STATE"] = 398] = "TIMER_STATE";
PropertyIdentifier22[PropertyIdentifier22["TOTAL_RECORD_COUNT"] = 145] = "TOTAL_RECORD_COUNT";
PropertyIdentifier22[PropertyIdentifier22["TRACE_FLAG"] = 308] = "TRACE_FLAG";
PropertyIdentifier22[PropertyIdentifier22["TRACKING_VALUE"] = 164] = "TRACKING_VALUE";
PropertyIdentifier22[PropertyIdentifier22["TRANSACTION_NOTIFICATION_CLASS"] = 309] = "TRANSACTION_NOTIFICATION_CLASS";
PropertyIdentifier22[PropertyIdentifier22["TRANSITION"] = 385] = "TRANSITION";
PropertyIdentifier22[PropertyIdentifier22["TRIGGER"] = 205] = "TRIGGER";
PropertyIdentifier22[PropertyIdentifier22["UNITS"] = 117] = "UNITS";
PropertyIdentifier22[PropertyIdentifier22["UPDATE_INTERVAL"] = 118] = "UPDATE_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["UPDATE_KEY_SET_TIMEOUT"] = 337] = "UPDATE_KEY_SET_TIMEOUT";
PropertyIdentifier22[PropertyIdentifier22["UPDATE_TIME"] = 189] = "UPDATE_TIME";
PropertyIdentifier22[PropertyIdentifier22["USER_EXTERNAL_IDENTIFIER"] = 310] = "USER_EXTERNAL_IDENTIFIER";
PropertyIdentifier22[PropertyIdentifier22["USER_INFORMATION_REFERENCE"] = 311] = "USER_INFORMATION_REFERENCE";
PropertyIdentifier22[PropertyIdentifier22["USER_NAME"] = 317] = "USER_NAME";
PropertyIdentifier22[PropertyIdentifier22["USER_TYPE"] = 318] = "USER_TYPE";
PropertyIdentifier22[PropertyIdentifier22["USES_REMAINING"] = 319] = "USES_REMAINING";
PropertyIdentifier22[PropertyIdentifier22["UTC_OFFSET"] = 119] = "UTC_OFFSET";
PropertyIdentifier22[PropertyIdentifier22["UTC_TIME_SYNCHRONIZATION_RECIPIENTS"] = 206] = "UTC_TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier22[PropertyIdentifier22["VALID_SAMPLES"] = 146] = "VALID_SAMPLES";
PropertyIdentifier22[PropertyIdentifier22["VALUE_BEFORE_CHANGE"] = 190] = "VALUE_BEFORE_CHANGE";
PropertyIdentifier22[PropertyIdentifier22["VALUE_CHANGE_TIME"] = 192] = "VALUE_CHANGE_TIME";
PropertyIdentifier22[PropertyIdentifier22["VALUE_SET"] = 191] = "VALUE_SET";
PropertyIdentifier22[PropertyIdentifier22["VALUE_SOURCE"] = 433] = "VALUE_SOURCE";
PropertyIdentifier22[PropertyIdentifier22["VALUE_SOURCE_ARRAY"] = 434] = "VALUE_SOURCE_ARRAY";
PropertyIdentifier22[PropertyIdentifier22["VARIANCE_VALUE"] = 151] = "VARIANCE_VALUE";
PropertyIdentifier22[PropertyIdentifier22["VENDOR_IDENTIFIER"] = 120] = "VENDOR_IDENTIFIER";
PropertyIdentifier22[PropertyIdentifier22["VENDOR_NAME"] = 121] = "VENDOR_NAME";
PropertyIdentifier22[PropertyIdentifier22["VERIFICATION_TIME"] = 326] = "VERIFICATION_TIME";
PropertyIdentifier22[PropertyIdentifier22["VIRTUAL_MAC_ADDRESS_TABLE"] = 429] = "VIRTUAL_MAC_ADDRESS_TABLE";
PropertyIdentifier22[PropertyIdentifier22["VT_CLASSES_SUPPORTED"] = 122] = "VT_CLASSES_SUPPORTED";
PropertyIdentifier22[PropertyIdentifier22["WEEKLY_SCHEDULE"] = 123] = "WEEKLY_SCHEDULE";
PropertyIdentifier22[PropertyIdentifier22["WINDOW_INTERVAL"] = 147] = "WINDOW_INTERVAL";
PropertyIdentifier22[PropertyIdentifier22["WINDOW_SAMPLES"] = 148] = "WINDOW_SAMPLES";
PropertyIdentifier22[PropertyIdentifier22["WRITE_STATUS"] = 370] = "WRITE_STATUS";
PropertyIdentifier22[PropertyIdentifier22["ZONE_FROM"] = 320] = "ZONE_FROM";
PropertyIdentifier22[PropertyIdentifier22["ZONE_MEMBERS"] = 165] = "ZONE_MEMBERS";
PropertyIdentifier22[PropertyIdentifier22["ZONE_TO"] = 321] = "ZONE_TO";
return PropertyIdentifier22;
})(PropertyIdentifier2 || {});
var ProtocolLevel2 = /* @__PURE__ */ ((ProtocolLevel22) => {
ProtocolLevel22[ProtocolLevel22["PHYSICAL"] = 0] = "PHYSICAL";
ProtocolLevel22[ProtocolLevel22["PROTOCOL"] = 1] = "PROTOCOL";
ProtocolLevel22[ProtocolLevel22["BACNET_APPLICATION"] = 2] = "BACNET_APPLICATION";
ProtocolLevel22[ProtocolLevel22["NON_BACNET_APPLICATION"] = 3] = "NON_BACNET_APPLICATION";
return ProtocolLevel22;
})(ProtocolLevel2 || {});
var Relationship2 = /* @__PURE__ */ ((Relationship22) => {
Relationship22[Relationship22["UNKNOWN"] = 0] = "UNKNOWN";
Relationship22[Relationship22["DEFAULT"] = 1] = "DEFAULT";
Relationship22[Relationship22["CONTAINS"] = 2] = "CONTAINS";
Relationship22[Relationship22["CONTAINED_BY"] = 3] = "CONTAINED_BY";
Relationship22[Relationship22["USES"] = 4] = "USES";
Relationship22[Relationship22["USED_BY"] = 5] = "USED_BY";
Relationship22[Relationship22["COMMANDS"] = 6] = "COMMANDS";
Relationship22[Relationship22["COMMANDED_BY"] = 7] = "COMMANDED_BY";
Relationship22[Relationship22["ADJUSTS"] = 8] = "ADJUSTS";
Relationship22[Relationship22["ADJUSTED_BY"] = 9] = "ADJUSTED_BY";
Relationship22[Relationship22["INGRESS"] = 10] = "INGRESS";
Relationship22[Relationship22["EGRESS"] = 11] = "EGRESS";
Relationship22[Relationship22["SUPPLIES_AIR"] = 12] = "SUPPLIES_AIR";
Relationship22[Relationship22["RECEIVES_AIR"] = 13] = "RECEIVES_AIR";
Relationship22[Relationship22["SUPPLIES_HOT_AIR"] = 14] = "SUPPLIES_HOT_AIR";
Relationship22[Relationship22["RECEIVES_HOT_AIR"] = 15] = "RECEIVES_HOT_AIR";
Relationship22[Relationship22["SUPPLIES_COOL_AIR"] = 16] = "SUPPLIES_COOL_AIR";
Relationship22[Relationship22["RECEIVES_COOL_AIR"] = 17] = "RECEIVES_COOL_AIR";
Relationship22[Relationship22["SUPPLIES_POWER"] = 18] = "SUPPLIES_POWER";
Relationship22[Relationship22["RECEIVES_POWER"] = 19] = "RECEIVES_POWER";
Relationship22[Relationship22["SUPPLIES_GAS"] = 20] = "SUPPLIES_GAS";
Relationship22[Relationship22["RECEIVES_GAS"] = 21] = "RECEIVES_GAS";
Relationship22[Relationship22["SUPPLIES_WATER"] = 22] = "SUPPLIES_WATER";
Relationship22[Relationship22["RECEIVES_WATER"] = 23] = "RECEIVES_WATER";
Relationship22[Relationship22["SUPPLIES_HOT_WATER"] = 24] = "SUPPLIES_HOT_WATER";
Relationship22[Relationship22["RECEIVES_HOT_WATER"] = 25] = "RECEIVES_HOT_WATER";
Relationship22[Relationship22["SUPPLIES_COOL_WATER"] = 26] = "SUPPLIES_COOL_WATER";
Relationship22[Relationship22["RECEIVES_COOL_WATER"] = 27] = "RECEIVES_COOL_WATER";
Relationship22[Relationship22["SUPPLIES_STEAM"] = 28] = "SUPPLIES_STEAM";
Relationship22[Relationship22["RECEIVES_STEAM"] = 29] = "RECEIVES_STEAM";
return Relationship22;
})(Relationship2 || {});
var Reliability2 = /* @__PURE__ */ ((Reliability22) => {
Reliability22[Reliability22["NO_FAULT_DETECTED"] = 0] = "NO_FAULT_DETECTED";
Reliability22[Reliability22["NO_SENSOR"] = 1] = "NO_SENSOR";
Reliability22[Reliability22["OVER_RANGE"] = 2] = "OVER_RANGE";
Reliability22[Reliability22["UNDER_RANGE"] = 3] = "UNDER_RANGE";
Reliability22[Reliability22["OPEN_LOOP"] = 4] = "OPEN_LOOP";
Reliability22[Reliability22["SHORTED_LOOP"] = 5] = "SHORTED_LOOP";
Reliability22[Reliability22["NO_OUTPUT"] = 6] = "NO_OUTPUT";
Reliability22[Reliability22["UNRELIABLE_OTHER"] = 7] = "UNRELIABLE_OTHER";
Reliability22[Reliability22["PROCESS_ERROR"] = 8] = "PROCESS_ERROR";
Reliability22[Reliability22["MULTI_STATE_FAULT"] = 9] = "MULTI_STATE_FAULT";
Reliability22[Reliability22["CONFIGURATION_ERROR"] = 10] = "CONFIGURATION_ERROR";
Reliability22[Reliability22["COMMUNICATION_FAILURE"] = 12] = "COMMUNICATION_FAILURE";
Reliability22[Reliability22["MEMBER_FAULT"] = 13] = "MEMBER_FAULT";
Reliability22[Reliability22["MONITORED_OBJECT_FAULT"] = 14] = "MONITORED_OBJECT_FAULT";
Reliability22[Reliability22["TRIPPED"] = 15] = "TRIPPED";
Reliability22[Reliability22["LAMP_FAILURE"] = 16] = "LAMP_FAILURE";
Reliability22[Reliability22["ACTIVATION_FAILURE"] = 17] = "ACTIVATION_FAILURE";
Reliability22[Reliability22["RENEW_DHCP_FAILURE"] = 18] = "RENEW_DHCP_FAILURE";
Reliability22[Reliability22["RENEW_FD_REGISTRATION_FAILURE"] = 19] = "RENEW_FD_REGISTRATION_FAILURE";
Reliability22[Reliability22["RESTART_AUTO_NEGOTIATION_FAILURE"] = 20] = "RESTART_AUTO_NEGOTIATION_FAILURE";
Reliability22[Reliability22["RESTART_FAILURE"] = 21] = "RESTART_FAILURE";
Reliability22[Reliability22["PROPRIETARY_COMMAND_FAILURE"] = 22] = "PROPRIETARY_COMMAND_FAILURE";
Reliability22[Reliability22["FAULTS_LISTED"] = 23] = "FAULTS_LISTED";
Reliability22[Reliability22["REFERENCED_OBJECT_FAULT"] = 24] = "REFERENCED_OBJECT_FAULT";
return Reliability22;
})(Reliability2 || {});
var RestartReason2 = /* @__PURE__ */ ((RestartReason22) => {
RestartReason22[RestartReason22["UNKNOWN"] = 0] = "UNKNOWN";
RestartReason22[RestartReason22["COLDSTART"] = 1] = "COLDSTART";
RestartReason22[RestartReason22["WARMSTART"] = 2] = "WARMSTART";
RestartReason22[RestartReason22["DETECTED_POWER_LOST"] = 3] = "DETECTED_POWER_LOST";
RestartReason22[RestartReason22["DETECTED_POWERED_OFF"] = 4] = "DETECTED_POWERED_OFF";
RestartReason22[RestartReason22["HARDWARE_WATCHDOG"] = 5] = "HARDWARE_WATCHDOG";
RestartReason22[RestartReason22["SOFTWARE_WATCHDOG"] = 6] = "SOFTWARE_WATCHDOG";
RestartReason22[RestartReason22["SUSPENDED"] = 7] = "SUSPENDED";
RestartReason22[RestartReason22["ACTIVATE_CHANGES"] = 8] = "ACTIVATE_CHANGES";
return RestartReason22;
})(RestartReason2 || {});
var SecurityLevel2 = /* @__PURE__ */ ((SecurityLevel22) => {
SecurityLevel22[SecurityLevel22["INCAPABLE"] = 0] = "INCAPABLE";
SecurityLevel22[SecurityLevel22["PLAIN"] = 1] = "PLAIN";
SecurityLevel22[SecurityLevel22["SIGNED"] = 2] = "SIGNED";
SecurityLevel22[SecurityLevel22["ENCRYPTED"] = 3] = "ENCRYPTED";
SecurityLevel22[SecurityLevel22["SIGNED_END_TO_END"] = 4] = "SIGNED_END_TO_END";
SecurityLevel22[SecurityLevel22["ENCRYPTED_END_TO_END"] = 5] = "ENCRYPTED_END_TO_END";
return SecurityLevel22;
})(SecurityLevel2 || {});
var SecurityPolicy2 = /* @__PURE__ */ ((SecurityPolicy22) => {
SecurityPolicy22[SecurityPolicy22["PLAIN_NON_TRUSTED"] = 0] = "PLAIN_NON_TRUSTED";
SecurityPolicy22[SecurityPolicy22["PLAIN_TRUSTED"] = 1] = "PLAIN_TRUSTED";
SecurityPolicy22[SecurityPolicy22["SIGNED_TRUSTED"] = 2] = "SIGNED_TRUSTED";
SecurityPolicy22[SecurityPolicy22["ENCRYPTED_TRUSTED"] = 3] = "ENCRYPTED_TRUSTED";
return SecurityPolicy22;
})(SecurityPolicy2 || {});
var Segmentation2 = /* @__PURE__ */ ((Segmentation22) => {
Segmentation22[Segmentation22["SEGMENTED_BOTH"] = 0] = "SEGMENTED_BOTH";
Segmentation22[Segmentation22["SEGMENTED_TRANSMIT"] = 1] = "SEGMENTED_TRANSMIT";
Segmentation22[Segmentation22["SEGMENTED_RECEIVE"] = 2] = "SEGMENTED_RECEIVE";
Segmentation22[Segmentation22["NO_SEGMENTATION"] = 3] = "NO_SEGMENTATION";
return Segmentation22;
})(Segmentation2 || {});
var ShedState2 = /* @__PURE__ */ ((ShedState22) => {
ShedState22[ShedState22["SHED_INACTIVE"] = 0] = "SHED_INACTIVE";
ShedState22[ShedState22["SHED_REQUEST_PENDING"] = 1] = "SHED_REQUEST_PENDING";
ShedState22[ShedState22["SHED_COMPLIANT"] = 2] = "SHED_COMPLIANT";
ShedState22[ShedState22["SHED_NON_COMPLIANT"] = 3] = "SHED_NON_COMPLIANT";
return ShedState22;
})(ShedState2 || {});
var SilencedState2 = /* @__PURE__ */ ((SilencedState22) => {
SilencedState22[SilencedState22["UNSILENCED"] = 0] = "UNSILENCED";
SilencedState22[SilencedState22["AUDIBLE_SILENCED"] = 1] = "AUDIBLE_SILENCED";
SilencedState22[SilencedState22["VISIBLE_SILENCED"] = 2] = "VISIBLE_SILENCED";
SilencedState22[SilencedState22["ALL_SILENCED"] = 3] = "ALL_SILENCED";
return SilencedState22;
})(SilencedState2 || {});
var TimerState2 = /* @__PURE__ */ ((TimerState22) => {
TimerState22[TimerState22["IDLE"] = 0] = "IDLE";
TimerState22[TimerState22["RUNNING"] = 1] = "RUNNING";
TimerState22[TimerState22["EXPIRED"] = 2] = "EXPIRED";
return TimerState22;
})(TimerState2 || {});
var TimerTransition2 = /* @__PURE__ */ ((TimerTransition22) => {
TimerTransition22[TimerTransition22["NONE"] = 0] = "NONE";
TimerTransition22[TimerTransition22["IDLE_TO_RUNNING"] = 1] = "IDLE_TO_RUNNING";
TimerTransition22[TimerTransition22["RUNNING_TO_IDLE"] = 2] = "RUNNING_TO_IDLE";
TimerTransition22[TimerTransition22["RUNNING_TO_RUNNING"] = 3] = "RUNNING_TO_RUNNING";
TimerTransition22[TimerTransition22["RUNNING_TO_EXPIRED"] = 4] = "RUNNING_TO_EXPIRED";
TimerTransition22[TimerTransition22["FORCED_TO_EXPIRED"] = 5] = "FORCED_TO_EXPIRED";
TimerTransition22[TimerTransition22["EXPIRED_TO_IDLE"] = 6] = "EXPIRED_TO_IDLE";
TimerTransition22[TimerTransition22["EXPIRED_TO_RUNNING"] = 7] = "EXPIRED_TO_RUNNING";
return TimerTransition22;
})(TimerTransition2 || {});
var VTClass2 = /* @__PURE__ */ ((VTClass22) => {
VTClass22[VTClass22["DEFAULT_TERMINAL"] = 0] = "DEFAULT_TERMINAL";
VTClass22[VTClass22["ANSI_X3_64"] = 1] = "ANSI_X3_64";
VTClass22[VTClass22["DEC_VT52"] = 2] = "DEC_VT52";
VTClass22[VTClass22["DEC_VT100"] = 3] = "DEC_VT100";
VTClass22[VTClass22["DEC_VT220"] = 4] = "DEC_VT220";
VTClass22[VTClass22["HP_700_94"] = 5] = "HP_700_94";
VTClass22[VTClass22["IBM_3130"] = 6] = "IBM_3130";
return VTClass22;
})(VTClass2 || {});
var WriteStatus2 = /* @__PURE__ */ ((WriteStatus22) => {
WriteStatus22[WriteStatus22["IDLE"] = 0] = "IDLE";
WriteStatus22[WriteStatus22["IN_PROGRESS"] = 1] = "IN_PROGRESS";
WriteStatus22[WriteStatus22["SUCCESSFUL"] = 2] = "SUCCESSFUL";
WriteStatus22[WriteStatus22["FAILED"] = 3] = "FAILED";
return WriteStatus22;
})(WriteStatus2 || {});
var DaysOfWeek2 = /* @__PURE__ */ ((DaysOfWeek22) => {
DaysOfWeek22[DaysOfWeek22["MONDAY"] = 0] = "MONDAY";
DaysOfWeek22[DaysOfWeek22["TUESDAY"] = 1] = "TUESDAY";
DaysOfWeek22[DaysOfWeek22["WEDNESDAY"] = 2] = "WEDNESDAY";
DaysOfWeek22[DaysOfWeek22["THURSDAY"] = 3] = "THURSDAY";
DaysOfWeek22[DaysOfWeek22["FRIDAY"] = 4] = "FRIDAY";
DaysOfWeek22[DaysOfWeek22["SATURDAY"] = 5] = "SATURDAY";
DaysOfWeek22[DaysOfWeek22["SUNDAY"] = 6] = "SUNDAY";
return DaysOfWeek22;
})(DaysOfWeek2 || {});
var EventTransitionBits2 = /* @__PURE__ */ ((EventTransitionBits22) => {
EventTransitionBits22[EventTransitionBits22["TO_OFFNORMAL"] = 0] = "TO_OFFNORMAL";
EventTransitionBits22[EventTransitionBits22["TO_FAULT"] = 1] = "TO_FAULT";
EventTransitionBits22[EventTransitionBits22["TO_NORMAL"] = 2] = "TO_NORMAL";
return EventTransitionBits22;
})(EventTransitionBits2 || {});
var LimitEnable2 = /* @__PURE__ */ ((LimitEnable22) => {
LimitEnable22[LimitEnable22["LOW_LIMIT_ENABLE"] = 0] = "LOW_LIMIT_ENABLE";
LimitEnable22[LimitEnable22["HIGH_LIMIT_ENABLE"] = 1] = "HIGH_LIMIT_ENABLE";
return LimitEnable22;
})(LimitEnable2 || {});
var LogStatus2 = /* @__PURE__ */ ((LogStatus22) => {
LogStatus22[LogStatus22["LOG_DISABLED"] = 0] = "LOG_DISABLED";
LogStatus22[LogStatus22["BUFFER_PURGED"] = 1] = "BUFFER_PURGED";
LogStatus22[LogStatus22["LOG_INTERRUPTED"] = 2] = "LOG_INTERRUPTED";
return LogStatus22;
})(LogStatus2 || {});
var ObjectTypesSupported2 = /* @__PURE__ */ ((ObjectTypesSupported22) => {
ObjectTypesSupported22[ObjectTypesSupported22["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectTypesSupported22[ObjectTypesSupported22["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectTypesSupported22[ObjectTypesSupported22["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectTypesSupported22[ObjectTypesSupported22["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectTypesSupported22[ObjectTypesSupported22["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["CALENDAR"] = 6] = "CALENDAR";
ObjectTypesSupported22[ObjectTypesSupported22["COMMAND"] = 7] = "COMMAND";
ObjectTypesSupported22[ObjectTypesSupported22["DEVICE"] = 8] = "DEVICE";
ObjectTypesSupported22[ObjectTypesSupported22["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectTypesSupported22[ObjectTypesSupported22["FILE"] = 10] = "FILE";
ObjectTypesSupported22[ObjectTypesSupported22["GROUP"] = 11] = "GROUP";
ObjectTypesSupported22[ObjectTypesSupported22["LOOP"] = 12] = "LOOP";
ObjectTypesSupported22[ObjectTypesSupported22["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectTypesSupported22[ObjectTypesSupported22["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectTypesSupported22[ObjectTypesSupported22["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectTypesSupported22[ObjectTypesSupported22["PROGRAM"] = 16] = "PROGRAM";
ObjectTypesSupported22[ObjectTypesSupported22["SCHEDULE"] = 17] = "SCHEDULE";
ObjectTypesSupported22[ObjectTypesSupported22["AVERAGING"] = 18] = "AVERAGING";
ObjectTypesSupported22[ObjectTypesSupported22["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["TREND_LOG"] = 20] = "TREND_LOG";
ObjectTypesSupported22[ObjectTypesSupported22["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectTypesSupported22[ObjectTypesSupported22["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectTypesSupported22[ObjectTypesSupported22["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectTypesSupported22[ObjectTypesSupported22["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectTypesSupported22[ObjectTypesSupported22["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectTypesSupported22[ObjectTypesSupported22["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectTypesSupported22[ObjectTypesSupported22["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
ObjectTypesSupported22[ObjectTypesSupported22["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectTypesSupported22[ObjectTypesSupported22["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectTypesSupported22[ObjectTypesSupported22["TIMER"] = 31] = "TIMER";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectTypesSupported22[ObjectTypesSupported22["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectTypesSupported22[ObjectTypesSupported22["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectTypesSupported22[ObjectTypesSupported22["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectTypesSupported22[ObjectTypesSupported22["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectTypesSupported22[ObjectTypesSupported22["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectTypesSupported22[ObjectTypesSupported22["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectTypesSupported22[ObjectTypesSupported22["CHANNEL"] = 53] = "CHANNEL";
ObjectTypesSupported22[ObjectTypesSupported22["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectTypesSupported22[ObjectTypesSupported22["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectTypesSupported22[ObjectTypesSupported22["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectTypesSupported22[ObjectTypesSupported22["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectTypesSupported22[ObjectTypesSupported22["ESCALATOR"] = 58] = "ESCALATOR";
ObjectTypesSupported22[ObjectTypesSupported22["LIFT"] = 59] = "LIFT";
return ObjectTypesSupported22;
})(ObjectTypesSupported2 || {});
var ResultFlags2 = /* @__PURE__ */ ((ResultFlags22) => {
ResultFlags22[ResultFlags22["FIRST_ITEM"] = 0] = "FIRST_ITEM";
ResultFlags22[ResultFlags22["LAST_ITEM"] = 1] = "LAST_ITEM";
ResultFlags22[ResultFlags22["MORE_ITEMS"] = 2] = "MORE_ITEMS";
return ResultFlags22;
})(ResultFlags2 || {});
var ServicesSupported2 = /* @__PURE__ */ ((ServicesSupported22) => {
ServicesSupported22[ServicesSupported22["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ServicesSupported22[ServicesSupported22["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ServicesSupported22[ServicesSupported22["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ServicesSupported22[ServicesSupported22["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ServicesSupported22[ServicesSupported22["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ServicesSupported22[ServicesSupported22["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ServicesSupported22[ServicesSupported22["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ServicesSupported22[ServicesSupported22["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ServicesSupported22[ServicesSupported22["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ServicesSupported22[ServicesSupported22["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ServicesSupported22[ServicesSupported22["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ServicesSupported22[ServicesSupported22["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ServicesSupported22[ServicesSupported22["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ServicesSupported22[ServicesSupported22["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ServicesSupported22[ServicesSupported22["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ServicesSupported22[ServicesSupported22["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ServicesSupported22[ServicesSupported22["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ServicesSupported22[ServicesSupported22["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ServicesSupported22[ServicesSupported22["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ServicesSupported22[ServicesSupported22["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ServicesSupported22[ServicesSupported22["VT_OPEN"] = 21] = "VT_OPEN";
ServicesSupported22[ServicesSupported22["VT_CLOSE"] = 22] = "VT_CLOSE";
ServicesSupported22[ServicesSupported22["VT_DATA"] = 23] = "VT_DATA";
ServicesSupported22[ServicesSupported22["READ_PROPERTY_CONDITIONAL"] = 13] = "READ_PROPERTY_CONDITIONAL";
ServicesSupported22[ServicesSupported22["AUTHENTICATE"] = 24] = "AUTHENTICATE";
ServicesSupported22[ServicesSupported22["REQUEST_KEY"] = 25] = "REQUEST_KEY";
ServicesSupported22[ServicesSupported22["I_AM"] = 26] = "I_AM";
ServicesSupported22[ServicesSupported22["I_HAVE"] = 27] = "I_HAVE";
ServicesSupported22[ServicesSupported22["UNCONFIRMED_COV_NOTIFICATION"] = 28] = "UNCONFIRMED_COV_NOTIFICATION";
ServicesSupported22[ServicesSupported22["UNCONFIRMED_EVENT_NOTIFICATION"] = 29] = "UNCONFIRMED_EVENT_NOTIFICATION";
ServicesSupported22[ServicesSupported22["UNCONFIRMED_PRIVATE_TRANSFER"] = 30] = "UNCONFIRMED_PRIVATE_TRANSFER";
ServicesSupported22[ServicesSupported22["UNCONFIRMED_TEXT_MESSAGE"] = 31] = "UNCONFIRMED_TEXT_MESSAGE";
ServicesSupported22[ServicesSupported22["TIME_SYNCHRONIZATION"] = 32] = "TIME_SYNCHRONIZATION";
ServicesSupported22[ServicesSupported22["WHO_HAS"] = 33] = "WHO_HAS";
ServicesSupported22[ServicesSupported22["WHO_IS"] = 34] = "WHO_IS";
ServicesSupported22[ServicesSupported22["READ_RANGE"] = 35] = "READ_RANGE";
ServicesSupported22[ServicesSupported22["UTC_TIME_SYNCHRONIZATION"] = 36] = "UTC_TIME_SYNCHRONIZATION";
ServicesSupported22[ServicesSupported22["LIFE_SAFETY_OPERATION"] = 37] = "LIFE_SAFETY_OPERATION";
ServicesSupported22[ServicesSupported22["SUBSCRIBE_COV_PROPERTY"] = 38] = "SUBSCRIBE_COV_PROPERTY";
ServicesSupported22[ServicesSupported22["GET_EVENT_INFORMATION"] = 39] = "GET_EVENT_INFORMATION";
ServicesSupported22[ServicesSupported22["WRITE_GROUP"] = 40] = "WRITE_GROUP";
ServicesSupported22[ServicesSupported22["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 41] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ServicesSupported22[ServicesSupported22["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 42] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
ServicesSupported22[ServicesSupported22["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 43] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ServicesSupported22;
})(ServicesSupported2 || {});
var StatusFlags2 = /* @__PURE__ */ ((StatusFlags22) => {
StatusFlags22[StatusFlags22["IN_ALARM"] = 0] = "IN_ALARM";
StatusFlags22[StatusFlags22["FAULT"] = 1] = "FAULT";
StatusFlags22[StatusFlags22["OVERRIDDEN"] = 2] = "OVERRIDDEN";
StatusFlags22[StatusFlags22["OUT_OF_SERVICE"] = 3] = "OUT_OF_SERVICE";
return StatusFlags22;
})(StatusFlags2 || {});
var ApplicationTag2 = /* @__PURE__ */ ((ApplicationTag22) => {
ApplicationTag22[ApplicationTag22["NULL"] = 0] = "NULL";
ApplicationTag22[ApplicationTag22["BOOLEAN"] = 1] = "BOOLEAN";
ApplicationTag22[ApplicationTag22["UNSIGNED_INTEGER"] = 2] = "UNSIGNED_INTEGER";
ApplicationTag22[ApplicationTag22["SIGNED_INTEGER"] = 3] = "SIGNED_INTEGER";
ApplicationTag22[ApplicationTag22["REAL"] = 4] = "REAL";
ApplicationTag22[ApplicationTag22["DOUBLE"] = 5] = "DOUBLE";
ApplicationTag22[ApplicationTag22["OCTET_STRING"] = 6] = "OCTET_STRING";
ApplicationTag22[ApplicationTag22["CHARACTER_STRING"] = 7] = "CHARACTER_STRING";
ApplicationTag22[ApplicationTag22["BIT_STRING"] = 8] = "BIT_STRING";
ApplicationTag22[ApplicationTag22["ENUMERATED"] = 9] = "ENUMERATED";
ApplicationTag22[ApplicationTag22["DATE"] = 10] = "DATE";
ApplicationTag22[ApplicationTag22["TIME"] = 11] = "TIME";
ApplicationTag22[ApplicationTag22["OBJECTIDENTIFIER"] = 12] = "OBJECTIDENTIFIER";
ApplicationTag22[ApplicationTag22["EMPTYLIST"] = 100] = "EMPTYLIST";
ApplicationTag22[ApplicationTag22["WEEKNDAY"] = 101] = "WEEKNDAY";
ApplicationTag22[ApplicationTag22["DATERANGE"] = 102] = "DATERANGE";
ApplicationTag22[ApplicationTag22["DATETIME"] = 103] = "DATETIME";
ApplicationTag22[ApplicationTag22["TIMESTAMP"] = 104] = "TIMESTAMP";
ApplicationTag22[ApplicationTag22["ERROR"] = 105] = "ERROR";
ApplicationTag22[ApplicationTag22["DEVICE_OBJECT_PROPERTY_REFERENCE"] = 106] = "DEVICE_OBJECT_PROPERTY_REFERENCE";
ApplicationTag22[ApplicationTag22["DEVICE_OBJECT_REFERENCE"] = 107] = "DEVICE_OBJECT_REFERENCE";
ApplicationTag22[ApplicationTag22["OBJECT_PROPERTY_REFERENCE"] = 108] = "OBJECT_PROPERTY_REFERENCE";
ApplicationTag22[ApplicationTag22["DESTINATION"] = 109] = "DESTINATION";
ApplicationTag22[ApplicationTag22["RECIPIENT"] = 110] = "RECIPIENT";
ApplicationTag22[ApplicationTag22["COV_SUBSCRIPTION"] = 111] = "COV_SUBSCRIPTION";
ApplicationTag22[ApplicationTag22["CALENDAR_ENTRY"] = 112] = "CALENDAR_ENTRY";
ApplicationTag22[ApplicationTag22["WEEKLY_SCHEDULE"] = 113] = "WEEKLY_SCHEDULE";
ApplicationTag22[ApplicationTag22["SPECIAL_EVENT"] = 114] = "SPECIAL_EVENT";
ApplicationTag22[ApplicationTag22["READ_ACCESS_SPECIFICATION"] = 115] = "READ_ACCESS_SPECIFICATION";
ApplicationTag22[ApplicationTag22["READ_ACCESS_RESULT"] = 116] = "READ_ACCESS_RESULT";
ApplicationTag22[ApplicationTag22["LIGHTING_COMMAND"] = 117] = "LIGHTING_COMMAND";
ApplicationTag22[ApplicationTag22["CONTEXT_SPECIFIC_DECODED"] = 118] = "CONTEXT_SPECIFIC_DECODED";
ApplicationTag22[ApplicationTag22["CONTEXT_SPECIFIC_ENCODED"] = 119] = "CONTEXT_SPECIFIC_ENCODED";
ApplicationTag22[ApplicationTag22["LOG_RECORD"] = 120] = "LOG_RECORD";
return ApplicationTag22;
})(ApplicationTag2 || {});
var ApplicationTagName2 = invertEnum2(
ApplicationTag2
);
var BvlcResultFormat2 = /* @__PURE__ */ ((BvlcResultFormat22) => {
BvlcResultFormat22[BvlcResultFormat22["SUCCESSFUL_COMPLETION"] = 0] = "SUCCESSFUL_COMPLETION";
BvlcResultFormat22[BvlcResultFormat22["WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 16] = "WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat22[BvlcResultFormat22["READ_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 32] = "READ_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat22[BvlcResultFormat22["REGISTER_FOREIGN_DEVICE_NAK"] = 48] = "REGISTER_FOREIGN_DEVICE_NAK";
BvlcResultFormat22[BvlcResultFormat22["READ_FOREIGN_DEVICE_TABLE_NAK"] = 64] = "READ_FOREIGN_DEVICE_TABLE_NAK";
BvlcResultFormat22[BvlcResultFormat22["DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK"] = 80] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK";
BvlcResultFormat22[BvlcResultFormat22["DISTRIBUTE_BROADCAST_TO_NETWORK_NAK"] = 96] = "DISTRIBUTE_BROADCAST_TO_NETWORK_NAK";
return BvlcResultFormat22;
})(BvlcResultFormat2 || {});
var BvlcResultPurpose2 = /* @__PURE__ */ ((BvlcResultPurpose22) => {
BvlcResultPurpose22[BvlcResultPurpose22["BVLC_RESULT"] = 0] = "BVLC_RESULT";
BvlcResultPurpose22[BvlcResultPurpose22["WRITE_BROADCAST_DISTRIBUTION_TABLE"] = 1] = "WRITE_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose22[BvlcResultPurpose22["READ_BROADCAST_DISTRIBUTION_TABLE"] = 2] = "READ_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose22[BvlcResultPurpose22["READ_BROADCAST_DISTRIBUTION_TABLE_ACK"] = 3] = "READ_BROADCAST_DISTRIBUTION_TABLE_ACK";
BvlcResultPurpose22[BvlcResultPurpose22["FORWARDED_NPDU"] = 4] = "FORWARDED_NPDU";
BvlcResultPurpose22[BvlcResultPurpose22["REGISTER_FOREIGN_DEVICE"] = 5] = "REGISTER_FOREIGN_DEVICE";
BvlcResultPurpose22[BvlcResultPurpose22["READ_FOREIGN_DEVICE_TABLE"] = 6] = "READ_FOREIGN_DEVICE_TABLE";
BvlcResultPurpose22[BvlcResultPurpose22["READ_FOREIGN_DEVICE_TABLE_ACK"] = 7] = "READ_FOREIGN_DEVICE_TABLE_ACK";
BvlcResultPurpose22[BvlcResultPurpose22["DELETE_FOREIGN_DEVICE_TABLE_ENTRY"] = 8] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY";
BvlcResultPurpose22[BvlcResultPurpose22["DISTRIBUTE_BROADCAST_TO_NETWORK"] = 9] = "DISTRIBUTE_BROADCAST_TO_NETWORK";
BvlcResultPurpose22[BvlcResultPurpose22["ORIGINAL_UNICAST_NPDU"] = 10] = "ORIGINAL_UNICAST_NPDU";
BvlcResultPurpose22[BvlcResultPurpose22["ORIGINAL_BROADCAST_NPDU"] = 11] = "ORIGINAL_BROADCAST_NPDU";
BvlcResultPurpose22[BvlcResultPurpose22["SECURE_BVLL"] = 12] = "SECURE_BVLL";
return BvlcResultPurpose22;
})(BvlcResultPurpose2 || {});
var CharacterStringEncoding2 = /* @__PURE__ */ ((CharacterStringEncoding22) => {
CharacterStringEncoding22[CharacterStringEncoding22["UTF_8"] = 0] = "UTF_8";
CharacterStringEncoding22[CharacterStringEncoding22["MICROSOFT_DBCS"] = 1] = "MICROSOFT_DBCS";
CharacterStringEncoding22[CharacterStringEncoding22["JIS_X_0208"] = 2] = "JIS_X_0208";
CharacterStringEncoding22[CharacterStringEncoding22["UCS_4"] = 3] = "UCS_4";
CharacterStringEncoding22[CharacterStringEncoding22["UCS_2"] = 4] = "UCS_2";
CharacterStringEncoding22[CharacterStringEncoding22["ISO_8859_1"] = 5] = "ISO_8859_1";
return CharacterStringEncoding22;
})(CharacterStringEncoding2 || {});
var CovType2 = /* @__PURE__ */ ((CovType22) => {
CovType22[CovType22["REAL"] = 0] = "REAL";
CovType22[CovType22["BIT_STRING"] = 1] = "BIT_STRING";
return CovType22;
})(CovType2 || {});
var EnableDisable2 = /* @__PURE__ */ ((EnableDisable22) => {
EnableDisable22[EnableDisable22["ENABLE"] = 0] = "ENABLE";
EnableDisable22[EnableDisable22["DISABLE"] = 1] = "DISABLE";
EnableDisable22[EnableDisable22["DISABLE_INITIATION"] = 2] = "DISABLE_INITIATION";
return EnableDisable22;
})(EnableDisable2 || {});
var MaxApduLengthAccepted2 = /* @__PURE__ */ ((MaxApduLengthAccepted22) => {
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_50"] = 0] = "OCTETS_50";
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_128"] = 1] = "OCTETS_128";
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_206"] = 2] = "OCTETS_206";
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_480"] = 3] = "OCTETS_480";
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_1024"] = 4] = "OCTETS_1024";
MaxApduLengthAccepted22[MaxApduLengthAccepted22["OCTETS_1476"] = 5] = "OCTETS_1476";
return MaxApduLengthAccepted22;
})(MaxApduLengthAccepted2 || {});
var MaxSegmentsAccepted2 = /* @__PURE__ */ ((MaxSegmentsAccepted22) => {
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_0"] = 0] = "SEGMENTS_0";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_2"] = 16] = "SEGMENTS_2";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_4"] = 32] = "SEGMENTS_4";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_8"] = 48] = "SEGMENTS_8";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_16"] = 64] = "SEGMENTS_16";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_32"] = 80] = "SEGMENTS_32";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_64"] = 96] = "SEGMENTS_64";
MaxSegmentsAccepted22[MaxSegmentsAccepted22["SEGMENTS_65"] = 112] = "SEGMENTS_65";
return MaxSegmentsAccepted22;
})(MaxSegmentsAccepted2 || {});
var NetworkLayerMessageType2 = /* @__PURE__ */ ((NetworkLayerMessageType22) => {
NetworkLayerMessageType22[NetworkLayerMessageType22["WHO_IS_ROUTER_TO_NETWORK"] = 0] = "WHO_IS_ROUTER_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["I_AM_ROUTER_TO_NETWORK"] = 1] = "I_AM_ROUTER_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["I_COULD_BE_ROUTER_TO_NETWORK"] = 2] = "I_COULD_BE_ROUTER_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["REJECT_MESSAGE_TO_NETWORK"] = 3] = "REJECT_MESSAGE_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["ROUTER_BUSY_TO_NETWORK"] = 4] = "ROUTER_BUSY_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["ROUTER_AVAILABLE_TO_NETWORK"] = 5] = "ROUTER_AVAILABLE_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["INITIALIZE_ROUTING_TABLE"] = 6] = "INITIALIZE_ROUTING_TABLE";
NetworkLayerMessageType22[NetworkLayerMessageType22["INITIALIZE_ROUTING_TABLE_ACK"] = 7] = "INITIALIZE_ROUTING_TABLE_ACK";
NetworkLayerMessageType22[NetworkLayerMessageType22["ESTABLISH_CONNECTION_TO_NETWORK"] = 8] = "ESTABLISH_CONNECTION_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["DISCONNECT_CONNECTION_TO_NETWORK"] = 9] = "DISCONNECT_CONNECTION_TO_NETWORK";
NetworkLayerMessageType22[NetworkLayerMessageType22["CHALLENGE_REQUEST"] = 10] = "CHALLENGE_REQUEST";
NetworkLayerMessageType22[NetworkLayerMessageType22["SECURITY_PAYLOAD"] = 11] = "SECURITY_PAYLOAD";
NetworkLayerMessageType22[NetworkLayerMessageType22["SECURITY_RESPONSE"] = 12] = "SECURITY_RESPONSE";
NetworkLayerMessageType22[NetworkLayerMessageType22["REQUEST_KEY_UPDATE"] = 13] = "REQUEST_KEY_UPDATE";
NetworkLayerMessageType22[NetworkLayerMessageType22["UPDATE_KEY_SET"] = 14] = "UPDATE_KEY_SET";
NetworkLayerMessageType22[NetworkLayerMessageType22["UPDATE_DISTRIBUTION_KEY"] = 15] = "UPDATE_DISTRIBUTION_KEY";
NetworkLayerMessageType22[NetworkLayerMessageType22["REQUEST_MASTER_KEY"] = 16] = "REQUEST_MASTER_KEY";
NetworkLayerMessageType22[NetworkLayerMessageType22["SET_MASTER_KEY"] = 17] = "SET_MASTER_KEY";
NetworkLayerMessageType22[NetworkLayerMessageType22["WHAT_IS_NETWORK_NUMBER"] = 18] = "WHAT_IS_NETWORK_NUMBER";
NetworkLayerMessageType22[NetworkLayerMessageType22["NETWORK_NUMBER_IS"] = 19] = "NETWORK_NUMBER_IS";
return NetworkLayerMessageType22;
})(NetworkLayerMessageType2 || {});
var NpduControlBit2 = /* @__PURE__ */ ((NpduControlBit22) => {
NpduControlBit22[NpduControlBit22["EXPECTING_REPLY"] = 4] = "EXPECTING_REPLY";
NpduControlBit22[NpduControlBit22["SOURCE_SPECIFIED"] = 8] = "SOURCE_SPECIFIED";
NpduControlBit22[NpduControlBit22["DESTINATION_SPECIFIED"] = 32] = "DESTINATION_SPECIFIED";
NpduControlBit22[NpduControlBit22["NETWORK_LAYER_MESSAGE"] = 128] = "NETWORK_LAYER_MESSAGE";
return NpduControlBit22;
})(NpduControlBit2 || {});
var NpduControlPriority2 = /* @__PURE__ */ ((NpduControlPriority22) => {
NpduControlPriority22[NpduControlPriority22["NORMAL_MESSAGE"] = 0] = "NORMAL_MESSAGE";
NpduControlPriority22[NpduControlPriority22["URGENT_MESSAGE"] = 1] = "URGENT_MESSAGE";
NpduControlPriority22[NpduControlPriority22["CRITICAL_EQUIPMENT_MESSAGE"] = 2] = "CRITICAL_EQUIPMENT_MESSAGE";
NpduControlPriority22[NpduControlPriority22["LIFE_SAFETY_MESSAGE"] = 3] = "LIFE_SAFETY_MESSAGE";
return NpduControlPriority22;
})(NpduControlPriority2 || {});
var PduConReqBit2 = /* @__PURE__ */ ((PduConReqBit22) => {
PduConReqBit22[PduConReqBit22["SEGMENTED_RESPONSE_ACCEPTED"] = 2] = "SEGMENTED_RESPONSE_ACCEPTED";
PduConReqBit22[PduConReqBit22["MORE_FOLLOWS"] = 4] = "MORE_FOLLOWS";
PduConReqBit22[PduConReqBit22["SEGMENTED_MESSAGE"] = 8] = "SEGMENTED_MESSAGE";
return PduConReqBit22;
})(PduConReqBit2 || {});
var PduSegAckBit2 = /* @__PURE__ */ ((PduSegAckBit22) => {
PduSegAckBit22[PduSegAckBit22["SERVER"] = 1] = "SERVER";
PduSegAckBit22[PduSegAckBit22["NEGATIVE_ACK"] = 2] = "NEGATIVE_ACK";
return PduSegAckBit22;
})(PduSegAckBit2 || {});
var PduType2 = /* @__PURE__ */ ((PduType22) => {
PduType22[PduType22["CONFIRMED_REQUEST"] = 0] = "CONFIRMED_REQUEST";
PduType22[PduType22["UNCONFIRMED_REQUEST"] = 16] = "UNCONFIRMED_REQUEST";
PduType22[PduType22["SIMPLE_ACK"] = 32] = "SIMPLE_ACK";
PduType22[PduType22["COMPLEX_ACK"] = 48] = "COMPLEX_ACK";
PduType22[PduType22["SEGMENT_ACK"] = 64] = "SEGMENT_ACK";
PduType22[PduType22["ERROR"] = 80] = "ERROR";
PduType22[PduType22["REJECT"] = 96] = "REJECT";
PduType22[PduType22["ABORT"] = 112] = "ABORT";
return PduType22;
})(PduType2 || {});
var PropertyStates2 = /* @__PURE__ */ ((PropertyStates22) => {
PropertyStates22[PropertyStates22["BOOLEAN_VALUE"] = 0] = "BOOLEAN_VALUE";
PropertyStates22[PropertyStates22["BINARY_VALUE"] = 1] = "BINARY_VALUE";
PropertyStates22[PropertyStates22["EVENT_TYPE"] = 2] = "EVENT_TYPE";
PropertyStates22[PropertyStates22["POLARITY"] = 3] = "POLARITY";
PropertyStates22[PropertyStates22["PROGRAM_CHANGE"] = 4] = "PROGRAM_CHANGE";
PropertyStates22[PropertyStates22["PROGRAM_STATE"] = 5] = "PROGRAM_STATE";
PropertyStates22[PropertyStates22["REASON_FOR_HALT"] = 6] = "REASON_FOR_HALT";
PropertyStates22[PropertyStates22["RELIABILITY"] = 7] = "RELIABILITY";
PropertyStates22[PropertyStates22["STATE"] = 8] = "STATE";
PropertyStates22[PropertyStates22["SYSTEM_STATUS"] = 9] = "SYSTEM_STATUS";
PropertyStates22[PropertyStates22["UNITS"] = 10] = "UNITS";
PropertyStates22[PropertyStates22["UNSIGNED_VALUE"] = 11] = "UNSIGNED_VALUE";
PropertyStates22[PropertyStates22["LIFE_SAFETY_MODE"] = 12] = "LIFE_SAFETY_MODE";
PropertyStates22[PropertyStates22["LIFE_SAFETY_STATE"] = 13] = "LIFE_SAFETY_STATE";
PropertyStates22[PropertyStates22["RESTART_REASON"] = 14] = "RESTART_REASON";
PropertyStates22[PropertyStates22["DOOR_ALARM_STATE"] = 15] = "DOOR_ALARM_STATE";
PropertyStates22[PropertyStates22["ACTION"] = 16] = "ACTION";
PropertyStates22[PropertyStates22["DOOR_SECURED_STATUS"] = 17] = "DOOR_SECURED_STATUS";
PropertyStates22[PropertyStates22["DOOR_STATUS"] = 18] = "DOOR_STATUS";
PropertyStates22[PropertyStates22["DOOR_VALUE"] = 19] = "DOOR_VALUE";
PropertyStates22[PropertyStates22["FILE_ACCESS_METHOD"] = 20] = "FILE_ACCESS_METHOD";
PropertyStates22[PropertyStates22["LOCK_STATUS"] = 21] = "LOCK_STATUS";
PropertyStates22[PropertyStates22["LIFE_SAFETY_OPERATION"] = 22] = "LIFE_SAFETY_OPERATION";
PropertyStates22[PropertyStates22["MAINTENANCE"] = 23] = "MAINTENANCE";
PropertyStates22[PropertyStates22["NODE_TYPE"] = 24] = "NODE_TYPE";
PropertyStates22[PropertyStates22["NOTIFY_TYPE"] = 25] = "NOTIFY_TYPE";
PropertyStates22[PropertyStates22["SECURITY_LEVEL"] = 26] = "SECURITY_LEVEL";
PropertyStates22[PropertyStates22["SHED_STATE"] = 27] = "SHED_STATE";
PropertyStates22[PropertyStates22["SILENCED_STATE"] = 28] = "SILENCED_STATE";
PropertyStates22[PropertyStates22["ACCESS_EVENT"] = 30] = "ACCESS_EVENT";
PropertyStates22[PropertyStates22["ZONE_OCCUPANCY_STATE"] = 31] = "ZONE_OCCUPANCY_STATE";
PropertyStates22[PropertyStates22["ACCESS_CREDENTIAL_DISABLE_REASON"] = 32] = "ACCESS_CREDENTIAL_DISABLE_REASON";
PropertyStates22[PropertyStates22["ACCESS_CREDENTIAL_DISABLE"] = 33] = "ACCESS_CREDENTIAL_DISABLE";
PropertyStates22[PropertyStates22["AUTHENTICATION_STATUS"] = 34] = "AUTHENTICATION_STATUS";
PropertyStates22[PropertyStates22["BACKUP_STATE"] = 36] = "BACKUP_STATE";
PropertyStates22[PropertyStates22["WRITE_STATUS"] = 37] = "WRITE_STATUS";
PropertyStates22[PropertyStates22["LIGHTING_IN_PROGRESS"] = 38] = "LIGHTING_IN_PROGRESS";
PropertyStates22[PropertyStates22["LIGHTING_OPERATION"] = 39] = "LIGHTING_OPERATION";
PropertyStates22[PropertyStates22["LIGHTING_TRANSITION"] = 40] = "LIGHTING_TRANSITION";
PropertyStates22[PropertyStates22["INTEGER_VALUE"] = 41] = "INTEGER_VALUE";
PropertyStates22[PropertyStates22["BINARY_LIGHTING_VALUE"] = 42] = "BINARY_LIGHTING_VALUE";
PropertyStates22[PropertyStates22["TIMER_STATE"] = 43] = "TIMER_STATE";
PropertyStates22[PropertyStates22["TIMER_TRANSITION"] = 44] = "TIMER_TRANSITION";
PropertyStates22[PropertyStates22["BACNET_IP_MODE"] = 45] = "BACNET_IP_MODE";
PropertyStates22[PropertyStates22["NETWORK_PORT_COMMAND"] = 46] = "NETWORK_PORT_COMMAND";
PropertyStates22[PropertyStates22["NETWORK_TYPE"] = 47] = "NETWORK_TYPE";
PropertyStates22[PropertyStates22["NETWORK_NUMBER_QUALITY"] = 48] = "NETWORK_NUMBER_QUALITY";
PropertyStates22[PropertyStates22["ESCALATOR_OPERATION_DIRECTION"] = 49] = "ESCALATOR_OPERATION_DIRECTION";
PropertyStates22[PropertyStates22["ESCALATOR_FAULT"] = 50] = "ESCALATOR_FAULT";
PropertyStates22[PropertyStates22["ESCALATOR_MODE"] = 51] = "ESCALATOR_MODE";
PropertyStates22[PropertyStates22["LIFT_CAR_DIRECTION"] = 52] = "LIFT_CAR_DIRECTION";
PropertyStates22[PropertyStates22["LIFT_CAR_DOOR_COMMAND"] = 53] = "LIFT_CAR_DOOR_COMMAND";
PropertyStates22[PropertyStates22["LIFT_CAR_DRIVE_STATUS"] = 54] = "LIFT_CAR_DRIVE_STATUS";
PropertyStates22[PropertyStates22["LIFT_CAR_MODE"] = 55] = "LIFT_CAR_MODE";
PropertyStates22[PropertyStates22["LIFT_GROUP_MODE"] = 56] = "LIFT_GROUP_MODE";
PropertyStates22[PropertyStates22["LIFT_FAULT"] = 57] = "LIFT_FAULT";
PropertyStates22[PropertyStates22["PROTOCOL_LEVEL"] = 58] = "PROTOCOL_LEVEL";
PropertyStates22[PropertyStates22["EXTENDED_VALUE"] = 63] = "EXTENDED_VALUE";
return PropertyStates22;
})(PropertyStates2 || {});
var ReadRangeType2 = /* @__PURE__ */ ((ReadRangeType22) => {
ReadRangeType22[ReadRangeType22["BY_POSITION"] = 0] = "BY_POSITION";
ReadRangeType22[ReadRangeType22["BY_SEQUENCE_NUMBER"] = 1] = "BY_SEQUENCE_NUMBER";
ReadRangeType22[ReadRangeType22["BY_TIME_REFERENCE_TIME_COUNT"] = 2] = "BY_TIME_REFERENCE_TIME_COUNT";
return ReadRangeType22;
})(ReadRangeType2 || {});
var ReinitializedState2 = /* @__PURE__ */ ((ReinitializedState22) => {
ReinitializedState22[ReinitializedState22["COLDSTART"] = 0] = "COLDSTART";
ReinitializedState22[ReinitializedState22["WARMSTART"] = 1] = "WARMSTART";
ReinitializedState22[ReinitializedState22["STARTBACKUP"] = 2] = "STARTBACKUP";
ReinitializedState22[ReinitializedState22["ENDBACKUP"] = 3] = "ENDBACKUP";
ReinitializedState22[ReinitializedState22["STARTRESTORE"] = 4] = "STARTRESTORE";
ReinitializedState22[ReinitializedState22["ENDRESTORE"] = 5] = "ENDRESTORE";
ReinitializedState22[ReinitializedState22["ABORTRESTORE"] = 6] = "ABORTRESTORE";
ReinitializedState22[ReinitializedState22["ACTIVATE_CHANGES"] = 7] = "ACTIVATE_CHANGES";
return ReinitializedState22;
})(ReinitializedState2 || {});
var TimeStamp2 = /* @__PURE__ */ ((TimeStamp22) => {
TimeStamp22[TimeStamp22["TIME"] = 0] = "TIME";
TimeStamp22[TimeStamp22["SEQUENCE_NUMBER"] = 1] = "SEQUENCE_NUMBER";
TimeStamp22[TimeStamp22["DATETIME"] = 2] = "DATETIME";
return TimeStamp22;
})(TimeStamp2 || {});
var import_events22 = __toESM2(require("events"));
var import_debug32 = __toESM2(require("debug"));
var import_dgram2 = require("dgram");
var import_events3 = __toESM2(require("events"));
var import_debug22 = __toESM2(require("debug"));
var EventEmitter3 = import_events3.default.EventEmitter;
var debug22 = (0, import_debug22.default)("bacnet:client:debug");
var DEFAULT_BACNET_PORT3 = 47808;
var Transport2 = class extends EventEmitter3 {
constructor(settings) {
super();
this._lastSendMessages = {};
this._settings = settings;
this._server = (0, import_dgram2.createSocket)({
type: "udp4",
reuseAddr: settings.reuseAddr
});
this._server.on("message", (msg, rinfo) => {
if (this.ownAddress.port === rinfo.port) {
for (let [messageKey, earlierSentBuffer] of Object.entries(
this._lastSendMessages
)) {
if (msg.equals(earlierSentBuffer)) {
debug22(
`server IGNORE message from ${rinfo.address}:${rinfo.port} (${messageKey}): ${msg.toString("hex")}`
);
return;
}
}
}
debug22(
`server got message from ${rinfo.address}:${rinfo.port}: ${msg.toString(
"hex"
)}`
);
this.emit(
"message",
msg,
rinfo.address + (rinfo.port === DEFAULT_BACNET_PORT3 ? "" : ":" + rinfo.port)
);
});
this._server.on("listening", () => {
this.ownAddress = this._server.address();
debug22(
`server listening on ${this.ownAddress.address}:${this.ownAddress.port}`
);
this.emit("listening", this.ownAddress);
});
this._server.on("error", (err) => {
debug22("transport error", err.message);
this.emit("error", err);
});
this._server.on("close", () => {
debug22("transport closed");
this.emit("close");
});
}
getBroadcastAddress() {
return this._settings.broadcastAddress;
}
getMaxPayload() {
return 1482;
}
send(buffer, offset, receiver) {
if (!receiver) {
receiver = this.getBroadcastAddress();
const dataToSend = Buffer.alloc(offset);
const hrTime = process.hrtime();
const messageKey = hrTime[0] * 1e9 + hrTime[1];
buffer.copy(dataToSend, 0, 0, offset);
this._lastSendMessages[messageKey] = dataToSend;
setTimeout(() => {
delete this._lastSendMessages[messageKey];
}, 1e4);
}
const receiverAddress = typeof receiver === "string" ? receiver : receiver.address;
const [address, port] = receiverAddress.split(":");
debug22(
"Send packet to " + receiver + ": " + buffer.toString("hex").substr(0, offset * 2)
);
this._server.send(buffer, 0, offset, +port || DEFAULT_BACNET_PORT3, address);
}
open() {
this._server.bind(this._settings.port, this._settings.interface, () => {
this._server.setBroadcast(true);
});
}
close() {
this._server.close();
}
};
var services_exports2 = {};
__export2(services_exports2, {
addListElement: () => add_list_element_exports2,
alarmAcknowledge: () => alarm_acknowledge_exports2,
alarmSummary: () => alarm_summary_exports2,
atomicReadFile: () => atomic_read_file_exports2,
atomicWriteFile: () => atomic_write_file_exports2,
covNotify: () => cov_notify_exports2,
covNotifyUnconfirmed: () => cov_notify_exports2,
createObject: () => create_object_exports2,
deleteObject: () => delete_object_exports2,
deviceCommunicationControl: () => device_communication_control_exports2,
error: () => error_exports2,
eventInformation: () => event_information_exports2,
eventNotifyData: () => event_notify_data_exports2,
getEnrollmentSummary: () => get_enrollment_summary_exports2,
getEventInformation: () => get_event_information_exports2,
iAm: () => i_am_exports2,
iHave: () => i_have_exports2,
lifeSafetyOperation: () => life_safety_operation_exports2,
privateTransfer: () => private_transfer_exports2,
readProperty: () => read_property_exports2,
readPropertyMultiple: () => read_property_multiple_exports2,
readRange: () => read_range_exports2,
registerForeignDevice: () => register_foreign_device_exports2,
reinitializeDevice: () => reinitialize_device_exports2,
subscribeCov: () => subscribe_cov_exports2,
subscribeProperty: () => subscribe_property_exports2,
timeSync: () => time_sync_exports2,
timeSyncUTC: () => time_sync_exports2,
whoHas: () => who_has_exports2,
whoIs: () => who_is_exports2,
writeProperty: () => write_property_exports2,
writePropertyMultiple: () => write_property_multiple_exports2
});
var add_list_element_exports2 = {};
__export2(add_list_element_exports2, {
decode: () => decode33,
encode: () => encode33
});
var import_iconv_lite2 = __toESM2(require("iconv-lite"));
var enums_default2 = enum_exports2;
var START_YEAR2 = 1900;
var MAX_YEARS2 = 256;
var getBuffer2 = () => {
return {
buffer: Buffer.alloc(1472),
offset: 0
};
};
var getSignedLength2 = (value) => {
if (value >= -128 && value < 128)
return 1;
else if (value >= -32768 && value < 32768)
return 2;
else if (value > -8388608 && value < 8388608)
return 3;
else
return 4;
};
var getUnsignedLength2 = (value) => {
if (value < 256)
return 1;
else if (value < 65536)
return 2;
else if (value < 16777216)
return 3;
else
return 4;
};
var getEncodingType2 = (encoding, decodingBuffer, decodingOffset) => {
switch (encoding) {
case enums_default2.CharacterStringEncoding.UCS_2:
if (decodingBuffer && decodingBuffer[decodingOffset] === 255 && decodingBuffer[decodingOffset + 1] === 254) {
return "ucs2";
}
return "UTF-16BE";
case enums_default2.CharacterStringEncoding.ISO_8859_1:
return "latin1";
case enums_default2.CharacterStringEncoding.MICROSOFT_DBCS:
return "cp850";
case enums_default2.CharacterStringEncoding.JIS_X_0208:
return "Shift_JIS";
default:
return "utf8";
}
};
var encodeUnsigned2 = (buffer, value, length) => {
buffer.buffer.writeUIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetUnsigned2 = (buffer, value) => {
encodeUnsigned2(buffer, value, getUnsignedLength2(value));
};
var encodeSigned2 = (buffer, value, length) => {
buffer.buffer.writeIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetSigned2 = (buffer, value) => {
encodeSigned2(buffer, value, getSignedLength2(value));
};
var encodeBacnetReal2 = (buffer, value) => {
buffer.buffer.writeFloatBE(value, buffer.offset, true);
buffer.offset += 4;
};
var encodeBacnetDouble2 = (buffer, value) => {
buffer.buffer.writeDoubleBE(value, buffer.offset, true);
buffer.offset += 8;
};
var decodeUnsigned2 = (buffer, offset, length) => {
if (length === 0) {
return {
len: 0,
value: 0
};
}
return {
len: length,
//@ts-ignore
value: buffer.readUIntBE(offset, length)
};
};
var decodeEnumerated2 = (buffer, offset, length) => {
return decodeUnsigned2(buffer, offset, length);
};
var encodeBacnetObjectId2 = (buffer, objectType, instance) => {
const value = ((objectType & enums_default2.ASN1_MAX_OBJECT) << enums_default2.ASN1_INSTANCE_BITS | instance & enums_default2.ASN1_MAX_INSTANCE) >>> 0;
encodeUnsigned2(buffer, value, 4);
};
var encodeTag2 = (buffer, tagNumber, contextSpecific, lenValueType) => {
let len = 1;
const tmp = new Array(3);
tmp[0] = 0;
if (contextSpecific) {
tmp[0] |= 8;
}
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
if (lenValueType <= 4) {
tmp[0] |= lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else {
tmp[0] |= 5;
if (lenValueType <= 253) {
tmp[len++] = lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else if (lenValueType <= 65535) {
tmp[len++] = 254;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned2(buffer, lenValueType, 2);
} else {
tmp[len++] = 255;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned2(buffer, lenValueType, 4);
}
}
};
var encodeBacnetEnumerated2 = (buffer, value) => {
encodeBacnetUnsigned2(buffer, value);
};
var isExtendedTagNumber2 = (x) => {
return (x & 240) === 240;
};
var isExtendedValue2 = (x) => {
return (x & 7) === 5;
};
var isContextSpecific2 = (x) => {
return (x & 8) === 8;
};
var isOpeningTag2 = (x) => {
return (x & 7) === 6;
};
var isClosingTag2 = (x) => {
return (x & 7) === 7;
};
var encodeContextReal2 = (buffer, tagNumber, value) => {
encodeTag2(buffer, tagNumber, true, 4);
encodeBacnetReal2(buffer, value);
};
var encodeContextUnsigned2 = (buffer, tagNumber, value) => {
encodeTag2(buffer, tagNumber, true, getUnsignedLength2(value));
encodeBacnetUnsigned2(buffer, value);
};
var encodeContextEnumerated2 = (buffer, tagNumber, value) => {
encodeContextUnsigned2(buffer, tagNumber, value);
};
var encodeOctetString2 = (buffer, octetString, octetOffset, octetCount) => {
if (octetString) {
for (let i = octetOffset; i < octetOffset + octetCount; i++) {
buffer.buffer[buffer.offset++] = octetString[i];
}
}
};
var encodeApplicationOctetString2 = (buffer, octetString, octetOffset, octetCount) => {
encodeTag2(buffer, enums_default2.ApplicationTag.OCTET_STRING, false, octetCount);
encodeOctetString2(buffer, octetString, octetOffset, octetCount);
};
var encodeApplicationNull2 = (buffer) => {
buffer.buffer[buffer.offset++] = enums_default2.ApplicationTag.NULL;
};
var encodeApplicationBoolean2 = (buffer, booleanValue) => {
encodeTag2(buffer, enums_default2.ApplicationTag.BOOLEAN, false, booleanValue ? 1 : 0);
};
var encodeApplicationReal2 = (buffer, value) => {
encodeTag2(buffer, enums_default2.ApplicationTag.REAL, false, 4);
encodeBacnetReal2(buffer, value);
};
var encodeApplicationDouble2 = (buffer, value) => {
encodeTag2(buffer, enums_default2.ApplicationTag.DOUBLE, false, 8);
encodeBacnetDouble2(buffer, value);
};
var bitstringBytesUsed2 = (bitString) => {
let len = 0;
if (bitString.bitsUsed > 0) {
const lastBit = bitString.bitsUsed - 1;
const usedBytes = lastBit / 8 + 1;
len = Math.floor(usedBytes);
}
return len;
};
var encodeApplicationObjectId2 = (buffer, objectType, instance) => {
const tmp = getBuffer2();
encodeBacnetObjectId2(tmp, objectType, instance);
encodeTag2(buffer, enums_default2.ApplicationTag.OBJECTIDENTIFIER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationUnsigned2 = (buffer, value) => {
const tmp = getBuffer2();
encodeBacnetUnsigned2(tmp, value);
encodeTag2(buffer, enums_default2.ApplicationTag.UNSIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationEnumerated2 = (buffer, value) => {
const tmp = getBuffer2();
encodeBacnetEnumerated2(tmp, value);
encodeTag2(buffer, enums_default2.ApplicationTag.ENUMERATED, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationSigned2 = (buffer, value) => {
const tmp = getBuffer2();
encodeBacnetSigned2(tmp, value);
encodeTag2(buffer, enums_default2.ApplicationTag.SIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var byteReverseBits2 = (inByte) => {
let outByte = 0;
if ((inByte & 1) > 0) {
outByte |= 128;
}
if ((inByte & 2) > 0) {
outByte |= 64;
}
if ((inByte & 4) > 0) {
outByte |= 32;
}
if ((inByte & 8) > 0) {
outByte |= 16;
}
if ((inByte & 16) > 0) {
outByte |= 8;
}
if ((inByte & 32) > 0) {
outByte |= 4;
}
if ((inByte & 64) > 0) {
outByte |= 2;
}
if ((inByte & 128) > 0) {
outByte |= 1;
}
return outByte;
};
var bitstringOctet2 = (bitString, octetIndex) => {
let octet = 0;
if (bitString.value && octetIndex < enums_default2.ASN1_MAX_BITSTRING_BYTES) {
octet = bitString.value[octetIndex];
}
return octet;
};
var encodeBitstring2 = (buffer, bitString) => {
if (bitString.bitsUsed === 0) {
buffer.buffer[buffer.offset++] = 0;
} else {
const usedBytes = bitstringBytesUsed2(bitString);
const remainingUsedBits = bitString.bitsUsed - (usedBytes - 1) * 8;
buffer.buffer[buffer.offset++] = 8 - remainingUsedBits;
for (let i = 0; i < usedBytes; i++) {
buffer.buffer[buffer.offset++] = byteReverseBits2(
bitstringOctet2(bitString, i)
);
}
}
};
var encodeApplicationBitstring2 = (buffer, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed2(bitString);
encodeTag2(
buffer,
enums_default2.ApplicationTag.BIT_STRING,
false,
bitStringEncodedLength
);
encodeBitstring2(buffer, bitString);
};
var encodeBacnetDate2 = (buffer, value) => {
if (value === new Date(1, 1, 1)) {
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
return;
}
if (value.getFullYear() >= START_YEAR2) {
buffer.buffer[buffer.offset++] = value.getFullYear() - START_YEAR2;
} else if (value.getFullYear() < MAX_YEARS2) {
buffer.buffer[buffer.offset++] = value.getFullYear();
} else {
throw new Error("invaide year: " + value.getFullYear());
}
buffer.buffer[buffer.offset++] = value.getMonth();
buffer.buffer[buffer.offset++] = value.getDate();
buffer.buffer[buffer.offset++] = value.getDay() === 0 ? 7 : value.getDay();
};
var encodeApplicationDate2 = (buffer, value) => {
encodeTag2(buffer, enums_default2.ApplicationTag.DATE, false, 4);
encodeBacnetDate2(buffer, value);
};
var encodeBacnetTime2 = (buffer, value) => {
buffer.buffer[buffer.offset++] = value.getHours();
buffer.buffer[buffer.offset++] = value.getMinutes();
buffer.buffer[buffer.offset++] = value.getSeconds();
buffer.buffer[buffer.offset++] = value.getMilliseconds() / 10;
};
var encodeApplicationTime2 = (buffer, value) => {
encodeTag2(buffer, enums_default2.ApplicationTag.TIME, false, 4);
encodeBacnetTime2(buffer, value);
};
var bacappEncodeDatetime2 = (buffer, value) => {
if (value !== new Date(1, 1, 1)) {
encodeApplicationDate2(buffer, value);
encodeApplicationTime2(buffer, value);
}
};
var encodeContextObjectId2 = (buffer, tagNumber, objectType, instance) => {
encodeTag2(buffer, tagNumber, true, 4);
encodeBacnetObjectId2(buffer, objectType, instance);
};
var encodeOpeningTag2 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 6;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeClosingTag2 = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 7;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeReadAccessSpecification2 = (buffer, value) => {
encodeContextObjectId2(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag2(buffer, 1);
value.properties.forEach((p) => {
encodeContextEnumerated2(buffer, 0, p.id);
if (p.index && p.index !== enums_default2.ASN1_ARRAY_ALL) {
encodeContextUnsigned2(buffer, 1, p.index);
}
});
encodeClosingTag2(buffer, 1);
};
var encodeContextBoolean2 = (buffer, tagNumber, booleanValue) => {
encodeTag2(buffer, tagNumber, true, 1);
buffer.buffer.writeUInt8(booleanValue ? 1 : 0, buffer.offset, true);
buffer.offset += 1;
};
var encodeCovSubscription2 = (buffer, value) => {
encodeOpeningTag2(buffer, 0);
encodeOpeningTag2(buffer, 0);
encodeOpeningTag2(buffer, 1);
encodeApplicationUnsigned2(buffer, value.recipient.network);
if (value.recipient.network === 65535) {
encodeApplicationOctetString2(buffer, 0, 0, 0);
} else {
encodeApplicationOctetString2(
buffer,
value.recipient.address,
0,
value.recipient.address.length
);
}
encodeClosingTag2(buffer, 1);
encodeClosingTag2(buffer, 0);
encodeContextUnsigned2(buffer, 1, value.subscriptionProcessId);
encodeClosingTag2(buffer, 0);
encodeOpeningTag2(buffer, 1);
encodeContextObjectId2(
buffer,
0,
value.monitoredObjectId.type,
value.monitoredObjectId.instance
);
encodeContextEnumerated2(buffer, 1, value.monitoredProperty.id);
if (value.monitoredProperty.index !== enums_default2.ASN1_ARRAY_ALL) {
encodeContextUnsigned2(buffer, 2, value.monitoredProperty.index);
}
encodeClosingTag2(buffer, 1);
encodeContextBoolean2(buffer, 2, value.issueConfirmedNotifications);
encodeContextUnsigned2(buffer, 3, value.timeRemaining);
if (value.covIncrement > 0) {
encodeContextReal2(buffer, 4, value.covIncrement);
}
};
var bacappEncodeApplicationData2 = (buffer, value) => {
if (value.value === null) {
value.type = enums_default2.ApplicationTag.NULL;
}
switch (value.type) {
case enums_default2.ApplicationTag.NULL:
encodeApplicationNull2(buffer);
break;
case enums_default2.ApplicationTag.BOOLEAN:
encodeApplicationBoolean2(buffer, value.value);
break;
case enums_default2.ApplicationTag.UNSIGNED_INTEGER:
encodeApplicationUnsigned2(buffer, value.value);
break;
case enums_default2.ApplicationTag.SIGNED_INTEGER:
encodeApplicationSigned2(buffer, value.value);
break;
case enums_default2.ApplicationTag.REAL:
encodeApplicationReal2(buffer, value.value);
break;
case enums_default2.ApplicationTag.DOUBLE:
encodeApplicationDouble2(buffer, value.value);
break;
case enums_default2.ApplicationTag.OCTET_STRING:
encodeApplicationOctetString2(buffer, value.value, 0, value.value.length);
break;
case enums_default2.ApplicationTag.CHARACTER_STRING:
encodeApplicationCharacterString2(buffer, value.value, value.encoding);
break;
case enums_default2.ApplicationTag.BIT_STRING:
encodeApplicationBitstring2(buffer, value.value);
break;
case enums_default2.ApplicationTag.ENUMERATED:
encodeApplicationEnumerated2(buffer, value.value);
break;
case enums_default2.ApplicationTag.DATE:
encodeApplicationDate2(buffer, value.value);
break;
case enums_default2.ApplicationTag.TIME:
encodeApplicationTime2(buffer, value.value);
break;
case enums_default2.ApplicationTag.TIMESTAMP:
bacappEncodeTimestamp2(buffer, value.value);
break;
case enums_default2.ApplicationTag.DATETIME:
bacappEncodeDatetime2(buffer, value.value);
break;
case enums_default2.ApplicationTag.OBJECTIDENTIFIER:
encodeApplicationObjectId2(buffer, value.value.type, value.value.instance);
break;
case enums_default2.ApplicationTag.COV_SUBSCRIPTION:
encodeCovSubscription2(buffer, value.value);
break;
case enums_default2.ApplicationTag.READ_ACCESS_RESULT:
encodeReadAccessResult2(buffer, value.value);
break;
case enums_default2.ApplicationTag.READ_ACCESS_SPECIFICATION:
encodeReadAccessSpecification2(buffer, value.value);
break;
case void 0:
throw new Error(
"Cannot encode a value if the type has not been specified"
);
default:
throw "No encode for ApplicationTag type: " + enums_default2.getEnumName(
enums_default2.ApplicationTag,
value.type
);
}
};
var bacappEncodeDeviceObjPropertyRef2 = (buffer, value) => {
encodeContextObjectId2(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeContextEnumerated2(buffer, 1, value.id);
if (value.arrayIndex !== enums_default2.ASN1_ARRAY_ALL) {
encodeContextUnsigned2(buffer, 2, value.arrayIndex);
}
if (value.deviceIndentifier.type === enums_default2.ObjectType.DEVICE) {
encodeContextObjectId2(
buffer,
3,
value.deviceIndentifier.type,
value.deviceIndentifier.instance
);
}
};
var bacappEncodeContextDeviceObjPropertyRef2 = (buffer, tagNumber, value) => {
encodeOpeningTag2(buffer, tagNumber);
bacappEncodeDeviceObjPropertyRef2(buffer, value);
encodeClosingTag2(buffer, tagNumber);
};
var bacappEncodePropertyState2 = (buffer, value) => {
switch (value.type) {
case enums_default2.PropertyStates.BOOLEAN_VALUE:
encodeContextBoolean2(buffer, 0, value.state === 1);
break;
case enums_default2.PropertyStates.BINARY_VALUE:
encodeContextEnumerated2(buffer, 1, value.state);
break;
case enums_default2.PropertyStates.EVENT_TYPE:
encodeContextEnumerated2(buffer, 2, value.state);
break;
case enums_default2.PropertyStates.POLARITY:
encodeContextEnumerated2(buffer, 3, value.state);
break;
case enums_default2.PropertyStates.PROGRAM_CHANGE:
encodeContextEnumerated2(buffer, 4, value.state);
break;
case enums_default2.PropertyStates.PROGRAM_STATE:
encodeContextEnumerated2(buffer, 5, value.state);
break;
case enums_default2.PropertyStates.REASON_FOR_HALT:
encodeContextEnumerated2(buffer, 6, value.state);
break;
case enums_default2.PropertyStates.RELIABILITY:
encodeContextEnumerated2(buffer, 7, value.state);
break;
case enums_default2.PropertyStates.STATE:
encodeContextEnumerated2(buffer, 8, value.state);
break;
case enums_default2.PropertyStates.SYSTEM_STATUS:
encodeContextEnumerated2(buffer, 9, value.state);
break;
case enums_default2.PropertyStates.UNITS:
encodeContextEnumerated2(buffer, 10, value.state);
break;
case enums_default2.PropertyStates.UNSIGNED_VALUE:
encodeContextUnsigned2(buffer, 11, value.state);
break;
case enums_default2.PropertyStates.LIFE_SAFETY_MODE:
encodeContextEnumerated2(buffer, 12, value.state);
break;
case enums_default2.PropertyStates.LIFE_SAFETY_STATE:
encodeContextEnumerated2(buffer, 13, value.state);
break;
default:
break;
}
};
var encodeContextBitstring2 = (buffer, tagNumber, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed2(bitString);
encodeTag2(buffer, tagNumber, true, bitStringEncodedLength);
encodeBitstring2(buffer, bitString);
};
var encodeContextSigned2 = (buffer, tagNumber, value) => {
encodeTag2(buffer, tagNumber, true, getSignedLength2(value));
encodeBacnetSigned2(buffer, value);
};
var encodeContextTime2 = (buffer, tagNumber, value) => {
encodeTag2(buffer, tagNumber, true, 4);
encodeBacnetTime2(buffer, value);
};
var bacappEncodeContextDatetime2 = (buffer, tagNumber, value) => {
if (value !== new Date(1, 1, 1)) {
encodeOpeningTag2(buffer, tagNumber);
bacappEncodeDatetime2(buffer, value);
encodeClosingTag2(buffer, tagNumber);
} else {
throw new Error("wrong Datetime while bacapp encoding context");
}
};
var decodeTagNumber2 = (buffer, offset) => {
let len = 1;
let tagNumber;
if (isExtendedTagNumber2(buffer[offset])) {
tagNumber = buffer[offset + 1];
len++;
} else {
tagNumber = buffer[offset] >> 4;
}
return {
len,
tagNumber
};
};
var decodeIsContextTag2 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber2(buffer, offset);
return isContextSpecific2(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsOpeningTagNumber2 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber2(buffer, offset);
return isOpeningTag2(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTagNumber2 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber2(buffer, offset);
return isClosingTag2(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTag2 = (buffer, offset) => {
return (buffer[offset] & 7) === 7;
};
var decodeIsOpeningTag2 = (buffer, offset) => {
return (buffer[offset] & 7) === 6;
};
var decodeObjectId2 = (buffer, offset, NOT_USED_NUMBER = 0) => {
const result = decodeUnsigned2(buffer, offset, 4);
const objectType = result.value >> enums_default2.ASN1_INSTANCE_BITS & enums_default2.ASN1_MAX_OBJECT;
const instance = result.value & enums_default2.ASN1_MAX_INSTANCE;
return {
len: result.len,
objectType,
instance
};
};
var decodeObjectIdSafe2 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: 0,
objectType: 0,
instance: 0
};
} else {
return decodeObjectId2(buffer, offset);
}
};
var decodeTagNumberAndValue2 = (buffer, offset) => {
let value;
let result = decodeTagNumber2(buffer, offset);
let len = result.len;
if (isExtendedValue2(buffer[offset])) {
if (buffer[offset + len] === 255) {
len++;
result = decodeUnsigned2(buffer, offset + len, 4);
len += result.len;
value = result.value;
} else if (buffer[offset + len] === 254) {
len++;
result = decodeUnsigned2(buffer, offset + len, 2);
len += result.len;
value = result.value;
} else {
value = buffer[offset + len];
len++;
}
} else if (isOpeningTag2(buffer[offset])) {
value = 0;
} else if (isClosingTag2(buffer[offset])) {
value = 0;
} else {
value = buffer[offset] & 7;
}
return {
len,
tagNumber: result.tagNumber,
value
};
};
var bacappDecodeApplicationData2 = (buffer, offset, maxOffset, objectType, propertyId) => {
if (!isContextSpecific2(buffer[offset])) {
let result = decodeTagNumberAndValue2(buffer, offset);
if (result) {
let len = result.len;
result = bacappDecodeData2(
buffer,
offset + len,
maxOffset,
result.tagNumber,
result.value
);
if (!result) {
return void 0;
}
let resObj = {
len: len + result.len,
type: result.type,
value: result.value
};
if (result.encoding !== void 0)
resObj.encoding = result.encoding;
return resObj;
}
} else {
return bacappDecodeContextApplicationData2(
buffer,
offset,
maxOffset,
objectType,
propertyId
);
}
};
var encodeReadAccessResult2 = (buffer, value) => {
encodeContextObjectId2(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag2(buffer, 1);
value.values.forEach((item) => {
encodeContextEnumerated2(buffer, 2, item.property.id);
if (item.property.index !== enums_default2.ASN1_ARRAY_ALL) {
encodeContextUnsigned2(buffer, 3, item.property.index);
}
if (item.value && item.value[0] && item.value[0].value && item.value[0].value.type === "BacnetError") {
encodeOpeningTag2(buffer, 5);
encodeApplicationEnumerated2(buffer, item.value[0].value.errorClass);
encodeApplicationEnumerated2(buffer, item.value[0].value.errorCode);
encodeClosingTag2(buffer, 5);
} else {
if (!item.value)
throw new Error("No value in item");
encodeOpeningTag2(buffer, 4);
item.value.forEach((subItem) => {
bacappEncodeApplicationData2(buffer, subItem);
});
encodeClosingTag2(buffer, 4);
}
});
encodeClosingTag2(buffer, 1);
};
var decodeReadAccessResult2 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
let result = decodeObjectId2(buffer, offset + len);
value.objectId = {
type: result.objectType,
instance: result.instance
};
len += result.len;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return -1;
}
len++;
const values = [];
while (apduLen - len > 0) {
let newEntry = {};
if (decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
len++;
break;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeEnumerated2(buffer, offset + len, result.value);
newEntry.id = result.value;
len += result.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 3) {
len += result.len;
result = decodeUnsigned2(buffer, offset + len, result.value);
newEntry.index = result.value;
len += result.len;
} else {
newEntry.index = enums_default2.ASN1_ARRAY_ALL;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 4) {
const localValues = [];
while (len + offset <= buffer.length && !decodeIsClosingTagNumber2(buffer, offset + len, 4)) {
let localResult = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset - 1,
value.objectId.type,
newEntry.id
);
if (!localResult) {
return void 0;
}
len += localResult.len;
let resObj = {
value: localResult.value,
type: localResult.type
};
if (localResult.encoding !== void 0)
resObj.encoding = localResult.encoding;
localValues.push(resObj);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 4)) {
return void 0;
}
if (localValues.count === 2 && localValues[0].type === enums_default2.ApplicationTag.DATE && localValues[1].type === enums_default2.ApplicationTag.TIME) {
const date = localValues[0].value;
const time = localValues[1].value;
const bdatetime = new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
);
newEntry.value = [
{ type: enums_default2.ApplicationTag.DATETIME, value: bdatetime }
];
} else {
newEntry.value = localValues;
}
len++;
} else if (result.tagNumber === 5) {
let err = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
result = decodeEnumerated2(buffer, offset + len, result.value);
len += result.len;
err.errorClass = result.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
result = decodeEnumerated2(buffer, offset + len, result.value);
len += result.len;
err.errorCode = result.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 5)) {
return void 0;
}
len++;
newEntry.value = [
{
type: enums_default2.ApplicationTag.ERROR,
value: err
}
];
}
values.push(newEntry);
}
value.values = values;
return {
len,
value
};
};
var decodeSigned2 = (buffer, offset, length) => {
return {
len: length,
value: buffer.readIntBE(offset, length, true)
};
};
var decodeReal2 = (buffer, offset) => {
return {
len: 4,
value: buffer.readFloatBE(offset, true)
};
};
var decodeRealSafe2 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: 0
};
} else {
return decodeReal2(buffer, offset);
}
};
var decodeDouble2 = (buffer, offset) => {
return {
len: 8,
value: buffer.readDoubleBE(offset, true)
};
};
var decodeDoubleSafe2 = (buffer, offset, lenValue) => {
if (lenValue !== 8) {
return {
len: lenValue,
value: 0
};
} else {
return decodeDouble2(buffer, offset);
}
};
var decodeOctetString2 = (buffer, offset, maxLength, octetStringOffset, octetStringLength) => {
const octetString = [];
for (let i = octetStringOffset; i < octetStringOffset + octetStringLength; i++) {
octetString.push(buffer[offset + i]);
}
return {
len: octetStringLength,
value: octetString
};
};
var multiCharsetCharacterstringDecode2 = (buffer, offset, maxLength, encoding, length) => {
const stringBuf = Buffer.alloc(length);
buffer.copy(stringBuf, 0, offset, offset + length);
return {
value: import_iconv_lite2.default.decode(stringBuf, getEncodingType2(encoding, buffer, offset)),
len: length + 1,
encoding
};
};
var decodeCharacterString2 = (buffer, offset, maxLength, lenValue) => {
return multiCharsetCharacterstringDecode2(
buffer,
offset + 1,
maxLength,
buffer[offset],
lenValue - 1
);
};
var bitstringSetBitsUsed2 = (bitString, bytesUsed, unusedBits) => {
bitString.bitsUsed = bytesUsed * 8;
bitString.bitsUsed -= unusedBits;
};
var decodeBitstring2 = (buffer, offset, lenValue) => {
let len = 0;
let bitString = {};
bitString.value = [];
if (lenValue > 0) {
const bytesUsed = lenValue - 1;
if (bytesUsed <= enums_default2.ASN1_MAX_BITSTRING_BYTES) {
len = 1;
for (let i = 0; i < bytesUsed; i++) {
bitString.value.push(byteReverseBits2(buffer[offset + len++]));
}
const unusedBits = buffer[offset] & 7;
bitstringSetBitsUsed2(bitString, bytesUsed, unusedBits);
}
}
return {
len,
value: bitString
};
};
var decodeDate2 = (buffer, offset) => {
let date;
const year = buffer[offset] + 1900;
const month = buffer[offset + 1];
const day = buffer[offset + 2];
const wday = buffer[offset + 3];
if (month === 255 && day === 255 && wday === 255 && year - 1900 === 255) {
date = new Date(1, 1, 1);
} else {
date = new Date(year, month, day);
}
return {
len: 4,
value: date
};
};
var decodeDateSafe2 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeDate2(buffer, offset);
}
};
var decodeApplicationDate2 = (buffer, offset) => {
const result = decodeTagNumber2(buffer, offset);
if (result.tagNumber === enums_default2.ApplicationTag.DATE) {
const value = decodeDate2(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetTime2 = (buffer, offset, value = new Date(1, 1, 1)) => {
const hour = buffer[offset + 0];
const min = buffer[offset + 1];
const sec = buffer[offset + 2];
let hundredths = buffer[offset + 3];
if (hour === 255 && min === 255 && sec === 255 && hundredths === 255) {
value = new Date(1, 1, 1);
} else {
if (hundredths > 100)
hundredths = 0;
value = new Date(1, 1, 1, hour, min, sec, hundredths * 10);
}
return {
len: 4,
value
};
};
var decodeBacnetTimeSafe2 = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeBacnetTime2(buffer, offset);
}
};
var decodeApplicationTime2 = (buffer, offset) => {
const result = decodeTagNumber2(buffer, offset);
if (result.tagNumber === enums_default2.ApplicationTag.TIME) {
const value = decodeBacnetTime2(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetDatetime2 = (buffer, offset) => {
let len = 0;
const date = decodeApplicationDate2(buffer, offset + len);
len += date.len;
const time = decodeApplicationTime2(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
)
};
};
var bacappDecodeData2 = (buffer, offset, maxLength, tagDataType, lenValueType) => {
let result;
let value = {
len: 0,
type: tagDataType
};
switch (tagDataType) {
case enums_default2.ApplicationTag.NULL:
value.value = null;
break;
case enums_default2.ApplicationTag.BOOLEAN:
value.value = lenValueType > 0;
break;
case enums_default2.ApplicationTag.UNSIGNED_INTEGER:
result = decodeUnsigned2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.SIGNED_INTEGER:
result = decodeSigned2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.REAL:
result = decodeRealSafe2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.DOUBLE:
result = decodeDoubleSafe2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.OCTET_STRING:
result = decodeOctetString2(buffer, offset, maxLength, 0, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.CHARACTER_STRING:
result = decodeCharacterString2(buffer, offset, maxLength, lenValueType);
value.len += result.len;
value.value = result.value;
value.encoding = result.encoding;
break;
case enums_default2.ApplicationTag.BIT_STRING:
result = decodeBitstring2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.ENUMERATED:
result = decodeEnumerated2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.DATE:
result = decodeDateSafe2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.TIME:
result = decodeBacnetTimeSafe2(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default2.ApplicationTag.OBJECTIDENTIFIER:
result = decodeObjectIdSafe2(buffer, offset, lenValueType);
value.len += result.len;
value.value = { type: result.objectType, instance: result.instance };
break;
default:
break;
}
return value;
};
var bacappContextTagType2 = (property, tagNumber) => {
let tag = 0;
switch (property) {
case enums_default2.PropertyIdentifier.ACTUAL_SHED_LEVEL:
case enums_default2.PropertyIdentifier.REQUESTED_SHED_LEVEL:
case enums_default2.PropertyIdentifier.EXPECTED_SHED_LEVEL:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default2.ApplicationTag.UNSIGNED_INTEGER;
break;
case 2:
tag = enums_default2.ApplicationTag.REAL;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.ACTION:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
case 2:
tag = enums_default2.ApplicationTag.ENUMERATED;
break;
case 3:
case 5:
case 6:
tag = enums_default2.ApplicationTag.UNSIGNED_INTEGER;
break;
case 7:
case 8:
tag = enums_default2.ApplicationTag.BOOLEAN;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.LIST_OF_GROUP_MEMBERS:
switch (tagNumber) {
case 0:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.EXCEPTION_SCHEDULE:
switch (tagNumber) {
case 1:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
case 3:
tag = enums_default2.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY:
switch (tagNumber) {
case 0:
case 3:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
case 1:
tag = enums_default2.ApplicationTag.ENUMERATED;
break;
case 2:
tag = enums_default2.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.SUBORDINATE_LIST:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.RECIPIENT_LIST:
switch (tagNumber) {
case 0:
tag = enums_default2.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default2.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS:
switch (tagNumber) {
case 0:
case 1:
break;
case 2:
tag = enums_default2.ApplicationTag.BOOLEAN;
break;
case 3:
tag = enums_default2.ApplicationTag.UNSIGNED_INTEGER;
break;
case 4:
tag = enums_default2.ApplicationTag.REAL;
break;
default:
break;
}
break;
default:
break;
}
return tag;
};
var decodeDeviceObjPropertyRef2 = (buffer, offset, NOTUSEDARG = 0) => {
let len = 0;
let arrayIndex = enums_default2.ASN1_ARRAY_ALL;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
let objectId = decodeObjectId2(buffer, offset + len);
len += objectId.len;
let result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
let id = decodeEnumerated2(buffer, offset + len, result.value);
len += id.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
arrayIndex = decodeUnsigned2(buffer, offset + len, result.value);
len += arrayIndex.len;
}
if (decodeIsContextTag2(buffer, offset + len, 3)) {
if (!isClosingTag2(buffer[offset + len])) {
len++;
objectId = decodeObjectId2(buffer, offset + len);
len += objectId.len;
}
}
return {
len,
value: {
objectId,
id
}
};
};
var decodeReadAccessSpecification2 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
let decodedValue = decodeObjectId2(buffer, offset + len);
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
const propertyIdAndArrayIndex = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
let propertyRef = {};
if (!isContextSpecific2(buffer[offset + len])) {
return void 0;
}
let result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (len + result.value >= apduLen) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
propertyRef.id = decodedValue.value;
len += decodedValue.len;
propertyRef.index = enums_default2.ASN1_ARRAY_ALL;
if (isContextSpecific2(buffer[offset + len]) && !isClosingTag2(buffer[offset + len])) {
const tmp = decodeTagNumberAndValue2(buffer, offset + len);
if (tmp.tagNumber === 1) {
len += tmp.len;
if (len + tmp.value >= apduLen) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, tmp.value);
propertyRef.index = decodedValue.value;
len += decodedValue.len;
}
}
propertyIdAndArrayIndex.push(propertyRef);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
value.properties = propertyIdAndArrayIndex;
return {
len,
value
};
};
var decodeCovSubscription2 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
value.recipient = {};
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default2.ApplicationTag.UNSIGNED_INTEGER) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.recipient.net = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default2.ApplicationTag.OCTET_STRING) {
return void 0;
}
decodedValue = decodeOctetString2(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
value.recipient.adr = decodedValue.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriptionProcessId = decodedValue.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty = {};
value.monitoredProperty.id = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
} else {
value.monitoredProperty.index = enums_default2.ASN1_ARRAY_ALL;
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.timeRemaining = decodedValue.value;
if (len < apduLen && !isClosingTag2(buffer[offset + len])) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 4) {
return void 0;
}
decodedValue = decodeReal2(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
return {
len,
value
};
};
var decodeCalendarDate2 = (buffer, offset) => {
return {
len: 4,
year: buffer[offset],
month: buffer[offset + 1],
day: buffer[offset + 2],
wday: buffer[offset + 3]
};
};
var decodeCalendarDateRange2 = (buffer, offset) => {
let len = 1;
const startDate = decodeDate2(buffer, offset + len);
len += startDate.len + 1;
const endDate = decodeDate2(buffer, offset + len);
len += endDate.len + 1;
return {
len,
startDate,
endDate
};
};
var decodeCalendarWeekDay2 = (buffer, offset) => {
return {
len: 3,
month: buffer[offset],
week: buffer[offset + 1],
wday: buffer[offset + 2]
};
};
var decodeCalendar2 = (buffer, offset, apduLen) => {
let len = 0;
const entries = [];
let decodedValue;
while (len < apduLen) {
const result = decodeTagNumber2(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 0:
decodedValue = decodeCalendarDate2(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 1:
decodedValue = decodeCalendarDateRange2(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 2:
decodedValue = decodeCalendarWeekDay2(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
default:
return {
len: len - 1,
value: entries
};
}
}
};
var bacappDecodeContextApplicationData2 = (buffer, offset, maxOffset, objectType, propertyId) => {
let len = 0;
let result;
if (isContextSpecific2(buffer[offset])) {
if (propertyId === enums_default2.PropertyIdentifier.LIST_OF_GROUP_MEMBERS) {
result = decodeReadAccessSpecification2(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default2.ApplicationTag.READ_ACCESS_SPECIFICATION,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default2.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS) {
result = decodeCovSubscription2(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default2.ApplicationTag.COV_SUBSCRIPTION,
value: result.value,
len: result.len
};
} else if (objectType === enums_default2.ObjectType.GROUP && propertyId === enums_default2.PropertyIdentifier.PRESENT_VALUE) {
result = decodeReadAccessResult2(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default2.ApplicationTag.READ_ACCESS_RESULT,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default2.PropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES || propertyId === enums_default2.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY || propertyId === enums_default2.PropertyIdentifier.OBJECT_PROPERTY_REFERENCE) {
result = decodeDeviceObjPropertyRef2(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default2.ApplicationTag.OBJECT_PROPERTY_REFERENCE,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default2.PropertyIdentifier.DATE_LIST) {
result = decodeCalendar2(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default2.ApplicationTag.CONTEXT_SPECIFIC_DECODED,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default2.PropertyIdentifier.EVENT_TIME_STAMPS) {
let subEvtResult;
let evtResult = decodeTagNumberAndValue2(buffer, offset + len);
len += 1;
if (evtResult.tagNumber === 0) {
subEvtResult = decodeBacnetTime2(buffer, offset + 1);
return {
type: enums_default2.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 1) {
subEvtResult = decodeUnsigned2(buffer, offset + len, evtResult.value);
return {
type: enums_default2.ApplicationTag.UNSIGNED_INTEGER,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 2) {
subEvtResult = decodeBacnetDatetime2(buffer, offset + len);
return {
type: enums_default2.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 2
};
} else {
return void 0;
}
}
const list = [];
let tagResult = decodeTagNumberAndValue2(buffer, offset + len);
let multipleValues = isOpeningTag2(buffer[offset + len]);
while (len + offset <= maxOffset && !isClosingTag2(buffer[offset + len])) {
let subResult = decodeTagNumberAndValue2(buffer, offset + len);
if (!subResult) {
return void 0;
}
if (subResult.value === 0) {
len += subResult.len;
result = bacappDecodeApplicationData2(
buffer,
offset + len,
maxOffset,
enums_default2.ASN1_MAX_OBJECT_TYPE,
enums_default2.ASN1_MAX_PROPERTY_ID
);
if (!result) {
return void 0;
}
list.push(result);
len += result.len;
} else {
const overrideTagNumber = bacappContextTagType2(
propertyId,
subResult.tagNumber
);
if (overrideTagNumber !== enums_default2.ASN1_MAX_APPLICATION_TAG) {
subResult.tagNumber = overrideTagNumber;
}
let bacappResult = bacappDecodeData2(
buffer,
offset + len + subResult.len,
maxOffset,
subResult.tagNumber,
subResult.value
);
if (!bacappResult) {
return void 0;
}
if (bacappResult.len === subResult.value) {
let resObj = {
value: bacappResult.value,
type: bacappResult.type
};
if (bacappResult.encoding !== void 0)
resObj.encoding = bacappResult.encoding;
list.push(resObj);
len += subResult.len + subResult.value;
} else {
list.push({
value: buffer.slice(
offset + len + subResult.len,
offset + len + subResult.len + subResult.value
),
type: enums_default2.ApplicationTag.CONTEXT_SPECIFIC_ENCODED
});
len += subResult.len + subResult.value;
}
}
if (multipleValues === false) {
return {
len,
value: list[0],
type: enums_default2.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
}
if (len + offset > maxOffset) {
return void 0;
}
if (decodeIsClosingTagNumber2(buffer, offset + len, tagResult.tagNumber)) {
len++;
}
return {
len,
value: list,
type: enums_default2.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
return void 0;
};
var bacappEncodeTimestamp2 = (buffer, value) => {
switch (value.type) {
case enums_default2.TimeStamp.TIME:
encodeContextTime2(buffer, 0, value.value);
break;
case enums_default2.TimeStamp.SEQUENCE_NUMBER:
encodeContextUnsigned2(buffer, 1, value.value);
break;
case enums_default2.TimeStamp.DATETIME:
bacappEncodeContextDatetime2(buffer, 2, value.value);
break;
default:
throw new Error("NOT_IMPLEMENTED");
}
};
var bacappEncodeContextTimestamp2 = (buffer, tagNumber, value) => {
encodeOpeningTag2(buffer, tagNumber);
bacappEncodeTimestamp2(buffer, value);
encodeClosingTag2(buffer, tagNumber);
};
var decodeContextCharacterString2 = (buffer, offset, maxLength, tagNumber) => {
let len = 0;
if (!decodeIsContextTag2(buffer, offset + len, tagNumber)) {
return void 0;
}
const result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
const decodedValue = multiCharsetCharacterstringDecode2(
buffer,
offset + 1 + len,
maxLength,
buffer[offset + len],
result.value - 1
);
if (!decodedValue) {
return void 0;
}
len += result.value;
return {
len,
value: decodedValue.value,
encoding: decodedValue.encoding
};
};
var decodeIsContextTagWithLength2 = (buffer, offset, tagNumber) => {
const result = decodeTagNumber2(buffer, offset);
return {
len: result.len,
value: isContextSpecific2(buffer[offset]) && result.tagNumber === tagNumber
};
};
var decodeContextObjectId2 = (buffer, offset, tagNumber) => {
const result = decodeIsContextTagWithLength2(buffer, offset, tagNumber);
if (!result.value) {
return void 0;
}
const decodedValue = decodeObjectId2(buffer, offset + result.len);
decodedValue.len = decodedValue.len + result.len;
return decodedValue;
};
var encodeBacnetCharacterString2 = (buffer, value, encoding) => {
encoding = encoding || enums_default2.CharacterStringEncoding.UTF_8;
buffer.buffer[buffer.offset++] = encoding;
const bufEncoded = import_iconv_lite2.default.encode(value, getEncodingType2(encoding));
buffer.offset += bufEncoded.copy(buffer.buffer, buffer.offset);
};
var encodeApplicationCharacterString2 = (buffer, value, encoding) => {
const tmp = getBuffer2();
encodeBacnetCharacterString2(tmp, value, encoding);
encodeTag2(buffer, enums_default2.ApplicationTag.CHARACTER_STRING, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeContextCharacterString2 = (buffer, tagNumber, value, encoding) => {
const tmp = getBuffer2();
encodeBacnetCharacterString2(tmp, value, encoding);
encodeTag2(buffer, tagNumber, true, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encode33 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated2(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 2, arrayIndex);
}
encodeOpeningTag2(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData2(buffer, value);
});
encodeClosingTag2(buffer, 3);
};
var decode33 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.property = { id: decodedValue.value };
if (len < apduLen && decodeIsContextTag2(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL2;
}
const values = [];
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
value.objectId.type,
value.property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
value.values = values;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.len = len;
return value;
};
var alarm_acknowledge_exports2 = {};
__export2(alarm_acknowledge_exports2, {
decode: () => decode210,
encode: () => encode210
});
var encode210 = (buffer, ackProcessId, eventObjectId, eventStateAcknowledged, ackSource, eventTimeStamp, ackTimeStamp) => {
encodeContextUnsigned2(buffer, 0, ackProcessId);
encodeContextObjectId2(
buffer,
1,
eventObjectId.type,
eventObjectId.instance
);
encodeContextEnumerated2(buffer, 2, eventStateAcknowledged);
bacappEncodeContextTimestamp2(buffer, 3, eventTimeStamp);
encodeContextCharacterString2(buffer, 4, ackSource);
bacappEncodeContextTimestamp2(buffer, 5, ackTimeStamp);
};
var decode210 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
let date;
let time;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedProcessId = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateAcknowledged = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate2(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime2(buffer, offset + len);
len += time.len;
time = time.value.value;
value.eventTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.acknowledgeSource = decodedValue.value;
len += decodedValue.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2) {
date = decodeApplicationDate2(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime2(buffer, offset + len);
len += time.len;
time = time.value.value;
value.acknowledgeTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
value.len = len;
return value;
};
var alarm_summary_exports2 = {};
__export2(alarm_summary_exports2, {
decode: () => decode34,
encode: () => encode34
});
var encode34 = (buffer, alarms) => {
alarms.forEach((alarm) => {
encodeContextObjectId2(
buffer,
12,
alarm.objectId.type,
alarm.objectId.instance
);
encodeContextEnumerated2(buffer, 9, alarm.alarmState);
encodeContextBitstring2(buffer, 8, alarm.acknowledgedTransitions);
});
};
var decode34 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const alarms = [];
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.alarmState = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
alarms.push(value);
}
return {
len,
alarms
};
};
var atomic_read_file_exports2 = {};
__export2(atomic_read_file_exports2, {
decode: () => decode42,
decodeAcknowledge: () => decodeAcknowledge8,
encode: () => encode42,
encodeAcknowledge: () => encodeAcknowledge9
});
var encode42 = (buffer, isStream, objectId, position, count) => {
encodeApplicationObjectId2(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag2(buffer, 0);
encodeApplicationSigned2(buffer, position);
encodeApplicationUnsigned2(buffer, count);
encodeClosingTag2(buffer, 0);
} else {
encodeOpeningTag2(buffer, 1);
encodeApplicationSigned2(buffer, position);
encodeApplicationUnsigned2(buffer, count);
encodeClosingTag2(buffer, 1);
}
};
var decode42 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let isStream = true;
let objectId = {};
let position = -1;
let count = 0;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
objectId = { type: decodedValue.objectType, instance: decodedValue.instance };
if (decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
count
};
};
var encodeAcknowledge9 = (buffer, isStream, endOfFile, position, blockCount, blocks, counts) => {
encodeApplicationBoolean2(buffer, endOfFile);
if (isStream) {
encodeOpeningTag2(buffer, 0);
encodeApplicationSigned2(buffer, position);
encodeApplicationOctetString2(buffer, blocks[0], 0, counts[0]);
encodeClosingTag2(buffer, 0);
} else {
encodeOpeningTag2(buffer, 1);
encodeApplicationSigned2(buffer, position);
encodeApplicationUnsigned2(buffer, blockCount);
for (let i = 0; i < blockCount; i++) {
encodeApplicationOctetString2(buffer, blocks[i], 0, counts[i]);
}
encodeClosingTag2(buffer, 1);
}
};
var decodeAcknowledge8 = (buffer, offset, length = 0) => {
let len = length;
let result;
let decodedValue;
let endOfFile;
let isStream;
let position;
let targetBuffer;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
endOfFile = result.value > 0;
if (decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
targetBuffer = buffer.slice(offset + len, offset + len + result.value);
len += result.value;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
isStream = false;
throw new Error("NotImplemented");
} else {
return void 0;
}
return {
len,
endOfFile,
isStream,
position,
buffer: targetBuffer
};
};
var atomic_write_file_exports2 = {};
__export2(atomic_write_file_exports2, {
decode: () => decode52,
decodeAcknowledge: () => decodeAcknowledge22,
encode: () => encode52,
encodeAcknowledge: () => encodeAcknowledge22
});
var encode52 = (buffer, isStream, objectId, position, blocks) => {
encodeApplicationObjectId2(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag2(buffer, 0);
encodeApplicationSigned2(buffer, position);
encodeApplicationOctetString2(buffer, blocks[0], 0, blocks[0].length);
encodeClosingTag2(buffer, 0);
} else {
encodeOpeningTag2(buffer, 1);
encodeApplicationSigned2(buffer, position);
encodeApplicationUnsigned2(buffer, blocks.length);
for (let i = 0; i < blocks.length; i++) {
encodeApplicationOctetString2(
buffer,
blocks[i],
0,
blocks[i].length
);
}
encodeClosingTag2(buffer, 1);
}
};
var decode52 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let isStream;
let position;
let blocks = [];
let blockCount;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString2(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
blockCount = decodedValue.value;
for (let i = 0; i < blockCount; i++) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6) {
return void 0;
}
decodedValue = decodeOctetString2(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
blocks
};
};
var encodeAcknowledge22 = (buffer, isStream, position) => {
if (isStream) {
encodeContextSigned2(buffer, 0, position);
} else {
encodeContextSigned2(buffer, 1, position);
}
};
var decodeAcknowledge22 = (buffer, offset, length = 0) => {
let len = length;
let isStream = false;
let position = 0;
let decodedValue;
const result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
isStream = true;
} else if (result.tagNumber === 1) {
isStream = false;
} else {
return void 0;
}
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
return {
len,
isStream,
position
};
};
var cov_notify_exports2 = {};
__export2(cov_notify_exports2, {
decode: () => decode62,
encode: () => encode62
});
var encode62 = (buffer, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) => {
encodeContextUnsigned2(buffer, 0, subscriberProcessId);
encodeContextObjectId2(
buffer,
1,
8,
initiatingDeviceId
);
encodeContextObjectId2(
buffer,
2,
monitoredObjectId.type,
monitoredObjectId.instance
);
encodeContextUnsigned2(buffer, 3, timeRemaining);
encodeOpeningTag2(buffer, 4);
values.forEach((value) => {
encodeContextEnumerated2(buffer, 0, value.property.id);
if (value.property.index === ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 1, value.property.index);
}
encodeOpeningTag2(buffer, 2);
value.value.forEach((v) => {
bacappEncodeApplicationData2(buffer, v);
});
encodeClosingTag2(buffer, 2);
if (value.priority === ASN1_NO_PRIORITY2) {
encodeContextUnsigned2(buffer, 3, value.priority);
}
});
encodeClosingTag2(buffer, 4);
};
var decode62 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
const subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
const initiatingDeviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag2(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
const monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag2(buffer, offset + len, 3)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
const timeRemaining = decodedValue.value;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 4)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber2(buffer, offset + len, 4)) {
let newEntry = {};
newEntry.property = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.id = decodedValue.value;
if (decodeIsContextTag2(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.index = decodedValue.value;
} else {
newEntry.property.index = ASN1_ARRAY_ALL2;
}
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 2)) {
return void 0;
}
len++;
const properties = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber2(buffer, offset + len, 2)) {
decodedValue = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
monitoredObjectId.type,
newEntry.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
properties.push(decodedValue);
}
newEntry.value = properties;
len++;
if (decodeIsContextTag2(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.priority = decodedValue.value;
} else {
newEntry.priority = ASN1_NO_PRIORITY2;
}
values.push(newEntry);
}
return {
len,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
};
};
var create_object_exports2 = {};
__export2(create_object_exports2, {
decode: () => decode72,
encode: () => encode72,
encodeAcknowledge: () => encodeAcknowledge32
});
var encode72 = (buffer, objectId, values) => {
encodeOpeningTag2(buffer, 0);
encodeContextObjectId2(buffer, 1, objectId.type, objectId.instance);
encodeClosingTag2(buffer, 0);
encodeOpeningTag2(buffer, 1);
values.forEach((propertyValue) => {
encodeContextEnumerated2(buffer, 0, propertyValue.property.id);
if (propertyValue.property.index !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 1, propertyValue.property.index);
}
encodeOpeningTag2(buffer, 2);
propertyValue.value.forEach((value) => {
bacappEncodeApplicationData2(buffer, value);
});
encodeClosingTag2(buffer, 2);
if (propertyValue.priority !== ASN1_NO_PRIORITY2) {
encodeContextUnsigned2(buffer, 3, propertyValue.priority);
}
});
encodeClosingTag2(buffer, 1);
};
var decode72 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
const valueList = [];
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 && apduLen > len) {
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeContextObjectId2(buffer, offset + len, 1);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
} else {
return void 0;
}
if (decodeIsClosingTag2(buffer, offset + len)) {
len++;
}
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arraIndex = ASN1_ARRAY_ALL2;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
arraIndex += decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arraIndex };
if (result.tagNumber === 2 && decodeIsOpeningTag2(buffer, offset + len - 1)) {
const values = [];
while (!decodeIsClosingTag2(buffer, offset + len)) {
decodedValue = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
len++;
newEntry.value = values;
} else {
return void 0;
}
valueList.push(newEntry);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
return {
len,
objectId,
values: valueList
};
};
var encodeAcknowledge32 = (buffer, objectId) => {
encodeApplicationObjectId2(buffer, objectId.type, objectId.instance);
};
var delete_object_exports2 = {};
__export2(delete_object_exports2, {
decode: () => decode82,
encode: () => encode82
});
var decode82 = (buffer, offset, apduLen) => {
const result = decodeTagNumberAndValue2(buffer, offset);
if (result.tagNumber !== 12) {
return void 0;
}
let len = 1;
const value = decodeObjectId2(buffer, offset + len);
len += value.len;
if (len !== apduLen) {
return void 0;
}
value.len = len;
return value;
};
var encode82 = (buffer, objectId) => {
encodeApplicationObjectId2(buffer, objectId.type, objectId.instance);
};
var device_communication_control_exports2 = {};
__export2(device_communication_control_exports2, {
decode: () => decode92,
encode: () => encode92
});
var encode92 = (buffer, timeDuration, enableDisable, password) => {
if (timeDuration > 0) {
encodeContextUnsigned2(buffer, 0, timeDuration);
}
encodeContextEnumerated2(buffer, 1, enableDisable);
if (password && password !== "") {
encodeContextCharacterString2(buffer, 2, password);
}
};
var decode92 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result;
if (decodeIsContextTag2(buffer, offset + len, 0)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
value.timeDuration = decodedValue.value;
len += decodedValue.len;
}
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
value.enableDisable = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag2(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var error_exports2 = {};
__export2(error_exports2, {
buildMessage: () => buildMessage2,
decode: () => decode102,
encode: () => encode102
});
var encode102 = (buffer, errorClass, errorCode) => {
encodeApplicationEnumerated2(buffer, errorClass);
encodeApplicationEnumerated2(buffer, errorCode);
};
var decode102 = (buffer, offset) => {
const orgOffset = offset;
let result;
result = decodeTagNumberAndValue2(buffer, offset);
offset += result.len;
const errorClass = decodeEnumerated2(buffer, offset, result.value);
offset += errorClass.len;
result = decodeTagNumberAndValue2(buffer, offset);
offset += result.len;
const errorCode = decodeEnumerated2(buffer, offset, result.value);
offset += errorClass.len;
return {
len: offset - orgOffset,
class: errorClass.value,
code: errorCode.value
};
};
var buildMessage2 = function(result) {
return "BacnetError Class: " + ErrorClassName2[result.class] + " (" + result.class + ") Code: " + ErrorCodeName2[result.code] + " (" + result.code + ")";
};
var event_information_exports2 = {};
__export2(event_information_exports2, {
decode: () => decode112,
encode: () => encode112
});
var encode112 = (buffer, events, moreEvents) => {
encodeOpeningTag2(buffer, 0);
events.forEach((event) => {
encodeContextObjectId2(
buffer,
0,
event.objectId.type,
event.objectId.instance
);
encodeContextEnumerated2(buffer, 1, event.eventState);
encodeContextBitstring2(buffer, 2, event.acknowledgedTransitions);
encodeOpeningTag2(buffer, 3);
for (let i = 0; i < 3; i++) {
encodeApplicationDate2(buffer, event.eventTimeStamps[i]);
encodeApplicationTime2(buffer, event.eventTimeStamps[i]);
}
encodeClosingTag2(buffer, 3);
encodeContextEnumerated2(buffer, 4, event.notifyType);
encodeContextBitstring2(buffer, 5, event.eventEnable);
encodeOpeningTag2(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned2(buffer, event.eventPriorities[i]);
}
encodeClosingTag2(buffer, 6);
});
encodeClosingTag2(buffer, 0);
encodeContextBoolean2(buffer, 1, moreEvents);
};
var decode112 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
len++;
const alarms = [];
let moreEvents;
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventState = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
value.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
if (result.tagNumber !== 0) {
decodedValue = decodeApplicationDate2(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime2(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
value.eventTimeStamps[i] = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
} else {
len += result.value;
}
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.notifyType = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventEnable = decodedValue.value;
len++;
value.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventPriorities[i] = decodedValue.value;
}
len++;
alarms.push(value);
}
moreEvents = buffer[apduLen - 1] === 1;
return {
len,
alarms,
moreEvents
};
};
var event_notify_data_exports2 = {};
__export2(event_notify_data_exports2, {
decode: () => decode122,
encode: () => encode122
});
var encode122 = (buffer, data) => {
encodeContextUnsigned2(buffer, 0, data.processId);
encodeContextObjectId2(
buffer,
1,
data.initiatingObjectId.type,
data.initiatingObjectId.instance
);
encodeContextObjectId2(
buffer,
2,
data.eventObjectId.type,
data.eventObjectId.instance
);
bacappEncodeContextTimestamp2(buffer, 3, data.timeStamp);
encodeContextUnsigned2(buffer, 4, data.notificationClass);
encodeContextUnsigned2(buffer, 5, data.priority);
encodeContextEnumerated2(buffer, 6, data.eventType);
if (data.messageText && data.messageText !== "") {
encodeContextCharacterString2(buffer, 7, data.messageText);
}
encodeContextEnumerated2(buffer, 8, data.notifyType);
switch (data.notifyType) {
case 0:
case 1:
encodeContextBoolean2(buffer, 9, data.ackRequired);
encodeContextEnumerated2(buffer, 10, data.fromState);
break;
default:
break;
}
encodeContextEnumerated2(buffer, 11, data.toState);
switch (data.notifyType) {
case 0:
case 1:
encodeOpeningTag2(buffer, 12);
switch (data.eventType) {
case 0:
encodeOpeningTag2(buffer, 0);
encodeContextBitstring2(
buffer,
0,
data.changeOfBitstringReferencedBitString
);
encodeContextBitstring2(
buffer,
1,
data.changeOfBitstringStatusFlags
);
encodeClosingTag2(buffer, 0);
break;
case 1:
encodeOpeningTag2(buffer, 1);
encodeOpeningTag2(buffer, 0);
bacappEncodePropertyState2(buffer, data.changeOfStateNewState);
encodeClosingTag2(buffer, 0);
encodeContextBitstring2(
buffer,
1,
data.changeOfStateStatusFlags
);
encodeClosingTag2(buffer, 1);
break;
case 2:
encodeOpeningTag2(buffer, 2);
encodeOpeningTag2(buffer, 0);
switch (data.changeOfValueTag) {
case 0:
encodeContextReal2(
buffer,
1,
data.changeOfValueChangeValue
);
break;
case 1:
encodeContextBitstring2(
buffer,
0,
data.changeOfValueChangedBits
);
break;
default:
throw new Error("NotImplemented");
}
encodeClosingTag2(buffer, 0);
encodeContextBitstring2(
buffer,
1,
data.changeOfValueStatusFlags
);
encodeClosingTag2(buffer, 2);
break;
case 4:
encodeOpeningTag2(buffer, 4);
encodeContextReal2(buffer, 0, data.floatingLimitReferenceValue);
encodeContextBitstring2(
buffer,
1,
data.floatingLimitStatusFlags
);
encodeContextReal2(buffer, 2, data.floatingLimitSetPointValue);
encodeContextReal2(buffer, 3, data.floatingLimitErrorLimit);
encodeClosingTag2(buffer, 4);
break;
case 5:
encodeOpeningTag2(buffer, 5);
encodeContextReal2(buffer, 0, data.outOfRangeExceedingValue);
encodeContextBitstring2(buffer, 1, data.outOfRangeStatusFlags);
encodeContextReal2(buffer, 2, data.outOfRangeDeadband);
encodeContextReal2(buffer, 3, data.outOfRangeExceededLimit);
encodeClosingTag2(buffer, 5);
break;
case 8:
encodeOpeningTag2(buffer, 8);
encodeContextEnumerated2(
buffer,
0,
data.changeOfLifeSafetyNewState
);
encodeContextEnumerated2(
buffer,
1,
data.changeOfLifeSafetyNewMode
);
encodeContextBitstring2(
buffer,
2,
data.changeOfLifeSafetyStatusFlags
);
encodeContextEnumerated2(
buffer,
3,
data.changeOfLifeSafetyOperationExpected
);
encodeClosingTag2(buffer, 8);
break;
case 10:
encodeOpeningTag2(buffer, 10);
bacappEncodeContextDeviceObjPropertyRef2(
buffer,
0,
data.bufferReadyBufferProperty
);
encodeContextUnsigned2(
buffer,
1,
data.bufferReadyPreviousNotification
);
encodeContextUnsigned2(
buffer,
2,
data.bufferReadyCurrentNotification
);
encodeClosingTag2(buffer, 10);
break;
case 11:
encodeOpeningTag2(buffer, 11);
encodeContextUnsigned2(
buffer,
0,
data.unsignedRangeExceedingValue
);
encodeContextBitstring2(
buffer,
1,
data.unsignedRangeStatusFlags
);
encodeContextUnsigned2(
buffer,
2,
data.unsignedRangeExceededLimit
);
encodeClosingTag2(buffer, 11);
break;
case 9:
case 3:
throw new Error("NotImplemented");
default:
throw new Error("NotImplemented");
}
encodeClosingTag2(buffer, 12);
break;
case 2:
throw new Error("NotImplemented");
default:
break;
}
};
var decode122 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let eventData = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.processId = decodedValue.value;
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
eventData.initiatingObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag2(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
eventData.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag2(buffer, offset + len, 3)) {
return void 0;
}
len += 2;
decodedValue = decodeApplicationDate2(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime2(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
eventData.timeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len += 2;
if (!decodeIsContextTag2(buffer, offset + len, 4)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notificationClass = decodedValue.value;
if (!decodeIsContextTag2(buffer, offset + len, 5)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.priority = decodedValue.value;
if (eventData.priority > 255) {
return void 0;
}
if (!decodeIsContextTag2(buffer, offset + len, 6)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.eventType = decodedValue.value;
if (decodeIsContextTag2(buffer, offset + len, 7)) {
decodedValue = decodeContextCharacterString2(
buffer,
offset + len,
2e4,
7
);
len += decodedValue.len;
eventData.messageText = decodedValue.value;
}
if (!decodeIsContextTag2(buffer, offset + len, 8)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notifyType = decodedValue.value;
switch (eventData.notifyType) {
case 0:
case 1:
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, 1);
len += decodedValue.len;
eventData.ackRequired = decodedValue.value > 0;
if (!decodeIsContextTag2(buffer, offset + len, 10)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
eventData.fromState = decodedValue.value;
break;
default:
break;
}
if (!decodeIsContextTag2(buffer, offset + len, 11)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.toState = decodedValue.value;
eventData.len = len;
return eventData;
};
var get_enrollment_summary_exports2 = {};
__export2(get_enrollment_summary_exports2, {
decode: () => decode132,
decodeAcknowledge: () => decodeAcknowledge32,
encode: () => encode132,
encodeAcknowledge: () => encodeAcknowledge42
});
var encode132 = (buffer, acknowledgmentFilter, enrollmentFilter, eventStateFilter, eventTypeFilter, priorityFilter, notificationClassFilter) => {
encodeContextEnumerated2(buffer, 0, acknowledgmentFilter);
if (enrollmentFilter) {
encodeOpeningTag2(buffer, 1);
encodeOpeningTag2(buffer, 0);
encodeContextObjectId2(
buffer,
0,
enrollmentFilter.objectId.type,
enrollmentFilter.objectId.instance
);
encodeClosingTag2(buffer, 0);
encodeContextUnsigned2(buffer, 1, enrollmentFilter.processId);
encodeClosingTag2(buffer, 1);
}
if (eventStateFilter) {
encodeOpeningTag2(buffer, 2);
encodeContextEnumerated2(buffer, 0, eventStateFilter);
encodeClosingTag2(buffer, 2);
}
if (eventTypeFilter) {
encodeOpeningTag2(buffer, 3);
encodeContextEnumerated2(buffer, 0, eventTypeFilter);
encodeClosingTag2(buffer, 3);
}
if (priorityFilter) {
encodeOpeningTag2(buffer, 4);
encodeContextUnsigned2(buffer, 0, priorityFilter.min);
encodeContextUnsigned2(buffer, 1, priorityFilter.max);
encodeClosingTag2(buffer, 4);
}
if (notificationClassFilter) {
encodeOpeningTag2(buffer, 5);
encodeContextUnsigned2(buffer, 0, notificationClassFilter);
encodeClosingTag2(buffer, 5);
}
};
var decode132 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgmentFilter = decodedValue.value;
if (decodeIsContextTag2(buffer, offset + len, 1)) {
len++;
value.enrollmentFilter = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.enrollmentFilter.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.enrollmentFilter.processId = decodedValue.value;
len++;
}
if (decodeIsContextTag2(buffer, offset + len, 2)) {
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag2(buffer, offset + len, 3)) {
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTypeFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag2(buffer, offset + len, 4)) {
len++;
value.priorityFilter = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.min = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.max = decodedValue.value;
len++;
}
if (decodeIsContextTag2(buffer, offset + len, 5)) {
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.notificationClassFilter = decodedValue.value;
len++;
}
value.len = len;
return value;
};
var encodeAcknowledge42 = (buffer, enrollmentSummaries) => {
enrollmentSummaries.forEach((enrollmentSummary) => {
encodeApplicationObjectId2(
buffer,
enrollmentSummary.objectId.type,
enrollmentSummary.objectId.instance
);
encodeApplicationEnumerated2(buffer, enrollmentSummary.eventType);
encodeApplicationEnumerated2(buffer, enrollmentSummary.eventState);
encodeApplicationUnsigned2(buffer, enrollmentSummary.priority);
encodeApplicationUnsigned2(
buffer,
enrollmentSummary.notificationClass
);
});
};
var decodeAcknowledge32 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const enrollmentSummaries = [];
while (apduLen - len > 0) {
const enrollmentSummary = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId2(buffer, offset + len);
len += result.len;
enrollmentSummary.objectId = {
type: result.objectType,
instance: result.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated2(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventType = result.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated2(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventState = result.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned2(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.priority = result.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned2(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.notificationClass = result.value;
enrollmentSummaries.push(enrollmentSummary);
}
return {
enrollmentSummaries,
len
};
};
var get_event_information_exports2 = {};
__export2(get_event_information_exports2, {
decode: () => decode142,
decodeAcknowledge: () => decodeAcknowledge42,
encode: () => encode142,
encodeAcknowledge: () => encodeAcknowledge52
});
var encode142 = (buffer, lastReceivedObjectId) => {
encodeContextObjectId2(
buffer,
0,
lastReceivedObjectId.type,
lastReceivedObjectId.instance
);
};
var decode142 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.lastReceivedObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var encodeAcknowledge52 = (buffer, events, moreEvents) => {
encodeOpeningTag2(buffer, 0);
events.forEach((eventData) => {
encodeContextObjectId2(
buffer,
0,
eventData.objectId.type,
eventData.objectId.instance
);
encodeContextEnumerated2(buffer, 1, eventData.eventState);
encodeContextBitstring2(buffer, 2, eventData.acknowledgedTransitions);
encodeOpeningTag2(buffer, 3);
for (let i = 0; i < 3; i++) {
bacappEncodeTimestamp2(buffer, eventData.eventTimeStamps[i]);
}
encodeClosingTag2(buffer, 3);
encodeContextEnumerated2(buffer, 4, eventData.notifyType);
encodeContextBitstring2(buffer, 5, eventData.eventEnable);
encodeOpeningTag2(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned2(buffer, eventData.eventPriorities[i]);
}
encodeClosingTag2(buffer, 6);
});
encodeClosingTag2(buffer, 0);
encodeContextBoolean2(buffer, 1, moreEvents);
};
var decodeAcknowledge42 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
value.events = [];
while (apduLen - len > 3) {
let event = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
event.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventState = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
event.acknowledgedTransitions = decodedValue.value;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
event.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeBacnetTime2(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 0
/* TIME */
};
} else if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 1
/* SEQUENCE_NUMBER */
};
} else if (result.tagNumber === 2) {
let date = decodeApplicationDate2(
buffer,
offset + len
);
len += date.len;
date = date.value.value;
let time = decodeApplicationTime2(
buffer,
offset + len
);
len += time.len;
time = time.value.value;
event.eventTimeStamps[i] = {
value: new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
),
type: 2
/* DATETIME */
};
len++;
}
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
event.notifyType = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventEnable = decodedValue.value;
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 6)) {
return void 0;
}
len++;
event.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventPriorities[i] = decodedValue.value;
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 6)) {
return void 0;
}
len++;
value.events.push(event);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
value.moreEvents = buffer[offset + len] > 0;
len++;
value.len = len;
return value;
};
var i_am_exports2 = {};
__export2(i_am_exports2, {
decode: () => decode152,
encode: () => encode152
});
var encode152 = (buffer, deviceId, maxApdu, segmentation, vendorId) => {
encodeApplicationObjectId2(buffer, 8, deviceId);
encodeApplicationUnsigned2(buffer, maxApdu);
encodeApplicationEnumerated2(buffer, segmentation);
encodeApplicationUnsigned2(buffer, vendorId);
};
var decode152 = (buffer, offset) => {
let result;
let apduLen = 0;
const orgOffset = offset;
result = decodeTagNumberAndValue2(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 12) {
return void 0;
}
result = decodeObjectId2(buffer, offset + apduLen);
apduLen += result.len;
if (result.objectType !== 8) {
return void 0;
}
const deviceId = result.instance;
result = decodeTagNumberAndValue2(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned2(buffer, offset + apduLen, result.value);
apduLen += result.len;
const maxApdu = result.value;
result = decodeTagNumberAndValue2(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 9) {
return void 0;
}
result = decodeEnumerated2(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 3) {
return void 0;
}
const segmentation = result.value;
result = decodeTagNumberAndValue2(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeUnsigned2(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 65535) {
return void 0;
}
const vendorId = result.value;
return {
len: offset - orgOffset,
deviceId,
maxApdu,
segmentation,
vendorId
};
};
var i_have_exports2 = {};
__export2(i_have_exports2, {
decode: () => decode162,
encode: () => encode162
});
var encode162 = (buffer, deviceId, objectId, objectName) => {
encodeApplicationObjectId2(buffer, deviceId.type, deviceId.instance);
encodeApplicationObjectId2(buffer, objectId.type, objectId.instance);
encodeApplicationCharacterString2(buffer, objectName);
};
var decode162 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.deviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
value.len = len;
return value;
};
var life_safety_operation_exports2 = {};
__export2(life_safety_operation_exports2, {
decode: () => decode172,
encode: () => encode172
});
var encode172 = (buffer, processId, requestingSource, operation, targetObjectId) => {
encodeContextUnsigned2(buffer, 0, processId);
encodeContextCharacterString2(buffer, 1, requestingSource);
encodeContextEnumerated2(buffer, 2, operation);
encodeContextObjectId2(
buffer,
3,
targetObjectId.type,
targetObjectId.instance
);
};
var decode172 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.processId = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.requestingSource = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.operation = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.targetObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var private_transfer_exports2 = {};
__export2(private_transfer_exports2, {
decode: () => decode182,
encode: () => encode182
});
var encode182 = (buffer, vendorId, serviceNumber, data) => {
encodeContextUnsigned2(buffer, 0, vendorId);
encodeContextUnsigned2(buffer, 1, serviceNumber);
encodeOpeningTag2(buffer, 2);
for (let i = 0; i < data.length; i++) {
buffer.buffer[buffer.offset++] = data[i];
}
encodeClosingTag2(buffer, 2);
};
var decode182 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.vendorId = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.serviceNumber = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
const size = apduLen - (offset + len + 1);
const data = [];
for (let i = 0; i < size; i++) {
data.push(buffer[offset + len++]);
}
value.data = data;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
value.len = len;
return value;
};
var read_property_exports2 = {};
__export2(read_property_exports2, {
decode: () => decode192,
decodeAcknowledge: () => decodeAcknowledge52,
encode: () => encode192,
encodeAcknowledge: () => encodeAcknowledge62
});
var encode192 = (buffer, objectType, objectInstance, propertyId, arrayIndex) => {
if (objectType <= ASN1_MAX_OBJECT2) {
encodeContextObjectId2(buffer, 0, objectType, objectInstance);
}
if (propertyId <= ASN1_MAX_PROPERTY_ID2) {
encodeContextEnumerated2(buffer, 1, propertyId);
}
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(
buffer,
2,
arrayIndex || arrayIndex === 0 ? arrayIndex : ASN1_ARRAY_ALL2
);
}
};
var decode192 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (apduLen < 7) {
return void 0;
}
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
property.index = ASN1_ARRAY_ALL2;
if (len < apduLen) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 2 && len < apduLen) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
return void 0;
}
}
if (len < apduLen) {
return void 0;
}
return {
len,
objectId,
property
};
};
var encodeAcknowledge62 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated2(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 2, arrayIndex);
}
encodeOpeningTag2(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData2(buffer, value);
});
encodeClosingTag2(buffer, 3);
};
var decodeAcknowledge52 = (buffer, offset, apduLen) => {
let result;
let decodedValue;
let objectId = {};
let property = {};
if (!decodeIsContextTag2(buffer, offset, 0)) {
return void 0;
}
let len = 1;
result = decodeObjectId2(buffer, offset + len);
len += result.len;
objectId.type = result.objectType;
objectId.instance = result.instance;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
result = decodeEnumerated2(buffer, offset + len, result.value);
len += result.len;
property.id = result.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL2;
}
const values = [];
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
objectId.type,
property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
return {
len,
objectId,
property,
values
};
};
var read_property_multiple_exports2 = {};
__export2(read_property_multiple_exports2, {
decode: () => decode202,
decodeAcknowledge: () => decodeAcknowledge62,
encode: () => encode202,
encodeAcknowledge: () => encodeAcknowledge72
});
var encode202 = (buffer, properties) => {
properties.forEach((value) => {
encodeReadAccessSpecification2(buffer, value);
});
};
var decode202 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const decodedValue = decodeReadAccessSpecification2(
buffer,
offset + len,
apduLen - len
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
values.push(decodedValue.value);
}
return {
len,
properties: values
};
};
var encodeAcknowledge72 = (buffer, values) => {
values.forEach((value) => {
encodeReadAccessResult2(buffer, value);
});
};
var decodeAcknowledge62 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const result = decodeReadAccessResult2(
buffer,
offset + len,
apduLen - len
);
if (!result || result === -1) {
return void 0;
}
len += result.len;
values.push(result.value);
}
return {
len,
values
};
};
var read_range_exports2 = {};
__export2(read_range_exports2, {
decode: () => decode212,
decodeAcknowledge: () => decodeAcknowledge72,
encode: () => encode212,
encodeAcknowledge: () => encodeAcknowledge82
});
var encode212 = (buffer, objectId, propertyId, arrayIndex, requestType, position, time, count) => {
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated2(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 2, arrayIndex);
}
switch (requestType) {
case 0:
encodeOpeningTag2(buffer, 3);
encodeApplicationUnsigned2(buffer, position);
encodeApplicationSigned2(buffer, count);
encodeClosingTag2(buffer, 3);
break;
case 1:
encodeOpeningTag2(buffer, 6);
encodeApplicationUnsigned2(buffer, position);
encodeApplicationSigned2(buffer, count);
encodeClosingTag2(buffer, 6);
break;
case 2:
encodeOpeningTag2(buffer, 7);
encodeApplicationDate2(buffer, time);
encodeApplicationTime2(buffer, time);
encodeApplicationSigned2(buffer, count);
encodeClosingTag2(buffer, 7);
break;
default:
break;
}
};
var decode212 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let requestType;
let position;
let time;
let count;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId2(buffer, offset + len, 0);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
if (len < apduLen && decodeIsContextTag2(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL2;
}
if (len < apduLen) {
result = decodeTagNumber2(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 3:
requestType = 0;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 6:
requestType = 1;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 7:
requestType = 2;
decodedValue = decodeApplicationDate2(buffer, offset + len);
len += decodedValue.len;
const tmpDate = decodedValue.value.value;
decodedValue = decodeApplicationTime2(buffer, offset + len);
len += decodedValue.len;
const tmpTime = decodedValue.value.value;
time = new Date(
tmpDate.getYear(),
tmpDate.getMonth(),
tmpDate.getDate(),
tmpTime.getHours(),
tmpTime.getMinutes(),
tmpTime.getSeconds(),
tmpTime.getMilliseconds()
);
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned2(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
default:
return void 0;
}
result = decodeTagNumber2(buffer, offset + len);
len += result.len;
}
return {
len,
objectId,
property,
requestType,
position,
time,
count
};
};
var encodeAcknowledge82 = (buffer, objectId, propertyId, arrayIndex, resultFlags, itemCount, applicationData, requestType, firstSequence) => {
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated2(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 2, arrayIndex);
}
encodeContextBitstring2(buffer, 3, resultFlags);
encodeContextUnsigned2(buffer, 4, itemCount);
encodeOpeningTag2(buffer, 5);
if (itemCount !== 0) {
applicationData.copy(
buffer.buffer,
buffer.offset,
0,
applicationData.length
);
buffer.offset += applicationData.length;
}
encodeClosingTag2(buffer, 5);
if (itemCount !== 0 && requestType && requestType !== 0) {
encodeContextUnsigned2(buffer, 6, firstSequence);
}
};
var decodeAcknowledge72 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
const objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
const property = { index: ASN1_ARRAY_ALL2 };
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 2 && len < apduLen) {
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring2(buffer, offset + len, result.value);
len += decodedValue.len;
const resultFlag = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
const itemCount = decodedValue.value;
if (!decodeIsOpeningTag2(buffer, offset + len)) {
return void 0;
}
len++;
const rangeBuffer = buffer.slice(offset + len, apduLen - 3);
return {
objectId,
property,
resultFlag,
itemCount,
rangeBuffer,
len
};
};
var register_foreign_device_exports2 = {};
__export2(register_foreign_device_exports2, {
decode: () => decode222,
encode: () => encode222
});
var encode222 = (buffer, ttl, length = 2) => {
encodeUnsigned2(buffer, ttl, length);
};
var decode222 = (buffer, offset, length = 2) => {
let len = 0;
let result = decodeUnsigned2(buffer, offset + len, length);
len += result.len;
return {
len,
ttl: result.value
};
};
var reinitialize_device_exports2 = {};
__export2(reinitialize_device_exports2, {
decode: () => decode232,
encode: () => encode232
});
var encode232 = (buffer, state, password) => {
encodeContextEnumerated2(buffer, 0, state);
if (password && password !== "") {
encodeContextCharacterString2(buffer, 1, password);
}
};
var decode232 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
let decodedValue = decodeEnumerated2(
buffer,
offset + len,
result.value
);
value.state = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
var subscribe_cov_exports2 = {};
__export2(subscribe_cov_exports2, {
decode: () => decode242,
encode: () => encode242
});
var encode242 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime) => {
encodeContextUnsigned2(buffer, 0, subscriberProcessId);
encodeContextObjectId2(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean2(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned2(buffer, 3, lifetime);
}
};
var decode242 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
if (len < apduLen) {
value.issueConfirmedNotifications = false;
if (decodeIsContextTag2(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag2(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
}
value.len = len;
return value;
};
var subscribe_property_exports2 = {};
__export2(subscribe_property_exports2, {
decode: () => decode252,
encode: () => encode252
});
var encode252 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime, monitoredProperty, covIncrementPresent, covIncrement) => {
encodeContextUnsigned2(buffer, 0, subscriberProcessId);
encodeContextObjectId2(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean2(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned2(buffer, 3, lifetime);
}
encodeOpeningTag2(buffer, 4);
encodeContextEnumerated2(buffer, 0, monitoredProperty.id);
if (monitoredProperty.index !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 1, monitoredProperty.index);
}
encodeClosingTag2(buffer, 4);
if (covIncrementPresent) {
encodeContextReal2(buffer, 5, covIncrement);
}
};
var decode252 = (buffer, offset) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag2(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
value.issueConfirmedNotifications = false;
if (decodeIsContextTag2(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag2(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.monitoredProperty = {};
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.id = decodedValue.value;
value.monitoredProperty.index = ASN1_ARRAY_ALL2;
if (decodeIsContextTag2(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
}
if (!decodeIsClosingTagNumber2(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.covIncrement = 0;
if (decodeIsContextTag2(buffer, offset + len, 5)) {
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
decodedValue = decodeReal2(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
value.len = len;
return value;
};
var time_sync_exports2 = {};
__export2(time_sync_exports2, {
decode: () => decode262,
encode: () => encode262
});
var encode262 = (buffer, time) => {
encodeApplicationDate2(buffer, time);
encodeApplicationTime2(buffer, time);
};
var decode262 = (buffer, offset, length) => {
let len = 0;
let result;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 10) {
return void 0;
}
const date = decodeDate2(buffer, offset + len);
len += date.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 11) {
return void 0;
}
const time = decodeBacnetTime2(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.value.getFullYear(),
date.value.getMonth(),
date.value.getDate(),
time.value.getHours(),
time.value.getMinutes(),
time.value.getSeconds(),
time.value.getMilliseconds()
)
};
};
var who_has_exports2 = {};
__export2(who_has_exports2, {
decode: () => decode272,
encode: () => encode272
});
var encode272 = (buffer, lowLimit, highLimit, objectId, objectName) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE2 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE2) {
encodeContextUnsigned2(buffer, 0, lowLimit);
encodeContextUnsigned2(buffer, 1, highLimit);
}
if (objectName && objectName !== "") {
encodeContextCharacterString2(buffer, 3, objectName);
} else {
encodeContextObjectId2(buffer, 2, objectId.type, objectId.instance);
}
};
var decode272 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE2) {
value.lowLimit = decodedValue.value;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE2) {
value.highLimit = decodedValue.value;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 2) {
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
}
if (result.tagNumber === 3) {
decodedValue = decodeCharacterString2(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
}
value.len = len;
return value;
};
var who_is_exports2 = {};
__export2(who_is_exports2, {
decode: () => decode282,
encode: () => encode282
});
var encode282 = (buffer, lowLimit, highLimit) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE2 && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE2) {
encodeContextUnsigned2(buffer, 0, lowLimit);
encodeContextUnsigned2(buffer, 1, highLimit);
}
};
var decode282 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (apduLen <= 0) {
return {};
}
let result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
let decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE2) {
value.lowLimit = decodedValue.value;
}
if (apduLen <= len) {
return void 0;
}
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE2) {
value.highLimit = decodedValue.value;
}
value.len = len;
return value;
};
var write_property_exports2 = {};
__export2(write_property_exports2, {
decode: () => decode292,
encode: () => encode292
});
var encode292 = (buffer, objectType, objectInstance, propertyId, arrayIndex, priority, values) => {
encodeContextObjectId2(buffer, 0, objectType, objectInstance);
encodeContextEnumerated2(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 2, arrayIndex);
}
encodeOpeningTag2(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData2(buffer, value);
});
encodeClosingTag2(buffer, 3);
if (priority !== ASN1_NO_PRIORITY2) {
encodeContextUnsigned2(buffer, 4, priority);
}
};
var decode292 = (buffer, offset, apduLen) => {
let len = 0;
let value = {
property: {}
};
let decodedValue;
let result;
if (!decodeIsContextTag2(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId2(buffer, offset + len);
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.id = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL2;
}
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber2(buffer, offset + len, 3)) {
decodedValue = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
objectId.type,
value.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
value.value = values;
if (!decodeIsClosingTagNumber2(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.priority = ASN1_MAX_PRIORITY2;
if (len < apduLen) {
result = decodeTagNumberAndValue2(buffer, offset + len);
if (result.tagNumber === 4) {
len += result.len;
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue;
if (decodedValue.value >= ASN1_MIN_PRIORITY2 && decodedValue.value <= ASN1_MAX_PRIORITY2) {
value.priority = decodedValue.value;
} else {
return void 0;
}
}
}
return {
len,
objectId,
value
};
};
var write_property_multiple_exports2 = {};
__export2(write_property_multiple_exports2, {
decode: () => decode302,
encode: () => encode302,
encodeObject: () => encodeObject2
});
var encode302 = (buffer, objectId, values) => {
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
encodeOpeningTag2(buffer, 1);
values.forEach((pValue) => {
encodeContextEnumerated2(buffer, 0, pValue.property.id);
if (pValue.property.index !== ASN1_ARRAY_ALL2) {
encodeContextUnsigned2(buffer, 1, pValue.property.index);
}
encodeOpeningTag2(buffer, 2);
pValue.value.forEach((value) => {
bacappEncodeApplicationData2(buffer, value);
});
encodeClosingTag2(buffer, 2);
if (pValue.priority !== ASN1_NO_PRIORITY2) {
encodeContextUnsigned2(buffer, 3, pValue.priority);
}
});
encodeClosingTag2(buffer, 1);
};
var decode302 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0 || apduLen <= len) {
return void 0;
}
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeObjectId2(buffer, offset + len);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsOpeningTagNumber2(buffer, offset + len, 1)) {
return void 0;
}
len++;
const _values = [];
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated2(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arrayIndex = ASN1_ARRAY_ALL2;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
arrayIndex = decodedValue.value;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arrayIndex };
if (result.tagNumber !== 2 || !decodeIsOpeningTag2(buffer, offset + len - 1)) {
return void 0;
}
const values = [];
while (len + offset <= buffer.length && !decodeIsClosingTag2(buffer, offset + len)) {
let value = bacappDecodeApplicationData2(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!value) {
return void 0;
}
len += value.len;
delete value.len;
values.push(value);
}
len++;
newEntry.value = values;
let priority = ASN1_NO_PRIORITY2;
result = decodeTagNumberAndValue2(buffer, offset + len);
len += result.len;
if (result.tagNumber === 3) {
decodedValue = decodeUnsigned2(buffer, offset + len, result.value);
len += decodedValue.len;
priority = decodedValue.value;
} else {
len--;
}
newEntry.priority = priority;
_values.push(newEntry);
if (decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
len++;
}
}
if (decodeIsClosingTagNumber2(buffer, offset + len, 1)) {
len++;
}
return {
len,
objectId,
values: _values
};
};
var encodeObject2 = (buffer, values) => {
values.forEach((object) => {
encode302(buffer, object.objectId, object.values);
});
};
var getDecodedType2 = (buffer, offset) => {
return buffer[offset];
};
var encodeConfirmedServiceRequest2 = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowSize;
}
buffer.buffer[buffer.offset++] = service;
};
var decodeConfirmedServiceRequest2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const maxSegments = buffer[offset] & 240;
const maxApdu = buffer[offset++] & 15;
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
maxSegments,
maxApdu,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeUnconfirmedServiceRequest2 = (buffer, type, service) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = service;
};
var decodeUnconfirmedServiceRequest2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service
};
};
var encodeSimpleAck2 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeSimpleAck2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var encodeComplexAck2 = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
let len = 3;
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowNumber;
len += 2;
}
buffer.buffer[buffer.offset++] = service;
return len;
};
var decodeComplexAck2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeSegmentAck2 = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = originalInvokeId;
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = actualWindowSize;
};
var decodeSegmentAck2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const originalInvokeId = buffer[offset++];
const sequencenumber = buffer[offset++];
const actualWindowSize = buffer[offset++];
return {
len: offset - orgOffset,
type,
originalInvokeId,
sequencenumber,
actualWindowSize
};
};
var encodeResult2 = (buffer, resultCode) => {
encodeUnsigned2(buffer, resultCode, 2);
};
var encodeError2 = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeError2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var decodeAbort2 = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const reason = buffer[offset++];
return {
len: offset - orgOffset,
type,
invokeId,
reason
};
};
var DEFAULT_HOP_COUNT3 = 255;
var BACNET_PROTOCOL_VERSION2 = 1;
var BACNET_ADDRESS_TYPES2 = {
NONE: 0,
IP: 1
};
var decodeTarget2 = (buffer, offset) => {
let len = 0;
const target = {
type: BACNET_ADDRESS_TYPES2.NONE,
net: buffer[offset + len++] << 8 | buffer[offset + len++] << 0
};
const adrLen = buffer[offset + len++];
if (adrLen > 0) {
target.adr = [];
for (let i = 0; i < adrLen; i++) {
target.adr.push(buffer[offset + len++]);
}
}
return {
target,
len
};
};
var encodeTarget2 = (buffer, target) => {
buffer.buffer[buffer.offset++] = (target.net & 65280) >> 8;
buffer.buffer[buffer.offset++] = (target.net & 255) >> 0;
if (target.net === 65535 || !target.adr) {
buffer.buffer[buffer.offset++] = 0;
} else {
buffer.buffer[buffer.offset++] = target.adr.length;
if (target.adr.length > 0) {
for (let i = 0; i < target.adr.length; i++) {
buffer.buffer[buffer.offset++] = target.adr[i];
}
}
}
};
var decode312 = (buffer, offset) => {
let adrLen;
const orgOffset = offset;
offset++;
const funct = buffer[offset++];
let destination;
if (funct & 32) {
const tmpDestination = decodeTarget2(buffer, offset);
offset += tmpDestination.len;
destination = tmpDestination.target;
}
let source;
if (funct & 8) {
const tmpSource = decodeTarget2(buffer, offset);
offset += tmpSource.len;
source = tmpSource.target;
}
let hopCount = 0;
if (funct & 32) {
hopCount = buffer[offset++];
}
let networkMsgType = 0;
let vendorId = 0;
if (funct & 128) {
networkMsgType = buffer[offset++];
if (networkMsgType >= 128) {
vendorId = buffer[offset++] << 8 | buffer[offset++] << 0;
} else if (networkMsgType === 0) {
offset += 2;
}
}
if (buffer[orgOffset + 0] !== BACNET_PROTOCOL_VERSION2) {
return void 0;
}
return {
len: offset - orgOffset,
funct,
destination,
source,
hopCount,
networkMsgType,
vendorId
};
};
var encode312 = (buffer, funct, destination, source, hopCount, networkMsgType, vendorId) => {
const hasDestination = destination && destination.net > 0;
const hasSource = source && source.net > 0 && source.net !== 65535;
buffer.buffer[buffer.offset++] = BACNET_PROTOCOL_VERSION2;
buffer.buffer[buffer.offset++] = funct | (hasDestination ? 32 : 0) | (hasSource ? 8 : 0);
if (hasDestination) {
encodeTarget2(buffer, destination);
}
if (hasSource) {
encodeTarget2(buffer, source);
}
if (hasDestination) {
buffer.buffer[buffer.offset++] = hopCount || DEFAULT_HOP_COUNT3;
}
if ((funct & 128) > 0) {
buffer.buffer[buffer.offset++] = networkMsgType;
if (networkMsgType >= 128) {
buffer.buffer[buffer.offset++] = (vendorId & 65280) >> 8;
buffer.buffer[buffer.offset++] = (vendorId & 255) >> 0;
}
}
};
var DEFAULT_BACNET_PORT22 = 47808;
var encode322 = (buffer, func, msgLength, originatingIP) => {
buffer[0] = BVLL_TYPE_BACNET_IP2;
buffer[1] = func;
buffer[2] = (msgLength & 65280) >> 8;
buffer[3] = (msgLength & 255) >> 0;
if (originatingIP) {
if (func !== 4) {
throw new Error(
"Cannot specify originatingIP unless BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
const [ipstr, portstr] = originatingIP.split(":");
const port = parseInt(portstr, 10) || DEFAULT_BACNET_PORT22;
const ip = ipstr.split(".");
buffer[4] = parseInt(ip[0], 10);
buffer[5] = parseInt(ip[1], 10);
buffer[6] = parseInt(ip[2], 10);
buffer[7] = parseInt(ip[3], 10);
buffer[8] = (port & 65280) >> 8;
buffer[9] = (port & 255) >> 0;
return 6 + BVLC_HEADER_LENGTH3;
} else {
if (func === 4) {
throw new Error(
"Must specify originatingIP if BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
}
return BVLC_HEADER_LENGTH3;
};
var decode322 = (buffer, _offset) => {
let len;
const func = buffer[1];
const msgLength = buffer[2] << 8 | buffer[3] << 0;
if (buffer[0] !== BVLL_TYPE_BACNET_IP2 || buffer.length !== msgLength) {
return void 0;
}
let originatingIP = null;
switch (func) {
case 0:
case 10:
case 11:
case 9:
case 5:
case 6:
case 8:
case 2:
case 1:
case 3:
case 7:
len = 4;
break;
case 4:
const port = buffer[8] << 8 | buffer[9];
originatingIP = buffer.slice(4, 8).join(".");
if (port !== DEFAULT_BACNET_PORT22) {
originatingIP += ":" + port;
}
len = 10;
break;
case 12:
return void 0;
default:
return void 0;
}
return {
len,
func,
msgLength,
// Originating IP is set to the IP address of the node that originally
// sent the packet, when it has been forwarded to us by a BBMD (since the
// BBMD's IP address will be in the sender field.
originatingIP
};
};
var EventEmitter22 = import_events22.default.EventEmitter;
var debug32 = (0, import_debug32.default)("bacnet:client:debug");
var trace22 = (0, import_debug32.default)("bacnet:client:trace");
var ALL_INTERFACES2 = "0.0.0.0";
var LOCALHOST_INTERFACES_IPV42 = "127.0.0.1";
var BROADCAST_ADDRESS2 = "255.255.255.255";
var DEFAULT_HOP_COUNT22 = 255;
var BVLC_HEADER_LENGTH22 = 4;
var BVLC_FWD_HEADER_LENGTH2 = 10;
var beU2 = UnconfirmedServiceChoice2;
var unconfirmedServiceMap2 = {
[beU2.I_AM]: "iAm",
[beU2.WHO_IS]: "whoIs",
[beU2.WHO_HAS]: "whoHas",
[beU2.UNCONFIRMED_COV_NOTIFICATION]: "covNotifyUnconfirmed",
[beU2.TIME_SYNCHRONIZATION]: "timeSync",
[beU2.UTC_TIME_SYNCHRONIZATION]: "timeSyncUTC",
[beU2.UNCONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beU2.I_HAVE]: "iHave",
[beU2.UNCONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var beC2 = ConfirmedServiceChoice2;
var confirmedServiceMap2 = {
[beC2.READ_PROPERTY]: "readProperty",
[beC2.WRITE_PROPERTY]: "writeProperty",
[beC2.READ_PROPERTY_MULTIPLE]: "readPropertyMultiple",
[beC2.WRITE_PROPERTY_MULTIPLE]: "writePropertyMultiple",
[beC2.CONFIRMED_COV_NOTIFICATION]: "covNotify",
[beC2.ATOMIC_WRITE_FILE]: "atomicWriteFile",
[beC2.ATOMIC_READ_FILE]: "atomicReadFile",
[beC2.SUBSCRIBE_COV]: "subscribeCov",
[beC2.SUBSCRIBE_COV_PROPERTY]: "subscribeProperty",
[beC2.DEVICE_COMMUNICATION_CONTROL]: "deviceCommunicationControl",
[beC2.REINITIALIZE_DEVICE]: "reinitializeDevice",
[beC2.CONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beC2.READ_RANGE]: "readRange",
[beC2.CREATE_OBJECT]: "createObject",
[beC2.DELETE_OBJECT]: "deleteObject",
[beC2.ACKNOWLEDGE_ALARM]: "alarmAcknowledge",
[beC2.GET_ALARM_SUMMARY]: "getAlarmSummary",
[beC2.GET_ENROLLMENT_SUMMARY]: "getEnrollmentSummary",
[beC2.GET_EVENT_INFORMATION]: "getEventInformation",
[beC2.LIFE_SAFETY_OPERATION]: "lifeSafetyOperation",
[beC2.ADD_LIST_ELEMENT]: "addListElement",
[beC2.REMOVE_LIST_ELEMENT]: "removeListElement",
[beC2.CONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var errorReasonEnums2 = {
BacnetAbort: RejectReason2
};
var BacnetError2 = class extends Error {
constructor(message, bacnetErrorClass, bacnetErrorCode) {
super(message);
this.bacnetErrorClass = bacnetErrorClass;
this.bacnetErrorCode = bacnetErrorCode;
}
};
function bacnetErrorToString2(err) {
var _a;
const isError = err instanceof Error || err instanceof BacnetError2;
if (!isError)
return;
const message = err.message;
const reasonClass = message == null ? void 0 : message.split(" - ")[0];
const reason = +((_a = message == null ? void 0 : message.split("Reason:")[1]) == null ? void 0 : _a.split(" ")[0]);
if (!errorReasonEnums2[reasonClass])
return;
const reasonString = errorReasonEnums2[reasonClass][reason];
return reasonClass + ": " + reasonString;
}
var Client2 = class extends EventEmitter22 {
/**
*
* @param options
*/
constructor(options) {
super();
options = options || {};
this._invokeCounter = 1;
this._invokeStore = {};
this._lastSequenceNumber = 0;
this._segmentStore = [];
this._settings = {
port: options.port || 47808,
interface: options.interface || ALL_INTERFACES2,
transport: options.transport,
broadcastAddress: options.broadcastAddress || BROADCAST_ADDRESS2,
apduTimeout: options.apduTimeout || 3e3
};
options.reuseAddr = options.reuseAddr === void 0 ? true : !!options.reuseAddr;
this._transport = this._settings.transport || new Transport2({
port: this._settings.port,
interface: this._settings.interface,
broadcastAddress: this._settings.broadcastAddress,
reuseAddr: options.reuseAddr
});
this._transport.on("message", this._receiveData.bind(this));
this._transport.on("error", this._receiveError.bind(this));
this._transport.on("listening", () => this.emit("listening"));
this._transport.open();
}
/**
*
* @returns {number}
* @private
*/
_getInvokeId() {
const id = this._invokeCounter++;
if (id >= 256)
this._invokeCounter = 1;
return id - 1;
}
/**
*
* @param id
* @param err
* @param result
* @returns {*}
* @private
*/
_invokeCallback(id, err, result) {
const callback = this._invokeStore[id];
if (callback) {
return void callback(err, result);
}
debug32("InvokeId", id, "not found -> drop package");
}
/**
*
* @param id
* @param callback
* @private
*/
_addCallback(id, callback) {
const timeout = setTimeout(() => {
delete this._invokeStore[id];
callback(new Error("ERR_TIMEOUT"));
}, this._settings.apduTimeout);
this._invokeStore[id] = (err, data) => {
clearTimeout(timeout);
delete this._invokeStore[id];
callback(err, data);
};
}
/**
*
* @param isForwarded
* @returns {{offset: (number), buffer: *}}
* @private
*/
_getBuffer(isForwarded) {
return Object.assign(
{},
{
buffer: Buffer.alloc(this._transport.getMaxPayload()),
offset: isForwarded ? BVLC_FWD_HEADER_LENGTH2 : BVLC_HEADER_LENGTH22
}
);
}
/**
*
* @param invokeId
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processError(invokeId, buffer, offset, length) {
const result = error_exports2.decode(buffer, offset);
trace22("Received error:", result);
if (!result) {
return debug32("Couldn`t decode Error");
}
const err = new BacnetError2(error_exports2.buildMessage(result));
err.bacnetErrorClass = result.class;
err.bacnetErrorCode = result.code;
this._invokeCallback(invokeId, err);
}
/**
*
* @param invokeId
* @param reason
* @private
*/
_processAbort(invokeId, reason) {
const err = new BacnetError2("BacnetAbort - Reason:" + reason);
err.bacnetAbortReason = reason;
err.bacnetErrorClass = AbortReason2;
this._invokeCallback(invokeId, err);
}
/**
*
* @param receiver
* @param negative
* @param server
* @param originalInvokeId
* @param sequencenumber
* @param actualWindowSize
* @private
*/
_segmentAckResponse(receiver, negative, server, originalInvokeId, sequencenumber, actualWindowSize) {
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode312(
buffer,
0,
receiver,
null,
DEFAULT_HOP_COUNT22,
0,
0
);
encodeSegmentAck2(
buffer,
64 | (negative ? 2 : 0) | (server ? 1 : 0),
originalInvokeId,
sequencenumber,
actualWindowSize
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param msg
* @param first
* @param moreFollows
* @param buffer
* @param offset
* @param length
* @private
*/
_performDefaultSegmentHandling(msg, first, moreFollows, buffer, offset, length) {
if (first) {
this._segmentStore = [];
msg.type &= ~8;
let apduHeaderLen = 3;
if ((msg.type & PDU_TYPE_MASK2) === 0) {
apduHeaderLen = 4;
}
const apdubuffer = this._getBuffer();
apdubuffer.offset = 0;
buffer.copy(apdubuffer.buffer, apduHeaderLen, offset, offset + length);
if ((msg.type & PDU_TYPE_MASK2) === 0) {
encodeConfirmedServiceRequest2(
apdubuffer,
msg.type,
msg.service,
msg.maxSegments,
msg.maxApdu,
msg.invokeId,
0,
0
);
} else {
encodeComplexAck2(
apdubuffer,
msg.type,
msg.service,
msg.invokeId,
0,
0
);
}
this._segmentStore.push(
//@ts-ignore
apdubuffer.buffer.slice(0, length + apduHeaderLen)
);
} else {
this._segmentStore.push(buffer.slice(offset, offset + length));
}
if (!moreFollows) {
const apduBuffer = Buffer.concat(this._segmentStore);
this._segmentStore = [];
msg.type &= ~8;
this._handlePdu(apduBuffer, 0, apduBuffer.length, msg.header);
}
}
/**
*
* @param msg
* @param server
* @param buffer
* @param offset
* @param length
* @private
*/
_processSegment(msg, server, buffer, offset, length) {
let first = false;
if (msg.sequencenumber === 0 && this._lastSequenceNumber === 0) {
first = true;
} else {
if (msg.sequencenumber !== this._lastSequenceNumber + 1) {
return this._segmentAckResponse(
msg.header.address,
true,
server,
msg.invokeId,
this._lastSequenceNumber,
msg.proposedWindowNumber
);
}
}
this._lastSequenceNumber = msg.sequencenumber;
const moreFollows = msg.type & 4;
if (!moreFollows) {
this._lastSequenceNumber = 0;
}
if (msg.sequencenumber % msg.proposedWindowNumber === 0 || !moreFollows) {
this._segmentAckResponse(
msg.header.address,
false,
server,
msg.invokeId,
msg.sequencenumber,
msg.proposedWindowNumber
);
}
this._performDefaultSegmentHandling(
msg,
first,
moreFollows,
buffer,
offset,
length
);
}
/**
*
* @param serviceMap
* @param content
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processServiceRequest(serviceMap, content, buffer, offset, length) {
let result;
const sender = content.header.sender;
if (sender.address === LOCALHOST_INTERFACES_IPV42) {
debug32("Received and skipped localhost service request:", content.service);
return;
}
const name = serviceMap[content.service];
if (!name) {
debug32("Received unsupported service request:", content.service);
return;
}
const id = content.invokeId ? "@" + content.invokeId : "";
trace22(`Received service request${id}:`, name);
const serviceHandler = services_exports2[name];
if (serviceHandler) {
try {
content.payload = serviceHandler.decode(buffer, offset, length);
trace22(`Handled service request${id}:`, name, JSON.stringify(content));
} catch (e) {
debug32("Exception thrown when processing message:", e);
debug32("Original message was", name + ":", content);
return;
}
if (!content.payload) {
return debug32("Received invalid", name, "message");
}
} else {
debug32("No serviceHandler defined for:", name);
}
if (this.listenerCount(name)) {
trace22("listener count by name emits " + name + " with content");
this.emit(name, content);
} else {
if (this.listenerCount("unhandledEvent")) {
trace22("unhandled event emiting with content");
this.emit("unhandledEvent", content);
} else {
trace22(
"no unhandled event handler with header: " + JSON.stringify(content.header)
);
if (content.header.expectingReply) {
debug32("Replying with error for unhandled service:", name);
content.header.sender.forwardedFrom = null;
this.errorResponse(
content.header.sender,
content.service,
content.invokeId,
5,
67
/* REJECT_UNRECOGNIZED_SERVICE */
);
}
}
}
}
/**
*
* @param buffer
* @param offset
* @param length
* @param header
* @private
*/
_handlePdu(buffer, offset, length, header) {
let msg;
trace22("handlePdu Header: ", header);
switch (header.apduType & PDU_TYPE_MASK2) {
case 16:
msg = decodeUnconfirmedServiceRequest2(buffer, offset);
msg.header = header;
msg.header.confirmedService = false;
this._processServiceRequest(
unconfirmedServiceMap2,
msg,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 32:
msg = decodeSimpleAck2(buffer, offset);
offset += msg.len;
length -= msg.len;
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
break;
case 48:
msg = decodeComplexAck2(buffer, offset);
msg.header = header;
if ((header.apduType & 8) === 0) {
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
case 64:
msg = decodeSegmentAck2(buffer, offset);
msg.header = header;
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 80:
msg = decodeError2(buffer, offset);
this._processError(
msg.invokeId,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 96:
case 112:
msg = decodeAbort2(buffer, offset);
this._processAbort(msg.invokeId, msg.reason);
break;
case 0:
msg = decodeConfirmedServiceRequest2(buffer, offset);
msg.header = header;
msg.header.confirmedService = true;
if ((header.apduType & 8) === 0) {
this._processServiceRequest(
confirmedServiceMap2,
msg,
buffer,
offset + msg.len,
length - msg.len
);
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
default:
debug32(`Received unknown PDU type ${header.apduType} -> Drop packet`);
break;
}
}
/**
*
* @param buffer
* @param offset
* @param msgLength
* @param header
* @returns {*}
* @private
*/
_handleNpdu(buffer, offset, msgLength, header) {
if (msgLength <= 0) {
return trace22("No NPDU data -> Drop package");
}
const result = decode312(buffer, offset);
if (!result) {
return trace22("Received invalid NPDU header -> Drop package");
}
if (result.funct & 128) {
return trace22("Received network layer message -> Drop package");
}
offset += result.len;
msgLength -= result.len;
if (msgLength <= 0) {
return trace22("No APDU data -> Drop package");
}
header.apduType = getDecodedType2(buffer, offset);
header.expectingReply = !!(result.funct & 4);
this._handlePdu(buffer, offset, msgLength, header);
}
/**
*
* @param buffer
* @param remoteAddress
* @returns {*}
* @private
*/
_receiveData(buffer, remoteAddress) {
if (buffer.length < BVLC_HEADER_LENGTH3) {
return trace22("Received invalid data -> Drop package");
}
const result = decode322(buffer, 0);
if (!result) {
return trace22("Received invalid BVLC header -> Drop package");
}
let header = {
// Which function the packet came in on, so later code can distinguish
// between ORIGINAL_BROADCAST_NPDU and DISTRIBUTE_BROADCAST_TO_NETWORK.
func: result.func,
sender: {
// Address of the host we are directly connected to. String, IP:port.
address: remoteAddress,
// If the host is a BBMD passing messages along to another node, this
// is the address of the distant BACnet node. String, IP:port.
// Typically we won't have network connectivity to this address, but
// we have to include it in replies so the host we are connect to knows
// where to forward the messages.
forwardedFrom: null
}
};
switch (result.func) {
case 10:
case 11:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 4:
header.sender.forwardedFrom = result.originatingIP;
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 5:
let decodeResult = register_foreign_device_exports2.decode(
buffer,
result.len,
buffer.length - result.len
);
if (!decodeResult) {
return trace22("Received invalid registerForeignDevice message");
}
this.emit("registerForeignDevice", {
header,
payload: decodeResult
});
break;
case 9:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
default:
debug32(
"Received unknown BVLC function " + result.func + " -> Drop package"
);
break;
}
}
/**
* @event bacnet.error
* @param {error} err - The error object thrown by the underlying transport layer.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.on('error', (err) => {
* console.log('Error occurred: ', err);
* client.close();
* });
*/
_receiveError(err) {
this.emit("error", err);
}
/**
* The whoIs command discovers all BACNET devices in a network.
* @function bacnet.whoIs
* @param {string} receiver - IP address of the target device.
* @param {object=} options
* @param {number=} options.lowLimit - Minimal device instance number to search for.
* @param {number=} options.highLimit - Maximal device instance number to search for.
* @fires bacnet.iAm
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.whoIs();
*/
whoIs(receiver, options) {
if (!options) {
if (receiver && typeof receiver === "object" && receiver.address === void 0 && receiver.forwardedFrom === void 0 && (receiver.lowLimit !== void 0 || receiver.highLimit !== void 0)) {
options = receiver;
receiver = void 0;
}
}
options = options || {};
const settings = {
lowLimit: options.lowLimit,
highLimit: options.highLimit
};
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode312(
buffer,
0,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT22,
0,
0
);
encodeUnconfirmedServiceRequest2(
buffer,
16,
8
/* WHO_IS */
);
who_is_exports2.encode(buffer, settings.lowLimit, settings.highLimit);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSync command sets the time of a target device.
* @function bacnet.timeSync
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSync('192.168.1.43', new Date());
*/
timeSync(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
6
/* TIME_SYNCHRONIZATION */
);
time_sync_exports2.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSyncUTC command sets the UTC time of a target device.
* @function bacnet.timeSyncUTC
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSyncUTC('192.168.1.43', new Date());
*/
timeSyncUTC(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
9
/* UTC_TIME_SYNCHRONIZATION */
);
time_sync_exports2.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The readProperty command reads a single property of an object from a device.
* @function bacnet.readProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to read.
* @param {number} objectId.type - The BACNET object type to read.
* @param {number} objectId.instance - The BACNET object instance to read.
* @param {number} propertyId - The BACNET property id in the specified object to read.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.readProperty('192.168.1.43', {type: 8, instance: 44301}, 28, (err, value) => {
* console.log('value: ', value);
* });
*/
readProperty(receiver, objectId, propertyId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || options.arrayIndex === 0 ? options.arrayIndex : ASN1_ARRAY_ALL2
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT22,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest2(
buffer,
type,
12,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_exports2.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_property_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writeProperty command writes a single property of an object to a device.
* @function bacnet.writeProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to write.
* @param {number} objectId.type - The BACNET object type to write.
* @param {number} objectId.instance - The BACNET object instance to write.
* @param {number} propertyId - The BACNET property id in the specified object to write.
* @param {object[]} values - A list of values to be written to the specified property.
* @param {ApplicationTag} values.type - The data-type of the value to be written.
* @param {number} values.value - The actual value to be written.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {number=} options.priority - The priority of the value to be written.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.writeProperty('192.168.1.43', {type: 8, instance: 44301}, 28, [
* {type: bacnet.enum.ApplicationTag.REAL, value: 100}
* ], (err, value) => {
* console.log('value: ', value);
* });
*/
writeProperty(receiver, objectId, propertyId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || ASN1_ARRAY_ALL2,
priority: options.priority || ASN1_NO_PRIORITY2
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT22,
0,
0
);
encodeConfirmedServiceRequest2(
buffer,
0,
15,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
write_property_exports2.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex,
settings.priority,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The readPropertyMultiple command reads multiple properties in multiple objects from a device.
* @function bacnet.readPropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} propertiesArray - List of object and property specifications to be read.
* @param {object} propertiesArray.objectId - Specifies which object to read.
* @param {number} propertiesArray.objectId.type - The BACNET object type to read.
* @param {number} propertiesArray.objectId.instance - The BACNET object instance to read.
* @param {object[]} propertiesArray.properties - List of properties to be read.
* @param {number} propertiesArray.properties.id - The BACNET property id in the specified object to read. Also supports 8 for all properties.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const requestArray = [
* {objectId: {type: 8, instance: 4194303}, properties: [{id: 8}]}
* ];
* client.readPropertyMultiple('192.168.1.43', requestArray, (err, value) => {
* console.log('value: ', value);
* });
*/
readPropertyMultiple(receiver, propertiesArray, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const isForwarded = typeof receiver !== "string" && receiver.forwardedFrom;
const buffer = this._getBuffer(!!isForwarded);
encode312(
buffer,
0 | 4,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT22,
0,
0
);
const type = 0 | //@ts-ignore
(settings.maxSegments !== 0 ? 2 : 0);
encodeConfirmedServiceRequest2(
buffer,
type,
14,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_multiple_exports2.encode(buffer, propertiesArray);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return next(err);
}
const result = read_property_multiple_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writePropertyMultiple command writes multiple properties in multiple objects to a device.
* @function bacnet.writePropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} values - List of object and property specifications to be written.
* @param {object} values.objectId - Specifies which object to read.
* @param {number} values.objectId.type - The BACNET object type to read.
* @param {number} values.objectId.instance - The BACNET object instance to read.
* @param {object[]} values.values - List of properties to be written.
* @param {object} values.values.property - Property specifications to be written.
* @param {number} values.values.property.id - The BACNET property id in the specified object to write.
* @param {number} values.values.property.index - The array index of the property to be written.
* @param {object[]} values.values.value - A list of values to be written to the specified property.
* @param {ApplicationTag} values.values.value.type - The data-type of the value to be written.
* @param {object} values.values.value.value - The actual value to be written.
* @param {number} values.values.priority - The priority to be used for writing to the property.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const values = [
* {objectId: {type: 8, instance: 44301}, values: [
* {property: {id: 28, index: 12}, value: [{type: bacnet.enum.ApplicationTag.BOOLEAN, value: true}], priority: 8}
* ]}
* ];
* client.writePropertyMultiple('192.168.1.43', values, (err, value) => {
* console.log('value: ', value);
* });
*/
writePropertyMultiple(receiver, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
//@ts-ignore
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
16,
settings.maxSegments,
settings.maxApdu,
settings.invokeId
);
write_property_multiple_exports2.encodeObject(buffer, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The confirmedCOVNotification command is used to push notifications to other
* systems that have registered with us via a subscribeCOV message.
* @function bacnet.confirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {object} monitoredObject - The object being monitored, from subscribeCOV.
* @param {number} monitoredObject.type - Object type.
* @param {number} monitoredObject.instance - Object instance.
* @param {number} subscribeId - Subscriber ID from subscribeCOV,
* @param {number} initiatingDeviceId - Our BACnet device ID.
* @param {number} lifetime - Number of seconds left until the subscription expires.
* @param {array} values - values for the monitored object. See example.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const settings = {deviceId: 123}; // our BACnet device
*
* // Items saved from subscribeCOV message
* const monitoredObject = {type: 1, instance: 1};
* const subscriberProcessId = 123;
*
* client.confirmedCOVNotification(
* '192.168.1.43',
* monitoredObject,
* subscriberProcessId,
* settings.deviceId,
* 30, // should be lifetime of subscription really
* [
* {
* property: { id: bacnet.enum.PropertyIdentifier.PRESENT_VALUE },
* value: [
* {value: 123, type: bacnet.enum.ApplicationTag.REAL},
* ],
* },
* ],
* (err) => {
* console.log('error: ', err);
* }
* );
*/
confirmedCOVNotification(receiver, monitoredObject, subscribeId, initiatingDeviceId, lifetime, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer();
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
1,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
cov_notify_exports2.encode(
buffer,
subscribeId,
initiatingDeviceId,
monitoredObject,
lifetime,
values
);
encode322(
buffer.buffer,
10,
buffer.offset
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The deviceCommunicationControl command enables or disables network communication of the target device.
* @function bacnet.deviceCommunicationControl
* @param {string} receiver - IP address of the target device.
* @param {number} timeDuration - The time to hold the network communication state in seconds. 0 for infinite.
* @param {EnableDisable} enableDisable - The network communication state to set.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to set the network communication state.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.deviceCommunicationControl('192.168.1.43', 0, bacnet.enum.EnableDisable.DISABLE, (err) => {
* console.log('error: ', err);
* });
*/
deviceCommunicationControl(receiver, timeDuration, enableDisable, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
17,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
device_communication_control_exports2.encode(
buffer,
timeDuration,
enableDisable,
settings.password
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The reinitializeDevice command initiates a restart of the target device.
* @function bacnet.reinitializeDevice
* @param {string} receiver - IP address of the target device.
* @param {ReinitializedState} state - The type of restart to be initiated.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to restart the device.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.reinitializeDevice('192.168.1.43', bacnet.enum.ReinitializedState.COLDSTART, (err, value) => {
* console.log('value: ', value);
* });
*/
reinitializeDevice(receiver, state, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
20,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
reinitialize_device_exports2.encode(buffer, state, settings.password);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param fileBuffer
* @param options
* @param next
*/
writeFile(receiver, objectId, position, fileBuffer, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
7,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_write_file_exports2.encode(
buffer,
false,
objectId,
position,
fileBuffer
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_write_file_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param count
* @param options
* @param next
*/
readFile(receiver, objectId, position, count, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
6,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_read_file_exports2.encode(buffer, true, objectId, position, count);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_read_file_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param idxBegin
* @param quantity
* @param options
* @param next
*/
readRange(receiver, objectId, idxBegin, quantity, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
26,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_range_exports2.encode(
buffer,
objectId,
131,
ASN1_ARRAY_ALL2,
0,
idxBegin,
/* @__PURE__ */ new Date(),
quantity
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_range_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param lifetime
* @param options
* @param next
*/
subscribeCov(receiver, objectId, subscribeId, cancel, issueConfirmedNotifications, lifetime, options, nextFunc) {
const next = nextFunc || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
// @ts-ignore TODO types not matching with documentation and code
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
5,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_cov_exports2.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
lifetime
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param monitoredProperty
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param options
* @param next
*/
subscribeProperty(receiver, objectId, monitoredProperty, subscribeId, cancel, issueConfirmedNotifications, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
28,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_property_exports2.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
0,
monitoredProperty,
false,
15
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The unconfirmedCOVNotification command sends an unconfirmed COV notification to a device
* @function bacnet.unconfirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {number} subscriberProcessId - The process id which was used by a target device in the subscription.
* @param {number} initiatingDeviceId - The id of this device.
* @param {object} monitoredObjectId - Specifies about which object the notification is.
* @param {number} monitoredObjectId.type - The BACNET object type of the notification.
* @param {number} monitoredObjectId.instance - The BACNET object instance of the notification.
* @param {number} timeRemaining - How long the subscription is still active in seconds.
* @param {object[]} values - List of properties with updated values.
* @param {object} values.property - Property specifications.
* @param {number} values.property.id - The updated BACNET property id.
* @param {number} values.property.index - The array index of the updated property.
* @param {object[]} values.value - A list of updated values.
* @param {ApplicationTag} values.value.type - The data-type of the updated value.
* @param {object} values.value.value - The actual updated value.
* @param {number} values.priority - The priority of the updated property.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.unconfirmedCOVNotification(
* '127.0.0.1',
* 3,
* 433,
* {type: 2, instance: 122},
* 120,
* [
* {
* property: {id: 85},
* value: [{type: baEnum.ApplicationTag.REAL, value: 12.3}]
* },
* {
* property: {id: 111},
* value: [{type: baEnum.ApplicationTag.BIT_STRING, value: 0xFFFF}]
* }
* ]);
*/
unconfirmedCOVNotification(receiver, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) {
const buffer = this._getBuffer();
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
2
/* UNCONFIRMED_COV_NOTIFICATION */
);
cov_notify_exports2.encode(
buffer,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
);
encode322(
buffer.buffer,
10,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver);
}
/**
*
* @param receiver
* @param objectId
* @param values
* @param options
* @param next
*/
createObject(receiver, objectId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
10,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
create_object_exports2.encode(buffer, objectId, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
deleteObject(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
11,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
delete_object_exports2.encode(buffer, objectId);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
removeListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
9,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports2.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
addListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
8,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports2.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param options
* @param next
*/
getAlarmSummary(receiver, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
3,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = alarm_summary_exports2.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
getEventInformation(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
29,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
encodeContextObjectId2(buffer, 0, objectId.type, objectId.instance);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = event_information_exports2.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param eventState
* @param ackText
* @param evTimeStamp
* @param ackTimeStamp
* @param options
* @param next
*/
acknowledgeAlarm(receiver, objectId, eventState, ackText, evTimeStamp, ackTimeStamp, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
0,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
alarm_acknowledge_exports2.encode(
buffer,
57,
objectId,
eventState,
ackText,
evTimeStamp,
ackTimeStamp
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
* @param options
* @param next
*/
confirmedPrivateTransfer(receiver, vendorId, serviceNumber, data, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
18,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
private_transfer_exports2.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data2) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
*/
unconfirmedPrivateTransfer(receiver, vendorId, serviceNumber, data) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
4
/* UNCONFIRMED_PRIVATE_TRANSFER */
);
private_transfer_exports2.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param acknowledgmentFilter
* @param options
* @param next
*/
getEnrollmentSummary(receiver, acknowledgmentFilter, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
4,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
get_enrollment_summary_exports2.encode(
buffer,
acknowledgmentFilter,
options.enrollmentFilter,
options.eventStateFilter,
options.eventTypeFilter,
options.priorityFilter,
options.notificationClassFilter
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = get_enrollment_summary_exports2.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param eventNotification
*/
unconfirmedEventNotification(receiver, eventNotification) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
3
/* UNCONFIRMED_EVENT_NOTIFICATION */
);
event_notify_data_exports2.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param eventNotification
* @param options
* @param next
*/
confirmedEventNotification(receiver, eventNotification, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112,
maxApdu: options.maxApdu || 5,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(
buffer,
0 | 4,
receiver
);
encodeConfirmedServiceRequest2(
buffer,
0,
2,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
event_notify_data_exports2.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The readPropertyResponse call sends a response with information about one of our properties.
* @function bacnet.readPropertyResponse
* @param {string} receiver - IP address of the target device.
* @param {number} invokeId - ID of the original readProperty request.
* @param {object} objectId - objectId from the original request,
* @param {object} property - property being read, taken from the original request.
* @param {object=} options varying behaviour for special circumstances
* @param {string=} options.forwardedFrom - If functioning as a BBMD, the IP address this message originally came from.
*/
readPropertyResponse(receiver, invokeId, objectId, property, value, options = {}) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeComplexAck2(
buffer,
48,
12,
invokeId
);
read_property_exports2.encodeAcknowledge(
buffer,
objectId,
property.id,
property.index,
value
);
this.sendBvlc(receiver, buffer);
}
readPropertyMultipleResponse(receiver, invokeId, values) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeComplexAck2(
buffer,
48,
14,
invokeId
);
read_property_multiple_exports2.encodeAcknowledge(buffer, values);
this.sendBvlc(receiver, buffer);
}
/**
* The iAmResponse command is sent as a reply to a whoIs request.
* @function bacnet.iAmResponse
* @param {object} receiver - address to send packet to, null for local broadcast.
* @param {number} deviceId - Our device ID.
* @param {number} segmentation - an enum.Segmentation value.
* @param {number} vendorId - The numeric ID assigned to the organisation providing this application.
*/
iAmResponse(receiver, deviceId, segmentation, vendorId) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
0
/* I_AM */
);
i_am_exports2.encode(
buffer,
deviceId,
this._transport.getMaxPayload(),
segmentation,
vendorId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param deviceId
* @param objectId
* @param objectName
*/
iHaveResponse(receiver, deviceId, objectId, objectName) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode312(buffer, 0, receiver);
encodeUnconfirmedServiceRequest2(
buffer,
16,
1
/* I_HAVE */
);
i_have_exports2.encode(buffer, deviceId, objectId, objectName);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
*/
simpleAckResponse(receiver, service, invokeId) {
if (typeof receiver === "string")
return;
const buffer = this._getBuffer(!!receiver.forwardedFrom);
encode312(buffer, 0, receiver);
encodeSimpleAck2(
buffer,
32,
service,
invokeId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
* @param errorClass
* @param errorCode
*/
errorResponse(receiver, service, invokeId, errorClass, errorCode) {
trace22(
`error response on ${JSON.stringify(receiver)} service: ${JSON.stringify(
service
)} invokeId: ${invokeId} errorClass: ${errorClass} errorCode: ${errorCode}`
);
trace22(
`error message ${error_exports2.buildMessage({
class: errorClass,
code: errorCode
})}`
);
const hasSource = !!(typeof receiver !== "string" && receiver.forwardedFrom);
if (typeof receiver === "string")
throw new Error("receiver must be object");
const buffer = this._getBuffer(hasSource);
encode312(buffer, 0, receiver);
encodeError2(buffer, 80, service, invokeId);
error_exports2.encode(buffer, errorClass, errorCode);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param buffer
*/
sendBvlc(receiver, buffer) {
if (typeof receiver === "string") {
receiver = {
address: receiver
};
}
if (receiver && receiver.forwardedFrom) {
encode322(
buffer.buffer,
4,
buffer.offset,
receiver.forwardedFrom
);
} else if (receiver && receiver.address) {
encode322(
buffer.buffer,
10,
buffer.offset
);
} else {
encode322(
buffer.buffer,
11,
buffer.offset
);
}
this._transport.send(
buffer.buffer,
buffer.offset,
receiver && receiver.address || null
);
}
/**
* The resultResponse is a BVLC-Result message used to respond to certain events, such as BBMD registration.
* This message cannot be wrapped for passing through a BBMD, as it is used as a BBMD control message.
* @function bacnet.resultResponse
* @param {string} receiver - IP address of the target device.
* @param {number} resultCode - Single value from BvlcResultFormat enum.
*/
resultResponse(receiver, resultCode) {
const buffer = this._getBuffer();
encodeResult2(buffer, resultCode);
encode322(
buffer.buffer,
0,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver.address);
}
/**
* Unloads the current bacnet instance and closes the underlying UDP socket.
* @function bacnet.close
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.close();
*/
close() {
this._transport.close();
}
/**
* Helper function to take an array of enums and produce a bitstring suitable
* for inclusion as a property.
*
* @example
* [bacnet.enum.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED]: [
* {value: bacnet.createBitstring([
* bacnet.enum.ObjectTypesSupported.ANALOG_INPUT,
* bacnet.enum.ObjectTypesSupported.ANALOG_OUTPUT,
* ]),
* type: bacnet.enum.ApplicationTag.BIT_STRING},
* ],
*/
static createBitstring(items) {
let offset = 0;
let bytes = [];
let bitsUsed = 0;
while (items.length) {
let value = 0;
items = items.filter((i) => {
if (i >= offset + 8) {
return true;
}
value |= 1 << i - offset;
bitsUsed = Math.max(bitsUsed, i);
return false;
});
bytes.push(value);
offset += 8;
}
bitsUsed++;
return {
value: bytes,
bitsUsed
};
}
};
var import_underscore2 = __toESM2(require("underscore"));
var import_process2 = __toESM2(require("process"));
var import__2 = __toESM2(require_dist2());
var PropertyIdentifierToEnumMap2 = {};
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.OBJECT_TYPE] = import__2.enums.ObjectType;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED] = import__2.enums.Segmentation;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.EVENT_STATE] = import__2.enums.EventState;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.UNITS] = import__2.enums.EngineeringUnits;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.RELIABILITY] = import__2.enums.Reliability;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.NOTIFY_TYPE] = import__2.enums.NotifyType;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.POLARITY] = import__2.enums.Polarity;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED] = import__2.enums.ServicesSupported;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED] = import__2.enums.ObjectTypesSupported;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.STATUS_FLAGS] = import__2.enums.StatusFlags;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.LIMIT_ENABLE] = import__2.enums.LimitEnable;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.EVENT_ENABLE] = import__2.enums.EventTransitionBits;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.ACKED_TRANSITIONS] = import__2.enums.EventTransitionBits;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.SYSTEM_STATUS] = import__2.enums.DeviceStatus;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.SYSTEM_STATUS] = import__2.enums.DeviceStatus;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.ACK_REQUIRED] = import__2.enums.EventTransitionBits;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.LOGGING_TYPE] = import__2.enums.LoggingType;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.FILE_ACCESS_METHOD] = import__2.enums.FileAccessMethod;
PropertyIdentifierToEnumMap2[import__2.enums.PropertyIdentifier.NODE_TYPE] = import__2.enums.NodeType;
var ObjectTypeSpecificPropertyIdentifierToEnumMap2 = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_INPUT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_INPUT][import__2.enums.PropertyIdentifier.MODE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.ANALOG_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.ANALOG_INPUT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.ANALOG_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.ANALOG_OUTPUT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_OUTPUT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_OUTPUT][import__2.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_VALUE][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_VALUE][import__2.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_LIGHTING_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_LIGHTING_OUTPUT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryLightingPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BITSTRING_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.BINARY_VALUE][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.TRACKING_VALUE] = import__2.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.MODE] = import__2.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.ACCEPTED_MODES] = import__2.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.SILENCED] = import__2.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_POINT][import__2.enums.PropertyIdentifier.OPERATION_EXPECTED] = import__2.enums.LifeSafetyOperation;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_ZONE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_ZONE][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LIFE_SAFETY_ZONE][import__2.enums.PropertyIdentifier.MODE] = import__2.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LOAD_CONTROL] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap2[import__2.enums.ObjectType.LOAD_CONTROL][import__2.enums.PropertyIdentifier.PRESENT_VALUE] = import__2.enums.ShedState;
var propSubSet2 = import_process2.default.argv.includes("--all") ? Object.values(import__2.enums.PropertyIdentifier) : [
/* normally supported from all devices */
import__2.enums.PropertyIdentifier.OBJECT_IDENTIFIER,
import__2.enums.PropertyIdentifier.OBJECT_NAME,
import__2.enums.PropertyIdentifier.OBJECT_TYPE,
import__2.enums.PropertyIdentifier.PRESENT_VALUE,
import__2.enums.PropertyIdentifier.STATUS_FLAGS,
import__2.enums.PropertyIdentifier.EVENT_STATE,
import__2.enums.PropertyIdentifier.RELIABILITY,
import__2.enums.PropertyIdentifier.OUT_OF_SERVICE,
import__2.enums.PropertyIdentifier.UNITS,
/* other properties */
import__2.enums.PropertyIdentifier.DESCRIPTION,
import__2.enums.PropertyIdentifier.SYSTEM_STATUS,
import__2.enums.PropertyIdentifier.VENDOR_NAME,
import__2.enums.PropertyIdentifier.VENDOR_IDENTIFIER,
import__2.enums.PropertyIdentifier.MODEL_NAME,
import__2.enums.PropertyIdentifier.FIRMWARE_REVISION,
import__2.enums.PropertyIdentifier.APPLICATION_SOFTWARE_VERSION,
import__2.enums.PropertyIdentifier.LOCATION,
import__2.enums.PropertyIdentifier.LOCAL_DATE,
import__2.enums.PropertyIdentifier.LOCAL_TIME,
import__2.enums.PropertyIdentifier.UTC_OFFSET,
import__2.enums.PropertyIdentifier.DAYLIGHT_SAVINGS_STATUS,
import__2.enums.PropertyIdentifier.PROTOCOL_VERSION,
import__2.enums.PropertyIdentifier.PROTOCOL_REVISION,
import__2.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED,
import__2.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED,
import__2.enums.PropertyIdentifier.OBJECT_LIST,
import__2.enums.PropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED,
import__2.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED,
import__2.enums.PropertyIdentifier.APDU_TIMEOUT,
import__2.enums.PropertyIdentifier.NUMBER_OF_APDU_RETRIES,
import__2.enums.PropertyIdentifier.DEVICE_ADDRESS_BINDING,
import__2.enums.PropertyIdentifier.DATABASE_REVISION,
import__2.enums.PropertyIdentifier.MAX_INFO_FRAMES,
import__2.enums.PropertyIdentifier.MAX_MASTER,
import__2.enums.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS,
import__2.enums.PropertyIdentifier.ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS
];
var debug42 = import_process2.default.argv.includes("--debug");
function getAllPropertiesManually2(address, objectId, callback, propList, result) {
if (!propList) {
propList = propSubSet2.map((x) => x);
}
if (!result) {
result = [];
}
if (!propList.length) {
return callback({
values: [
{
objectId,
values: result
}
]
});
}
const prop = propList.shift();
bacnetClient.readProperty(address, objectId, prop, {}, (err, value) => {
if (!err) {
if (debug42) {
console.log("Handle value " + prop + ": ", JSON.stringify(value));
}
const objRes = value.property;
objRes.value = value.values;
result.push(objRes);
} else {
}
getAllPropertiesManually2(address, objectId, callback, propList, result);
});
}
function readBit2(buffer, i, bit) {
return (buffer[i] >> bit) % 2;
}
function handleBitString2(buffer, bitsUsed, usedEnum) {
const res = [];
for (let i = 0; i < bitsUsed; i++) {
const bufferIndex = Math.floor(i / 8);
if (readBit2(buffer, bufferIndex, i % 8)) {
res.push(import__2.enums.getEnumName(usedEnum, i));
}
}
return res;
}
function parseValue2(address, objId, parentType, value, supportsMultiple, callback) {
let resValue = null;
if (value && value.type && value.value !== null && value.value !== void 0) {
switch (value.type) {
case import__2.enums.ApplicationTag.NULL:
resValue = null;
break;
case import__2.enums.ApplicationTag.BOOLEAN:
resValue = !!value.value;
break;
case import__2.enums.ApplicationTag.UNSIGNED_INTEGER:
case import__2.enums.ApplicationTag.SIGNED_INTEGER:
case import__2.enums.ApplicationTag.REAL:
case import__2.enums.ApplicationTag.DOUBLE:
case import__2.enums.ApplicationTag.CHARACTER_STRING:
resValue = value.value;
break;
case import__2.enums.ApplicationTag.DATE:
case import__2.enums.ApplicationTag.TIME:
case import__2.enums.ApplicationTag.TIMESTAMP:
resValue = value.value;
break;
case import__2.enums.ApplicationTag.BIT_STRING:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType][objId]) {
resValue = handleBitString2(
value.value.value,
value.value.bitsUsed,
ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType][objId]
);
} else if (PropertyIdentifierToEnumMap2[objId]) {
resValue = handleBitString2(
value.value.value,
value.value.bitsUsed,
PropertyIdentifierToEnumMap2[objId]
);
} else {
if (parentType !== import__2.enums.ObjectType.BITSTRING_VALUE) {
console.log(
"Unknown value for BIT_STRING type for objId " + import__2.enums.getEnumName(import__2.enums.PropertyIdentifier, objId) + " and parent type " + import__2.enums.getEnumName(import__2.enums.ObjectType, parentType)
);
}
resValue = value.value;
}
break;
case import__2.enums.ApplicationTag.ENUMERATED:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType][objId]) {
resValue = import__2.enums.getEnumName(
ObjectTypeSpecificPropertyIdentifierToEnumMap2[parentType][objId],
value.value
);
} else if (PropertyIdentifierToEnumMap2[objId]) {
resValue = import__2.enums.getEnumName(
PropertyIdentifierToEnumMap2[objId],
value.value
);
} else {
console.log(
"Unknown value for ENUMERATED type for objId " + import__2.enums.getEnumName(import__2.enums.PropertyIdentifier, objId) + " and parent type " + import__2.enums.getEnumName(import__2.enums.ObjectType, parentType)
);
resValue = value.value;
}
break;
case import__2.enums.ApplicationTag.OBJECTIDENTIFIER:
if (objId === import__2.enums.PropertyIdentifier.OBJECT_IDENTIFIER || objId === import__2.enums.PropertyIdentifier.STRUCTURED_OBJECT_LIST || objId === import__2.enums.PropertyIdentifier.SUBORDINATE_LIST) {
resValue = value.value;
} else if (supportsMultiple) {
const requestArray = [
{
objectId: value.value,
properties: [{ id: 8 }]
}
];
bacnetClient.readPropertyMultiple(
address,
requestArray,
(err, resValue2) => {
parseDeviceObject2(address, resValue2, value.value, true, callback);
}
);
return;
} else {
getAllPropertiesManually2(address, value.value, (result) => {
parseDeviceObject2(address, result, value.value, false, callback);
});
return;
}
break;
case import__2.enums.ApplicationTag.OCTET_STRING:
resValue = value.value;
break;
case import__2.enums.ApplicationTag.ERROR:
resValue = {
errorClass: import__2.enums.getEnumName(
import__2.enums.ErrorClass,
value.value.errorClass
),
errorCode: import__2.enums.getEnumName(import__2.enums.ErrorCode, value.value.errorCode)
};
break;
case import__2.enums.ApplicationTag.OBJECT_PROPERTY_REFERENCE:
case import__2.enums.ApplicationTag.DEVICE_OBJECT_PROPERTY_REFERENCE:
case import__2.enums.ApplicationTag.DEVICE_OBJECT_REFERENCE:
case import__2.enums.ApplicationTag.READ_ACCESS_SPECIFICATION:
resValue = value.value;
break;
case import__2.enums.ApplicationTag.CONTEXT_SPECIFIC_DECODED:
parseValue2(
address,
objId,
parentType,
value.value,
supportsMultiple,
callback
);
return;
case import__2.enums.ApplicationTag.READ_ACCESS_RESULT:
resValue = value.value;
break;
default:
console.log(
"unknown type " + value.type + ": " + JSON.stringify(value)
);
resValue = value;
}
}
setImmediate(() => callback(resValue));
}
function parseDeviceObject2(address, obj, parent, supportsMultiple, callback) {
if (debug42) {
console.log(
"START parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(obj)
);
}
if (!obj) {
console.log("object not valid on parse device object");
return;
}
if (!obj.values || !Array.isArray(obj.values)) {
console.log("No device or invalid response");
callback({ ERROR: "No device or invalid response" });
return;
}
let cbCount = 0;
let objDef = {};
const finalize = () => {
Object.keys(objDef).forEach((devId) => {
Object.keys(objDef[devId]).forEach((objId) => {
if (objDef[devId][objId].length === 1) {
objDef[devId][objId] = objDef[devId][objId][0];
}
});
});
if (obj.values.length === 1) {
objDef = objDef[obj.values[0].objectId.instance];
}
if (debug42) {
console.log(
"END parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(objDef)
);
}
callback(objDef);
};
obj.values.forEach((devBaseObj) => {
if (!devBaseObj.objectId) {
console.log("No device Id found in object data");
return;
}
if (devBaseObj.objectId.type === void 0 || devBaseObj.objectId.instance === void 0) {
console.log("No device type or instance found in object data");
return;
}
if (!devBaseObj.values || !Array.isArray(devBaseObj.values)) {
console.log("No device values response");
return;
}
const deviceId = devBaseObj.objectId.instance;
objDef[deviceId] = {};
devBaseObj.values.forEach((devObj) => {
let objId = import__2.enums.getEnumName(import__2.enums.PropertyIdentifier, devObj.id);
if (devObj.index !== 4294967295) {
objId += "-" + devObj.index;
}
if (debug42) {
console.log("Handle Object property:", deviceId, objId, devObj.value);
}
devObj.value.forEach((val) => {
if (JSON.stringify(val.value) === JSON.stringify(parent)) {
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(val.value);
return;
}
cbCount++;
parseValue2(
address,
devObj.id,
parent.type,
val,
supportsMultiple,
(parsedValue) => {
if (debug42) {
console.log(
"RETURN parsedValue",
deviceId,
objId,
devObj.value,
parsedValue
);
}
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(parsedValue);
if (!--cbCount) {
finalize();
}
}
);
});
});
});
if (cbCount === 0) {
finalize();
}
}
var limitToDevice2 = null;
if (import_process2.default.argv.length === 3) {
limitToDevice2 = parseInt(import_process2.default.argv[2]);
if (isNaN(limitToDevice2)) {
limitToDevice2 = null;
}
}
var node_bacnet_default2 = Client2;
}
});
// index.ts
var node_bacnet_exports = {};
__export(node_bacnet_exports, {
_: () => import_underscore.default,
bacnetErrorToString: () => bacnetErrorToString,
default: () => node_bacnet_default,
enums: () => enum_exports,
parseValue: () => parseValue
});
module.exports = __toCommonJS(node_bacnet_exports);
// src/enum.ts
var enum_exports = {};
__export(enum_exports, {
ASN1_ARRAY_ALL: () => ASN1_ARRAY_ALL,
ASN1_INSTANCE_BITS: () => ASN1_INSTANCE_BITS,
ASN1_MAX_APPLICATION_TAG: () => ASN1_MAX_APPLICATION_TAG,
ASN1_MAX_BITSTRING_BYTES: () => ASN1_MAX_BITSTRING_BYTES,
ASN1_MAX_INSTANCE: () => ASN1_MAX_INSTANCE,
ASN1_MAX_OBJECT: () => ASN1_MAX_OBJECT,
ASN1_MAX_OBJECT_TYPE: () => ASN1_MAX_OBJECT_TYPE,
ASN1_MAX_PRIORITY: () => ASN1_MAX_PRIORITY,
ASN1_MAX_PROPERTY_ID: () => ASN1_MAX_PROPERTY_ID,
ASN1_MIN_PRIORITY: () => ASN1_MIN_PRIORITY,
ASN1_NO_PRIORITY: () => ASN1_NO_PRIORITY,
AbortReason: () => AbortReason,
AccessAuthenticationFactorDisable: () => AccessAuthenticationFactorDisable,
AccessCredentialDisable: () => AccessCredentialDisable,
AccessCredentialDisableReason: () => AccessCredentialDisableReason,
AccessEvent: () => AccessEvent,
AccessPassbackMode: () => AccessPassbackMode,
AccessUserType: () => AccessUserType,
AccessZoneOccupancyState: () => AccessZoneOccupancyState,
Action: () => Action,
ApplicationTag: () => ApplicationTag,
ApplicationTagName: () => ApplicationTagName,
AuthenticationFactorType: () => AuthenticationFactorType,
AuthenticationStatus: () => AuthenticationStatus,
AuthorizationExemption: () => AuthorizationExemption,
AuthorizationMode: () => AuthorizationMode,
BVLC_HEADER_LENGTH: () => BVLC_HEADER_LENGTH,
BVLL_TYPE_BACNET_IP: () => BVLL_TYPE_BACNET_IP,
BackupState: () => BackupState,
BinaryLightingPV: () => BinaryLightingPV,
BinaryPV: () => BinaryPV,
BvlcResultFormat: () => BvlcResultFormat,
BvlcResultPurpose: () => BvlcResultPurpose,
CharacterStringEncoding: () => CharacterStringEncoding,
ConfirmedServiceChoice: () => ConfirmedServiceChoice,
CovType: () => CovType,
DaysOfWeek: () => DaysOfWeek,
DeviceStatus: () => DeviceStatus,
DoorAlarmState: () => DoorAlarmState,
DoorSecuredStatus: () => DoorSecuredStatus,
DoorStatus: () => DoorStatus,
DoorValue: () => DoorValue,
EnableDisable: () => EnableDisable,
EngineeringUnits: () => EngineeringUnits,
ErrorClass: () => ErrorClass,
ErrorClassName: () => ErrorClassName,
ErrorCode: () => ErrorCode,
ErrorCodeName: () => ErrorCodeName,
EscalatorFault: () => EscalatorFault,
EscalatorMode: () => EscalatorMode,
EscalatorOperationDirection: () => EscalatorOperationDirection,
EventState: () => EventState,
EventTransitionBits: () => EventTransitionBits,
EventType: () => EventType,
FaultType: () => FaultType,
FileAccessMethod: () => FileAccessMethod,
IPMode: () => IPMode,
LifeSafetyMode: () => LifeSafetyMode,
LifeSafetyOperation: () => LifeSafetyOperation,
LifeSafetyState: () => LifeSafetyState,
LiftCarDirection: () => LiftCarDirection,
LiftCarDoorCommand: () => LiftCarDoorCommand,
LiftCarDriveStatus: () => LiftCarDriveStatus,
LiftCarMode: () => LiftCarMode,
LiftFault: () => LiftFault,
LiftGroupMode: () => LiftGroupMode,
LightingInProgress: () => LightingInProgress,
LightingOperation: () => LightingOperation,
LightingTransition: () => LightingTransition,
LimitEnable: () => LimitEnable,
LockStatus: () => LockStatus,
LogStatus: () => LogStatus,
LoggingType: () => LoggingType,
Maintenance: () => Maintenance,
MaxApduLengthAccepted: () => MaxApduLengthAccepted,
MaxSegmentsAccepted: () => MaxSegmentsAccepted,
NetworkLayerMessageType: () => NetworkLayerMessageType,
NetworkNumberQuality: () => NetworkNumberQuality,
NetworkPortCommand: () => NetworkPortCommand,
NetworkType: () => NetworkType,
NodeType: () => NodeType,
NotifyType: () => NotifyType,
NpduControlBit: () => NpduControlBit,
NpduControlPriority: () => NpduControlPriority,
ObjectType: () => ObjectType,
ObjectTypesSupported: () => ObjectTypesSupported,
PDU_TYPE_MASK: () => PDU_TYPE_MASK,
PduConReqBit: () => PduConReqBit,
PduSegAckBit: () => PduSegAckBit,
PduType: () => PduType,
Polarity: () => Polarity,
ProgramError: () => ProgramError,
ProgramRequest: () => ProgramRequest,
ProgramState: () => ProgramState,
PropertyIdentifier: () => PropertyIdentifier,
PropertyStates: () => PropertyStates,
ProtocolLevel: () => ProtocolLevel,
ReadRangeType: () => ReadRangeType,
ReinitializedState: () => ReinitializedState,
RejectReason: () => RejectReason,
Relationship: () => Relationship,
Reliability: () => Reliability,
RestartReason: () => RestartReason,
ResultFlags: () => ResultFlags,
SecurityLevel: () => SecurityLevel,
SecurityPolicy: () => SecurityPolicy,
Segmentation: () => Segmentation,
ServicesSupported: () => ServicesSupported,
ShedState: () => ShedState,
SilencedState: () => SilencedState,
StatusFlags: () => StatusFlags,
TimeStamp: () => TimeStamp,
TimerState: () => TimerState,
TimerTransition: () => TimerTransition,
UnconfirmedServiceChoice: () => UnconfirmedServiceChoice,
VTClass: () => VTClass,
WriteStatus: () => WriteStatus,
getEnumName: () => getEnumName
});
var import_debug = __toESM(require("debug"));
var debug = (0, import_debug.default)("bacnet=enum=debug");
var trace = (0, import_debug.default)("bacnet=enum=trace");
function invertEnum(enumToInvert) {
const invertedEnum = {};
Object.keys(enumToInvert).forEach((key) => {
invertedEnum[enumToInvert[key]] = key;
});
return invertedEnum;
}
function getEnumName(group, value, addNumberValue = true, undefinedFallbackValue = void 0) {
if (!Number.isInteger(value)) {
throw new Error(
'getEnumName() can only be passed an integer value, was given "' + value + '"'
);
}
let foundEntry;
try {
const invertedGroup = invertEnum(group);
foundEntry = invertedGroup[value];
if (foundEntry === void 0 && undefinedFallbackValue) {
foundEntry = undefinedFallbackValue;
}
if (foundEntry === void 0) {
foundEntry = value.toString();
} else if (addNumberValue) {
foundEntry += "(" + value + ")";
}
} catch (e) {
trace(e.message);
foundEntry = null;
}
return foundEntry;
}
var PDU_TYPE_MASK = 240;
var ASN1_MAX_OBJECT = 1023;
var ASN1_INSTANCE_BITS = 22;
var ASN1_MAX_INSTANCE = 4194303;
var ASN1_MAX_BITSTRING_BYTES = 15;
var ASN1_ARRAY_ALL = 4294967295;
var ASN1_NO_PRIORITY = 0;
var ASN1_MIN_PRIORITY = 1;
var ASN1_MAX_PRIORITY = 16;
var ASN1_MAX_APPLICATION_TAG = 16;
var ASN1_MAX_OBJECT_TYPE = 1024;
var ASN1_MAX_PROPERTY_ID = 4194303;
var BVLL_TYPE_BACNET_IP = 129;
var BVLC_HEADER_LENGTH = 4;
var ConfirmedServiceChoice = /* @__PURE__ */ ((ConfirmedServiceChoice2) => {
ConfirmedServiceChoice2[ConfirmedServiceChoice2["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["VT_OPEN"] = 21] = "VT_OPEN";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["VT_CLOSE"] = 22] = "VT_CLOSE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["VT_DATA"] = 23] = "VT_DATA";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["READ_RANGE"] = 26] = "READ_RANGE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["LIFE_SAFETY_OPERATION"] = 27] = "LIFE_SAFETY_OPERATION";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["SUBSCRIBE_COV_PROPERTY"] = 28] = "SUBSCRIBE_COV_PROPERTY";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["GET_EVENT_INFORMATION"] = 29] = "GET_EVENT_INFORMATION";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 30] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ConfirmedServiceChoice2[ConfirmedServiceChoice2["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 31] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ConfirmedServiceChoice2;
})(ConfirmedServiceChoice || {});
var UnconfirmedServiceChoice = /* @__PURE__ */ ((UnconfirmedServiceChoice2) => {
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["I_AM"] = 0] = "I_AM";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["I_HAVE"] = 1] = "I_HAVE";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UNCONFIRMED_COV_NOTIFICATION"] = 2] = "UNCONFIRMED_COV_NOTIFICATION";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UNCONFIRMED_EVENT_NOTIFICATION"] = 3] = "UNCONFIRMED_EVENT_NOTIFICATION";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UNCONFIRMED_PRIVATE_TRANSFER"] = 4] = "UNCONFIRMED_PRIVATE_TRANSFER";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UNCONFIRMED_TEXT_MESSAGE"] = 5] = "UNCONFIRMED_TEXT_MESSAGE";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["TIME_SYNCHRONIZATION"] = 6] = "TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["WHO_HAS"] = 7] = "WHO_HAS";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["WHO_IS"] = 8] = "WHO_IS";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UTC_TIME_SYNCHRONIZATION"] = 9] = "UTC_TIME_SYNCHRONIZATION";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["WRITE_GROUP"] = 10] = "WRITE_GROUP";
UnconfirmedServiceChoice2[UnconfirmedServiceChoice2["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 11] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return UnconfirmedServiceChoice2;
})(UnconfirmedServiceChoice || {});
var AbortReason = /* @__PURE__ */ ((AbortReason2) => {
AbortReason2[AbortReason2["OTHER"] = 0] = "OTHER";
AbortReason2[AbortReason2["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
AbortReason2[AbortReason2["INVALID_APDU_IN_THIS_STATE"] = 2] = "INVALID_APDU_IN_THIS_STATE";
AbortReason2[AbortReason2["PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 3] = "PREEMPTED_BY_HIGHER_PRIORITY_TASK";
AbortReason2[AbortReason2["SEGMENTATION_NOT_SUPPORTED"] = 4] = "SEGMENTATION_NOT_SUPPORTED";
AbortReason2[AbortReason2["SECURITY_ERROR"] = 5] = "SECURITY_ERROR";
AbortReason2[AbortReason2["INSUFFICIENT_SECURITY"] = 6] = "INSUFFICIENT_SECURITY";
AbortReason2[AbortReason2["WINDOW_SIZE_OUT_OF_RANGE"] = 7] = "WINDOW_SIZE_OUT_OF_RANGE";
AbortReason2[AbortReason2["APPLICATION_EXCEEDED_REPLY_TIME"] = 8] = "APPLICATION_EXCEEDED_REPLY_TIME";
AbortReason2[AbortReason2["OUT_OF_RESOURCES"] = 9] = "OUT_OF_RESOURCES";
AbortReason2[AbortReason2["TSM_TIMEOUT"] = 10] = "TSM_TIMEOUT";
AbortReason2[AbortReason2["APDU_TOO_LONG"] = 11] = "APDU_TOO_LONG";
return AbortReason2;
})(AbortReason || {});
var RejectReason = /* @__PURE__ */ ((RejectReason2) => {
RejectReason2[RejectReason2["OTHER"] = 0] = "OTHER";
RejectReason2[RejectReason2["BUFFER_OVERFLOW"] = 1] = "BUFFER_OVERFLOW";
RejectReason2[RejectReason2["INCONSISTENT_PARAMETERS"] = 2] = "INCONSISTENT_PARAMETERS";
RejectReason2[RejectReason2["INVALID_PARAMETER_DATA_TYPE"] = 3] = "INVALID_PARAMETER_DATA_TYPE";
RejectReason2[RejectReason2["INVALID_TAG"] = 4] = "INVALID_TAG";
RejectReason2[RejectReason2["MISSING_REQUIRED_PARAMETER"] = 5] = "MISSING_REQUIRED_PARAMETER";
RejectReason2[RejectReason2["PARAMETER_OUT_OF_RANGE"] = 6] = "PARAMETER_OUT_OF_RANGE";
RejectReason2[RejectReason2["TOO_MANY_ARGUMENTS"] = 7] = "TOO_MANY_ARGUMENTS";
RejectReason2[RejectReason2["UNDEFINED_ENUMERATION"] = 8] = "UNDEFINED_ENUMERATION";
RejectReason2[RejectReason2["UNRECOGNIZED_SERVICE"] = 9] = "UNRECOGNIZED_SERVICE";
return RejectReason2;
})(RejectReason || {});
var ErrorClass = /* @__PURE__ */ ((ErrorClass2) => {
ErrorClass2[ErrorClass2["DEVICE"] = 0] = "DEVICE";
ErrorClass2[ErrorClass2["OBJECT"] = 1] = "OBJECT";
ErrorClass2[ErrorClass2["PROPERTY"] = 2] = "PROPERTY";
ErrorClass2[ErrorClass2["RESOURCES"] = 3] = "RESOURCES";
ErrorClass2[ErrorClass2["SECURITY"] = 4] = "SECURITY";
ErrorClass2[ErrorClass2["SERVICES"] = 5] = "SERVICES";
ErrorClass2[ErrorClass2["VT"] = 6] = "VT";
ErrorClass2[ErrorClass2["COMMUNICATION"] = 7] = "COMMUNICATION";
return ErrorClass2;
})(ErrorClass || {});
var ErrorClassName = invertEnum(
ErrorClass
);
var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
ErrorCode2[ErrorCode2["ABORT_APDU_TOO_LONG"] = 123] = "ABORT_APDU_TOO_LONG";
ErrorCode2[ErrorCode2["ABORT_APPLICATION_EXCEEDED_REPLY_TIME"] = 124] = "ABORT_APPLICATION_EXCEEDED_REPLY_TIME";
ErrorCode2[ErrorCode2["ABORT_BUFFER_OVERFLOW"] = 51] = "ABORT_BUFFER_OVERFLOW";
ErrorCode2[ErrorCode2["ABORT_INSUFFICIENT_SECURITY"] = 135] = "ABORT_INSUFFICIENT_SECURITY";
ErrorCode2[ErrorCode2["ABORT_INVALID_APDU_IN_THIS_STATE"] = 52] = "ABORT_INVALID_APDU_IN_THIS_STATE";
ErrorCode2[ErrorCode2["ABORT_OTHER"] = 56] = "ABORT_OTHER";
ErrorCode2[ErrorCode2["ABORT_OUT_OF_RESOURCES"] = 125] = "ABORT_OUT_OF_RESOURCES";
ErrorCode2[ErrorCode2["ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK"] = 53] = "ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK";
ErrorCode2[ErrorCode2["ABORT_PROPRIETARY"] = 55] = "ABORT_PROPRIETARY";
ErrorCode2[ErrorCode2["ABORT_SECURITY_ERROR"] = 136] = "ABORT_SECURITY_ERROR";
ErrorCode2[ErrorCode2["ABORT_SEGMENTATION_NOT_SUPPORTED"] = 54] = "ABORT_SEGMENTATION_NOT_SUPPORTED";
ErrorCode2[ErrorCode2["ABORT_TSM_TIMEOUT"] = 126] = "ABORT_TSM_TIMEOUT";
ErrorCode2[ErrorCode2["ABORT_WINDOW_SIZE_OUT_OF_RANGE"] = 127] = "ABORT_WINDOW_SIZE_OUT_OF_RANGE";
ErrorCode2[ErrorCode2["ACCESS_DENIED"] = 85] = "ACCESS_DENIED";
ErrorCode2[ErrorCode2["ADDRESSING_ERROR"] = 115] = "ADDRESSING_ERROR";
ErrorCode2[ErrorCode2["BAD_DESTINATION_ADDRESS"] = 86] = "BAD_DESTINATION_ADDRESS";
ErrorCode2[ErrorCode2["BAD_DESTINATION_DEVICE_ID"] = 87] = "BAD_DESTINATION_DEVICE_ID";
ErrorCode2[ErrorCode2["BAD_SIGNATURE"] = 88] = "BAD_SIGNATURE";
ErrorCode2[ErrorCode2["BAD_SOURCE_ADDRESS"] = 89] = "BAD_SOURCE_ADDRESS";
ErrorCode2[ErrorCode2["BAD_TIMESTAMP"] = 90] = "BAD_TIMESTAMP";
ErrorCode2[ErrorCode2["BUSY"] = 82] = "BUSY";
ErrorCode2[ErrorCode2["CANNOT_USE_KEY"] = 91] = "CANNOT_USE_KEY";
ErrorCode2[ErrorCode2["CANNOT_VERIFY_MESSAGE_ID"] = 92] = "CANNOT_VERIFY_MESSAGE_ID";
ErrorCode2[ErrorCode2["CHARACTER_SET_NOT_SUPPORTED"] = 41] = "CHARACTER_SET_NOT_SUPPORTED";
ErrorCode2[ErrorCode2["COMMUNICATION_DISABLED"] = 83] = "COMMUNICATION_DISABLED";
ErrorCode2[ErrorCode2["CONFIGURATION_IN_PROGRESS"] = 2] = "CONFIGURATION_IN_PROGRESS";
ErrorCode2[ErrorCode2["CORRECT_KEY_REVISION"] = 93] = "CORRECT_KEY_REVISION";
ErrorCode2[ErrorCode2["COV_SUBSCRIPTION_FAILED"] = 43] = "COV_SUBSCRIPTION_FAILED";
ErrorCode2[ErrorCode2["DATATYPE_NOT_SUPPORTED"] = 47] = "DATATYPE_NOT_SUPPORTED";
ErrorCode2[ErrorCode2["DELETE_FDT_ENTRY_FAILED"] = 120] = "DELETE_FDT_ENTRY_FAILED";
ErrorCode2[ErrorCode2["DESTINATION_DEVICE_ID_REQUIRED"] = 94] = "DESTINATION_DEVICE_ID_REQUIRED";
ErrorCode2[ErrorCode2["DEVICE_BUSY"] = 3] = "DEVICE_BUSY";
ErrorCode2[ErrorCode2["DISTRIBUTE_BROADCAST_FAILED"] = 121] = "DISTRIBUTE_BROADCAST_FAILED";
ErrorCode2[ErrorCode2["DUPLICATE_ENTRY"] = 137] = "DUPLICATE_ENTRY";
ErrorCode2[ErrorCode2["DUPLICATE_MESSAGE"] = 95] = "DUPLICATE_MESSAGE";
ErrorCode2[ErrorCode2["DUPLICATE_NAME"] = 48] = "DUPLICATE_NAME";
ErrorCode2[ErrorCode2["DUPLICATE_OBJECT_ID"] = 49] = "DUPLICATE_OBJECT_ID";
ErrorCode2[ErrorCode2["DYNAMIC_CREATION_NOT_SUPPORTED"] = 4] = "DYNAMIC_CREATION_NOT_SUPPORTED";
ErrorCode2[ErrorCode2["ENCRYPTION_NOT_CONFIGURED"] = 96] = "ENCRYPTION_NOT_CONFIGURED";
ErrorCode2[ErrorCode2["ENCRYPTION_REQUIRED"] = 97] = "ENCRYPTION_REQUIRED";
ErrorCode2[ErrorCode2["FILE_ACCESS_DENIED"] = 5] = "FILE_ACCESS_DENIED";
ErrorCode2[ErrorCode2["FILE_FULL"] = 128] = "FILE_FULL";
ErrorCode2[ErrorCode2["INCONSISTENT_CONFIGURATION"] = 129] = "INCONSISTENT_CONFIGURATION";
ErrorCode2[ErrorCode2["INCONSISTENT_OBJECT_TYPE"] = 130] = "INCONSISTENT_OBJECT_TYPE";
ErrorCode2[ErrorCode2["INCONSISTENT_PARAMETERS"] = 7] = "INCONSISTENT_PARAMETERS";
ErrorCode2[ErrorCode2["INCONSISTENT_SELECTION_CRITERION"] = 8] = "INCONSISTENT_SELECTION_CRITERION";
ErrorCode2[ErrorCode2["INCORRECT_KEY"] = 98] = "INCORRECT_KEY";
ErrorCode2[ErrorCode2["INTERNAL_ERROR"] = 131] = "INTERNAL_ERROR";
ErrorCode2[ErrorCode2["INVALID_ARRAY_INDEX"] = 42] = "INVALID_ARRAY_INDEX";
ErrorCode2[ErrorCode2["INVALID_CONFIGURATION_DATA"] = 46] = "INVALID_CONFIGURATION_DATA";
ErrorCode2[ErrorCode2["INVALID_DATA_TYPE"] = 9] = "INVALID_DATA_TYPE";
ErrorCode2[ErrorCode2["INVALID_EVENT_STATE"] = 73] = "INVALID_EVENT_STATE";
ErrorCode2[ErrorCode2["INVALID_FILE_ACCESS_METHOD"] = 10] = "INVALID_FILE_ACCESS_METHOD";
ErrorCode2[ErrorCode2["INVALID_FILE_START_POSITION"] = 11] = "INVALID_FILE_START_POSITION";
ErrorCode2[ErrorCode2["INVALID_KEY_DATA"] = 99] = "INVALID_KEY_DATA";
ErrorCode2[ErrorCode2["INVALID_PARAMETER_DATA_TYPE"] = 13] = "INVALID_PARAMETER_DATA_TYPE";
ErrorCode2[ErrorCode2["INVALID_TAG"] = 57] = "INVALID_TAG";
ErrorCode2[ErrorCode2["INVALID_TIMESTAMP"] = 14] = "INVALID_TIMESTAMP";
ErrorCode2[ErrorCode2["INVALID_VALUE_IN_THIS_STATE"] = 138] = "INVALID_VALUE_IN_THIS_STATE";
ErrorCode2[ErrorCode2["KEY_UPDATE_IN_PROGRESS"] = 100] = "KEY_UPDATE_IN_PROGRESS";
ErrorCode2[ErrorCode2["LIST_ELEMENT_NOT_FOUND"] = 81] = "LIST_ELEMENT_NOT_FOUND";
ErrorCode2[ErrorCode2["LOG_BUFFER_FULL"] = 75] = "LOG_BUFFER_FULL";
ErrorCode2[ErrorCode2["LOGGED_VALUE_PURGED"] = 76] = "LOGGED_VALUE_PURGED";
ErrorCode2[ErrorCode2["MALFORMED_MESSAGE"] = 101] = "MALFORMED_MESSAGE";
ErrorCode2[ErrorCode2["MESSAGE_TOO_LONG"] = 113] = "MESSAGE_TOO_LONG";
ErrorCode2[ErrorCode2["MISSING_REQUIRED_PARAMETER"] = 16] = "MISSING_REQUIRED_PARAMETER";
ErrorCode2[ErrorCode2["NETWORK_DOWN"] = 58] = "NETWORK_DOWN";
ErrorCode2[ErrorCode2["NO_ALARM_CONFIGURED"] = 74] = "NO_ALARM_CONFIGURED";
ErrorCode2[ErrorCode2["NO_OBJECTS_OF_SPECIFIED_TYPE"] = 17] = "NO_OBJECTS_OF_SPECIFIED_TYPE";
ErrorCode2[ErrorCode2["NO_PROPERTY_SPECIFIED"] = 77] = "NO_PROPERTY_SPECIFIED";
ErrorCode2[ErrorCode2["NO_SPACE_FOR_OBJECT"] = 18] = "NO_SPACE_FOR_OBJECT";
ErrorCode2[ErrorCode2["NO_SPACE_TO_ADD_LIST_ELEMENT"] = 19] = "NO_SPACE_TO_ADD_LIST_ELEMENT";
ErrorCode2[ErrorCode2["NO_SPACE_TO_WRITE_PROPERTY"] = 20] = "NO_SPACE_TO_WRITE_PROPERTY";
ErrorCode2[ErrorCode2["NO_VT_SESSIONS_AVAILABLE"] = 21] = "NO_VT_SESSIONS_AVAILABLE";
ErrorCode2[ErrorCode2["NOT_CONFIGURED"] = 132] = "NOT_CONFIGURED";
ErrorCode2[ErrorCode2["NOT_CONFIGURED_FOR_TRIGGERED_LOGGING"] = 78] = "NOT_CONFIGURED_FOR_TRIGGERED_LOGGING";
ErrorCode2[ErrorCode2["NOT_COV_PROPERTY"] = 44] = "NOT_COV_PROPERTY";
ErrorCode2[ErrorCode2["NOT_KEY_SERVER"] = 102] = "NOT_KEY_SERVER";
ErrorCode2[ErrorCode2["NOT_ROUTER_TO_DNET"] = 110] = "NOT_ROUTER_TO_DNET";
ErrorCode2[ErrorCode2["OBJECT_DELETION_NOT_PERMITTED"] = 23] = "OBJECT_DELETION_NOT_PERMITTED";
ErrorCode2[ErrorCode2["OBJECT_IDENTIFIER_ALREADY_EXISTS"] = 24] = "OBJECT_IDENTIFIER_ALREADY_EXISTS";
ErrorCode2[ErrorCode2["OPERATIONAL_PROBLEM"] = 25] = "OPERATIONAL_PROBLEM";
ErrorCode2[ErrorCode2["OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED"] = 45] = "OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED";
ErrorCode2[ErrorCode2["OTHER"] = 0] = "OTHER";
ErrorCode2[ErrorCode2["OUT_OF_MEMORY"] = 133] = "OUT_OF_MEMORY";
ErrorCode2[ErrorCode2["PARAMETER_OUT_OF_RANGE"] = 80] = "PARAMETER_OUT_OF_RANGE";
ErrorCode2[ErrorCode2["PASSWORD_FAILURE"] = 26] = "PASSWORD_FAILURE";
ErrorCode2[ErrorCode2["PROPERTY_IS_NOT_A_LIST"] = 22] = "PROPERTY_IS_NOT_A_LIST";
ErrorCode2[ErrorCode2["PROPERTY_IS_NOT_AN_ARRAY"] = 50] = "PROPERTY_IS_NOT_AN_ARRAY";
ErrorCode2[ErrorCode2["READ_ACCESS_DENIED"] = 27] = "READ_ACCESS_DENIED";
ErrorCode2[ErrorCode2["READ_BDT_FAILED"] = 117] = "READ_BDT_FAILED";
ErrorCode2[ErrorCode2["READ_FDT_FAILED"] = 119] = "READ_FDT_FAILED";
ErrorCode2[ErrorCode2["REGISTER_FOREIGN_DEVICE_FAILED"] = 118] = "REGISTER_FOREIGN_DEVICE_FAILED";
ErrorCode2[ErrorCode2["REJECT_BUFFER_OVERFLOW"] = 59] = "REJECT_BUFFER_OVERFLOW";
ErrorCode2[ErrorCode2["REJECT_INCONSISTENT_PARAMETERS"] = 60] = "REJECT_INCONSISTENT_PARAMETERS";
ErrorCode2[ErrorCode2["REJECT_INVALID_PARAMETER_DATA_TYPE"] = 61] = "REJECT_INVALID_PARAMETER_DATA_TYPE";
ErrorCode2[ErrorCode2["REJECT_INVALID_TAG"] = 62] = "REJECT_INVALID_TAG";
ErrorCode2[ErrorCode2["REJECT_MISSING_REQUIRED_PARAMETER"] = 63] = "REJECT_MISSING_REQUIRED_PARAMETER";
ErrorCode2[ErrorCode2["REJECT_OTHER"] = 69] = "REJECT_OTHER";
ErrorCode2[ErrorCode2["REJECT_PARAMETER_OUT_OF_RANGE"] = 64] = "REJECT_PARAMETER_OUT_OF_RANGE";
ErrorCode2[ErrorCode2["REJECT_PROPRIETARY"] = 68] = "REJECT_PROPRIETARY";
ErrorCode2[ErrorCode2["REJECT_TOO_MANY_ARGUMENTS"] = 65] = "REJECT_TOO_MANY_ARGUMENTS";
ErrorCode2[ErrorCode2["REJECT_UNDEFINED_ENUMERATION"] = 66] = "REJECT_UNDEFINED_ENUMERATION";
ErrorCode2[ErrorCode2["REJECT_UNRECOGNIZED_SERVICE"] = 67] = "REJECT_UNRECOGNIZED_SERVICE";
ErrorCode2[ErrorCode2["ROUTER_BUSY"] = 111] = "ROUTER_BUSY";
ErrorCode2[ErrorCode2["SECURITY_ERROR"] = 114] = "SECURITY_ERROR";
ErrorCode2[ErrorCode2["SECURITY_NOT_CONFIGURED"] = 103] = "SECURITY_NOT_CONFIGURED";
ErrorCode2[ErrorCode2["SERVICE_REQUEST_DENIED"] = 29] = "SERVICE_REQUEST_DENIED";
ErrorCode2[ErrorCode2["SOURCE_SECURITY_REQUIRED"] = 104] = "SOURCE_SECURITY_REQUIRED";
ErrorCode2[ErrorCode2["SUCCESS"] = 84] = "SUCCESS";
ErrorCode2[ErrorCode2["TIMEOUT"] = 30] = "TIMEOUT";
ErrorCode2[ErrorCode2["TOO_MANY_KEYS"] = 105] = "TOO_MANY_KEYS";
ErrorCode2[ErrorCode2["UNKNOWN_AUTHENTICATION_TYPE"] = 106] = "UNKNOWN_AUTHENTICATION_TYPE";
ErrorCode2[ErrorCode2["UNKNOWN_DEVICE"] = 70] = "UNKNOWN_DEVICE";
ErrorCode2[ErrorCode2["UNKNOWN_FILE_SIZE"] = 122] = "UNKNOWN_FILE_SIZE";
ErrorCode2[ErrorCode2["UNKNOWN_KEY"] = 107] = "UNKNOWN_KEY";
ErrorCode2[ErrorCode2["UNKNOWN_KEY_REVISION"] = 108] = "UNKNOWN_KEY_REVISION";
ErrorCode2[ErrorCode2["UNKNOWN_NETWORK_MESSAGE"] = 112] = "UNKNOWN_NETWORK_MESSAGE";
ErrorCode2[ErrorCode2["UNKNOWN_OBJECT"] = 31] = "UNKNOWN_OBJECT";
ErrorCode2[ErrorCode2["UNKNOWN_PROPERTY"] = 32] = "UNKNOWN_PROPERTY";
ErrorCode2[ErrorCode2["UNKNOWN_ROUTE"] = 71] = "UNKNOWN_ROUTE";
ErrorCode2[ErrorCode2["UNKNOWN_SOURCE_MESSAGE"] = 109] = "UNKNOWN_SOURCE_MESSAGE";
ErrorCode2[ErrorCode2["UNKNOWN_SUBSCRIPTION"] = 79] = "UNKNOWN_SUBSCRIPTION";
ErrorCode2[ErrorCode2["UNKNOWN_VT_CLASS"] = 34] = "UNKNOWN_VT_CLASS";
ErrorCode2[ErrorCode2["UNKNOWN_VT_SESSION"] = 35] = "UNKNOWN_VT_SESSION";
ErrorCode2[ErrorCode2["UNSUPPORTED_OBJECT_TYPE"] = 36] = "UNSUPPORTED_OBJECT_TYPE";
ErrorCode2[ErrorCode2["VALUE_NOT_INITIALIZED"] = 72] = "VALUE_NOT_INITIALIZED";
ErrorCode2[ErrorCode2["VALUE_OUT_OF_RANGE"] = 37] = "VALUE_OUT_OF_RANGE";
ErrorCode2[ErrorCode2["VALUE_TOO_LONG"] = 134] = "VALUE_TOO_LONG";
ErrorCode2[ErrorCode2["VT_SESSION_ALREADY_CLOSED"] = 38] = "VT_SESSION_ALREADY_CLOSED";
ErrorCode2[ErrorCode2["VT_SESSION_TERMINATION_FAILURE"] = 39] = "VT_SESSION_TERMINATION_FAILURE";
ErrorCode2[ErrorCode2["WRITE_ACCESS_DENIED"] = 40] = "WRITE_ACCESS_DENIED";
ErrorCode2[ErrorCode2["WRITE_BDT_FAILED"] = 116] = "WRITE_BDT_FAILED";
return ErrorCode2;
})(ErrorCode || {});
var ErrorCodeName = invertEnum(
ErrorCode
);
var AccessAuthenticationFactorDisable = /* @__PURE__ */ ((AccessAuthenticationFactorDisable2) => {
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["NONE"] = 0] = "NONE";
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["DISABLED"] = 1] = "DISABLED";
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["DISABLED_LOST"] = 2] = "DISABLED_LOST";
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["DISABLED_STOLEN"] = 3] = "DISABLED_STOLEN";
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["DISABLED_DAMAGED"] = 4] = "DISABLED_DAMAGED";
AccessAuthenticationFactorDisable2[AccessAuthenticationFactorDisable2["DISABLED_DESTROYED"] = 5] = "DISABLED_DESTROYED";
return AccessAuthenticationFactorDisable2;
})(AccessAuthenticationFactorDisable || {});
var AccessCredentialDisable = /* @__PURE__ */ ((AccessCredentialDisable2) => {
AccessCredentialDisable2[AccessCredentialDisable2["NONE"] = 0] = "NONE";
AccessCredentialDisable2[AccessCredentialDisable2["DISABLE"] = 1] = "DISABLE";
AccessCredentialDisable2[AccessCredentialDisable2["DISABLE_MANUAL"] = 2] = "DISABLE_MANUAL";
AccessCredentialDisable2[AccessCredentialDisable2["DISABLE_LOCKOUT"] = 3] = "DISABLE_LOCKOUT";
return AccessCredentialDisable2;
})(AccessCredentialDisable || {});
var AccessCredentialDisableReason = /* @__PURE__ */ ((AccessCredentialDisableReason2) => {
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED"] = 0] = "DISABLED";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_NEEDS_PROVISIONING"] = 1] = "DISABLED_NEEDS_PROVISIONING";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_UNASSIGNED"] = 2] = "DISABLED_UNASSIGNED";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_NOT_YET_ACTIVE"] = 3] = "DISABLED_NOT_YET_ACTIVE";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_EXPIRED"] = 4] = "DISABLED_EXPIRED";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_LOCKOUT"] = 5] = "DISABLED_LOCKOUT";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_MAX_DAYS"] = 6] = "DISABLED_MAX_DAYS";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_MAX_USES"] = 7] = "DISABLED_MAX_USES";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_INACTIVITY"] = 8] = "DISABLED_INACTIVITY";
AccessCredentialDisableReason2[AccessCredentialDisableReason2["DISABLED_MANUAL"] = 9] = "DISABLED_MANUAL";
return AccessCredentialDisableReason2;
})(AccessCredentialDisableReason || {});
var AccessEvent = /* @__PURE__ */ ((AccessEvent2) => {
AccessEvent2[AccessEvent2["NONE"] = 0] = "NONE";
AccessEvent2[AccessEvent2["GRANTED"] = 1] = "GRANTED";
AccessEvent2[AccessEvent2["MUSTER"] = 2] = "MUSTER";
AccessEvent2[AccessEvent2["PASSBACK_DETECTED"] = 3] = "PASSBACK_DETECTED";
AccessEvent2[AccessEvent2["DURESS"] = 4] = "DURESS";
AccessEvent2[AccessEvent2["TRACE"] = 5] = "TRACE";
AccessEvent2[AccessEvent2["LOCKOUT_MAX_ATTEMPTS"] = 6] = "LOCKOUT_MAX_ATTEMPTS";
AccessEvent2[AccessEvent2["LOCKOUT_OTHER"] = 7] = "LOCKOUT_OTHER";
AccessEvent2[AccessEvent2["LOCKOUT_RELINQUISHED"] = 8] = "LOCKOUT_RELINQUISHED";
AccessEvent2[AccessEvent2["LOCKED_BY_HIGHER_PRIORITY"] = 9] = "LOCKED_BY_HIGHER_PRIORITY";
AccessEvent2[AccessEvent2["OUT_OF_SERVICE"] = 10] = "OUT_OF_SERVICE";
AccessEvent2[AccessEvent2["OUT_OF_SERVICE_RELINQUISHED"] = 11] = "OUT_OF_SERVICE_RELINQUISHED";
AccessEvent2[AccessEvent2["ACCOMPANIMENT_BY"] = 12] = "ACCOMPANIMENT_BY";
AccessEvent2[AccessEvent2["AUTHENTICATION_FACTOR_READ"] = 13] = "AUTHENTICATION_FACTOR_READ";
AccessEvent2[AccessEvent2["AUTHORIZATION_DELAYED"] = 14] = "AUTHORIZATION_DELAYED";
AccessEvent2[AccessEvent2["VERIFICATION_REQUIRED"] = 15] = "VERIFICATION_REQUIRED";
AccessEvent2[AccessEvent2["NO_ENTRY_AFTER_GRANTED"] = 16] = "NO_ENTRY_AFTER_GRANTED";
AccessEvent2[AccessEvent2["DENIED_DENY_ALL"] = 128] = "DENIED_DENY_ALL";
AccessEvent2[AccessEvent2["DENIED_UNKNOWN_CREDENTIAL"] = 129] = "DENIED_UNKNOWN_CREDENTIAL";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_UNAVAILABLE"] = 130] = "DENIED_AUTHENTICATION_UNAVAILABLE";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_TIMEOUT"] = 131] = "DENIED_AUTHENTICATION_FACTOR_TIMEOUT";
AccessEvent2[AccessEvent2["DENIED_INCORRECT_AUTHENTICATION_FACTOR"] = 132] = "DENIED_INCORRECT_AUTHENTICATION_FACTOR";
AccessEvent2[AccessEvent2["DENIED_ZONE_NO_ACCESS_RIGHTS"] = 133] = "DENIED_ZONE_NO_ACCESS_RIGHTS";
AccessEvent2[AccessEvent2["DENIED_POINT_NO_ACCESS_RIGHTS"] = 134] = "DENIED_POINT_NO_ACCESS_RIGHTS";
AccessEvent2[AccessEvent2["DENIED_NO_ACCESS_RIGHTS"] = 135] = "DENIED_NO_ACCESS_RIGHTS";
AccessEvent2[AccessEvent2["DENIED_OUT_OF_TIME_RANGE"] = 136] = "DENIED_OUT_OF_TIME_RANGE";
AccessEvent2[AccessEvent2["DENIED_THREAT_LEVEL"] = 137] = "DENIED_THREAT_LEVEL";
AccessEvent2[AccessEvent2["DENIED_PASSBACK"] = 138] = "DENIED_PASSBACK";
AccessEvent2[AccessEvent2["DENIED_UNEXPECTED_LOCATION_USAGE"] = 139] = "DENIED_UNEXPECTED_LOCATION_USAGE";
AccessEvent2[AccessEvent2["DENIED_MAX_ATTEMPTS"] = 140] = "DENIED_MAX_ATTEMPTS";
AccessEvent2[AccessEvent2["DENIED_LOWER_OCCUPANCY_LIMIT"] = 141] = "DENIED_LOWER_OCCUPANCY_LIMIT";
AccessEvent2[AccessEvent2["DENIED_UPPER_OCCUPANCY_LIMIT"] = 142] = "DENIED_UPPER_OCCUPANCY_LIMIT";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_LOST"] = 143] = "DENIED_AUTHENTICATION_FACTOR_LOST";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_STOLEN"] = 144] = "DENIED_AUTHENTICATION_FACTOR_STOLEN";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_DAMAGED"] = 145] = "DENIED_AUTHENTICATION_FACTOR_DAMAGED";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_DESTROYED"] = 146] = "DENIED_AUTHENTICATION_FACTOR_DESTROYED";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_DISABLED"] = 147] = "DENIED_AUTHENTICATION_FACTOR_DISABLED";
AccessEvent2[AccessEvent2["DENIED_AUTHENTICATION_FACTOR_ERROR"] = 148] = "DENIED_AUTHENTICATION_FACTOR_ERROR";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_UNASSIGNED"] = 149] = "DENIED_CREDENTIAL_UNASSIGNED";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_NOT_PROVISIONED"] = 150] = "DENIED_CREDENTIAL_NOT_PROVISIONED";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_NOT_YET_ACTIVE"] = 151] = "DENIED_CREDENTIAL_NOT_YET_ACTIVE";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_EXPIRED"] = 152] = "DENIED_CREDENTIAL_EXPIRED";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_MANUAL_DISABLE"] = 153] = "DENIED_CREDENTIAL_MANUAL_DISABLE";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_LOCKOUT"] = 154] = "DENIED_CREDENTIAL_LOCKOUT";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_MAX_DAYS"] = 155] = "DENIED_CREDENTIAL_MAX_DAYS";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_MAX_USES"] = 156] = "DENIED_CREDENTIAL_MAX_USES";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_INACTIVITY"] = 157] = "DENIED_CREDENTIAL_INACTIVITY";
AccessEvent2[AccessEvent2["DENIED_CREDENTIAL_DISABLED"] = 158] = "DENIED_CREDENTIAL_DISABLED";
AccessEvent2[AccessEvent2["DENIED_NO_ACCOMPANIMENT"] = 159] = "DENIED_NO_ACCOMPANIMENT";
AccessEvent2[AccessEvent2["DENIED_INCORRECT_ACCOMPANIMENT"] = 160] = "DENIED_INCORRECT_ACCOMPANIMENT";
AccessEvent2[AccessEvent2["DENIED_LOCKOUT"] = 161] = "DENIED_LOCKOUT";
AccessEvent2[AccessEvent2["DENIED_VERIFICATION_FAILED"] = 162] = "DENIED_VERIFICATION_FAILED";
AccessEvent2[AccessEvent2["DENIED_VERIFICATION_TIMEOUT"] = 163] = "DENIED_VERIFICATION_TIMEOUT";
AccessEvent2[AccessEvent2["DENIED_OTHER"] = 164] = "DENIED_OTHER";
return AccessEvent2;
})(AccessEvent || {});
var AccessPassbackMode = /* @__PURE__ */ ((AccessPassbackMode2) => {
AccessPassbackMode2[AccessPassbackMode2["PASSBACK_OFF"] = 0] = "PASSBACK_OFF";
AccessPassbackMode2[AccessPassbackMode2["HARD_PASSBACK"] = 1] = "HARD_PASSBACK";
AccessPassbackMode2[AccessPassbackMode2["SOFT_PASSBACK"] = 2] = "SOFT_PASSBACK";
return AccessPassbackMode2;
})(AccessPassbackMode || {});
var AccessUserType = /* @__PURE__ */ ((AccessUserType2) => {
AccessUserType2[AccessUserType2["ASSET"] = 0] = "ASSET";
AccessUserType2[AccessUserType2["GROUP"] = 1] = "GROUP";
AccessUserType2[AccessUserType2["PERSON"] = 2] = "PERSON";
return AccessUserType2;
})(AccessUserType || {});
var AccessZoneOccupancyState = /* @__PURE__ */ ((AccessZoneOccupancyState2) => {
AccessZoneOccupancyState2[AccessZoneOccupancyState2["NORMAL"] = 0] = "NORMAL";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["BELOW_LOWER_LIMIT"] = 1] = "BELOW_LOWER_LIMIT";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["AT_LOWER_LIMIT"] = 2] = "AT_LOWER_LIMIT";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["AT_UPPER_LIMIT"] = 3] = "AT_UPPER_LIMIT";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["ABOVE_UPPER_LIMIT"] = 4] = "ABOVE_UPPER_LIMIT";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["DISABLED"] = 5] = "DISABLED";
AccessZoneOccupancyState2[AccessZoneOccupancyState2["NOT_SUPPORTED"] = 6] = "NOT_SUPPORTED";
return AccessZoneOccupancyState2;
})(AccessZoneOccupancyState || {});
var Action = /* @__PURE__ */ ((Action2) => {
Action2[Action2["DIRECT"] = 0] = "DIRECT";
Action2[Action2["REVERSE"] = 1] = "REVERSE";
return Action2;
})(Action || {});
var AuthenticationFactorType = /* @__PURE__ */ ((AuthenticationFactorType2) => {
AuthenticationFactorType2[AuthenticationFactorType2["UNDEFINED"] = 0] = "UNDEFINED";
AuthenticationFactorType2[AuthenticationFactorType2["ERROR"] = 1] = "ERROR";
AuthenticationFactorType2[AuthenticationFactorType2["CUSTOM"] = 2] = "CUSTOM";
AuthenticationFactorType2[AuthenticationFactorType2["SIMPLE_NUMBER16"] = 3] = "SIMPLE_NUMBER16";
AuthenticationFactorType2[AuthenticationFactorType2["SIMPLE_NUMBER32"] = 4] = "SIMPLE_NUMBER32";
AuthenticationFactorType2[AuthenticationFactorType2["SIMPLE_NUMBER56"] = 5] = "SIMPLE_NUMBER56";
AuthenticationFactorType2[AuthenticationFactorType2["SIMPLE_ALPHA_NUMERIC"] = 6] = "SIMPLE_ALPHA_NUMERIC";
AuthenticationFactorType2[AuthenticationFactorType2["ABA_TRACK2"] = 7] = "ABA_TRACK2";
AuthenticationFactorType2[AuthenticationFactorType2["WIEGAND26"] = 8] = "WIEGAND26";
AuthenticationFactorType2[AuthenticationFactorType2["WIEGAND37"] = 9] = "WIEGAND37";
AuthenticationFactorType2[AuthenticationFactorType2["WIEGAND37_FACILITY"] = 10] = "WIEGAND37_FACILITY";
AuthenticationFactorType2[AuthenticationFactorType2["FACILITY16_CARD32"] = 11] = "FACILITY16_CARD32";
AuthenticationFactorType2[AuthenticationFactorType2["FACILITY32_CARD32"] = 12] = "FACILITY32_CARD32";
AuthenticationFactorType2[AuthenticationFactorType2["FASC_N"] = 13] = "FASC_N";
AuthenticationFactorType2[AuthenticationFactorType2["FASC_N_BCD"] = 14] = "FASC_N_BCD";
AuthenticationFactorType2[AuthenticationFactorType2["FASC_N_LARGE"] = 15] = "FASC_N_LARGE";
AuthenticationFactorType2[AuthenticationFactorType2["FASC_N_LARGE_BCD"] = 16] = "FASC_N_LARGE_BCD";
AuthenticationFactorType2[AuthenticationFactorType2["GSA75"] = 17] = "GSA75";
AuthenticationFactorType2[AuthenticationFactorType2["CHUID"] = 18] = "CHUID";
AuthenticationFactorType2[AuthenticationFactorType2["CHUID_FULL"] = 19] = "CHUID_FULL";
AuthenticationFactorType2[AuthenticationFactorType2["GUID"] = 20] = "GUID";
AuthenticationFactorType2[AuthenticationFactorType2["CBEFF_A"] = 21] = "CBEFF_A";
AuthenticationFactorType2[AuthenticationFactorType2["CBEFF_B"] = 22] = "CBEFF_B";
AuthenticationFactorType2[AuthenticationFactorType2["CBEFF_C"] = 23] = "CBEFF_C";
AuthenticationFactorType2[AuthenticationFactorType2["USER_PASSWORD"] = 24] = "USER_PASSWORD";
return AuthenticationFactorType2;
})(AuthenticationFactorType || {});
var AuthenticationStatus = /* @__PURE__ */ ((AuthenticationStatus2) => {
AuthenticationStatus2[AuthenticationStatus2["NOT_READY"] = 0] = "NOT_READY";
AuthenticationStatus2[AuthenticationStatus2["READY"] = 1] = "READY";
AuthenticationStatus2[AuthenticationStatus2["DISABLED"] = 2] = "DISABLED";
AuthenticationStatus2[AuthenticationStatus2["WAITING_FOR_AUTHENTICATION_FACTOR"] = 3] = "WAITING_FOR_AUTHENTICATION_FACTOR";
AuthenticationStatus2[AuthenticationStatus2["WAITING_FOR_ACCOMPANIMENT"] = 4] = "WAITING_FOR_ACCOMPANIMENT";
AuthenticationStatus2[AuthenticationStatus2["WAITING_FOR_VERIFICATION"] = 5] = "WAITING_FOR_VERIFICATION";
AuthenticationStatus2[AuthenticationStatus2["IN_PROGRESS"] = 6] = "IN_PROGRESS";
return AuthenticationStatus2;
})(AuthenticationStatus || {});
var AuthorizationExemption = /* @__PURE__ */ ((AuthorizationExemption2) => {
AuthorizationExemption2[AuthorizationExemption2["PASSBACK"] = 0] = "PASSBACK";
AuthorizationExemption2[AuthorizationExemption2["OCCUPANCY_CHECK"] = 1] = "OCCUPANCY_CHECK";
AuthorizationExemption2[AuthorizationExemption2["ACCESS_RIGHTS"] = 2] = "ACCESS_RIGHTS";
AuthorizationExemption2[AuthorizationExemption2["LOCKOUT"] = 3] = "LOCKOUT";
AuthorizationExemption2[AuthorizationExemption2["DENY"] = 4] = "DENY";
AuthorizationExemption2[AuthorizationExemption2["VERIFICATION"] = 5] = "VERIFICATION";
AuthorizationExemption2[AuthorizationExemption2["AUTHORIZATION_DELAY"] = 6] = "AUTHORIZATION_DELAY";
return AuthorizationExemption2;
})(AuthorizationExemption || {});
var AuthorizationMode = /* @__PURE__ */ ((AuthorizationMode2) => {
AuthorizationMode2[AuthorizationMode2["AUTHORIZE"] = 0] = "AUTHORIZE";
AuthorizationMode2[AuthorizationMode2["GRANT_ACTIVE"] = 1] = "GRANT_ACTIVE";
AuthorizationMode2[AuthorizationMode2["DENY_ALL"] = 2] = "DENY_ALL";
AuthorizationMode2[AuthorizationMode2["VERIFICATION_REQUIRED"] = 3] = "VERIFICATION_REQUIRED";
AuthorizationMode2[AuthorizationMode2["AUTHORIZATION_DELAYED"] = 4] = "AUTHORIZATION_DELAYED";
AuthorizationMode2[AuthorizationMode2["NONE"] = 5] = "NONE";
return AuthorizationMode2;
})(AuthorizationMode || {});
var BackupState = /* @__PURE__ */ ((BackupState2) => {
BackupState2[BackupState2["IDLE"] = 0] = "IDLE";
BackupState2[BackupState2["PREPARING_FOR_BACKUP"] = 1] = "PREPARING_FOR_BACKUP";
BackupState2[BackupState2["PREPARING_FOR_RESTORE"] = 2] = "PREPARING_FOR_RESTORE";
BackupState2[BackupState2["PERFORMING_A_BACKUP"] = 3] = "PERFORMING_A_BACKUP";
BackupState2[BackupState2["PERFORMING_A_RESTORE"] = 4] = "PERFORMING_A_RESTORE";
BackupState2[BackupState2["BACKUP_FAILURE"] = 5] = "BACKUP_FAILURE";
BackupState2[BackupState2["RESTORE_FAILURE"] = 6] = "RESTORE_FAILURE";
return BackupState2;
})(BackupState || {});
var BinaryLightingPV = /* @__PURE__ */ ((BinaryLightingPV2) => {
BinaryLightingPV2[BinaryLightingPV2["OFF"] = 0] = "OFF";
BinaryLightingPV2[BinaryLightingPV2["ON"] = 1] = "ON";
BinaryLightingPV2[BinaryLightingPV2["WARN"] = 2] = "WARN";
BinaryLightingPV2[BinaryLightingPV2["WARN_OFF"] = 3] = "WARN_OFF";
BinaryLightingPV2[BinaryLightingPV2["WARN_RELINQUISH"] = 4] = "WARN_RELINQUISH";
BinaryLightingPV2[BinaryLightingPV2["STOP"] = 5] = "STOP";
return BinaryLightingPV2;
})(BinaryLightingPV || {});
var BinaryPV = /* @__PURE__ */ ((BinaryPV2) => {
BinaryPV2[BinaryPV2["INACTIVE"] = 0] = "INACTIVE";
BinaryPV2[BinaryPV2["ACTIVE"] = 1] = "ACTIVE";
return BinaryPV2;
})(BinaryPV || {});
var DeviceStatus = /* @__PURE__ */ ((DeviceStatus2) => {
DeviceStatus2[DeviceStatus2["OPERATIONAL"] = 0] = "OPERATIONAL";
DeviceStatus2[DeviceStatus2["OPERATIONAL_READ_ONLY"] = 1] = "OPERATIONAL_READ_ONLY";
DeviceStatus2[DeviceStatus2["DOWNLOAD_REQUIRED"] = 2] = "DOWNLOAD_REQUIRED";
DeviceStatus2[DeviceStatus2["DOWNLOAD_IN_PROGRESS"] = 3] = "DOWNLOAD_IN_PROGRESS";
DeviceStatus2[DeviceStatus2["NON_OPERATIONAL"] = 4] = "NON_OPERATIONAL";
DeviceStatus2[DeviceStatus2["BACKUP_IN_PROGRESS"] = 5] = "BACKUP_IN_PROGRESS";
return DeviceStatus2;
})(DeviceStatus || {});
var DoorAlarmState = /* @__PURE__ */ ((DoorAlarmState2) => {
DoorAlarmState2[DoorAlarmState2["NORMAL"] = 0] = "NORMAL";
DoorAlarmState2[DoorAlarmState2["ALARM"] = 1] = "ALARM";
DoorAlarmState2[DoorAlarmState2["DOOR_OPEN_TOO_LONG"] = 2] = "DOOR_OPEN_TOO_LONG";
DoorAlarmState2[DoorAlarmState2["FORCED_OPEN"] = 3] = "FORCED_OPEN";
DoorAlarmState2[DoorAlarmState2["TAMPER"] = 4] = "TAMPER";
DoorAlarmState2[DoorAlarmState2["DOOR_FAULT"] = 5] = "DOOR_FAULT";
DoorAlarmState2[DoorAlarmState2["LOCK_DOWN"] = 6] = "LOCK_DOWN";
DoorAlarmState2[DoorAlarmState2["FREE_ACCESS"] = 7] = "FREE_ACCESS";
DoorAlarmState2[DoorAlarmState2["EGRESS_OPEN"] = 8] = "EGRESS_OPEN";
return DoorAlarmState2;
})(DoorAlarmState || {});
var DoorSecuredStatus = /* @__PURE__ */ ((DoorSecuredStatus2) => {
DoorSecuredStatus2[DoorSecuredStatus2["SECURED"] = 0] = "SECURED";
DoorSecuredStatus2[DoorSecuredStatus2["UNSECURED"] = 1] = "UNSECURED";
DoorSecuredStatus2[DoorSecuredStatus2["UNKNOWN"] = 2] = "UNKNOWN";
return DoorSecuredStatus2;
})(DoorSecuredStatus || {});
var DoorStatus = /* @__PURE__ */ ((DoorStatus2) => {
DoorStatus2[DoorStatus2["CLOSED"] = 0] = "CLOSED";
DoorStatus2[DoorStatus2["OPENED"] = 1] = "OPENED";
DoorStatus2[DoorStatus2["UNKNOWN"] = 2] = "UNKNOWN";
DoorStatus2[DoorStatus2["DOOR_FAULT"] = 3] = "DOOR_FAULT";
DoorStatus2[DoorStatus2["UNUSED"] = 4] = "UNUSED";
DoorStatus2[DoorStatus2["NONE"] = 5] = "NONE";
DoorStatus2[DoorStatus2["CLOSING"] = 6] = "CLOSING";
DoorStatus2[DoorStatus2["OPENING"] = 7] = "OPENING";
DoorStatus2[DoorStatus2["SAFETY_LOCKED"] = 8] = "SAFETY_LOCKED";
DoorStatus2[DoorStatus2["LIMITED_OPENED"] = 9] = "LIMITED_OPENED";
return DoorStatus2;
})(DoorStatus || {});
var DoorValue = /* @__PURE__ */ ((DoorValue2) => {
DoorValue2[DoorValue2["LOCK"] = 0] = "LOCK";
DoorValue2[DoorValue2["UNLOCK"] = 1] = "UNLOCK";
DoorValue2[DoorValue2["PULSE_UNLOCK"] = 2] = "PULSE_UNLOCK";
DoorValue2[DoorValue2["EXTENDED_PULSE_UNLOCK"] = 3] = "EXTENDED_PULSE_UNLOCK";
return DoorValue2;
})(DoorValue || {});
var EngineeringUnits = /* @__PURE__ */ ((EngineeringUnits2) => {
EngineeringUnits2[EngineeringUnits2["METERS_PER_SECOND_PER_SECOND"] = 166] = "METERS_PER_SECOND_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["SQUARE_METERS"] = 0] = "SQUARE_METERS";
EngineeringUnits2[EngineeringUnits2["SQUARE_CENTIMETERS"] = 116] = "SQUARE_CENTIMETERS";
EngineeringUnits2[EngineeringUnits2["SQUARE_FEET"] = 1] = "SQUARE_FEET";
EngineeringUnits2[EngineeringUnits2["SQUARE_INCHES"] = 115] = "SQUARE_INCHES";
EngineeringUnits2[EngineeringUnits2["CURRENCY1"] = 105] = "CURRENCY1";
EngineeringUnits2[EngineeringUnits2["CURRENCY2"] = 106] = "CURRENCY2";
EngineeringUnits2[EngineeringUnits2["CURRENCY3"] = 107] = "CURRENCY3";
EngineeringUnits2[EngineeringUnits2["CURRENCY4"] = 108] = "CURRENCY4";
EngineeringUnits2[EngineeringUnits2["CURRENCY5"] = 109] = "CURRENCY5";
EngineeringUnits2[EngineeringUnits2["CURRENCY6"] = 110] = "CURRENCY6";
EngineeringUnits2[EngineeringUnits2["CURRENCY7"] = 111] = "CURRENCY7";
EngineeringUnits2[EngineeringUnits2["CURRENCY8"] = 112] = "CURRENCY8";
EngineeringUnits2[EngineeringUnits2["CURRENCY9"] = 113] = "CURRENCY9";
EngineeringUnits2[EngineeringUnits2["CURRENCY10"] = 114] = "CURRENCY10";
EngineeringUnits2[EngineeringUnits2["MILLIAMPERES"] = 2] = "MILLIAMPERES";
EngineeringUnits2[EngineeringUnits2["AMPERES"] = 3] = "AMPERES";
EngineeringUnits2[EngineeringUnits2["AMPERES_PER_METER"] = 167] = "AMPERES_PER_METER";
EngineeringUnits2[EngineeringUnits2["AMPERES_PER_SQUARE_METER"] = 168] = "AMPERES_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["AMPERE_SQUARE_METERS"] = 169] = "AMPERE_SQUARE_METERS";
EngineeringUnits2[EngineeringUnits2["DECIBELS"] = 199] = "DECIBELS";
EngineeringUnits2[EngineeringUnits2["DECIBELS_MILLIVOLT"] = 200] = "DECIBELS_MILLIVOLT";
EngineeringUnits2[EngineeringUnits2["DECIBELS_VOLT"] = 201] = "DECIBELS_VOLT";
EngineeringUnits2[EngineeringUnits2["FARADS"] = 170] = "FARADS";
EngineeringUnits2[EngineeringUnits2["HENRYS"] = 171] = "HENRYS";
EngineeringUnits2[EngineeringUnits2["OHMS"] = 4] = "OHMS";
EngineeringUnits2[EngineeringUnits2["OHM_METER_SQUARED_PER_METER"] = 237] = "OHM_METER_SQUARED_PER_METER";
EngineeringUnits2[EngineeringUnits2["OHM_METERS"] = 172] = "OHM_METERS";
EngineeringUnits2[EngineeringUnits2["MILLIOHMS"] = 145] = "MILLIOHMS";
EngineeringUnits2[EngineeringUnits2["KILOHMS"] = 122] = "KILOHMS";
EngineeringUnits2[EngineeringUnits2["MEGOHMS"] = 123] = "MEGOHMS";
EngineeringUnits2[EngineeringUnits2["MICROSIEMENS"] = 190] = "MICROSIEMENS";
EngineeringUnits2[EngineeringUnits2["MILLISIEMENS"] = 202] = "MILLISIEMENS";
EngineeringUnits2[EngineeringUnits2["SIEMENS"] = 173] = "SIEMENS";
EngineeringUnits2[EngineeringUnits2["SIEMENS_PER_METER"] = 174] = "SIEMENS_PER_METER";
EngineeringUnits2[EngineeringUnits2["TESLAS"] = 175] = "TESLAS";
EngineeringUnits2[EngineeringUnits2["VOLTS"] = 5] = "VOLTS";
EngineeringUnits2[EngineeringUnits2["MILLIVOLTS"] = 124] = "MILLIVOLTS";
EngineeringUnits2[EngineeringUnits2["KILOVOLTS"] = 6] = "KILOVOLTS";
EngineeringUnits2[EngineeringUnits2["MEGAVOLTS"] = 7] = "MEGAVOLTS";
EngineeringUnits2[EngineeringUnits2["VOLT_AMPERES"] = 8] = "VOLT_AMPERES";
EngineeringUnits2[EngineeringUnits2["KILOVOLT_AMPERES"] = 9] = "KILOVOLT_AMPERES";
EngineeringUnits2[EngineeringUnits2["MEGAVOLT_AMPERES"] = 10] = "MEGAVOLT_AMPERES";
EngineeringUnits2[EngineeringUnits2["VOLT_AMPERES_REACTIVE"] = 11] = "VOLT_AMPERES_REACTIVE";
EngineeringUnits2[EngineeringUnits2["KILOVOLT_AMPERES_REACTIVE"] = 12] = "KILOVOLT_AMPERES_REACTIVE";
EngineeringUnits2[EngineeringUnits2["MEGAVOLT_AMPERES_REACTIVE"] = 13] = "MEGAVOLT_AMPERES_REACTIVE";
EngineeringUnits2[EngineeringUnits2["VOLTS_PER_DEGREE_KELVIN"] = 176] = "VOLTS_PER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["VOLTS_PER_METER"] = 177] = "VOLTS_PER_METER";
EngineeringUnits2[EngineeringUnits2["DEGREES_PHASE"] = 14] = "DEGREES_PHASE";
EngineeringUnits2[EngineeringUnits2["POWER_FACTOR"] = 15] = "POWER_FACTOR";
EngineeringUnits2[EngineeringUnits2["WEBERS"] = 178] = "WEBERS";
EngineeringUnits2[EngineeringUnits2["AMPERE_SECONDS"] = 238] = "AMPERE_SECONDS";
EngineeringUnits2[EngineeringUnits2["VOLT_AMPERE_HOURS"] = 239] = "VOLT_AMPERE_HOURS";
EngineeringUnits2[EngineeringUnits2["KILOVOLT_AMPERE_HOURS"] = 240] = "KILOVOLT_AMPERE_HOURS";
EngineeringUnits2[EngineeringUnits2["MEGAVOLT_AMPERE_HOURS"] = 241] = "MEGAVOLT_AMPERE_HOURS";
EngineeringUnits2[EngineeringUnits2["VOLT_AMPERE_HOURS_REACTIVE"] = 242] = "VOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["KILOVOLT_AMPERE_HOURS_REACTIVE"] = 243] = "KILOVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["MEGAVOLT_AMPERE_HOURS_REACTIVE"] = 244] = "MEGAVOLT_AMPERE_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["VOLT_SQUARE_HOURS"] = 245] = "VOLT_SQUARE_HOURS";
EngineeringUnits2[EngineeringUnits2["AMPERE_SQUARE_HOURS"] = 246] = "AMPERE_SQUARE_HOURS";
EngineeringUnits2[EngineeringUnits2["JOULES"] = 16] = "JOULES";
EngineeringUnits2[EngineeringUnits2["KILOJOULES"] = 17] = "KILOJOULES";
EngineeringUnits2[EngineeringUnits2["KILOJOULES_PER_KILOGRAM"] = 125] = "KILOJOULES_PER_KILOGRAM";
EngineeringUnits2[EngineeringUnits2["MEGAJOULES"] = 126] = "MEGAJOULES";
EngineeringUnits2[EngineeringUnits2["WATT_HOURS"] = 18] = "WATT_HOURS";
EngineeringUnits2[EngineeringUnits2["KILOWATT_HOURS"] = 19] = "KILOWATT_HOURS";
EngineeringUnits2[EngineeringUnits2["MEGAWATT_HOURS"] = 146] = "MEGAWATT_HOURS";
EngineeringUnits2[EngineeringUnits2["WATT_HOURS_REACTIVE"] = 203] = "WATT_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["KILOWATT_HOURS_REACTIVE"] = 204] = "KILOWATT_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["MEGAWATT_HOURS_REACTIVE"] = 205] = "MEGAWATT_HOURS_REACTIVE";
EngineeringUnits2[EngineeringUnits2["BTUS"] = 20] = "BTUS";
EngineeringUnits2[EngineeringUnits2["KILO_BTUS"] = 147] = "KILO_BTUS";
EngineeringUnits2[EngineeringUnits2["MEGA_BTUS"] = 148] = "MEGA_BTUS";
EngineeringUnits2[EngineeringUnits2["THERMS"] = 21] = "THERMS";
EngineeringUnits2[EngineeringUnits2["TON_HOURS"] = 22] = "TON_HOURS";
EngineeringUnits2[EngineeringUnits2["JOULES_PER_KILOGRAM_DRY_AIR"] = 23] = "JOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2[EngineeringUnits2["KILOJOULES_PER_KILOGRAM_DRY_AIR"] = 149] = "KILOJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2[EngineeringUnits2["MEGAJOULES_PER_KILOGRAM_DRY_AIR"] = 150] = "MEGAJOULES_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2[EngineeringUnits2["BTUS_PER_POUND_DRY_AIR"] = 24] = "BTUS_PER_POUND_DRY_AIR";
EngineeringUnits2[EngineeringUnits2["BTUS_PER_POUND"] = 117] = "BTUS_PER_POUND";
EngineeringUnits2[EngineeringUnits2["JOULES_PER_DEGREE_KELVIN"] = 127] = "JOULES_PER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["KILOJOULES_PER_DEGREE_KELVIN"] = 151] = "KILOJOULES_PER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["MEGAJOULES_PER_DEGREE_KELVIN"] = 152] = "MEGAJOULES_PER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["JOULES_PER_KILOGRAM_DEGREE_KELVIN"] = 128] = "JOULES_PER_KILOGRAM_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["NEWTON"] = 153] = "NEWTON";
EngineeringUnits2[EngineeringUnits2["CYCLES_PER_HOUR"] = 25] = "CYCLES_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["CYCLES_PER_MINUTE"] = 26] = "CYCLES_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["HERTZ"] = 27] = "HERTZ";
EngineeringUnits2[EngineeringUnits2["KILOHERTZ"] = 129] = "KILOHERTZ";
EngineeringUnits2[EngineeringUnits2["MEGAHERTZ"] = 130] = "MEGAHERTZ";
EngineeringUnits2[EngineeringUnits2["PER_HOUR"] = 131] = "PER_HOUR";
EngineeringUnits2[EngineeringUnits2["GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR"] = 28] = "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR";
EngineeringUnits2[EngineeringUnits2["PERCENT_RELATIVE_HUMIDITY"] = 29] = "PERCENT_RELATIVE_HUMIDITY";
EngineeringUnits2[EngineeringUnits2["MICROMETERS"] = 194] = "MICROMETERS";
EngineeringUnits2[EngineeringUnits2["MILLIMETERS"] = 30] = "MILLIMETERS";
EngineeringUnits2[EngineeringUnits2["CENTIMETERS"] = 118] = "CENTIMETERS";
EngineeringUnits2[EngineeringUnits2["KILOMETERS"] = 193] = "KILOMETERS";
EngineeringUnits2[EngineeringUnits2["METERS"] = 31] = "METERS";
EngineeringUnits2[EngineeringUnits2["INCHES"] = 32] = "INCHES";
EngineeringUnits2[EngineeringUnits2["FEET"] = 33] = "FEET";
EngineeringUnits2[EngineeringUnits2["CANDELAS"] = 179] = "CANDELAS";
EngineeringUnits2[EngineeringUnits2["CANDELAS_PER_SQUARE_METER"] = 180] = "CANDELAS_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["WATTS_PER_SQUARE_FOOT"] = 34] = "WATTS_PER_SQUARE_FOOT";
EngineeringUnits2[EngineeringUnits2["WATTS_PER_SQUARE_METER"] = 35] = "WATTS_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["LUMENS"] = 36] = "LUMENS";
EngineeringUnits2[EngineeringUnits2["LUXES"] = 37] = "LUXES";
EngineeringUnits2[EngineeringUnits2["FOOT_CANDLES"] = 38] = "FOOT_CANDLES";
EngineeringUnits2[EngineeringUnits2["MILLIGRAMS"] = 196] = "MILLIGRAMS";
EngineeringUnits2[EngineeringUnits2["GRAMS"] = 195] = "GRAMS";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS"] = 39] = "KILOGRAMS";
EngineeringUnits2[EngineeringUnits2["POUNDS_MASS"] = 40] = "POUNDS_MASS";
EngineeringUnits2[EngineeringUnits2["TONS"] = 41] = "TONS";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_SECOND"] = 154] = "GRAMS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_MINUTE"] = 155] = "GRAMS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS_PER_SECOND"] = 42] = "KILOGRAMS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS_PER_MINUTE"] = 43] = "KILOGRAMS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS_PER_HOUR"] = 44] = "KILOGRAMS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["POUNDS_MASS_PER_SECOND"] = 119] = "POUNDS_MASS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["POUNDS_MASS_PER_MINUTE"] = 45] = "POUNDS_MASS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["POUNDS_MASS_PER_HOUR"] = 46] = "POUNDS_MASS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["TONS_PER_HOUR"] = 156] = "TONS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["MILLIWATTS"] = 132] = "MILLIWATTS";
EngineeringUnits2[EngineeringUnits2["WATTS"] = 47] = "WATTS";
EngineeringUnits2[EngineeringUnits2["KILOWATTS"] = 48] = "KILOWATTS";
EngineeringUnits2[EngineeringUnits2["MEGAWATTS"] = 49] = "MEGAWATTS";
EngineeringUnits2[EngineeringUnits2["BTUS_PER_HOUR"] = 50] = "BTUS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["KILO_BTUS_PER_HOUR"] = 157] = "KILO_BTUS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["JOULE_PER_HOURS"] = 247] = "JOULE_PER_HOURS";
EngineeringUnits2[EngineeringUnits2["HORSEPOWER"] = 51] = "HORSEPOWER";
EngineeringUnits2[EngineeringUnits2["TONS_REFRIGERATION"] = 52] = "TONS_REFRIGERATION";
EngineeringUnits2[EngineeringUnits2["PASCALS"] = 53] = "PASCALS";
EngineeringUnits2[EngineeringUnits2["HECTOPASCALS"] = 133] = "HECTOPASCALS";
EngineeringUnits2[EngineeringUnits2["KILOPASCALS"] = 54] = "KILOPASCALS";
EngineeringUnits2[EngineeringUnits2["MILLIBARS"] = 134] = "MILLIBARS";
EngineeringUnits2[EngineeringUnits2["BARS"] = 55] = "BARS";
EngineeringUnits2[EngineeringUnits2["POUNDS_FORCE_PER_SQUARE_INCH"] = 56] = "POUNDS_FORCE_PER_SQUARE_INCH";
EngineeringUnits2[EngineeringUnits2["MILLIMETERS_OF_WATER"] = 206] = "MILLIMETERS_OF_WATER";
EngineeringUnits2[EngineeringUnits2["CENTIMETERS_OF_WATER"] = 57] = "CENTIMETERS_OF_WATER";
EngineeringUnits2[EngineeringUnits2["INCHES_OF_WATER"] = 58] = "INCHES_OF_WATER";
EngineeringUnits2[EngineeringUnits2["MILLIMETERS_OF_MERCURY"] = 59] = "MILLIMETERS_OF_MERCURY";
EngineeringUnits2[EngineeringUnits2["CENTIMETERS_OF_MERCURY"] = 60] = "CENTIMETERS_OF_MERCURY";
EngineeringUnits2[EngineeringUnits2["INCHES_OF_MERCURY"] = 61] = "INCHES_OF_MERCURY";
EngineeringUnits2[EngineeringUnits2["DEGREES_CELSIUS"] = 62] = "DEGREES_CELSIUS";
EngineeringUnits2[EngineeringUnits2["DEGREES_KELVIN"] = 63] = "DEGREES_KELVIN";
EngineeringUnits2[EngineeringUnits2["DEGREES_KELVIN_PER_HOUR"] = 181] = "DEGREES_KELVIN_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["DEGREES_KELVIN_PER_MINUTE"] = 182] = "DEGREES_KELVIN_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["DEGREES_FAHRENHEIT"] = 64] = "DEGREES_FAHRENHEIT";
EngineeringUnits2[EngineeringUnits2["DEGREE_DAYS_CELSIUS"] = 65] = "DEGREE_DAYS_CELSIUS";
EngineeringUnits2[EngineeringUnits2["DEGREE_DAYS_FAHRENHEIT"] = 66] = "DEGREE_DAYS_FAHRENHEIT";
EngineeringUnits2[EngineeringUnits2["DELTA_DEGREES_FAHRENHEIT"] = 120] = "DELTA_DEGREES_FAHRENHEIT";
EngineeringUnits2[EngineeringUnits2["DELTA_DEGREES_KELVIN"] = 121] = "DELTA_DEGREES_KELVIN";
EngineeringUnits2[EngineeringUnits2["YEARS"] = 67] = "YEARS";
EngineeringUnits2[EngineeringUnits2["MONTHS"] = 68] = "MONTHS";
EngineeringUnits2[EngineeringUnits2["WEEKS"] = 69] = "WEEKS";
EngineeringUnits2[EngineeringUnits2["DAYS"] = 70] = "DAYS";
EngineeringUnits2[EngineeringUnits2["HOURS"] = 71] = "HOURS";
EngineeringUnits2[EngineeringUnits2["MINUTES"] = 72] = "MINUTES";
EngineeringUnits2[EngineeringUnits2["SECONDS"] = 73] = "SECONDS";
EngineeringUnits2[EngineeringUnits2["HUNDREDTHS_SECONDS"] = 158] = "HUNDREDTHS_SECONDS";
EngineeringUnits2[EngineeringUnits2["MILLISECONDS"] = 159] = "MILLISECONDS";
EngineeringUnits2[EngineeringUnits2["NEWTON_METERS"] = 160] = "NEWTON_METERS";
EngineeringUnits2[EngineeringUnits2["MILLIMETERS_PER_SECOND"] = 161] = "MILLIMETERS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["MILLIMETERS_PER_MINUTE"] = 162] = "MILLIMETERS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["METERS_PER_SECOND"] = 74] = "METERS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["METERS_PER_MINUTE"] = 163] = "METERS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["METERS_PER_HOUR"] = 164] = "METERS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["KILOMETERS_PER_HOUR"] = 75] = "KILOMETERS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["FEET_PER_SECOND"] = 76] = "FEET_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["FEET_PER_MINUTE"] = 77] = "FEET_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["MILES_PER_HOUR"] = 78] = "MILES_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["CUBIC_FEET"] = 79] = "CUBIC_FEET";
EngineeringUnits2[EngineeringUnits2["CUBIC_METERS"] = 80] = "CUBIC_METERS";
EngineeringUnits2[EngineeringUnits2["IMPERIAL_GALLONS"] = 81] = "IMPERIAL_GALLONS";
EngineeringUnits2[EngineeringUnits2["MILLILITERS"] = 197] = "MILLILITERS";
EngineeringUnits2[EngineeringUnits2["LITERS"] = 82] = "LITERS";
EngineeringUnits2[EngineeringUnits2["US_GALLONS"] = 83] = "US_GALLONS";
EngineeringUnits2[EngineeringUnits2["CUBIC_FEET_PER_SECOND"] = 142] = "CUBIC_FEET_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["CUBIC_FEET_PER_MINUTE"] = 84] = "CUBIC_FEET_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["MILLION_STANDARD_CUBIC_FEET_PER_MINUTE"] = 254] = "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["CUBIC_FEET_PER_HOUR"] = 191] = "CUBIC_FEET_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["CUBIC_FEET_PER_DAY"] = 248] = "CUBIC_FEET_PER_DAY";
EngineeringUnits2[EngineeringUnits2["STANDARD_CUBIC_FEET_PER_DAY"] = 47808] = "STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2[EngineeringUnits2["MILLION_STANDARD_CUBIC_FEET_PER_DAY"] = 47809] = "MILLION_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2[EngineeringUnits2["THOUSAND_CUBIC_FEET_PER_DAY"] = 47810] = "THOUSAND_CUBIC_FEET_PER_DAY";
EngineeringUnits2[EngineeringUnits2["THOUSAND_STANDARD_CUBIC_FEET_PER_DAY"] = 47811] = "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY";
EngineeringUnits2[EngineeringUnits2["POUNDS_MASS_PER_DAY"] = 47812] = "POUNDS_MASS_PER_DAY";
EngineeringUnits2[EngineeringUnits2["CUBIC_METERS_PER_SECOND"] = 85] = "CUBIC_METERS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["CUBIC_METERS_PER_MINUTE"] = 165] = "CUBIC_METERS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["CUBIC_METERS_PER_HOUR"] = 135] = "CUBIC_METERS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["CUBIC_METERS_PER_DAY"] = 249] = "CUBIC_METERS_PER_DAY";
EngineeringUnits2[EngineeringUnits2["IMPERIAL_GALLONS_PER_MINUTE"] = 86] = "IMPERIAL_GALLONS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["MILLILITERS_PER_SECOND"] = 198] = "MILLILITERS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["LITERS_PER_SECOND"] = 87] = "LITERS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["LITERS_PER_MINUTE"] = 88] = "LITERS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["LITERS_PER_HOUR"] = 136] = "LITERS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["US_GALLONS_PER_MINUTE"] = 89] = "US_GALLONS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["US_GALLONS_PER_HOUR"] = 192] = "US_GALLONS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["DEGREES_ANGULAR"] = 90] = "DEGREES_ANGULAR";
EngineeringUnits2[EngineeringUnits2["DEGREES_CELSIUS_PER_HOUR"] = 91] = "DEGREES_CELSIUS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["DEGREES_CELSIUS_PER_MINUTE"] = 92] = "DEGREES_CELSIUS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["DEGREES_FAHRENHEIT_PER_HOUR"] = 93] = "DEGREES_FAHRENHEIT_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["DEGREES_FAHRENHEIT_PER_MINUTE"] = 94] = "DEGREES_FAHRENHEIT_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["JOULE_SECONDS"] = 183] = "JOULE_SECONDS";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS_PER_CUBIC_METER"] = 186] = "KILOGRAMS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["KILOWATT_HOURS_PER_SQUARE_METER"] = 137] = "KILOWATT_HOURS_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["KILOWATT_HOURS_PER_SQUARE_FOOT"] = 138] = "KILOWATT_HOURS_PER_SQUARE_FOOT";
EngineeringUnits2[EngineeringUnits2["WATT_HOURS_PER_CUBIC_METER"] = 250] = "WATT_HOURS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["JOULES_PER_CUBIC_METER"] = 251] = "JOULES_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["MEGAJOULES_PER_SQUARE_METER"] = 139] = "MEGAJOULES_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["MEGAJOULES_PER_SQUARE_FOOT"] = 140] = "MEGAJOULES_PER_SQUARE_FOOT";
EngineeringUnits2[EngineeringUnits2["MOLE_PERCENT"] = 252] = "MOLE_PERCENT";
EngineeringUnits2[EngineeringUnits2["NO_UNITS"] = 95] = "NO_UNITS";
EngineeringUnits2[EngineeringUnits2["NEWTON_SECONDS"] = 187] = "NEWTON_SECONDS";
EngineeringUnits2[EngineeringUnits2["NEWTONS_PER_METER"] = 188] = "NEWTONS_PER_METER";
EngineeringUnits2[EngineeringUnits2["PARTS_PER_MILLION"] = 96] = "PARTS_PER_MILLION";
EngineeringUnits2[EngineeringUnits2["PARTS_PER_BILLION"] = 97] = "PARTS_PER_BILLION";
EngineeringUnits2[EngineeringUnits2["PASCAL_SECONDS"] = 253] = "PASCAL_SECONDS";
EngineeringUnits2[EngineeringUnits2["PERCENT"] = 98] = "PERCENT";
EngineeringUnits2[EngineeringUnits2["PERCENT_OBSCURATION_PER_FOOT"] = 143] = "PERCENT_OBSCURATION_PER_FOOT";
EngineeringUnits2[EngineeringUnits2["PERCENT_OBSCURATION_PER_METER"] = 144] = "PERCENT_OBSCURATION_PER_METER";
EngineeringUnits2[EngineeringUnits2["PERCENT_PER_SECOND"] = 99] = "PERCENT_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["PER_MINUTE"] = 100] = "PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["PER_SECOND"] = 101] = "PER_SECOND";
EngineeringUnits2[EngineeringUnits2["PSI_PER_DEGREE_FAHRENHEIT"] = 102] = "PSI_PER_DEGREE_FAHRENHEIT";
EngineeringUnits2[EngineeringUnits2["RADIANS"] = 103] = "RADIANS";
EngineeringUnits2[EngineeringUnits2["RADIANS_PER_SECOND"] = 184] = "RADIANS_PER_SECOND";
EngineeringUnits2[EngineeringUnits2["REVOLUTIONS_PER_MINUTE"] = 104] = "REVOLUTIONS_PER_MINUTE";
EngineeringUnits2[EngineeringUnits2["SQUARE_METERS_PER_NEWTON"] = 185] = "SQUARE_METERS_PER_NEWTON";
EngineeringUnits2[EngineeringUnits2["WATTS_PER_METER_PER_DEGREE_KELVIN"] = 189] = "WATTS_PER_METER_PER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["WATTS_PER_SQUARE_METER_DEGREE_KELVIN"] = 141] = "WATTS_PER_SQUARE_METER_DEGREE_KELVIN";
EngineeringUnits2[EngineeringUnits2["PER_MILLE"] = 207] = "PER_MILLE";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_GRAM"] = 208] = "GRAMS_PER_GRAM";
EngineeringUnits2[EngineeringUnits2["KILOGRAMS_PER_KILOGRAM"] = 209] = "KILOGRAMS_PER_KILOGRAM";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_KILOGRAM"] = 210] = "GRAMS_PER_KILOGRAM";
EngineeringUnits2[EngineeringUnits2["MILLIGRAMS_PER_GRAM"] = 211] = "MILLIGRAMS_PER_GRAM";
EngineeringUnits2[EngineeringUnits2["MILLIGRAMS_PER_KILOGRAM"] = 212] = "MILLIGRAMS_PER_KILOGRAM";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_MILLILITER"] = 213] = "GRAMS_PER_MILLILITER";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_LITER"] = 214] = "GRAMS_PER_LITER";
EngineeringUnits2[EngineeringUnits2["MILLIGRAMS_PER_LITER"] = 215] = "MILLIGRAMS_PER_LITER";
EngineeringUnits2[EngineeringUnits2["MICROGRAMS_PER_LITER"] = 216] = "MICROGRAMS_PER_LITER";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_CUBIC_METER"] = 217] = "GRAMS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["MILLIGRAMS_PER_CUBIC_METER"] = 218] = "MILLIGRAMS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["MICROGRAMS_PER_CUBIC_METER"] = 219] = "MICROGRAMS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["NANOGRAMS_PER_CUBIC_METER"] = 220] = "NANOGRAMS_PER_CUBIC_METER";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_CUBIC_CENTIMETER"] = 221] = "GRAMS_PER_CUBIC_CENTIMETER";
EngineeringUnits2[EngineeringUnits2["BECQUERELS"] = 222] = "BECQUERELS";
EngineeringUnits2[EngineeringUnits2["KILOBECQUERELS"] = 223] = "KILOBECQUERELS";
EngineeringUnits2[EngineeringUnits2["MEGABECQUERELS"] = 224] = "MEGABECQUERELS";
EngineeringUnits2[EngineeringUnits2["GRAY"] = 225] = "GRAY";
EngineeringUnits2[EngineeringUnits2["MILLIGRAY"] = 226] = "MILLIGRAY";
EngineeringUnits2[EngineeringUnits2["MICROGRAY"] = 227] = "MICROGRAY";
EngineeringUnits2[EngineeringUnits2["SIEVERTS"] = 228] = "SIEVERTS";
EngineeringUnits2[EngineeringUnits2["MILLISIEVERTS"] = 229] = "MILLISIEVERTS";
EngineeringUnits2[EngineeringUnits2["MICROSIEVERTS"] = 230] = "MICROSIEVERTS";
EngineeringUnits2[EngineeringUnits2["MICROSIEVERTS_PER_HOUR"] = 231] = "MICROSIEVERTS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["MILLIREMS"] = 47814] = "MILLIREMS";
EngineeringUnits2[EngineeringUnits2["MILLIREMS_PER_HOUR"] = 47815] = "MILLIREMS_PER_HOUR";
EngineeringUnits2[EngineeringUnits2["DECIBELS_A"] = 232] = "DECIBELS_A";
EngineeringUnits2[EngineeringUnits2["NEPHELOMETRIC_TURBIDITY_UNIT"] = 233] = "NEPHELOMETRIC_TURBIDITY_UNIT";
EngineeringUnits2[EngineeringUnits2["PH"] = 234] = "PH";
EngineeringUnits2[EngineeringUnits2["GRAMS_PER_SQUARE_METER"] = 235] = "GRAMS_PER_SQUARE_METER";
EngineeringUnits2[EngineeringUnits2["MINUTES_PER_DEGREE_KELVIN"] = 236] = "MINUTES_PER_DEGREE_KELVIN";
return EngineeringUnits2;
})(EngineeringUnits || {});
var EscalatorFault = /* @__PURE__ */ ((EscalatorFault2) => {
EscalatorFault2[EscalatorFault2["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
EscalatorFault2[EscalatorFault2["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
EscalatorFault2[EscalatorFault2["MECHANICAL_COMPONENT_FAULT"] = 2] = "MECHANICAL_COMPONENT_FAULT";
EscalatorFault2[EscalatorFault2["OVERSPEED_FAULT"] = 3] = "OVERSPEED_FAULT";
EscalatorFault2[EscalatorFault2["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
EscalatorFault2[EscalatorFault2["SAFETY_DEVICE_FAULT"] = 5] = "SAFETY_DEVICE_FAULT";
EscalatorFault2[EscalatorFault2["CONTROLLER_SUPPLY_FAULT"] = 6] = "CONTROLLER_SUPPLY_FAULT";
EscalatorFault2[EscalatorFault2["DRIVE_TEMPERATURE_EXCEEDED"] = 7] = "DRIVE_TEMPERATURE_EXCEEDED";
EscalatorFault2[EscalatorFault2["COMB_PLATE_FAULT"] = 8] = "COMB_PLATE_FAULT";
return EscalatorFault2;
})(EscalatorFault || {});
var EscalatorMode = /* @__PURE__ */ ((EscalatorMode2) => {
EscalatorMode2[EscalatorMode2["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorMode2[EscalatorMode2["STOP"] = 1] = "STOP";
EscalatorMode2[EscalatorMode2["UP"] = 2] = "UP";
EscalatorMode2[EscalatorMode2["DOWN"] = 3] = "DOWN";
EscalatorMode2[EscalatorMode2["INSPECTION"] = 4] = "INSPECTION";
EscalatorMode2[EscalatorMode2["OUT_OF_SERVICE"] = 5] = "OUT_OF_SERVICE";
return EscalatorMode2;
})(EscalatorMode || {});
var EscalatorOperationDirection = /* @__PURE__ */ ((EscalatorOperationDirection2) => {
EscalatorOperationDirection2[EscalatorOperationDirection2["UNKNOWN"] = 0] = "UNKNOWN";
EscalatorOperationDirection2[EscalatorOperationDirection2["STOPPED"] = 1] = "STOPPED";
EscalatorOperationDirection2[EscalatorOperationDirection2["UP_RATED_SPEED"] = 2] = "UP_RATED_SPEED";
EscalatorOperationDirection2[EscalatorOperationDirection2["UP_REDUCED_SPEED"] = 3] = "UP_REDUCED_SPEED";
EscalatorOperationDirection2[EscalatorOperationDirection2["DOWN_RATED_SPEED"] = 4] = "DOWN_RATED_SPEED";
EscalatorOperationDirection2[EscalatorOperationDirection2["DOWN_REDUCED_SPEED"] = 5] = "DOWN_REDUCED_SPEED";
return EscalatorOperationDirection2;
})(EscalatorOperationDirection || {});
var EventState = /* @__PURE__ */ ((EventState2) => {
EventState2[EventState2["NORMAL"] = 0] = "NORMAL";
EventState2[EventState2["FAULT"] = 1] = "FAULT";
EventState2[EventState2["OFFNORMAL"] = 2] = "OFFNORMAL";
EventState2[EventState2["HIGH_LIMIT"] = 3] = "HIGH_LIMIT";
EventState2[EventState2["LOW_LIMIT"] = 4] = "LOW_LIMIT";
EventState2[EventState2["LIFE_SAFETY_ALARM"] = 5] = "LIFE_SAFETY_ALARM";
return EventState2;
})(EventState || {});
var EventType = /* @__PURE__ */ ((EventType2) => {
EventType2[EventType2["CHANGE_OF_BITSTRING"] = 0] = "CHANGE_OF_BITSTRING";
EventType2[EventType2["CHANGE_OF_STATE"] = 1] = "CHANGE_OF_STATE";
EventType2[EventType2["CHANGE_OF_VALUE"] = 2] = "CHANGE_OF_VALUE";
EventType2[EventType2["COMMAND_FAILURE"] = 3] = "COMMAND_FAILURE";
EventType2[EventType2["FLOATING_LIMIT"] = 4] = "FLOATING_LIMIT";
EventType2[EventType2["OUT_OF_RANGE"] = 5] = "OUT_OF_RANGE";
EventType2[EventType2["COMPLEX_EVENT_TYPE"] = 6] = "COMPLEX_EVENT_TYPE";
EventType2[EventType2["CHANGE_OF_LIFE_SAFETY"] = 8] = "CHANGE_OF_LIFE_SAFETY";
EventType2[EventType2["EXTENDED"] = 9] = "EXTENDED";
EventType2[EventType2["BUFFER_READY"] = 10] = "BUFFER_READY";
EventType2[EventType2["UNSIGNED_RANGE"] = 11] = "UNSIGNED_RANGE";
EventType2[EventType2["ACCESS_EVENT"] = 13] = "ACCESS_EVENT";
EventType2[EventType2["DOUBLE_OUT_OF_RANGE"] = 14] = "DOUBLE_OUT_OF_RANGE";
EventType2[EventType2["SIGNED_OUT_OF_RANGE"] = 15] = "SIGNED_OUT_OF_RANGE";
EventType2[EventType2["UNSIGNED_OUT_OF_RANGE"] = 16] = "UNSIGNED_OUT_OF_RANGE";
EventType2[EventType2["CHANGE_OF_CHARACTERSTRING"] = 17] = "CHANGE_OF_CHARACTERSTRING";
EventType2[EventType2["CHANGE_OF_STATUS_FLAGS"] = 18] = "CHANGE_OF_STATUS_FLAGS";
EventType2[EventType2["CHANGE_OF_RELIABILITY"] = 19] = "CHANGE_OF_RELIABILITY";
EventType2[EventType2["NONE"] = 20] = "NONE";
EventType2[EventType2["CHANGE_OF_DISCRETE_VALUE"] = 21] = "CHANGE_OF_DISCRETE_VALUE";
EventType2[EventType2["CHANGE_OF_TIMER"] = 22] = "CHANGE_OF_TIMER";
return EventType2;
})(EventType || {});
var FaultType = /* @__PURE__ */ ((FaultType2) => {
FaultType2[FaultType2["NONE"] = 0] = "NONE";
FaultType2[FaultType2["FAULT_CHARACTERSTRING"] = 1] = "FAULT_CHARACTERSTRING";
FaultType2[FaultType2["FAULT_EXTENDED"] = 2] = "FAULT_EXTENDED";
FaultType2[FaultType2["FAULT_LIFE_SAFETY"] = 3] = "FAULT_LIFE_SAFETY";
FaultType2[FaultType2["FAULT_STATE"] = 4] = "FAULT_STATE";
FaultType2[FaultType2["FAULT_STATUS_FLAGS"] = 5] = "FAULT_STATUS_FLAGS";
FaultType2[FaultType2["FAULT_OUT_OF_RANGE"] = 6] = "FAULT_OUT_OF_RANGE";
FaultType2[FaultType2["FAULT_LISTED"] = 7] = "FAULT_LISTED";
return FaultType2;
})(FaultType || {});
var FileAccessMethod = /* @__PURE__ */ ((FileAccessMethod2) => {
FileAccessMethod2[FileAccessMethod2["RECORD_ACCESS"] = 0] = "RECORD_ACCESS";
FileAccessMethod2[FileAccessMethod2["STREAM_ACCESS"] = 1] = "STREAM_ACCESS";
return FileAccessMethod2;
})(FileAccessMethod || {});
var IPMode = /* @__PURE__ */ ((IPMode2) => {
IPMode2[IPMode2["NORMAL"] = 0] = "NORMAL";
IPMode2[IPMode2["FOREIGN"] = 1] = "FOREIGN";
IPMode2[IPMode2["BBMD"] = 2] = "BBMD";
return IPMode2;
})(IPMode || {});
var LifeSafetyMode = /* @__PURE__ */ ((LifeSafetyMode2) => {
LifeSafetyMode2[LifeSafetyMode2["OFF"] = 0] = "OFF";
LifeSafetyMode2[LifeSafetyMode2["ON"] = 1] = "ON";
LifeSafetyMode2[LifeSafetyMode2["TEST"] = 2] = "TEST";
LifeSafetyMode2[LifeSafetyMode2["MANNED"] = 3] = "MANNED";
LifeSafetyMode2[LifeSafetyMode2["UNMANNED"] = 4] = "UNMANNED";
LifeSafetyMode2[LifeSafetyMode2["ARMED"] = 5] = "ARMED";
LifeSafetyMode2[LifeSafetyMode2["DISARMED"] = 6] = "DISARMED";
LifeSafetyMode2[LifeSafetyMode2["PREARMED"] = 7] = "PREARMED";
LifeSafetyMode2[LifeSafetyMode2["SLOW"] = 8] = "SLOW";
LifeSafetyMode2[LifeSafetyMode2["FAST"] = 9] = "FAST";
LifeSafetyMode2[LifeSafetyMode2["DISCONNECTED"] = 10] = "DISCONNECTED";
LifeSafetyMode2[LifeSafetyMode2["ENABLED"] = 11] = "ENABLED";
LifeSafetyMode2[LifeSafetyMode2["DISABLED"] = 12] = "DISABLED";
LifeSafetyMode2[LifeSafetyMode2["AUTOMATIC_RELEASE_DISABLED"] = 13] = "AUTOMATIC_RELEASE_DISABLED";
LifeSafetyMode2[LifeSafetyMode2["DEFAULT"] = 14] = "DEFAULT";
return LifeSafetyMode2;
})(LifeSafetyMode || {});
var LifeSafetyOperation = /* @__PURE__ */ ((LifeSafetyOperation2) => {
LifeSafetyOperation2[LifeSafetyOperation2["NONE"] = 0] = "NONE";
LifeSafetyOperation2[LifeSafetyOperation2["SILENCE"] = 1] = "SILENCE";
LifeSafetyOperation2[LifeSafetyOperation2["SILENCE_AUDIBLE"] = 2] = "SILENCE_AUDIBLE";
LifeSafetyOperation2[LifeSafetyOperation2["SILENCE_VISUAL"] = 3] = "SILENCE_VISUAL";
LifeSafetyOperation2[LifeSafetyOperation2["RESET"] = 4] = "RESET";
LifeSafetyOperation2[LifeSafetyOperation2["RESET_ALARM"] = 5] = "RESET_ALARM";
LifeSafetyOperation2[LifeSafetyOperation2["RESET_FAULT"] = 6] = "RESET_FAULT";
LifeSafetyOperation2[LifeSafetyOperation2["UNSILENCE"] = 7] = "UNSILENCE";
LifeSafetyOperation2[LifeSafetyOperation2["UNSILENCE_AUDIBLE"] = 8] = "UNSILENCE_AUDIBLE";
LifeSafetyOperation2[LifeSafetyOperation2["UNSILENCE_VISUAL"] = 9] = "UNSILENCE_VISUAL";
return LifeSafetyOperation2;
})(LifeSafetyOperation || {});
var LifeSafetyState = /* @__PURE__ */ ((LifeSafetyState2) => {
LifeSafetyState2[LifeSafetyState2["QUIET"] = 0] = "QUIET";
LifeSafetyState2[LifeSafetyState2["PRE_ALARM"] = 1] = "PRE_ALARM";
LifeSafetyState2[LifeSafetyState2["ALARM"] = 2] = "ALARM";
LifeSafetyState2[LifeSafetyState2["FAULT"] = 3] = "FAULT";
LifeSafetyState2[LifeSafetyState2["FAULT_PRE_ALARM"] = 4] = "FAULT_PRE_ALARM";
LifeSafetyState2[LifeSafetyState2["FAULT_ALARM"] = 5] = "FAULT_ALARM";
LifeSafetyState2[LifeSafetyState2["NOT_READY"] = 6] = "NOT_READY";
LifeSafetyState2[LifeSafetyState2["ACTIVE"] = 7] = "ACTIVE";
LifeSafetyState2[LifeSafetyState2["TAMPER"] = 8] = "TAMPER";
LifeSafetyState2[LifeSafetyState2["TEST_ALARM"] = 9] = "TEST_ALARM";
LifeSafetyState2[LifeSafetyState2["TEST_ACTIVE"] = 10] = "TEST_ACTIVE";
LifeSafetyState2[LifeSafetyState2["TEST_FAULT"] = 11] = "TEST_FAULT";
LifeSafetyState2[LifeSafetyState2["TEST_FAULT_ALARM"] = 12] = "TEST_FAULT_ALARM";
LifeSafetyState2[LifeSafetyState2["HOLDUP"] = 13] = "HOLDUP";
LifeSafetyState2[LifeSafetyState2["DURESS"] = 14] = "DURESS";
LifeSafetyState2[LifeSafetyState2["TAMPER_ALARM"] = 15] = "TAMPER_ALARM";
LifeSafetyState2[LifeSafetyState2["ABNORMAL"] = 16] = "ABNORMAL";
LifeSafetyState2[LifeSafetyState2["EMERGENCY_POWER"] = 17] = "EMERGENCY_POWER";
LifeSafetyState2[LifeSafetyState2["DELAYED"] = 18] = "DELAYED";
LifeSafetyState2[LifeSafetyState2["BLOCKED"] = 19] = "BLOCKED";
LifeSafetyState2[LifeSafetyState2["LOCAL_ALARM"] = 20] = "LOCAL_ALARM";
LifeSafetyState2[LifeSafetyState2["GENERAL_ALARM"] = 21] = "GENERAL_ALARM";
LifeSafetyState2[LifeSafetyState2["SUPERVISORY"] = 22] = "SUPERVISORY";
LifeSafetyState2[LifeSafetyState2["TEST_SUPERVISORY"] = 23] = "TEST_SUPERVISORY";
return LifeSafetyState2;
})(LifeSafetyState || {});
var LiftCarDirection = /* @__PURE__ */ ((LiftCarDirection2) => {
LiftCarDirection2[LiftCarDirection2["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDirection2[LiftCarDirection2["NONE"] = 1] = "NONE";
LiftCarDirection2[LiftCarDirection2["STOPPED"] = 2] = "STOPPED";
LiftCarDirection2[LiftCarDirection2["UP"] = 3] = "UP";
LiftCarDirection2[LiftCarDirection2["DOWN"] = 4] = "DOWN";
LiftCarDirection2[LiftCarDirection2["UP_AND_DOWN"] = 5] = "UP_AND_DOWN";
return LiftCarDirection2;
})(LiftCarDirection || {});
var LiftCarDoorCommand = /* @__PURE__ */ ((LiftCarDoorCommand2) => {
LiftCarDoorCommand2[LiftCarDoorCommand2["NONE"] = 0] = "NONE";
LiftCarDoorCommand2[LiftCarDoorCommand2["OPEN"] = 1] = "OPEN";
LiftCarDoorCommand2[LiftCarDoorCommand2["CLOSE"] = 2] = "CLOSE";
return LiftCarDoorCommand2;
})(LiftCarDoorCommand || {});
var LiftCarDriveStatus = /* @__PURE__ */ ((LiftCarDriveStatus2) => {
LiftCarDriveStatus2[LiftCarDriveStatus2["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarDriveStatus2[LiftCarDriveStatus2["STATIONARY"] = 1] = "STATIONARY";
LiftCarDriveStatus2[LiftCarDriveStatus2["BRAKING"] = 2] = "BRAKING";
LiftCarDriveStatus2[LiftCarDriveStatus2["ACCELERATE"] = 3] = "ACCELERATE";
LiftCarDriveStatus2[LiftCarDriveStatus2["DECELERATE"] = 4] = "DECELERATE";
LiftCarDriveStatus2[LiftCarDriveStatus2["RATED_SPEED"] = 5] = "RATED_SPEED";
LiftCarDriveStatus2[LiftCarDriveStatus2["SINGLE_FLOOR_JUMP"] = 6] = "SINGLE_FLOOR_JUMP";
LiftCarDriveStatus2[LiftCarDriveStatus2["TWO_FLOOR_JUMP"] = 7] = "TWO_FLOOR_JUMP";
LiftCarDriveStatus2[LiftCarDriveStatus2["THREE_FLOOR_JUMP"] = 8] = "THREE_FLOOR_JUMP";
LiftCarDriveStatus2[LiftCarDriveStatus2["MULTI_FLOOR_JUMP"] = 9] = "MULTI_FLOOR_JUMP";
return LiftCarDriveStatus2;
})(LiftCarDriveStatus || {});
var LiftCarMode = /* @__PURE__ */ ((LiftCarMode2) => {
LiftCarMode2[LiftCarMode2["UNKNOWN"] = 0] = "UNKNOWN";
LiftCarMode2[LiftCarMode2["NORMAL"] = 1] = "NORMAL";
LiftCarMode2[LiftCarMode2["VIP"] = 2] = "VIP";
LiftCarMode2[LiftCarMode2["HOMING"] = 3] = "HOMING";
LiftCarMode2[LiftCarMode2["PARKING"] = 4] = "PARKING";
LiftCarMode2[LiftCarMode2["ATTENDANT_CONTROL"] = 5] = "ATTENDANT_CONTROL";
LiftCarMode2[LiftCarMode2["FIREFIGHTER_CONTROL"] = 6] = "FIREFIGHTER_CONTROL";
LiftCarMode2[LiftCarMode2["EMERGENCY_POWER"] = 7] = "EMERGENCY_POWER";
LiftCarMode2[LiftCarMode2["INSPECTION"] = 8] = "INSPECTION";
LiftCarMode2[LiftCarMode2["CABINET_RECALL"] = 9] = "CABINET_RECALL";
LiftCarMode2[LiftCarMode2["EARTHQUAKE_OPERATION"] = 10] = "EARTHQUAKE_OPERATION";
LiftCarMode2[LiftCarMode2["FIRE_OPERATION"] = 11] = "FIRE_OPERATION";
LiftCarMode2[LiftCarMode2["OUT_OF_SERVICE"] = 12] = "OUT_OF_SERVICE";
LiftCarMode2[LiftCarMode2["OCCUPANT_EVACUATION"] = 13] = "OCCUPANT_EVACUATION";
return LiftCarMode2;
})(LiftCarMode || {});
var LiftFault = /* @__PURE__ */ ((LiftFault2) => {
LiftFault2[LiftFault2["CONTROLLER_FAULT"] = 0] = "CONTROLLER_FAULT";
LiftFault2[LiftFault2["DRIVE_AND_MOTOR_FAULT"] = 1] = "DRIVE_AND_MOTOR_FAULT";
LiftFault2[LiftFault2["GOVERNOR_AND_SAFETY_GEAR_FAULT"] = 2] = "GOVERNOR_AND_SAFETY_GEAR_FAULT";
LiftFault2[LiftFault2["LIFT_SHAFT_DEVICE_FAULT"] = 3] = "LIFT_SHAFT_DEVICE_FAULT";
LiftFault2[LiftFault2["POWER_SUPPLY_FAULT"] = 4] = "POWER_SUPPLY_FAULT";
LiftFault2[LiftFault2["SAFETY_INTERLOCK_FAULT"] = 5] = "SAFETY_INTERLOCK_FAULT";
LiftFault2[LiftFault2["DOOR_CLOSING_FAULT"] = 6] = "DOOR_CLOSING_FAULT";
LiftFault2[LiftFault2["DOOR_OPENING_FAULT"] = 7] = "DOOR_OPENING_FAULT";
LiftFault2[LiftFault2["CAR_STOPPED_OUTSIDE_LANDING_ZONE"] = 8] = "CAR_STOPPED_OUTSIDE_LANDING_ZONE";
LiftFault2[LiftFault2["CALL_BUTTON_STUCK"] = 9] = "CALL_BUTTON_STUCK";
LiftFault2[LiftFault2["START_FAILURE"] = 10] = "START_FAILURE";
LiftFault2[LiftFault2["CONTROLLER_SUPPLY_FAULT"] = 11] = "CONTROLLER_SUPPLY_FAULT";
LiftFault2[LiftFault2["SELF_TEST_FAILURE"] = 12] = "SELF_TEST_FAILURE";
LiftFault2[LiftFault2["RUNTIME_LIMIT_EXCEEDED"] = 13] = "RUNTIME_LIMIT_EXCEEDED";
LiftFault2[LiftFault2["POSITION_LOST"] = 14] = "POSITION_LOST";
LiftFault2[LiftFault2["DRIVE_TEMPERATURE_EXCEEDED"] = 15] = "DRIVE_TEMPERATURE_EXCEEDED";
LiftFault2[LiftFault2["LOAD_MEASUREMENT_FAULT"] = 16] = "LOAD_MEASUREMENT_FAULT";
return LiftFault2;
})(LiftFault || {});
var LiftGroupMode = /* @__PURE__ */ ((LiftGroupMode2) => {
LiftGroupMode2[LiftGroupMode2["UNKNOWN"] = 0] = "UNKNOWN";
LiftGroupMode2[LiftGroupMode2["NORMAL"] = 1] = "NORMAL";
LiftGroupMode2[LiftGroupMode2["DOWN_PEAK"] = 2] = "DOWN_PEAK";
LiftGroupMode2[LiftGroupMode2["TWO_WAY"] = 3] = "TWO_WAY";
LiftGroupMode2[LiftGroupMode2["FOUR_WAY"] = 4] = "FOUR_WAY";
LiftGroupMode2[LiftGroupMode2["EMERGENCY_POWER"] = 5] = "EMERGENCY_POWER";
LiftGroupMode2[LiftGroupMode2["UP_PEAK"] = 6] = "UP_PEAK";
return LiftGroupMode2;
})(LiftGroupMode || {});
var LightingInProgress = /* @__PURE__ */ ((LightingInProgress2) => {
LightingInProgress2[LightingInProgress2["IDLE"] = 0] = "IDLE";
LightingInProgress2[LightingInProgress2["FADE_ACTIVE"] = 1] = "FADE_ACTIVE";
LightingInProgress2[LightingInProgress2["RAMP_ACTIVE"] = 2] = "RAMP_ACTIVE";
LightingInProgress2[LightingInProgress2["NOT_CONTROLLED"] = 3] = "NOT_CONTROLLED";
LightingInProgress2[LightingInProgress2["OTHER"] = 4] = "OTHER";
return LightingInProgress2;
})(LightingInProgress || {});
var LightingOperation = /* @__PURE__ */ ((LightingOperation2) => {
LightingOperation2[LightingOperation2["NONE"] = 0] = "NONE";
LightingOperation2[LightingOperation2["FADE_TO"] = 1] = "FADE_TO";
LightingOperation2[LightingOperation2["RAMP_TO"] = 2] = "RAMP_TO";
LightingOperation2[LightingOperation2["STEP_UP"] = 3] = "STEP_UP";
LightingOperation2[LightingOperation2["STEP_DOWN"] = 4] = "STEP_DOWN";
LightingOperation2[LightingOperation2["STEP_ON"] = 5] = "STEP_ON";
LightingOperation2[LightingOperation2["STEP_OFF"] = 6] = "STEP_OFF";
LightingOperation2[LightingOperation2["WARN"] = 7] = "WARN";
LightingOperation2[LightingOperation2["WARN_OFF"] = 8] = "WARN_OFF";
LightingOperation2[LightingOperation2["WARN_RELINQUISH"] = 9] = "WARN_RELINQUISH";
LightingOperation2[LightingOperation2["STOP"] = 10] = "STOP";
return LightingOperation2;
})(LightingOperation || {});
var LightingTransition = /* @__PURE__ */ ((LightingTransition2) => {
LightingTransition2[LightingTransition2["NONE"] = 0] = "NONE";
LightingTransition2[LightingTransition2["FADE"] = 1] = "FADE";
LightingTransition2[LightingTransition2["RAMP"] = 2] = "RAMP";
return LightingTransition2;
})(LightingTransition || {});
var LockStatus = /* @__PURE__ */ ((LockStatus2) => {
LockStatus2[LockStatus2["LOCKED"] = 0] = "LOCKED";
LockStatus2[LockStatus2["UNLOCKED"] = 1] = "UNLOCKED";
LockStatus2[LockStatus2["LOCK_FAULT"] = 2] = "LOCK_FAULT";
LockStatus2[LockStatus2["UNUSED"] = 3] = "UNUSED";
LockStatus2[LockStatus2["UNKNOWN"] = 4] = "UNKNOWN";
return LockStatus2;
})(LockStatus || {});
var LoggingType = /* @__PURE__ */ ((LoggingType2) => {
LoggingType2[LoggingType2["POLLED"] = 0] = "POLLED";
LoggingType2[LoggingType2["COV"] = 1] = "COV";
LoggingType2[LoggingType2["TRIGGERED"] = 2] = "TRIGGERED";
return LoggingType2;
})(LoggingType || {});
var Maintenance = /* @__PURE__ */ ((Maintenance2) => {
Maintenance2[Maintenance2["NONE"] = 0] = "NONE";
Maintenance2[Maintenance2["PERIODIC_TEST"] = 1] = "PERIODIC_TEST";
Maintenance2[Maintenance2["NEED_SERVICE_OPERATIONAL"] = 2] = "NEED_SERVICE_OPERATIONAL";
Maintenance2[Maintenance2["NEED_SERVICE_INOPERATIVE"] = 3] = "NEED_SERVICE_INOPERATIVE";
return Maintenance2;
})(Maintenance || {});
var NetworkNumberQuality = /* @__PURE__ */ ((NetworkNumberQuality2) => {
NetworkNumberQuality2[NetworkNumberQuality2["UNKNOWN"] = 0] = "UNKNOWN";
NetworkNumberQuality2[NetworkNumberQuality2["LEARNED"] = 1] = "LEARNED";
NetworkNumberQuality2[NetworkNumberQuality2["LEARNED_CONFIGURED"] = 2] = "LEARNED_CONFIGURED";
NetworkNumberQuality2[NetworkNumberQuality2["CONFIGURED"] = 3] = "CONFIGURED";
return NetworkNumberQuality2;
})(NetworkNumberQuality || {});
var NetworkPortCommand = /* @__PURE__ */ ((NetworkPortCommand2) => {
NetworkPortCommand2[NetworkPortCommand2["IDLE"] = 0] = "IDLE";
NetworkPortCommand2[NetworkPortCommand2["DISCARD_CHANGES"] = 1] = "DISCARD_CHANGES";
NetworkPortCommand2[NetworkPortCommand2["RENEW_FD_REGISTRATION"] = 2] = "RENEW_FD_REGISTRATION";
NetworkPortCommand2[NetworkPortCommand2["RESTART_SLAVE_DISCOVERY"] = 3] = "RESTART_SLAVE_DISCOVERY";
NetworkPortCommand2[NetworkPortCommand2["RENEW_DHCP"] = 4] = "RENEW_DHCP";
NetworkPortCommand2[NetworkPortCommand2["RESTART_AUTONEGOTIATION"] = 5] = "RESTART_AUTONEGOTIATION";
NetworkPortCommand2[NetworkPortCommand2["DISCONNECT"] = 6] = "DISCONNECT";
NetworkPortCommand2[NetworkPortCommand2["RESTART_PORT"] = 7] = "RESTART_PORT";
return NetworkPortCommand2;
})(NetworkPortCommand || {});
var NetworkType = /* @__PURE__ */ ((NetworkType2) => {
NetworkType2[NetworkType2["ETHERNET"] = 0] = "ETHERNET";
NetworkType2[NetworkType2["ARCNET"] = 1] = "ARCNET";
NetworkType2[NetworkType2["MSTP"] = 2] = "MSTP";
NetworkType2[NetworkType2["PTP"] = 3] = "PTP";
NetworkType2[NetworkType2["LONTALK"] = 4] = "LONTALK";
NetworkType2[NetworkType2["IPV4"] = 5] = "IPV4";
NetworkType2[NetworkType2["ZIGBEE"] = 6] = "ZIGBEE";
NetworkType2[NetworkType2["VIRTUAL"] = 7] = "VIRTUAL";
NetworkType2[NetworkType2["IPV6"] = 9] = "IPV6";
NetworkType2[NetworkType2["SERIAL"] = 10] = "SERIAL";
return NetworkType2;
})(NetworkType || {});
var NodeType = /* @__PURE__ */ ((NodeType2) => {
NodeType2[NodeType2["UNKNOWN"] = 0] = "UNKNOWN";
NodeType2[NodeType2["SYSTEM"] = 1] = "SYSTEM";
NodeType2[NodeType2["NETWORK"] = 2] = "NETWORK";
NodeType2[NodeType2["DEVICE"] = 3] = "DEVICE";
NodeType2[NodeType2["ORGANIZATIONAL"] = 4] = "ORGANIZATIONAL";
NodeType2[NodeType2["AREA"] = 5] = "AREA";
NodeType2[NodeType2["EQUIPMENT"] = 6] = "EQUIPMENT";
NodeType2[NodeType2["POINT"] = 7] = "POINT";
NodeType2[NodeType2["COLLECTION"] = 8] = "COLLECTION";
NodeType2[NodeType2["PROPERTY"] = 9] = "PROPERTY";
NodeType2[NodeType2["FUNCTIONAL"] = 10] = "FUNCTIONAL";
NodeType2[NodeType2["OTHER"] = 11] = "OTHER";
NodeType2[NodeType2["SUBSYSTEM"] = 12] = "SUBSYSTEM";
NodeType2[NodeType2["BUILDING"] = 13] = "BUILDING";
NodeType2[NodeType2["FLOOR"] = 14] = "FLOOR";
NodeType2[NodeType2["SECTION"] = 15] = "SECTION";
NodeType2[NodeType2["MODULE"] = 16] = "MODULE";
NodeType2[NodeType2["TREE"] = 17] = "TREE";
NodeType2[NodeType2["MEMBER"] = 18] = "MEMBER";
NodeType2[NodeType2["PROTOCOL"] = 19] = "PROTOCOL";
NodeType2[NodeType2["ROOM"] = 20] = "ROOM";
NodeType2[NodeType2["ZONE"] = 21] = "ZONE";
return NodeType2;
})(NodeType || {});
var NotifyType = /* @__PURE__ */ ((NotifyType2) => {
NotifyType2[NotifyType2["ALARM"] = 0] = "ALARM";
NotifyType2[NotifyType2["EVENT"] = 1] = "EVENT";
NotifyType2[NotifyType2["ACK_NOTIFICATION"] = 2] = "ACK_NOTIFICATION";
return NotifyType2;
})(NotifyType || {});
var ObjectType = /* @__PURE__ */ ((ObjectType2) => {
ObjectType2[ObjectType2["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectType2[ObjectType2["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectType2[ObjectType2["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectType2[ObjectType2["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectType2[ObjectType2["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectType2[ObjectType2["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectType2[ObjectType2["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectType2[ObjectType2["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectType2[ObjectType2["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectType2[ObjectType2["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectType2[ObjectType2["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectType2[ObjectType2["AVERAGING"] = 18] = "AVERAGING";
ObjectType2[ObjectType2["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectType2[ObjectType2["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectType2[ObjectType2["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectType2[ObjectType2["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectType2[ObjectType2["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectType2[ObjectType2["CALENDAR"] = 6] = "CALENDAR";
ObjectType2[ObjectType2["CHANNEL"] = 53] = "CHANNEL";
ObjectType2[ObjectType2["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectType2[ObjectType2["COMMAND"] = 7] = "COMMAND";
ObjectType2[ObjectType2["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectType2[ObjectType2["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectType2[ObjectType2["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectType2[ObjectType2["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectType2[ObjectType2["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectType2[ObjectType2["DEVICE"] = 8] = "DEVICE";
ObjectType2[ObjectType2["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectType2[ObjectType2["ESCALATOR"] = 58] = "ESCALATOR";
ObjectType2[ObjectType2["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectType2[ObjectType2["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectType2[ObjectType2["FILE"] = 10] = "FILE";
ObjectType2[ObjectType2["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectType2[ObjectType2["GROUP"] = 11] = "GROUP";
ObjectType2[ObjectType2["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectType2[ObjectType2["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectType2[ObjectType2["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectType2[ObjectType2["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectType2[ObjectType2["LIFT"] = 59] = "LIFT";
ObjectType2[ObjectType2["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectType2[ObjectType2["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectType2[ObjectType2["LOOP"] = 12] = "LOOP";
ObjectType2[ObjectType2["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectType2[ObjectType2["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectType2[ObjectType2["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectType2[ObjectType2["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectType2[ObjectType2["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectType2[ObjectType2["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectType2[ObjectType2["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectType2[ObjectType2["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectType2[ObjectType2["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectType2[ObjectType2["PROGRAM"] = 16] = "PROGRAM";
ObjectType2[ObjectType2["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectType2[ObjectType2["SCHEDULE"] = 17] = "SCHEDULE";
ObjectType2[ObjectType2["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectType2[ObjectType2["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectType2[ObjectType2["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectType2[ObjectType2["TIMER"] = 31] = "TIMER";
ObjectType2[ObjectType2["TREND_LOG"] = 20] = "TREND_LOG";
ObjectType2[ObjectType2["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
return ObjectType2;
})(ObjectType || {});
var Polarity = /* @__PURE__ */ ((Polarity2) => {
Polarity2[Polarity2["NORMAL"] = 0] = "NORMAL";
Polarity2[Polarity2["REVERSE"] = 1] = "REVERSE";
return Polarity2;
})(Polarity || {});
var ProgramError = /* @__PURE__ */ ((ProgramError2) => {
ProgramError2[ProgramError2["NORMAL"] = 0] = "NORMAL";
ProgramError2[ProgramError2["LOAD_FAILED"] = 1] = "LOAD_FAILED";
ProgramError2[ProgramError2["INTERNAL"] = 2] = "INTERNAL";
ProgramError2[ProgramError2["PROGRAM"] = 3] = "PROGRAM";
ProgramError2[ProgramError2["OTHER"] = 4] = "OTHER";
return ProgramError2;
})(ProgramError || {});
var ProgramRequest = /* @__PURE__ */ ((ProgramRequest2) => {
ProgramRequest2[ProgramRequest2["READY"] = 0] = "READY";
ProgramRequest2[ProgramRequest2["LOAD"] = 1] = "LOAD";
ProgramRequest2[ProgramRequest2["RUN"] = 2] = "RUN";
ProgramRequest2[ProgramRequest2["HALT"] = 3] = "HALT";
ProgramRequest2[ProgramRequest2["RESTART"] = 4] = "RESTART";
ProgramRequest2[ProgramRequest2["UNLOAD"] = 5] = "UNLOAD";
return ProgramRequest2;
})(ProgramRequest || {});
var ProgramState = /* @__PURE__ */ ((ProgramState2) => {
ProgramState2[ProgramState2["IDLE"] = 0] = "IDLE";
ProgramState2[ProgramState2["LOADING"] = 1] = "LOADING";
ProgramState2[ProgramState2["RUNNING"] = 2] = "RUNNING";
ProgramState2[ProgramState2["WAITING"] = 3] = "WAITING";
ProgramState2[ProgramState2["HALTED"] = 4] = "HALTED";
ProgramState2[ProgramState2["UNLOADING"] = 5] = "UNLOADING";
return ProgramState2;
})(ProgramState || {});
var PropertyIdentifier = /* @__PURE__ */ ((PropertyIdentifier2) => {
PropertyIdentifier2[PropertyIdentifier2["ABSENTEE_LIMIT"] = 244] = "ABSENTEE_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["ACCEPTED_MODES"] = 175] = "ACCEPTED_MODES";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_ALARM_EVENTS"] = 245] = "ACCESS_ALARM_EVENTS";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_DOORS"] = 246] = "ACCESS_DOORS";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_EVENT"] = 247] = "ACCESS_EVENT";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_EVENT_AUTHENTICATION_FACTOR"] = 248] = "ACCESS_EVENT_AUTHENTICATION_FACTOR";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_EVENT_CREDENTIAL"] = 249] = "ACCESS_EVENT_CREDENTIAL";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_EVENT_TAG"] = 322] = "ACCESS_EVENT_TAG";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_EVENT_TIME"] = 250] = "ACCESS_EVENT_TIME";
PropertyIdentifier2[PropertyIdentifier2["ACCESS_TRANSACTION_EVENTS"] = 251] = "ACCESS_TRANSACTION_EVENTS";
PropertyIdentifier2[PropertyIdentifier2["ACCOMPANIMENT"] = 252] = "ACCOMPANIMENT";
PropertyIdentifier2[PropertyIdentifier2["ACCOMPANIMENT_TIME"] = 253] = "ACCOMPANIMENT_TIME";
PropertyIdentifier2[PropertyIdentifier2["ACK_REQUIRED"] = 1] = "ACK_REQUIRED";
PropertyIdentifier2[PropertyIdentifier2["ACKED_TRANSITIONS"] = 0] = "ACKED_TRANSITIONS";
PropertyIdentifier2[PropertyIdentifier2["ACTION"] = 2] = "ACTION";
PropertyIdentifier2[PropertyIdentifier2["ACTION_TEXT"] = 3] = "ACTION_TEXT";
PropertyIdentifier2[PropertyIdentifier2["ACTIVATION_TIME"] = 254] = "ACTIVATION_TIME";
PropertyIdentifier2[PropertyIdentifier2["ACTIVE_AUTHENTICATION_POLICY"] = 255] = "ACTIVE_AUTHENTICATION_POLICY";
PropertyIdentifier2[PropertyIdentifier2["ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS"] = 481] = "ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS";
PropertyIdentifier2[PropertyIdentifier2["ACTIVE_COV_SUBSCRIPTIONS"] = 152] = "ACTIVE_COV_SUBSCRIPTIONS";
PropertyIdentifier2[PropertyIdentifier2["ACTIVE_TEXT"] = 4] = "ACTIVE_TEXT";
PropertyIdentifier2[PropertyIdentifier2["ACTIVE_VT_SESSIONS"] = 5] = "ACTIVE_VT_SESSIONS";
PropertyIdentifier2[PropertyIdentifier2["ACTUAL_SHED_LEVEL"] = 212] = "ACTUAL_SHED_LEVEL";
PropertyIdentifier2[PropertyIdentifier2["ADJUST_VALUE"] = 176] = "ADJUST_VALUE";
PropertyIdentifier2[PropertyIdentifier2["ALARM_VALUE"] = 6] = "ALARM_VALUE";
PropertyIdentifier2[PropertyIdentifier2["ALARM_VALUES"] = 7] = "ALARM_VALUES";
PropertyIdentifier2[PropertyIdentifier2["ALIGN_INTERVALS"] = 193] = "ALIGN_INTERVALS";
PropertyIdentifier2[PropertyIdentifier2["ALL"] = 8] = "ALL";
PropertyIdentifier2[PropertyIdentifier2["ALL_WRITES_SUCCESSFUL"] = 9] = "ALL_WRITES_SUCCESSFUL";
PropertyIdentifier2[PropertyIdentifier2["ALLOW_GROUP_DELAY_INHIBIT"] = 365] = "ALLOW_GROUP_DELAY_INHIBIT";
PropertyIdentifier2[PropertyIdentifier2["APDU_LENGTH"] = 399] = "APDU_LENGTH";
PropertyIdentifier2[PropertyIdentifier2["APDU_SEGMENT_TIMEOUT"] = 10] = "APDU_SEGMENT_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["APDU_TIMEOUT"] = 11] = "APDU_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["APPLICATION_SOFTWARE_VERSION"] = 12] = "APPLICATION_SOFTWARE_VERSION";
PropertyIdentifier2[PropertyIdentifier2["ARCHIVE"] = 13] = "ARCHIVE";
PropertyIdentifier2[PropertyIdentifier2["ASSIGNED_ACCESS_RIGHTS"] = 256] = "ASSIGNED_ACCESS_RIGHTS";
PropertyIdentifier2[PropertyIdentifier2["ASSIGNED_LANDING_CALLS"] = 447] = "ASSIGNED_LANDING_CALLS";
PropertyIdentifier2[PropertyIdentifier2["ATTEMPTED_SAMPLES"] = 124] = "ATTEMPTED_SAMPLES";
PropertyIdentifier2[PropertyIdentifier2["AUTHENTICATION_FACTORS"] = 257] = "AUTHENTICATION_FACTORS";
PropertyIdentifier2[PropertyIdentifier2["AUTHENTICATION_POLICY_LIST"] = 258] = "AUTHENTICATION_POLICY_LIST";
PropertyIdentifier2[PropertyIdentifier2["AUTHENTICATION_POLICY_NAMES"] = 259] = "AUTHENTICATION_POLICY_NAMES";
PropertyIdentifier2[PropertyIdentifier2["AUTHENTICATION_STATUS"] = 260] = "AUTHENTICATION_STATUS";
PropertyIdentifier2[PropertyIdentifier2["AUTHORIZATION_EXEMPTIONS"] = 364] = "AUTHORIZATION_EXEMPTIONS";
PropertyIdentifier2[PropertyIdentifier2["AUTHORIZATION_MODE"] = 261] = "AUTHORIZATION_MODE";
PropertyIdentifier2[PropertyIdentifier2["AUTO_SLAVE_DISCOVERY"] = 169] = "AUTO_SLAVE_DISCOVERY";
PropertyIdentifier2[PropertyIdentifier2["AVERAGE_VALUE"] = 125] = "AVERAGE_VALUE";
PropertyIdentifier2[PropertyIdentifier2["BACKUP_AND_RESTORE_STATE"] = 338] = "BACKUP_AND_RESTORE_STATE";
PropertyIdentifier2[PropertyIdentifier2["BACKUP_FAILURE_TIMEOUT"] = 153] = "BACKUP_FAILURE_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["BACKUP_PREPARATION_TIME"] = 339] = "BACKUP_PREPARATION_TIME";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IP_GLOBAL_ADDRESS"] = 407] = "BACNET_IP_GLOBAL_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IP_MODE"] = 408] = "BACNET_IP_MODE";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IP_MULTICAST_ADDRESS"] = 409] = "BACNET_IP_MULTICAST_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IP_NAT_TRAVERSAL"] = 410] = "BACNET_IP_NAT_TRAVERSAL";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IP_UDP_PORT"] = 412] = "BACNET_IP_UDP_PORT";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IPV6_MODE"] = 435] = "BACNET_IPV6_MODE";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IPV6_UDP_PORT"] = 438] = "BACNET_IPV6_UDP_PORT";
PropertyIdentifier2[PropertyIdentifier2["BACNET_IPV6_MULTICAST_ADDRESS"] = 440] = "BACNET_IPV6_MULTICAST_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["BBMD_ACCEPT_FD_REGISTRATIONS"] = 413] = "BBMD_ACCEPT_FD_REGISTRATIONS";
PropertyIdentifier2[PropertyIdentifier2["BBMD_BROADCAST_DISTRIBUTION_TABLE"] = 414] = "BBMD_BROADCAST_DISTRIBUTION_TABLE";
PropertyIdentifier2[PropertyIdentifier2["BBMD_FOREIGN_DEVICE_TABLE"] = 415] = "BBMD_FOREIGN_DEVICE_TABLE";
PropertyIdentifier2[PropertyIdentifier2["BELONGS_TO"] = 262] = "BELONGS_TO";
PropertyIdentifier2[PropertyIdentifier2["BIAS"] = 14] = "BIAS";
PropertyIdentifier2[PropertyIdentifier2["BIT_MASK"] = 342] = "BIT_MASK";
PropertyIdentifier2[PropertyIdentifier2["BIT_TEXT"] = 343] = "BIT_TEXT";
PropertyIdentifier2[PropertyIdentifier2["BLINK_WARN_ENABLE"] = 373] = "BLINK_WARN_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["BUFFER_SIZE"] = 126] = "BUFFER_SIZE";
PropertyIdentifier2[PropertyIdentifier2["CAR_ASSIGNED_DIRECTION"] = 448] = "CAR_ASSIGNED_DIRECTION";
PropertyIdentifier2[PropertyIdentifier2["CAR_DOOR_COMMAND"] = 449] = "CAR_DOOR_COMMAND";
PropertyIdentifier2[PropertyIdentifier2["CAR_DOOR_STATUS"] = 450] = "CAR_DOOR_STATUS";
PropertyIdentifier2[PropertyIdentifier2["CAR_DOOR_TEXT"] = 451] = "CAR_DOOR_TEXT";
PropertyIdentifier2[PropertyIdentifier2["CAR_DOOR_ZONE"] = 452] = "CAR_DOOR_ZONE";
PropertyIdentifier2[PropertyIdentifier2["CAR_DRIVE_STATUS"] = 453] = "CAR_DRIVE_STATUS";
PropertyIdentifier2[PropertyIdentifier2["CAR_LOAD"] = 454] = "CAR_LOAD";
PropertyIdentifier2[PropertyIdentifier2["CAR_LOAD_UNITS"] = 455] = "CAR_LOAD_UNITS";
PropertyIdentifier2[PropertyIdentifier2["CAR_MODE"] = 456] = "CAR_MODE";
PropertyIdentifier2[PropertyIdentifier2["CAR_MOVING_DIRECTION"] = 457] = "CAR_MOVING_DIRECTION";
PropertyIdentifier2[PropertyIdentifier2["CAR_POSITION"] = 458] = "CAR_POSITION";
PropertyIdentifier2[PropertyIdentifier2["CHANGE_OF_STATE_COUNT"] = 15] = "CHANGE_OF_STATE_COUNT";
PropertyIdentifier2[PropertyIdentifier2["CHANGE_OF_STATE_TIME"] = 16] = "CHANGE_OF_STATE_TIME";
PropertyIdentifier2[PropertyIdentifier2["CHANGES_PENDING"] = 416] = "CHANGES_PENDING";
PropertyIdentifier2[PropertyIdentifier2["CHANNEL_NUMBER"] = 366] = "CHANNEL_NUMBER";
PropertyIdentifier2[PropertyIdentifier2["CLIENT_COV_INCREMENT"] = 127] = "CLIENT_COV_INCREMENT";
PropertyIdentifier2[PropertyIdentifier2["COMMAND"] = 417] = "COMMAND";
PropertyIdentifier2[PropertyIdentifier2["COMMAND_TIME_ARRAY"] = 430] = "COMMAND_TIME_ARRAY";
PropertyIdentifier2[PropertyIdentifier2["CONFIGURATION_FILES"] = 154] = "CONFIGURATION_FILES";
PropertyIdentifier2[PropertyIdentifier2["CONTROL_GROUPS"] = 367] = "CONTROL_GROUPS";
PropertyIdentifier2[PropertyIdentifier2["CONTROLLED_VARIABLE_REFERENCE"] = 19] = "CONTROLLED_VARIABLE_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["CONTROLLED_VARIABLE_UNITS"] = 20] = "CONTROLLED_VARIABLE_UNITS";
PropertyIdentifier2[PropertyIdentifier2["CONTROLLED_VARIABLE_VALUE"] = 21] = "CONTROLLED_VARIABLE_VALUE";
PropertyIdentifier2[PropertyIdentifier2["COUNT"] = 177] = "COUNT";
PropertyIdentifier2[PropertyIdentifier2["COUNT_BEFORE_CHANGE"] = 178] = "COUNT_BEFORE_CHANGE";
PropertyIdentifier2[PropertyIdentifier2["COUNT_CHANGE_TIME"] = 179] = "COUNT_CHANGE_TIME";
PropertyIdentifier2[PropertyIdentifier2["COV_INCREMENT"] = 22] = "COV_INCREMENT";
PropertyIdentifier2[PropertyIdentifier2["COV_PERIOD"] = 180] = "COV_PERIOD";
PropertyIdentifier2[PropertyIdentifier2["COV_RESUBSCRIPTION_INTERVAL"] = 128] = "COV_RESUBSCRIPTION_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["COVU_PERIOD"] = 349] = "COVU_PERIOD";
PropertyIdentifier2[PropertyIdentifier2["COVU_RECIPIENTS"] = 350] = "COVU_RECIPIENTS";
PropertyIdentifier2[PropertyIdentifier2["CREDENTIAL_DISABLE"] = 263] = "CREDENTIAL_DISABLE";
PropertyIdentifier2[PropertyIdentifier2["CREDENTIAL_STATUS"] = 264] = "CREDENTIAL_STATUS";
PropertyIdentifier2[PropertyIdentifier2["CREDENTIALS"] = 265] = "CREDENTIALS";
PropertyIdentifier2[PropertyIdentifier2["CREDENTIALS_IN_ZONE"] = 266] = "CREDENTIALS_IN_ZONE";
PropertyIdentifier2[PropertyIdentifier2["CURRENT_COMMAND_PRIORITY"] = 431] = "CURRENT_COMMAND_PRIORITY";
PropertyIdentifier2[PropertyIdentifier2["DATABASE_REVISION"] = 155] = "DATABASE_REVISION";
PropertyIdentifier2[PropertyIdentifier2["DATE_LIST"] = 23] = "DATE_LIST";
PropertyIdentifier2[PropertyIdentifier2["DAYLIGHT_SAVINGS_STATUS"] = 24] = "DAYLIGHT_SAVINGS_STATUS";
PropertyIdentifier2[PropertyIdentifier2["DAYS_REMAINING"] = 267] = "DAYS_REMAINING";
PropertyIdentifier2[PropertyIdentifier2["DEADBAND"] = 25] = "DEADBAND";
PropertyIdentifier2[PropertyIdentifier2["DEFAULT_FADE_TIME"] = 374] = "DEFAULT_FADE_TIME";
PropertyIdentifier2[PropertyIdentifier2["DEFAULT_RAMP_RATE"] = 375] = "DEFAULT_RAMP_RATE";
PropertyIdentifier2[PropertyIdentifier2["DEFAULT_STEP_INCREMENT"] = 376] = "DEFAULT_STEP_INCREMENT";
PropertyIdentifier2[PropertyIdentifier2["DEFAULT_SUBORDINATE_RELATIONSHIP"] = 490] = "DEFAULT_SUBORDINATE_RELATIONSHIP";
PropertyIdentifier2[PropertyIdentifier2["DEFAULT_TIMEOUT"] = 393] = "DEFAULT_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["DEPLOYED_PROFILE_LOCATION"] = 484] = "DEPLOYED_PROFILE_LOCATION";
PropertyIdentifier2[PropertyIdentifier2["DERIVATIVE_CONSTANT"] = 26] = "DERIVATIVE_CONSTANT";
PropertyIdentifier2[PropertyIdentifier2["DERIVATIVE_CONSTANT_UNITS"] = 27] = "DERIVATIVE_CONSTANT_UNITS";
PropertyIdentifier2[PropertyIdentifier2["DESCRIPTION"] = 28] = "DESCRIPTION";
PropertyIdentifier2[PropertyIdentifier2["DESCRIPTION_OF_HALT"] = 29] = "DESCRIPTION_OF_HALT";
PropertyIdentifier2[PropertyIdentifier2["DEVICE_ADDRESS_BINDING"] = 30] = "DEVICE_ADDRESS_BINDING";
PropertyIdentifier2[PropertyIdentifier2["DEVICE_TYPE"] = 31] = "DEVICE_TYPE";
PropertyIdentifier2[PropertyIdentifier2["DIRECT_READING"] = 156] = "DIRECT_READING";
PropertyIdentifier2[PropertyIdentifier2["DISTRIBUTION_KEY_REVISION"] = 328] = "DISTRIBUTION_KEY_REVISION";
PropertyIdentifier2[PropertyIdentifier2["DO_NOT_HIDE"] = 329] = "DO_NOT_HIDE";
PropertyIdentifier2[PropertyIdentifier2["DOOR_ALARM_STATE"] = 226] = "DOOR_ALARM_STATE";
PropertyIdentifier2[PropertyIdentifier2["DOOR_EXTENDED_PULSE_TIME"] = 227] = "DOOR_EXTENDED_PULSE_TIME";
PropertyIdentifier2[PropertyIdentifier2["DOOR_MEMBERS"] = 228] = "DOOR_MEMBERS";
PropertyIdentifier2[PropertyIdentifier2["DOOR_OPEN_TOO_LONG_TIME"] = 229] = "DOOR_OPEN_TOO_LONG_TIME";
PropertyIdentifier2[PropertyIdentifier2["DOOR_PULSE_TIME"] = 230] = "DOOR_PULSE_TIME";
PropertyIdentifier2[PropertyIdentifier2["DOOR_STATUS"] = 231] = "DOOR_STATUS";
PropertyIdentifier2[PropertyIdentifier2["DOOR_UNLOCK_DELAY_TIME"] = 232] = "DOOR_UNLOCK_DELAY_TIME";
PropertyIdentifier2[PropertyIdentifier2["DUTY_WINDOW"] = 213] = "DUTY_WINDOW";
PropertyIdentifier2[PropertyIdentifier2["EFFECTIVE_PERIOD"] = 32] = "EFFECTIVE_PERIOD";
PropertyIdentifier2[PropertyIdentifier2["EGRESS_ACTIVE"] = 386] = "EGRESS_ACTIVE";
PropertyIdentifier2[PropertyIdentifier2["EGRESS_TIME"] = 377] = "EGRESS_TIME";
PropertyIdentifier2[PropertyIdentifier2["ELAPSED_ACTIVE_TIME"] = 33] = "ELAPSED_ACTIVE_TIME";
PropertyIdentifier2[PropertyIdentifier2["ELEVATOR_GROUP"] = 459] = "ELEVATOR_GROUP";
PropertyIdentifier2[PropertyIdentifier2["ENABLE"] = 133] = "ENABLE";
PropertyIdentifier2[PropertyIdentifier2["ENERGY_METER"] = 460] = "ENERGY_METER";
PropertyIdentifier2[PropertyIdentifier2["ENERGY_METER_REF"] = 461] = "ENERGY_METER_REF";
PropertyIdentifier2[PropertyIdentifier2["ENTRY_POINTS"] = 268] = "ENTRY_POINTS";
PropertyIdentifier2[PropertyIdentifier2["ERROR_LIMIT"] = 34] = "ERROR_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["ESCALATOR_MODE"] = 462] = "ESCALATOR_MODE";
PropertyIdentifier2[PropertyIdentifier2["EVENT_ALGORITHM_INHIBIT"] = 354] = "EVENT_ALGORITHM_INHIBIT";
PropertyIdentifier2[PropertyIdentifier2["EVENT_ALGORITHM_INHIBIT_REF"] = 355] = "EVENT_ALGORITHM_INHIBIT_REF";
PropertyIdentifier2[PropertyIdentifier2["EVENT_DETECTION_ENABLE"] = 353] = "EVENT_DETECTION_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["EVENT_ENABLE"] = 35] = "EVENT_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["EVENT_MESSAGE_TEXTS"] = 351] = "EVENT_MESSAGE_TEXTS";
PropertyIdentifier2[PropertyIdentifier2["EVENT_MESSAGE_TEXTS_CONFIG"] = 352] = "EVENT_MESSAGE_TEXTS_CONFIG";
PropertyIdentifier2[PropertyIdentifier2["EVENT_PARAMETERS"] = 83] = "EVENT_PARAMETERS";
PropertyIdentifier2[PropertyIdentifier2["EVENT_STATE"] = 36] = "EVENT_STATE";
PropertyIdentifier2[PropertyIdentifier2["EVENT_TIME_STAMPS"] = 130] = "EVENT_TIME_STAMPS";
PropertyIdentifier2[PropertyIdentifier2["EVENT_TYPE"] = 37] = "EVENT_TYPE";
PropertyIdentifier2[PropertyIdentifier2["EXCEPTION_SCHEDULE"] = 38] = "EXCEPTION_SCHEDULE";
PropertyIdentifier2[PropertyIdentifier2["EXECUTION_DELAY"] = 368] = "EXECUTION_DELAY";
PropertyIdentifier2[PropertyIdentifier2["EXIT_POINTS"] = 269] = "EXIT_POINTS";
PropertyIdentifier2[PropertyIdentifier2["EXPECTED_SHED_LEVEL"] = 214] = "EXPECTED_SHED_LEVEL";
PropertyIdentifier2[PropertyIdentifier2["EXPIRATION_TIME"] = 270] = "EXPIRATION_TIME";
PropertyIdentifier2[PropertyIdentifier2["EXTENDED_TIME_ENABLE"] = 271] = "EXTENDED_TIME_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["FAILED_ATTEMPT_EVENTS"] = 272] = "FAILED_ATTEMPT_EVENTS";
PropertyIdentifier2[PropertyIdentifier2["FAILED_ATTEMPTS"] = 273] = "FAILED_ATTEMPTS";
PropertyIdentifier2[PropertyIdentifier2["FAILED_ATTEMPTS_TIME"] = 274] = "FAILED_ATTEMPTS_TIME";
PropertyIdentifier2[PropertyIdentifier2["FAULT_HIGH_LIMIT"] = 388] = "FAULT_HIGH_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["FAULT_LOW_LIMIT"] = 389] = "FAULT_LOW_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["FAULT_PARAMETERS"] = 358] = "FAULT_PARAMETERS";
PropertyIdentifier2[PropertyIdentifier2["FAULT_SIGNALS"] = 463] = "FAULT_SIGNALS";
PropertyIdentifier2[PropertyIdentifier2["FAULT_TYPE"] = 359] = "FAULT_TYPE";
PropertyIdentifier2[PropertyIdentifier2["FAULT_VALUES"] = 39] = "FAULT_VALUES";
PropertyIdentifier2[PropertyIdentifier2["FD_BBMD_ADDRESS"] = 418] = "FD_BBMD_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["FD_SUBSCRIPTION_LIFETIME"] = 419] = "FD_SUBSCRIPTION_LIFETIME";
PropertyIdentifier2[PropertyIdentifier2["FEEDBACK_VALUE"] = 40] = "FEEDBACK_VALUE";
PropertyIdentifier2[PropertyIdentifier2["FILE_ACCESS_METHOD"] = 41] = "FILE_ACCESS_METHOD";
PropertyIdentifier2[PropertyIdentifier2["FILE_SIZE"] = 42] = "FILE_SIZE";
PropertyIdentifier2[PropertyIdentifier2["FILE_TYPE"] = 43] = "FILE_TYPE";
PropertyIdentifier2[PropertyIdentifier2["FIRMWARE_REVISION"] = 44] = "FIRMWARE_REVISION";
PropertyIdentifier2[PropertyIdentifier2["FLOOR_TEXT"] = 464] = "FLOOR_TEXT";
PropertyIdentifier2[PropertyIdentifier2["FULL_DUTY_BASELINE"] = 215] = "FULL_DUTY_BASELINE";
PropertyIdentifier2[PropertyIdentifier2["GLOBAL_IDENTIFIER"] = 323] = "GLOBAL_IDENTIFIER";
PropertyIdentifier2[PropertyIdentifier2["GROUP_ID"] = 465] = "GROUP_ID";
PropertyIdentifier2[PropertyIdentifier2["GROUP_MEMBER_NAMES"] = 346] = "GROUP_MEMBER_NAMES";
PropertyIdentifier2[PropertyIdentifier2["GROUP_MEMBERS"] = 345] = "GROUP_MEMBERS";
PropertyIdentifier2[PropertyIdentifier2["GROUP_MODE"] = 467] = "GROUP_MODE";
PropertyIdentifier2[PropertyIdentifier2["HIGH_LIMIT"] = 45] = "HIGH_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["HIGHER_DECK"] = 468] = "HIGHER_DECK";
PropertyIdentifier2[PropertyIdentifier2["IN_PROCESS"] = 47] = "IN_PROCESS";
PropertyIdentifier2[PropertyIdentifier2["IN_PROGRESS"] = 378] = "IN_PROGRESS";
PropertyIdentifier2[PropertyIdentifier2["INACTIVE_TEXT"] = 46] = "INACTIVE_TEXT";
PropertyIdentifier2[PropertyIdentifier2["INITIAL_TIMEOUT"] = 394] = "INITIAL_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["INPUT_REFERENCE"] = 181] = "INPUT_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["INSTALLATION_ID"] = 469] = "INSTALLATION_ID";
PropertyIdentifier2[PropertyIdentifier2["INSTANCE_OF"] = 48] = "INSTANCE_OF";
PropertyIdentifier2[PropertyIdentifier2["INSTANTANEOUS_POWER"] = 379] = "INSTANTANEOUS_POWER";
PropertyIdentifier2[PropertyIdentifier2["INTEGRAL_CONSTANT"] = 49] = "INTEGRAL_CONSTANT";
PropertyIdentifier2[PropertyIdentifier2["INTEGRAL_CONSTANT_UNITS"] = 50] = "INTEGRAL_CONSTANT_UNITS";
PropertyIdentifier2[PropertyIdentifier2["INTERFACE_VALUE"] = 387] = "INTERFACE_VALUE";
PropertyIdentifier2[PropertyIdentifier2["INTERVAL_OFFSET"] = 195] = "INTERVAL_OFFSET";
PropertyIdentifier2[PropertyIdentifier2["IP_ADDRESS"] = 400] = "IP_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["IP_DEFAULT_GATEWAY"] = 401] = "IP_DEFAULT_GATEWAY";
PropertyIdentifier2[PropertyIdentifier2["IP_DHCP_ENABLE"] = 402] = "IP_DHCP_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["IP_DHCP_LEASE_TIME"] = 403] = "IP_DHCP_LEASE_TIME";
PropertyIdentifier2[PropertyIdentifier2["IP_DHCP_LEASE_TIME_REMAINING"] = 404] = "IP_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier2[PropertyIdentifier2["IP_DHCP_SERVER"] = 405] = "IP_DHCP_SERVER";
PropertyIdentifier2[PropertyIdentifier2["IP_DNS_SERVER"] = 406] = "IP_DNS_SERVER";
PropertyIdentifier2[PropertyIdentifier2["IP_SUBNET_MASK"] = 411] = "IP_SUBNET_MASK";
PropertyIdentifier2[PropertyIdentifier2["IPV6_ADDRESS"] = 436] = "IPV6_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["IPV6_AUTO_ADDRESSING_ENABLE"] = 442] = "IPV6_AUTO_ADDRESSING_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["IPV6_DEFAULT_GATEWAY"] = 439] = "IPV6_DEFAULT_GATEWAY";
PropertyIdentifier2[PropertyIdentifier2["IPV6_DHCP_LEASE_TIME"] = 443] = "IPV6_DHCP_LEASE_TIME";
PropertyIdentifier2[PropertyIdentifier2["IPV6_DHCP_LEASE_TIME_REMAINING"] = 444] = "IPV6_DHCP_LEASE_TIME_REMAINING";
PropertyIdentifier2[PropertyIdentifier2["IPV6_DHCP_SERVER"] = 445] = "IPV6_DHCP_SERVER";
PropertyIdentifier2[PropertyIdentifier2["IPV6_DNS_SERVER"] = 441] = "IPV6_DNS_SERVER";
PropertyIdentifier2[PropertyIdentifier2["IPV6_PREFIX_LENGTH"] = 437] = "IPV6_PREFIX_LENGTH";
PropertyIdentifier2[PropertyIdentifier2["IPV6_ZONE_INDEX"] = 446] = "IPV6_ZONE_INDEX";
PropertyIdentifier2[PropertyIdentifier2["IS_UTC"] = 344] = "IS_UTC";
PropertyIdentifier2[PropertyIdentifier2["KEY_SETS"] = 330] = "KEY_SETS";
PropertyIdentifier2[PropertyIdentifier2["LANDING_CALL_CONTROL"] = 471] = "LANDING_CALL_CONTROL";
PropertyIdentifier2[PropertyIdentifier2["LANDING_CALLS"] = 470] = "LANDING_CALLS";
PropertyIdentifier2[PropertyIdentifier2["LANDING_DOOR_STATUS"] = 472] = "LANDING_DOOR_STATUS";
PropertyIdentifier2[PropertyIdentifier2["LAST_ACCESS_EVENT"] = 275] = "LAST_ACCESS_EVENT";
PropertyIdentifier2[PropertyIdentifier2["LAST_ACCESS_POINT"] = 276] = "LAST_ACCESS_POINT";
PropertyIdentifier2[PropertyIdentifier2["LAST_COMMAND_TIME"] = 432] = "LAST_COMMAND_TIME";
PropertyIdentifier2[PropertyIdentifier2["LAST_CREDENTIAL_ADDED"] = 277] = "LAST_CREDENTIAL_ADDED";
PropertyIdentifier2[PropertyIdentifier2["LAST_CREDENTIAL_ADDED_TIME"] = 278] = "LAST_CREDENTIAL_ADDED_TIME";
PropertyIdentifier2[PropertyIdentifier2["LAST_CREDENTIAL_REMOVED"] = 279] = "LAST_CREDENTIAL_REMOVED";
PropertyIdentifier2[PropertyIdentifier2["LAST_CREDENTIAL_REMOVED_TIME"] = 280] = "LAST_CREDENTIAL_REMOVED_TIME";
PropertyIdentifier2[PropertyIdentifier2["LAST_KEY_SERVER"] = 331] = "LAST_KEY_SERVER";
PropertyIdentifier2[PropertyIdentifier2["LAST_NOTIFY_RECORD"] = 173] = "LAST_NOTIFY_RECORD";
PropertyIdentifier2[PropertyIdentifier2["LAST_PRIORITY"] = 369] = "LAST_PRIORITY";
PropertyIdentifier2[PropertyIdentifier2["LAST_RESTART_REASON"] = 196] = "LAST_RESTART_REASON";
PropertyIdentifier2[PropertyIdentifier2["LAST_RESTORE_TIME"] = 157] = "LAST_RESTORE_TIME";
PropertyIdentifier2[PropertyIdentifier2["LAST_STATE_CHANGE"] = 395] = "LAST_STATE_CHANGE";
PropertyIdentifier2[PropertyIdentifier2["LAST_USE_TIME"] = 281] = "LAST_USE_TIME";
PropertyIdentifier2[PropertyIdentifier2["LIFE_SAFETY_ALARM_VALUES"] = 166] = "LIFE_SAFETY_ALARM_VALUES";
PropertyIdentifier2[PropertyIdentifier2["LIGHTING_COMMAND"] = 380] = "LIGHTING_COMMAND";
PropertyIdentifier2[PropertyIdentifier2["LIGHTING_COMMAND_DEFAULT_PRIORITY"] = 381] = "LIGHTING_COMMAND_DEFAULT_PRIORITY";
PropertyIdentifier2[PropertyIdentifier2["LIMIT_ENABLE"] = 52] = "LIMIT_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["LIMIT_MONITORING_INTERVAL"] = 182] = "LIMIT_MONITORING_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["LINK_SPEED"] = 420] = "LINK_SPEED";
PropertyIdentifier2[PropertyIdentifier2["LINK_SPEED_AUTONEGOTIATE"] = 422] = "LINK_SPEED_AUTONEGOTIATE";
PropertyIdentifier2[PropertyIdentifier2["LINK_SPEEDS"] = 421] = "LINK_SPEEDS";
PropertyIdentifier2[PropertyIdentifier2["LIST_OF_GROUP_MEMBERS"] = 53] = "LIST_OF_GROUP_MEMBERS";
PropertyIdentifier2[PropertyIdentifier2["LIST_OF_OBJECT_PROPERTY_REFERENCES"] = 54] = "LIST_OF_OBJECT_PROPERTY_REFERENCES";
PropertyIdentifier2[PropertyIdentifier2["LOCAL_DATE"] = 56] = "LOCAL_DATE";
PropertyIdentifier2[PropertyIdentifier2["LOCAL_FORWARDING_ONLY"] = 360] = "LOCAL_FORWARDING_ONLY";
PropertyIdentifier2[PropertyIdentifier2["LOCAL_TIME"] = 57] = "LOCAL_TIME";
PropertyIdentifier2[PropertyIdentifier2["LOCATION"] = 58] = "LOCATION";
PropertyIdentifier2[PropertyIdentifier2["LOCK_STATUS"] = 233] = "LOCK_STATUS";
PropertyIdentifier2[PropertyIdentifier2["LOCKOUT"] = 282] = "LOCKOUT";
PropertyIdentifier2[PropertyIdentifier2["LOCKOUT_RELINQUISH_TIME"] = 283] = "LOCKOUT_RELINQUISH_TIME";
PropertyIdentifier2[PropertyIdentifier2["LOG_BUFFER"] = 131] = "LOG_BUFFER";
PropertyIdentifier2[PropertyIdentifier2["LOG_DEVICE_OBJECT_PROPERTY"] = 132] = "LOG_DEVICE_OBJECT_PROPERTY";
PropertyIdentifier2[PropertyIdentifier2["LOG_INTERVAL"] = 134] = "LOG_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["LOGGING_OBJECT"] = 183] = "LOGGING_OBJECT";
PropertyIdentifier2[PropertyIdentifier2["LOGGING_RECORD"] = 184] = "LOGGING_RECORD";
PropertyIdentifier2[PropertyIdentifier2["LOGGING_TYPE"] = 197] = "LOGGING_TYPE";
PropertyIdentifier2[PropertyIdentifier2["LOW_DIFF_LIMIT"] = 390] = "LOW_DIFF_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["LOW_LIMIT"] = 59] = "LOW_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["LOWER_DECK"] = 473] = "LOWER_DECK";
PropertyIdentifier2[PropertyIdentifier2["MAC_ADDRESS"] = 423] = "MAC_ADDRESS";
PropertyIdentifier2[PropertyIdentifier2["MACHINE_ROOM_ID"] = 474] = "MACHINE_ROOM_ID";
PropertyIdentifier2[PropertyIdentifier2["MAINTENANCE_REQUIRED"] = 158] = "MAINTENANCE_REQUIRED";
PropertyIdentifier2[PropertyIdentifier2["MAKING_CAR_CALL"] = 475] = "MAKING_CAR_CALL";
PropertyIdentifier2[PropertyIdentifier2["MANIPULATED_VARIABLE_REFERENCE"] = 60] = "MANIPULATED_VARIABLE_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["MANUAL_SLAVE_ADDRESS_BINDING"] = 170] = "MANUAL_SLAVE_ADDRESS_BINDING";
PropertyIdentifier2[PropertyIdentifier2["MASKED_ALARM_VALUES"] = 234] = "MASKED_ALARM_VALUES";
PropertyIdentifier2[PropertyIdentifier2["MAX_ACTUAL_VALUE"] = 382] = "MAX_ACTUAL_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MAX_APDU_LENGTH_ACCEPTED"] = 62] = "MAX_APDU_LENGTH_ACCEPTED";
PropertyIdentifier2[PropertyIdentifier2["MAX_FAILED_ATTEMPTS"] = 285] = "MAX_FAILED_ATTEMPTS";
PropertyIdentifier2[PropertyIdentifier2["MAX_INFO_FRAMES"] = 63] = "MAX_INFO_FRAMES";
PropertyIdentifier2[PropertyIdentifier2["MAX_MASTER"] = 64] = "MAX_MASTER";
PropertyIdentifier2[PropertyIdentifier2["MAX_PRES_VALUE"] = 65] = "MAX_PRES_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MAX_SEGMENTS_ACCEPTED"] = 167] = "MAX_SEGMENTS_ACCEPTED";
PropertyIdentifier2[PropertyIdentifier2["MAXIMUM_OUTPUT"] = 61] = "MAXIMUM_OUTPUT";
PropertyIdentifier2[PropertyIdentifier2["MAXIMUM_VALUE"] = 135] = "MAXIMUM_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MAXIMUM_VALUE_TIMESTAMP"] = 149] = "MAXIMUM_VALUE_TIMESTAMP";
PropertyIdentifier2[PropertyIdentifier2["MEMBER_OF"] = 159] = "MEMBER_OF";
PropertyIdentifier2[PropertyIdentifier2["MEMBER_STATUS_FLAGS"] = 347] = "MEMBER_STATUS_FLAGS";
PropertyIdentifier2[PropertyIdentifier2["MEMBERS"] = 286] = "MEMBERS";
PropertyIdentifier2[PropertyIdentifier2["MIN_ACTUAL_VALUE"] = 383] = "MIN_ACTUAL_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MIN_PRES_VALUE"] = 69] = "MIN_PRES_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MINIMUM_OFF_TIME"] = 66] = "MINIMUM_OFF_TIME";
PropertyIdentifier2[PropertyIdentifier2["MINIMUM_ON_TIME"] = 67] = "MINIMUM_ON_TIME";
PropertyIdentifier2[PropertyIdentifier2["MINIMUM_OUTPUT"] = 68] = "MINIMUM_OUTPUT";
PropertyIdentifier2[PropertyIdentifier2["MINIMUM_VALUE"] = 136] = "MINIMUM_VALUE";
PropertyIdentifier2[PropertyIdentifier2["MINIMUM_VALUE_TIMESTAMP"] = 150] = "MINIMUM_VALUE_TIMESTAMP";
PropertyIdentifier2[PropertyIdentifier2["MODE"] = 160] = "MODE";
PropertyIdentifier2[PropertyIdentifier2["MODEL_NAME"] = 70] = "MODEL_NAME";
PropertyIdentifier2[PropertyIdentifier2["MODIFICATION_DATE"] = 71] = "MODIFICATION_DATE";
PropertyIdentifier2[PropertyIdentifier2["MUSTER_POINT"] = 287] = "MUSTER_POINT";
PropertyIdentifier2[PropertyIdentifier2["NEGATIVE_ACCESS_RULES"] = 288] = "NEGATIVE_ACCESS_RULES";
PropertyIdentifier2[PropertyIdentifier2["NETWORK_ACCESS_SECURITY_POLICIES"] = 332] = "NETWORK_ACCESS_SECURITY_POLICIES";
PropertyIdentifier2[PropertyIdentifier2["NETWORK_INTERFACE_NAME"] = 424] = "NETWORK_INTERFACE_NAME";
PropertyIdentifier2[PropertyIdentifier2["NETWORK_NUMBER"] = 425] = "NETWORK_NUMBER";
PropertyIdentifier2[PropertyIdentifier2["NETWORK_NUMBER_QUALITY"] = 426] = "NETWORK_NUMBER_QUALITY";
PropertyIdentifier2[PropertyIdentifier2["NETWORK_TYPE"] = 427] = "NETWORK_TYPE";
PropertyIdentifier2[PropertyIdentifier2["NEXT_STOPPING_FLOOR"] = 476] = "NEXT_STOPPING_FLOOR";
PropertyIdentifier2[PropertyIdentifier2["NODE_SUBTYPE"] = 207] = "NODE_SUBTYPE";
PropertyIdentifier2[PropertyIdentifier2["NODE_TYPE"] = 208] = "NODE_TYPE";
PropertyIdentifier2[PropertyIdentifier2["NOTIFICATION_CLASS"] = 17] = "NOTIFICATION_CLASS";
PropertyIdentifier2[PropertyIdentifier2["NOTIFICATION_THRESHOLD"] = 137] = "NOTIFICATION_THRESHOLD";
PropertyIdentifier2[PropertyIdentifier2["NOTIFY_TYPE"] = 72] = "NOTIFY_TYPE";
PropertyIdentifier2[PropertyIdentifier2["NUMBER_OF_APDU_RETRIES"] = 73] = "NUMBER_OF_APDU_RETRIES";
PropertyIdentifier2[PropertyIdentifier2["NUMBER_OF_AUTHENTICATION_POLICIES"] = 289] = "NUMBER_OF_AUTHENTICATION_POLICIES";
PropertyIdentifier2[PropertyIdentifier2["NUMBER_OF_STATES"] = 74] = "NUMBER_OF_STATES";
PropertyIdentifier2[PropertyIdentifier2["OBJECT_IDENTIFIER"] = 75] = "OBJECT_IDENTIFIER";
PropertyIdentifier2[PropertyIdentifier2["OBJECT_LIST"] = 76] = "OBJECT_LIST";
PropertyIdentifier2[PropertyIdentifier2["OBJECT_NAME"] = 77] = "OBJECT_NAME";
PropertyIdentifier2[PropertyIdentifier2["OBJECT_PROPERTY_REFERENCE"] = 78] = "OBJECT_PROPERTY_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["OBJECT_TYPE"] = 79] = "OBJECT_TYPE";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_COUNT"] = 290] = "OCCUPANCY_COUNT";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_COUNT_ADJUST"] = 291] = "OCCUPANCY_COUNT_ADJUST";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_COUNT_ENABLE"] = 292] = "OCCUPANCY_COUNT_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_LOWER_LIMIT"] = 294] = "OCCUPANCY_LOWER_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_LOWER_LIMIT_ENFORCED"] = 295] = "OCCUPANCY_LOWER_LIMIT_ENFORCED";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_STATE"] = 296] = "OCCUPANCY_STATE";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_UPPER_LIMIT"] = 297] = "OCCUPANCY_UPPER_LIMIT";
PropertyIdentifier2[PropertyIdentifier2["OCCUPANCY_UPPER_LIMIT_ENFORCED"] = 298] = "OCCUPANCY_UPPER_LIMIT_ENFORCED";
PropertyIdentifier2[PropertyIdentifier2["OPERATION_DIRECTION"] = 477] = "OPERATION_DIRECTION";
PropertyIdentifier2[PropertyIdentifier2["OPERATION_EXPECTED"] = 161] = "OPERATION_EXPECTED";
PropertyIdentifier2[PropertyIdentifier2["OPTIONAL"] = 80] = "OPTIONAL";
PropertyIdentifier2[PropertyIdentifier2["OUT_OF_SERVICE"] = 81] = "OUT_OF_SERVICE";
PropertyIdentifier2[PropertyIdentifier2["OUTPUT_UNITS"] = 82] = "OUTPUT_UNITS";
PropertyIdentifier2[PropertyIdentifier2["PACKET_REORDER_TIME"] = 333] = "PACKET_REORDER_TIME";
PropertyIdentifier2[PropertyIdentifier2["PASSBACK_MODE"] = 300] = "PASSBACK_MODE";
PropertyIdentifier2[PropertyIdentifier2["PASSBACK_TIMEOUT"] = 301] = "PASSBACK_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["PASSENGER_ALARM"] = 478] = "PASSENGER_ALARM";
PropertyIdentifier2[PropertyIdentifier2["POLARITY"] = 84] = "POLARITY";
PropertyIdentifier2[PropertyIdentifier2["PORT_FILTER"] = 363] = "PORT_FILTER";
PropertyIdentifier2[PropertyIdentifier2["POSITIVE_ACCESS_RULES"] = 302] = "POSITIVE_ACCESS_RULES";
PropertyIdentifier2[PropertyIdentifier2["POWER"] = 384] = "POWER";
PropertyIdentifier2[PropertyIdentifier2["POWER_MODE"] = 479] = "POWER_MODE";
PropertyIdentifier2[PropertyIdentifier2["PRESCALE"] = 185] = "PRESCALE";
PropertyIdentifier2[PropertyIdentifier2["PRESENT_VALUE"] = 85] = "PRESENT_VALUE";
PropertyIdentifier2[PropertyIdentifier2["PRIORITY"] = 86] = "PRIORITY";
PropertyIdentifier2[PropertyIdentifier2["PRIORITY_ARRAY"] = 87] = "PRIORITY_ARRAY";
PropertyIdentifier2[PropertyIdentifier2["PRIORITY_FOR_WRITING"] = 88] = "PRIORITY_FOR_WRITING";
PropertyIdentifier2[PropertyIdentifier2["PROCESS_IDENTIFIER"] = 89] = "PROCESS_IDENTIFIER";
PropertyIdentifier2[PropertyIdentifier2["PROCESS_IDENTIFIER_FILTER"] = 361] = "PROCESS_IDENTIFIER_FILTER";
PropertyIdentifier2[PropertyIdentifier2["PROFILE_LOCATION"] = 485] = "PROFILE_LOCATION";
PropertyIdentifier2[PropertyIdentifier2["PROFILE_NAME"] = 168] = "PROFILE_NAME";
PropertyIdentifier2[PropertyIdentifier2["PROGRAM_CHANGE"] = 90] = "PROGRAM_CHANGE";
PropertyIdentifier2[PropertyIdentifier2["PROGRAM_LOCATION"] = 91] = "PROGRAM_LOCATION";
PropertyIdentifier2[PropertyIdentifier2["PROGRAM_STATE"] = 92] = "PROGRAM_STATE";
PropertyIdentifier2[PropertyIdentifier2["PROPERTY_LIST"] = 371] = "PROPERTY_LIST";
PropertyIdentifier2[PropertyIdentifier2["PROPORTIONAL_CONSTANT"] = 93] = "PROPORTIONAL_CONSTANT";
PropertyIdentifier2[PropertyIdentifier2["PROPORTIONAL_CONSTANT_UNITS"] = 94] = "PROPORTIONAL_CONSTANT_UNITS";
PropertyIdentifier2[PropertyIdentifier2["PROTOCOL_LEVEL"] = 482] = "PROTOCOL_LEVEL";
PropertyIdentifier2[PropertyIdentifier2["PROTOCOL_OBJECT_TYPES_SUPPORTED"] = 96] = "PROTOCOL_OBJECT_TYPES_SUPPORTED";
PropertyIdentifier2[PropertyIdentifier2["PROTOCOL_REVISION"] = 139] = "PROTOCOL_REVISION";
PropertyIdentifier2[PropertyIdentifier2["PROTOCOL_SERVICES_SUPPORTED"] = 97] = "PROTOCOL_SERVICES_SUPPORTED";
PropertyIdentifier2[PropertyIdentifier2["PROTOCOL_VERSION"] = 98] = "PROTOCOL_VERSION";
PropertyIdentifier2[PropertyIdentifier2["PULSE_RATE"] = 186] = "PULSE_RATE";
PropertyIdentifier2[PropertyIdentifier2["READ_ONLY"] = 99] = "READ_ONLY";
PropertyIdentifier2[PropertyIdentifier2["REASON_FOR_DISABLE"] = 303] = "REASON_FOR_DISABLE";
PropertyIdentifier2[PropertyIdentifier2["REASON_FOR_HALT"] = 100] = "REASON_FOR_HALT";
PropertyIdentifier2[PropertyIdentifier2["RECIPIENT_LIST"] = 102] = "RECIPIENT_LIST";
PropertyIdentifier2[PropertyIdentifier2["RECORD_COUNT"] = 141] = "RECORD_COUNT";
PropertyIdentifier2[PropertyIdentifier2["RECORDS_SINCE_NOTIFICATION"] = 140] = "RECORDS_SINCE_NOTIFICATION";
PropertyIdentifier2[PropertyIdentifier2["REFERENCE_PORT"] = 483] = "REFERENCE_PORT";
PropertyIdentifier2[PropertyIdentifier2["REGISTERED_CAR_CALL"] = 480] = "REGISTERED_CAR_CALL";
PropertyIdentifier2[PropertyIdentifier2["RELIABILITY"] = 103] = "RELIABILITY";
PropertyIdentifier2[PropertyIdentifier2["RELIABILITY_EVALUATION_INHIBIT"] = 357] = "RELIABILITY_EVALUATION_INHIBIT";
PropertyIdentifier2[PropertyIdentifier2["RELINQUISH_DEFAULT"] = 104] = "RELINQUISH_DEFAULT";
PropertyIdentifier2[PropertyIdentifier2["REPRESENTS"] = 491] = "REPRESENTS";
PropertyIdentifier2[PropertyIdentifier2["REQUESTED_SHED_LEVEL"] = 218] = "REQUESTED_SHED_LEVEL";
PropertyIdentifier2[PropertyIdentifier2["REQUESTED_UPDATE_INTERVAL"] = 348] = "REQUESTED_UPDATE_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["REQUIRED"] = 105] = "REQUIRED";
PropertyIdentifier2[PropertyIdentifier2["RESOLUTION"] = 106] = "RESOLUTION";
PropertyIdentifier2[PropertyIdentifier2["RESTART_NOTIFICATION_RECIPIENTS"] = 202] = "RESTART_NOTIFICATION_RECIPIENTS";
PropertyIdentifier2[PropertyIdentifier2["RESTORE_COMPLETION_TIME"] = 340] = "RESTORE_COMPLETION_TIME";
PropertyIdentifier2[PropertyIdentifier2["RESTORE_PREPARATION_TIME"] = 341] = "RESTORE_PREPARATION_TIME";
PropertyIdentifier2[PropertyIdentifier2["ROUTING_TABLE"] = 428] = "ROUTING_TABLE";
PropertyIdentifier2[PropertyIdentifier2["SCALE"] = 187] = "SCALE";
PropertyIdentifier2[PropertyIdentifier2["SCALE_FACTOR"] = 188] = "SCALE_FACTOR";
PropertyIdentifier2[PropertyIdentifier2["SCHEDULE_DEFAULT"] = 174] = "SCHEDULE_DEFAULT";
PropertyIdentifier2[PropertyIdentifier2["SECURED_STATUS"] = 235] = "SECURED_STATUS";
PropertyIdentifier2[PropertyIdentifier2["SECURITY_PDU_TIMEOUT"] = 334] = "SECURITY_PDU_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["SECURITY_TIME_WINDOW"] = 335] = "SECURITY_TIME_WINDOW";
PropertyIdentifier2[PropertyIdentifier2["SEGMENTATION_SUPPORTED"] = 107] = "SEGMENTATION_SUPPORTED";
PropertyIdentifier2[PropertyIdentifier2["SERIAL_NUMBER"] = 372] = "SERIAL_NUMBER";
PropertyIdentifier2[PropertyIdentifier2["SETPOINT"] = 108] = "SETPOINT";
PropertyIdentifier2[PropertyIdentifier2["SETPOINT_REFERENCE"] = 109] = "SETPOINT_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["SETTING"] = 162] = "SETTING";
PropertyIdentifier2[PropertyIdentifier2["SHED_DURATION"] = 219] = "SHED_DURATION";
PropertyIdentifier2[PropertyIdentifier2["SHED_LEVEL_DESCRIPTIONS"] = 220] = "SHED_LEVEL_DESCRIPTIONS";
PropertyIdentifier2[PropertyIdentifier2["SHED_LEVELS"] = 221] = "SHED_LEVELS";
PropertyIdentifier2[PropertyIdentifier2["SILENCED"] = 163] = "SILENCED";
PropertyIdentifier2[PropertyIdentifier2["SLAVE_ADDRESS_BINDING"] = 171] = "SLAVE_ADDRESS_BINDING";
PropertyIdentifier2[PropertyIdentifier2["SLAVE_PROXY_ENABLE"] = 172] = "SLAVE_PROXY_ENABLE";
PropertyIdentifier2[PropertyIdentifier2["START_TIME"] = 142] = "START_TIME";
PropertyIdentifier2[PropertyIdentifier2["STATE_CHANGE_VALUES"] = 396] = "STATE_CHANGE_VALUES";
PropertyIdentifier2[PropertyIdentifier2["STATE_DESCRIPTION"] = 222] = "STATE_DESCRIPTION";
PropertyIdentifier2[PropertyIdentifier2["STATE_TEXT"] = 110] = "STATE_TEXT";
PropertyIdentifier2[PropertyIdentifier2["STATUS_FLAGS"] = 111] = "STATUS_FLAGS";
PropertyIdentifier2[PropertyIdentifier2["STOP_TIME"] = 143] = "STOP_TIME";
PropertyIdentifier2[PropertyIdentifier2["STOP_WHEN_FULL"] = 144] = "STOP_WHEN_FULL";
PropertyIdentifier2[PropertyIdentifier2["STRIKE_COUNT"] = 391] = "STRIKE_COUNT";
PropertyIdentifier2[PropertyIdentifier2["STRUCTURED_OBJECT_LIST"] = 209] = "STRUCTURED_OBJECT_LIST";
PropertyIdentifier2[PropertyIdentifier2["SUBORDINATE_ANNOTATIONS"] = 210] = "SUBORDINATE_ANNOTATIONS";
PropertyIdentifier2[PropertyIdentifier2["SUBORDINATE_LIST"] = 211] = "SUBORDINATE_LIST";
PropertyIdentifier2[PropertyIdentifier2["SUBORDINATE_NODE_TYPES"] = 487] = "SUBORDINATE_NODE_TYPES";
PropertyIdentifier2[PropertyIdentifier2["SUBORDINATE_RELATIONSHIPS"] = 489] = "SUBORDINATE_RELATIONSHIPS";
PropertyIdentifier2[PropertyIdentifier2["SUBORDINATE_TAGS"] = 488] = "SUBORDINATE_TAGS";
PropertyIdentifier2[PropertyIdentifier2["SUBSCRIBED_RECIPIENTS"] = 362] = "SUBSCRIBED_RECIPIENTS";
PropertyIdentifier2[PropertyIdentifier2["SUPPORTED_FORMAT_CLASSES"] = 305] = "SUPPORTED_FORMAT_CLASSES";
PropertyIdentifier2[PropertyIdentifier2["SUPPORTED_FORMATS"] = 304] = "SUPPORTED_FORMATS";
PropertyIdentifier2[PropertyIdentifier2["SUPPORTED_SECURITY_ALGORITHMS"] = 336] = "SUPPORTED_SECURITY_ALGORITHMS";
PropertyIdentifier2[PropertyIdentifier2["SYSTEM_STATUS"] = 112] = "SYSTEM_STATUS";
PropertyIdentifier2[PropertyIdentifier2["TAGS"] = 486] = "TAGS";
PropertyIdentifier2[PropertyIdentifier2["THREAT_AUTHORITY"] = 306] = "THREAT_AUTHORITY";
PropertyIdentifier2[PropertyIdentifier2["THREAT_LEVEL"] = 307] = "THREAT_LEVEL";
PropertyIdentifier2[PropertyIdentifier2["TIME_DELAY"] = 113] = "TIME_DELAY";
PropertyIdentifier2[PropertyIdentifier2["TIME_DELAY_NORMAL"] = 356] = "TIME_DELAY_NORMAL";
PropertyIdentifier2[PropertyIdentifier2["TIME_OF_ACTIVE_TIME_RESET"] = 114] = "TIME_OF_ACTIVE_TIME_RESET";
PropertyIdentifier2[PropertyIdentifier2["TIME_OF_DEVICE_RESTART"] = 203] = "TIME_OF_DEVICE_RESTART";
PropertyIdentifier2[PropertyIdentifier2["TIME_OF_STATE_COUNT_RESET"] = 115] = "TIME_OF_STATE_COUNT_RESET";
PropertyIdentifier2[PropertyIdentifier2["TIME_OF_STRIKE_COUNT_RESET"] = 392] = "TIME_OF_STRIKE_COUNT_RESET";
PropertyIdentifier2[PropertyIdentifier2["TIME_SYNCHRONIZATION_INTERVAL"] = 204] = "TIME_SYNCHRONIZATION_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["TIME_SYNCHRONIZATION_RECIPIENTS"] = 116] = "TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier2[PropertyIdentifier2["TIMER_RUNNING"] = 397] = "TIMER_RUNNING";
PropertyIdentifier2[PropertyIdentifier2["TIMER_STATE"] = 398] = "TIMER_STATE";
PropertyIdentifier2[PropertyIdentifier2["TOTAL_RECORD_COUNT"] = 145] = "TOTAL_RECORD_COUNT";
PropertyIdentifier2[PropertyIdentifier2["TRACE_FLAG"] = 308] = "TRACE_FLAG";
PropertyIdentifier2[PropertyIdentifier2["TRACKING_VALUE"] = 164] = "TRACKING_VALUE";
PropertyIdentifier2[PropertyIdentifier2["TRANSACTION_NOTIFICATION_CLASS"] = 309] = "TRANSACTION_NOTIFICATION_CLASS";
PropertyIdentifier2[PropertyIdentifier2["TRANSITION"] = 385] = "TRANSITION";
PropertyIdentifier2[PropertyIdentifier2["TRIGGER"] = 205] = "TRIGGER";
PropertyIdentifier2[PropertyIdentifier2["UNITS"] = 117] = "UNITS";
PropertyIdentifier2[PropertyIdentifier2["UPDATE_INTERVAL"] = 118] = "UPDATE_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["UPDATE_KEY_SET_TIMEOUT"] = 337] = "UPDATE_KEY_SET_TIMEOUT";
PropertyIdentifier2[PropertyIdentifier2["UPDATE_TIME"] = 189] = "UPDATE_TIME";
PropertyIdentifier2[PropertyIdentifier2["USER_EXTERNAL_IDENTIFIER"] = 310] = "USER_EXTERNAL_IDENTIFIER";
PropertyIdentifier2[PropertyIdentifier2["USER_INFORMATION_REFERENCE"] = 311] = "USER_INFORMATION_REFERENCE";
PropertyIdentifier2[PropertyIdentifier2["USER_NAME"] = 317] = "USER_NAME";
PropertyIdentifier2[PropertyIdentifier2["USER_TYPE"] = 318] = "USER_TYPE";
PropertyIdentifier2[PropertyIdentifier2["USES_REMAINING"] = 319] = "USES_REMAINING";
PropertyIdentifier2[PropertyIdentifier2["UTC_OFFSET"] = 119] = "UTC_OFFSET";
PropertyIdentifier2[PropertyIdentifier2["UTC_TIME_SYNCHRONIZATION_RECIPIENTS"] = 206] = "UTC_TIME_SYNCHRONIZATION_RECIPIENTS";
PropertyIdentifier2[PropertyIdentifier2["VALID_SAMPLES"] = 146] = "VALID_SAMPLES";
PropertyIdentifier2[PropertyIdentifier2["VALUE_BEFORE_CHANGE"] = 190] = "VALUE_BEFORE_CHANGE";
PropertyIdentifier2[PropertyIdentifier2["VALUE_CHANGE_TIME"] = 192] = "VALUE_CHANGE_TIME";
PropertyIdentifier2[PropertyIdentifier2["VALUE_SET"] = 191] = "VALUE_SET";
PropertyIdentifier2[PropertyIdentifier2["VALUE_SOURCE"] = 433] = "VALUE_SOURCE";
PropertyIdentifier2[PropertyIdentifier2["VALUE_SOURCE_ARRAY"] = 434] = "VALUE_SOURCE_ARRAY";
PropertyIdentifier2[PropertyIdentifier2["VARIANCE_VALUE"] = 151] = "VARIANCE_VALUE";
PropertyIdentifier2[PropertyIdentifier2["VENDOR_IDENTIFIER"] = 120] = "VENDOR_IDENTIFIER";
PropertyIdentifier2[PropertyIdentifier2["VENDOR_NAME"] = 121] = "VENDOR_NAME";
PropertyIdentifier2[PropertyIdentifier2["VERIFICATION_TIME"] = 326] = "VERIFICATION_TIME";
PropertyIdentifier2[PropertyIdentifier2["VIRTUAL_MAC_ADDRESS_TABLE"] = 429] = "VIRTUAL_MAC_ADDRESS_TABLE";
PropertyIdentifier2[PropertyIdentifier2["VT_CLASSES_SUPPORTED"] = 122] = "VT_CLASSES_SUPPORTED";
PropertyIdentifier2[PropertyIdentifier2["WEEKLY_SCHEDULE"] = 123] = "WEEKLY_SCHEDULE";
PropertyIdentifier2[PropertyIdentifier2["WINDOW_INTERVAL"] = 147] = "WINDOW_INTERVAL";
PropertyIdentifier2[PropertyIdentifier2["WINDOW_SAMPLES"] = 148] = "WINDOW_SAMPLES";
PropertyIdentifier2[PropertyIdentifier2["WRITE_STATUS"] = 370] = "WRITE_STATUS";
PropertyIdentifier2[PropertyIdentifier2["ZONE_FROM"] = 320] = "ZONE_FROM";
PropertyIdentifier2[PropertyIdentifier2["ZONE_MEMBERS"] = 165] = "ZONE_MEMBERS";
PropertyIdentifier2[PropertyIdentifier2["ZONE_TO"] = 321] = "ZONE_TO";
return PropertyIdentifier2;
})(PropertyIdentifier || {});
var ProtocolLevel = /* @__PURE__ */ ((ProtocolLevel2) => {
ProtocolLevel2[ProtocolLevel2["PHYSICAL"] = 0] = "PHYSICAL";
ProtocolLevel2[ProtocolLevel2["PROTOCOL"] = 1] = "PROTOCOL";
ProtocolLevel2[ProtocolLevel2["BACNET_APPLICATION"] = 2] = "BACNET_APPLICATION";
ProtocolLevel2[ProtocolLevel2["NON_BACNET_APPLICATION"] = 3] = "NON_BACNET_APPLICATION";
return ProtocolLevel2;
})(ProtocolLevel || {});
var Relationship = /* @__PURE__ */ ((Relationship2) => {
Relationship2[Relationship2["UNKNOWN"] = 0] = "UNKNOWN";
Relationship2[Relationship2["DEFAULT"] = 1] = "DEFAULT";
Relationship2[Relationship2["CONTAINS"] = 2] = "CONTAINS";
Relationship2[Relationship2["CONTAINED_BY"] = 3] = "CONTAINED_BY";
Relationship2[Relationship2["USES"] = 4] = "USES";
Relationship2[Relationship2["USED_BY"] = 5] = "USED_BY";
Relationship2[Relationship2["COMMANDS"] = 6] = "COMMANDS";
Relationship2[Relationship2["COMMANDED_BY"] = 7] = "COMMANDED_BY";
Relationship2[Relationship2["ADJUSTS"] = 8] = "ADJUSTS";
Relationship2[Relationship2["ADJUSTED_BY"] = 9] = "ADJUSTED_BY";
Relationship2[Relationship2["INGRESS"] = 10] = "INGRESS";
Relationship2[Relationship2["EGRESS"] = 11] = "EGRESS";
Relationship2[Relationship2["SUPPLIES_AIR"] = 12] = "SUPPLIES_AIR";
Relationship2[Relationship2["RECEIVES_AIR"] = 13] = "RECEIVES_AIR";
Relationship2[Relationship2["SUPPLIES_HOT_AIR"] = 14] = "SUPPLIES_HOT_AIR";
Relationship2[Relationship2["RECEIVES_HOT_AIR"] = 15] = "RECEIVES_HOT_AIR";
Relationship2[Relationship2["SUPPLIES_COOL_AIR"] = 16] = "SUPPLIES_COOL_AIR";
Relationship2[Relationship2["RECEIVES_COOL_AIR"] = 17] = "RECEIVES_COOL_AIR";
Relationship2[Relationship2["SUPPLIES_POWER"] = 18] = "SUPPLIES_POWER";
Relationship2[Relationship2["RECEIVES_POWER"] = 19] = "RECEIVES_POWER";
Relationship2[Relationship2["SUPPLIES_GAS"] = 20] = "SUPPLIES_GAS";
Relationship2[Relationship2["RECEIVES_GAS"] = 21] = "RECEIVES_GAS";
Relationship2[Relationship2["SUPPLIES_WATER"] = 22] = "SUPPLIES_WATER";
Relationship2[Relationship2["RECEIVES_WATER"] = 23] = "RECEIVES_WATER";
Relationship2[Relationship2["SUPPLIES_HOT_WATER"] = 24] = "SUPPLIES_HOT_WATER";
Relationship2[Relationship2["RECEIVES_HOT_WATER"] = 25] = "RECEIVES_HOT_WATER";
Relationship2[Relationship2["SUPPLIES_COOL_WATER"] = 26] = "SUPPLIES_COOL_WATER";
Relationship2[Relationship2["RECEIVES_COOL_WATER"] = 27] = "RECEIVES_COOL_WATER";
Relationship2[Relationship2["SUPPLIES_STEAM"] = 28] = "SUPPLIES_STEAM";
Relationship2[Relationship2["RECEIVES_STEAM"] = 29] = "RECEIVES_STEAM";
return Relationship2;
})(Relationship || {});
var Reliability = /* @__PURE__ */ ((Reliability2) => {
Reliability2[Reliability2["NO_FAULT_DETECTED"] = 0] = "NO_FAULT_DETECTED";
Reliability2[Reliability2["NO_SENSOR"] = 1] = "NO_SENSOR";
Reliability2[Reliability2["OVER_RANGE"] = 2] = "OVER_RANGE";
Reliability2[Reliability2["UNDER_RANGE"] = 3] = "UNDER_RANGE";
Reliability2[Reliability2["OPEN_LOOP"] = 4] = "OPEN_LOOP";
Reliability2[Reliability2["SHORTED_LOOP"] = 5] = "SHORTED_LOOP";
Reliability2[Reliability2["NO_OUTPUT"] = 6] = "NO_OUTPUT";
Reliability2[Reliability2["UNRELIABLE_OTHER"] = 7] = "UNRELIABLE_OTHER";
Reliability2[Reliability2["PROCESS_ERROR"] = 8] = "PROCESS_ERROR";
Reliability2[Reliability2["MULTI_STATE_FAULT"] = 9] = "MULTI_STATE_FAULT";
Reliability2[Reliability2["CONFIGURATION_ERROR"] = 10] = "CONFIGURATION_ERROR";
Reliability2[Reliability2["COMMUNICATION_FAILURE"] = 12] = "COMMUNICATION_FAILURE";
Reliability2[Reliability2["MEMBER_FAULT"] = 13] = "MEMBER_FAULT";
Reliability2[Reliability2["MONITORED_OBJECT_FAULT"] = 14] = "MONITORED_OBJECT_FAULT";
Reliability2[Reliability2["TRIPPED"] = 15] = "TRIPPED";
Reliability2[Reliability2["LAMP_FAILURE"] = 16] = "LAMP_FAILURE";
Reliability2[Reliability2["ACTIVATION_FAILURE"] = 17] = "ACTIVATION_FAILURE";
Reliability2[Reliability2["RENEW_DHCP_FAILURE"] = 18] = "RENEW_DHCP_FAILURE";
Reliability2[Reliability2["RENEW_FD_REGISTRATION_FAILURE"] = 19] = "RENEW_FD_REGISTRATION_FAILURE";
Reliability2[Reliability2["RESTART_AUTO_NEGOTIATION_FAILURE"] = 20] = "RESTART_AUTO_NEGOTIATION_FAILURE";
Reliability2[Reliability2["RESTART_FAILURE"] = 21] = "RESTART_FAILURE";
Reliability2[Reliability2["PROPRIETARY_COMMAND_FAILURE"] = 22] = "PROPRIETARY_COMMAND_FAILURE";
Reliability2[Reliability2["FAULTS_LISTED"] = 23] = "FAULTS_LISTED";
Reliability2[Reliability2["REFERENCED_OBJECT_FAULT"] = 24] = "REFERENCED_OBJECT_FAULT";
return Reliability2;
})(Reliability || {});
var RestartReason = /* @__PURE__ */ ((RestartReason2) => {
RestartReason2[RestartReason2["UNKNOWN"] = 0] = "UNKNOWN";
RestartReason2[RestartReason2["COLDSTART"] = 1] = "COLDSTART";
RestartReason2[RestartReason2["WARMSTART"] = 2] = "WARMSTART";
RestartReason2[RestartReason2["DETECTED_POWER_LOST"] = 3] = "DETECTED_POWER_LOST";
RestartReason2[RestartReason2["DETECTED_POWERED_OFF"] = 4] = "DETECTED_POWERED_OFF";
RestartReason2[RestartReason2["HARDWARE_WATCHDOG"] = 5] = "HARDWARE_WATCHDOG";
RestartReason2[RestartReason2["SOFTWARE_WATCHDOG"] = 6] = "SOFTWARE_WATCHDOG";
RestartReason2[RestartReason2["SUSPENDED"] = 7] = "SUSPENDED";
RestartReason2[RestartReason2["ACTIVATE_CHANGES"] = 8] = "ACTIVATE_CHANGES";
return RestartReason2;
})(RestartReason || {});
var SecurityLevel = /* @__PURE__ */ ((SecurityLevel2) => {
SecurityLevel2[SecurityLevel2["INCAPABLE"] = 0] = "INCAPABLE";
SecurityLevel2[SecurityLevel2["PLAIN"] = 1] = "PLAIN";
SecurityLevel2[SecurityLevel2["SIGNED"] = 2] = "SIGNED";
SecurityLevel2[SecurityLevel2["ENCRYPTED"] = 3] = "ENCRYPTED";
SecurityLevel2[SecurityLevel2["SIGNED_END_TO_END"] = 4] = "SIGNED_END_TO_END";
SecurityLevel2[SecurityLevel2["ENCRYPTED_END_TO_END"] = 5] = "ENCRYPTED_END_TO_END";
return SecurityLevel2;
})(SecurityLevel || {});
var SecurityPolicy = /* @__PURE__ */ ((SecurityPolicy2) => {
SecurityPolicy2[SecurityPolicy2["PLAIN_NON_TRUSTED"] = 0] = "PLAIN_NON_TRUSTED";
SecurityPolicy2[SecurityPolicy2["PLAIN_TRUSTED"] = 1] = "PLAIN_TRUSTED";
SecurityPolicy2[SecurityPolicy2["SIGNED_TRUSTED"] = 2] = "SIGNED_TRUSTED";
SecurityPolicy2[SecurityPolicy2["ENCRYPTED_TRUSTED"] = 3] = "ENCRYPTED_TRUSTED";
return SecurityPolicy2;
})(SecurityPolicy || {});
var Segmentation = /* @__PURE__ */ ((Segmentation2) => {
Segmentation2[Segmentation2["SEGMENTED_BOTH"] = 0] = "SEGMENTED_BOTH";
Segmentation2[Segmentation2["SEGMENTED_TRANSMIT"] = 1] = "SEGMENTED_TRANSMIT";
Segmentation2[Segmentation2["SEGMENTED_RECEIVE"] = 2] = "SEGMENTED_RECEIVE";
Segmentation2[Segmentation2["NO_SEGMENTATION"] = 3] = "NO_SEGMENTATION";
return Segmentation2;
})(Segmentation || {});
var ShedState = /* @__PURE__ */ ((ShedState2) => {
ShedState2[ShedState2["SHED_INACTIVE"] = 0] = "SHED_INACTIVE";
ShedState2[ShedState2["SHED_REQUEST_PENDING"] = 1] = "SHED_REQUEST_PENDING";
ShedState2[ShedState2["SHED_COMPLIANT"] = 2] = "SHED_COMPLIANT";
ShedState2[ShedState2["SHED_NON_COMPLIANT"] = 3] = "SHED_NON_COMPLIANT";
return ShedState2;
})(ShedState || {});
var SilencedState = /* @__PURE__ */ ((SilencedState2) => {
SilencedState2[SilencedState2["UNSILENCED"] = 0] = "UNSILENCED";
SilencedState2[SilencedState2["AUDIBLE_SILENCED"] = 1] = "AUDIBLE_SILENCED";
SilencedState2[SilencedState2["VISIBLE_SILENCED"] = 2] = "VISIBLE_SILENCED";
SilencedState2[SilencedState2["ALL_SILENCED"] = 3] = "ALL_SILENCED";
return SilencedState2;
})(SilencedState || {});
var TimerState = /* @__PURE__ */ ((TimerState2) => {
TimerState2[TimerState2["IDLE"] = 0] = "IDLE";
TimerState2[TimerState2["RUNNING"] = 1] = "RUNNING";
TimerState2[TimerState2["EXPIRED"] = 2] = "EXPIRED";
return TimerState2;
})(TimerState || {});
var TimerTransition = /* @__PURE__ */ ((TimerTransition2) => {
TimerTransition2[TimerTransition2["NONE"] = 0] = "NONE";
TimerTransition2[TimerTransition2["IDLE_TO_RUNNING"] = 1] = "IDLE_TO_RUNNING";
TimerTransition2[TimerTransition2["RUNNING_TO_IDLE"] = 2] = "RUNNING_TO_IDLE";
TimerTransition2[TimerTransition2["RUNNING_TO_RUNNING"] = 3] = "RUNNING_TO_RUNNING";
TimerTransition2[TimerTransition2["RUNNING_TO_EXPIRED"] = 4] = "RUNNING_TO_EXPIRED";
TimerTransition2[TimerTransition2["FORCED_TO_EXPIRED"] = 5] = "FORCED_TO_EXPIRED";
TimerTransition2[TimerTransition2["EXPIRED_TO_IDLE"] = 6] = "EXPIRED_TO_IDLE";
TimerTransition2[TimerTransition2["EXPIRED_TO_RUNNING"] = 7] = "EXPIRED_TO_RUNNING";
return TimerTransition2;
})(TimerTransition || {});
var VTClass = /* @__PURE__ */ ((VTClass2) => {
VTClass2[VTClass2["DEFAULT_TERMINAL"] = 0] = "DEFAULT_TERMINAL";
VTClass2[VTClass2["ANSI_X3_64"] = 1] = "ANSI_X3_64";
VTClass2[VTClass2["DEC_VT52"] = 2] = "DEC_VT52";
VTClass2[VTClass2["DEC_VT100"] = 3] = "DEC_VT100";
VTClass2[VTClass2["DEC_VT220"] = 4] = "DEC_VT220";
VTClass2[VTClass2["HP_700_94"] = 5] = "HP_700_94";
VTClass2[VTClass2["IBM_3130"] = 6] = "IBM_3130";
return VTClass2;
})(VTClass || {});
var WriteStatus = /* @__PURE__ */ ((WriteStatus2) => {
WriteStatus2[WriteStatus2["IDLE"] = 0] = "IDLE";
WriteStatus2[WriteStatus2["IN_PROGRESS"] = 1] = "IN_PROGRESS";
WriteStatus2[WriteStatus2["SUCCESSFUL"] = 2] = "SUCCESSFUL";
WriteStatus2[WriteStatus2["FAILED"] = 3] = "FAILED";
return WriteStatus2;
})(WriteStatus || {});
var DaysOfWeek = /* @__PURE__ */ ((DaysOfWeek2) => {
DaysOfWeek2[DaysOfWeek2["MONDAY"] = 0] = "MONDAY";
DaysOfWeek2[DaysOfWeek2["TUESDAY"] = 1] = "TUESDAY";
DaysOfWeek2[DaysOfWeek2["WEDNESDAY"] = 2] = "WEDNESDAY";
DaysOfWeek2[DaysOfWeek2["THURSDAY"] = 3] = "THURSDAY";
DaysOfWeek2[DaysOfWeek2["FRIDAY"] = 4] = "FRIDAY";
DaysOfWeek2[DaysOfWeek2["SATURDAY"] = 5] = "SATURDAY";
DaysOfWeek2[DaysOfWeek2["SUNDAY"] = 6] = "SUNDAY";
return DaysOfWeek2;
})(DaysOfWeek || {});
var EventTransitionBits = /* @__PURE__ */ ((EventTransitionBits2) => {
EventTransitionBits2[EventTransitionBits2["TO_OFFNORMAL"] = 0] = "TO_OFFNORMAL";
EventTransitionBits2[EventTransitionBits2["TO_FAULT"] = 1] = "TO_FAULT";
EventTransitionBits2[EventTransitionBits2["TO_NORMAL"] = 2] = "TO_NORMAL";
return EventTransitionBits2;
})(EventTransitionBits || {});
var LimitEnable = /* @__PURE__ */ ((LimitEnable2) => {
LimitEnable2[LimitEnable2["LOW_LIMIT_ENABLE"] = 0] = "LOW_LIMIT_ENABLE";
LimitEnable2[LimitEnable2["HIGH_LIMIT_ENABLE"] = 1] = "HIGH_LIMIT_ENABLE";
return LimitEnable2;
})(LimitEnable || {});
var LogStatus = /* @__PURE__ */ ((LogStatus2) => {
LogStatus2[LogStatus2["LOG_DISABLED"] = 0] = "LOG_DISABLED";
LogStatus2[LogStatus2["BUFFER_PURGED"] = 1] = "BUFFER_PURGED";
LogStatus2[LogStatus2["LOG_INTERRUPTED"] = 2] = "LOG_INTERRUPTED";
return LogStatus2;
})(LogStatus || {});
var ObjectTypesSupported = /* @__PURE__ */ ((ObjectTypesSupported2) => {
ObjectTypesSupported2[ObjectTypesSupported2["ANALOG_INPUT"] = 0] = "ANALOG_INPUT";
ObjectTypesSupported2[ObjectTypesSupported2["ANALOG_OUTPUT"] = 1] = "ANALOG_OUTPUT";
ObjectTypesSupported2[ObjectTypesSupported2["ANALOG_VALUE"] = 2] = "ANALOG_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["BINARY_INPUT"] = 3] = "BINARY_INPUT";
ObjectTypesSupported2[ObjectTypesSupported2["BINARY_OUTPUT"] = 4] = "BINARY_OUTPUT";
ObjectTypesSupported2[ObjectTypesSupported2["BINARY_VALUE"] = 5] = "BINARY_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["CALENDAR"] = 6] = "CALENDAR";
ObjectTypesSupported2[ObjectTypesSupported2["COMMAND"] = 7] = "COMMAND";
ObjectTypesSupported2[ObjectTypesSupported2["DEVICE"] = 8] = "DEVICE";
ObjectTypesSupported2[ObjectTypesSupported2["EVENT_ENROLLMENT"] = 9] = "EVENT_ENROLLMENT";
ObjectTypesSupported2[ObjectTypesSupported2["FILE"] = 10] = "FILE";
ObjectTypesSupported2[ObjectTypesSupported2["GROUP"] = 11] = "GROUP";
ObjectTypesSupported2[ObjectTypesSupported2["LOOP"] = 12] = "LOOP";
ObjectTypesSupported2[ObjectTypesSupported2["MULTI_STATE_INPUT"] = 13] = "MULTI_STATE_INPUT";
ObjectTypesSupported2[ObjectTypesSupported2["MULTI_STATE_OUTPUT"] = 14] = "MULTI_STATE_OUTPUT";
ObjectTypesSupported2[ObjectTypesSupported2["NOTIFICATION_CLASS"] = 15] = "NOTIFICATION_CLASS";
ObjectTypesSupported2[ObjectTypesSupported2["PROGRAM"] = 16] = "PROGRAM";
ObjectTypesSupported2[ObjectTypesSupported2["SCHEDULE"] = 17] = "SCHEDULE";
ObjectTypesSupported2[ObjectTypesSupported2["AVERAGING"] = 18] = "AVERAGING";
ObjectTypesSupported2[ObjectTypesSupported2["MULTI_STATE_VALUE"] = 19] = "MULTI_STATE_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["TREND_LOG"] = 20] = "TREND_LOG";
ObjectTypesSupported2[ObjectTypesSupported2["LIFE_SAFETY_POINT"] = 21] = "LIFE_SAFETY_POINT";
ObjectTypesSupported2[ObjectTypesSupported2["LIFE_SAFETY_ZONE"] = 22] = "LIFE_SAFETY_ZONE";
ObjectTypesSupported2[ObjectTypesSupported2["ACCUMULATOR"] = 23] = "ACCUMULATOR";
ObjectTypesSupported2[ObjectTypesSupported2["PULSE_CONVERTER"] = 24] = "PULSE_CONVERTER";
ObjectTypesSupported2[ObjectTypesSupported2["EVENT_LOG"] = 25] = "EVENT_LOG";
ObjectTypesSupported2[ObjectTypesSupported2["GLOBAL_GROUP"] = 26] = "GLOBAL_GROUP";
ObjectTypesSupported2[ObjectTypesSupported2["TREND_LOG_MULTIPLE"] = 27] = "TREND_LOG_MULTIPLE";
ObjectTypesSupported2[ObjectTypesSupported2["LOAD_CONTROL"] = 28] = "LOAD_CONTROL";
ObjectTypesSupported2[ObjectTypesSupported2["STRUCTURED_VIEW"] = 29] = "STRUCTURED_VIEW";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_DOOR"] = 30] = "ACCESS_DOOR";
ObjectTypesSupported2[ObjectTypesSupported2["TIMER"] = 31] = "TIMER";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_CREDENTIAL"] = 32] = "ACCESS_CREDENTIAL";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_POINT"] = 33] = "ACCESS_POINT";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_RIGHTS"] = 34] = "ACCESS_RIGHTS";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_USER"] = 35] = "ACCESS_USER";
ObjectTypesSupported2[ObjectTypesSupported2["ACCESS_ZONE"] = 36] = "ACCESS_ZONE";
ObjectTypesSupported2[ObjectTypesSupported2["CREDENTIAL_DATA_INPUT"] = 37] = "CREDENTIAL_DATA_INPUT";
ObjectTypesSupported2[ObjectTypesSupported2["NETWORK_SECURITY"] = 38] = "NETWORK_SECURITY";
ObjectTypesSupported2[ObjectTypesSupported2["BITSTRING_VALUE"] = 39] = "BITSTRING_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["CHARACTERSTRING_VALUE"] = 40] = "CHARACTERSTRING_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["DATEPATTERN_VALUE"] = 41] = "DATEPATTERN_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["DATE_VALUE"] = 42] = "DATE_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["DATETIMEPATTERN_VALUE"] = 43] = "DATETIMEPATTERN_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["DATETIME_VALUE"] = 44] = "DATETIME_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["INTEGER_VALUE"] = 45] = "INTEGER_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["LARGE_ANALOG_VALUE"] = 46] = "LARGE_ANALOG_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["OCTETSTRING_VALUE"] = 47] = "OCTETSTRING_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["POSITIVE_INTEGER_VALUE"] = 48] = "POSITIVE_INTEGER_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["TIMEPATTERN_VALUE"] = 49] = "TIMEPATTERN_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["TIME_VALUE"] = 50] = "TIME_VALUE";
ObjectTypesSupported2[ObjectTypesSupported2["NOTIFICATION_FORWARDER"] = 51] = "NOTIFICATION_FORWARDER";
ObjectTypesSupported2[ObjectTypesSupported2["ALERT_ENROLLMENT"] = 52] = "ALERT_ENROLLMENT";
ObjectTypesSupported2[ObjectTypesSupported2["CHANNEL"] = 53] = "CHANNEL";
ObjectTypesSupported2[ObjectTypesSupported2["LIGHTING_OUTPUT"] = 54] = "LIGHTING_OUTPUT";
ObjectTypesSupported2[ObjectTypesSupported2["BINARY_LIGHTING_OUTPUT"] = 55] = "BINARY_LIGHTING_OUTPUT";
ObjectTypesSupported2[ObjectTypesSupported2["NETWORK_PORT"] = 56] = "NETWORK_PORT";
ObjectTypesSupported2[ObjectTypesSupported2["ELEVATOR_GROUP"] = 57] = "ELEVATOR_GROUP";
ObjectTypesSupported2[ObjectTypesSupported2["ESCALATOR"] = 58] = "ESCALATOR";
ObjectTypesSupported2[ObjectTypesSupported2["LIFT"] = 59] = "LIFT";
return ObjectTypesSupported2;
})(ObjectTypesSupported || {});
var ResultFlags = /* @__PURE__ */ ((ResultFlags2) => {
ResultFlags2[ResultFlags2["FIRST_ITEM"] = 0] = "FIRST_ITEM";
ResultFlags2[ResultFlags2["LAST_ITEM"] = 1] = "LAST_ITEM";
ResultFlags2[ResultFlags2["MORE_ITEMS"] = 2] = "MORE_ITEMS";
return ResultFlags2;
})(ResultFlags || {});
var ServicesSupported = /* @__PURE__ */ ((ServicesSupported2) => {
ServicesSupported2[ServicesSupported2["ACKNOWLEDGE_ALARM"] = 0] = "ACKNOWLEDGE_ALARM";
ServicesSupported2[ServicesSupported2["CONFIRMED_COV_NOTIFICATION"] = 1] = "CONFIRMED_COV_NOTIFICATION";
ServicesSupported2[ServicesSupported2["CONFIRMED_EVENT_NOTIFICATION"] = 2] = "CONFIRMED_EVENT_NOTIFICATION";
ServicesSupported2[ServicesSupported2["GET_ALARM_SUMMARY"] = 3] = "GET_ALARM_SUMMARY";
ServicesSupported2[ServicesSupported2["GET_ENROLLMENT_SUMMARY"] = 4] = "GET_ENROLLMENT_SUMMARY";
ServicesSupported2[ServicesSupported2["SUBSCRIBE_COV"] = 5] = "SUBSCRIBE_COV";
ServicesSupported2[ServicesSupported2["ATOMIC_READ_FILE"] = 6] = "ATOMIC_READ_FILE";
ServicesSupported2[ServicesSupported2["ATOMIC_WRITE_FILE"] = 7] = "ATOMIC_WRITE_FILE";
ServicesSupported2[ServicesSupported2["ADD_LIST_ELEMENT"] = 8] = "ADD_LIST_ELEMENT";
ServicesSupported2[ServicesSupported2["REMOVE_LIST_ELEMENT"] = 9] = "REMOVE_LIST_ELEMENT";
ServicesSupported2[ServicesSupported2["CREATE_OBJECT"] = 10] = "CREATE_OBJECT";
ServicesSupported2[ServicesSupported2["DELETE_OBJECT"] = 11] = "DELETE_OBJECT";
ServicesSupported2[ServicesSupported2["READ_PROPERTY"] = 12] = "READ_PROPERTY";
ServicesSupported2[ServicesSupported2["READ_PROPERTY_MULTIPLE"] = 14] = "READ_PROPERTY_MULTIPLE";
ServicesSupported2[ServicesSupported2["WRITE_PROPERTY"] = 15] = "WRITE_PROPERTY";
ServicesSupported2[ServicesSupported2["WRITE_PROPERTY_MULTIPLE"] = 16] = "WRITE_PROPERTY_MULTIPLE";
ServicesSupported2[ServicesSupported2["DEVICE_COMMUNICATION_CONTROL"] = 17] = "DEVICE_COMMUNICATION_CONTROL";
ServicesSupported2[ServicesSupported2["CONFIRMED_PRIVATE_TRANSFER"] = 18] = "CONFIRMED_PRIVATE_TRANSFER";
ServicesSupported2[ServicesSupported2["CONFIRMED_TEXT_MESSAGE"] = 19] = "CONFIRMED_TEXT_MESSAGE";
ServicesSupported2[ServicesSupported2["REINITIALIZE_DEVICE"] = 20] = "REINITIALIZE_DEVICE";
ServicesSupported2[ServicesSupported2["VT_OPEN"] = 21] = "VT_OPEN";
ServicesSupported2[ServicesSupported2["VT_CLOSE"] = 22] = "VT_CLOSE";
ServicesSupported2[ServicesSupported2["VT_DATA"] = 23] = "VT_DATA";
ServicesSupported2[ServicesSupported2["READ_PROPERTY_CONDITIONAL"] = 13] = "READ_PROPERTY_CONDITIONAL";
ServicesSupported2[ServicesSupported2["AUTHENTICATE"] = 24] = "AUTHENTICATE";
ServicesSupported2[ServicesSupported2["REQUEST_KEY"] = 25] = "REQUEST_KEY";
ServicesSupported2[ServicesSupported2["I_AM"] = 26] = "I_AM";
ServicesSupported2[ServicesSupported2["I_HAVE"] = 27] = "I_HAVE";
ServicesSupported2[ServicesSupported2["UNCONFIRMED_COV_NOTIFICATION"] = 28] = "UNCONFIRMED_COV_NOTIFICATION";
ServicesSupported2[ServicesSupported2["UNCONFIRMED_EVENT_NOTIFICATION"] = 29] = "UNCONFIRMED_EVENT_NOTIFICATION";
ServicesSupported2[ServicesSupported2["UNCONFIRMED_PRIVATE_TRANSFER"] = 30] = "UNCONFIRMED_PRIVATE_TRANSFER";
ServicesSupported2[ServicesSupported2["UNCONFIRMED_TEXT_MESSAGE"] = 31] = "UNCONFIRMED_TEXT_MESSAGE";
ServicesSupported2[ServicesSupported2["TIME_SYNCHRONIZATION"] = 32] = "TIME_SYNCHRONIZATION";
ServicesSupported2[ServicesSupported2["WHO_HAS"] = 33] = "WHO_HAS";
ServicesSupported2[ServicesSupported2["WHO_IS"] = 34] = "WHO_IS";
ServicesSupported2[ServicesSupported2["READ_RANGE"] = 35] = "READ_RANGE";
ServicesSupported2[ServicesSupported2["UTC_TIME_SYNCHRONIZATION"] = 36] = "UTC_TIME_SYNCHRONIZATION";
ServicesSupported2[ServicesSupported2["LIFE_SAFETY_OPERATION"] = 37] = "LIFE_SAFETY_OPERATION";
ServicesSupported2[ServicesSupported2["SUBSCRIBE_COV_PROPERTY"] = 38] = "SUBSCRIBE_COV_PROPERTY";
ServicesSupported2[ServicesSupported2["GET_EVENT_INFORMATION"] = 39] = "GET_EVENT_INFORMATION";
ServicesSupported2[ServicesSupported2["WRITE_GROUP"] = 40] = "WRITE_GROUP";
ServicesSupported2[ServicesSupported2["SUBSCRIBE_COV_PROPERTY_MULTIPLE"] = 41] = "SUBSCRIBE_COV_PROPERTY_MULTIPLE";
ServicesSupported2[ServicesSupported2["CONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 42] = "CONFIRMED_COV_NOTIFICATION_MULTIPLE";
ServicesSupported2[ServicesSupported2["UNCONFIRMED_COV_NOTIFICATION_MULTIPLE"] = 43] = "UNCONFIRMED_COV_NOTIFICATION_MULTIPLE";
return ServicesSupported2;
})(ServicesSupported || {});
var StatusFlags = /* @__PURE__ */ ((StatusFlags2) => {
StatusFlags2[StatusFlags2["IN_ALARM"] = 0] = "IN_ALARM";
StatusFlags2[StatusFlags2["FAULT"] = 1] = "FAULT";
StatusFlags2[StatusFlags2["OVERRIDDEN"] = 2] = "OVERRIDDEN";
StatusFlags2[StatusFlags2["OUT_OF_SERVICE"] = 3] = "OUT_OF_SERVICE";
return StatusFlags2;
})(StatusFlags || {});
var ApplicationTag = /* @__PURE__ */ ((ApplicationTag2) => {
ApplicationTag2[ApplicationTag2["NULL"] = 0] = "NULL";
ApplicationTag2[ApplicationTag2["BOOLEAN"] = 1] = "BOOLEAN";
ApplicationTag2[ApplicationTag2["UNSIGNED_INTEGER"] = 2] = "UNSIGNED_INTEGER";
ApplicationTag2[ApplicationTag2["SIGNED_INTEGER"] = 3] = "SIGNED_INTEGER";
ApplicationTag2[ApplicationTag2["REAL"] = 4] = "REAL";
ApplicationTag2[ApplicationTag2["DOUBLE"] = 5] = "DOUBLE";
ApplicationTag2[ApplicationTag2["OCTET_STRING"] = 6] = "OCTET_STRING";
ApplicationTag2[ApplicationTag2["CHARACTER_STRING"] = 7] = "CHARACTER_STRING";
ApplicationTag2[ApplicationTag2["BIT_STRING"] = 8] = "BIT_STRING";
ApplicationTag2[ApplicationTag2["ENUMERATED"] = 9] = "ENUMERATED";
ApplicationTag2[ApplicationTag2["DATE"] = 10] = "DATE";
ApplicationTag2[ApplicationTag2["TIME"] = 11] = "TIME";
ApplicationTag2[ApplicationTag2["OBJECTIDENTIFIER"] = 12] = "OBJECTIDENTIFIER";
ApplicationTag2[ApplicationTag2["EMPTYLIST"] = 100] = "EMPTYLIST";
ApplicationTag2[ApplicationTag2["WEEKNDAY"] = 101] = "WEEKNDAY";
ApplicationTag2[ApplicationTag2["DATERANGE"] = 102] = "DATERANGE";
ApplicationTag2[ApplicationTag2["DATETIME"] = 103] = "DATETIME";
ApplicationTag2[ApplicationTag2["TIMESTAMP"] = 104] = "TIMESTAMP";
ApplicationTag2[ApplicationTag2["ERROR"] = 105] = "ERROR";
ApplicationTag2[ApplicationTag2["DEVICE_OBJECT_PROPERTY_REFERENCE"] = 106] = "DEVICE_OBJECT_PROPERTY_REFERENCE";
ApplicationTag2[ApplicationTag2["DEVICE_OBJECT_REFERENCE"] = 107] = "DEVICE_OBJECT_REFERENCE";
ApplicationTag2[ApplicationTag2["OBJECT_PROPERTY_REFERENCE"] = 108] = "OBJECT_PROPERTY_REFERENCE";
ApplicationTag2[ApplicationTag2["DESTINATION"] = 109] = "DESTINATION";
ApplicationTag2[ApplicationTag2["RECIPIENT"] = 110] = "RECIPIENT";
ApplicationTag2[ApplicationTag2["COV_SUBSCRIPTION"] = 111] = "COV_SUBSCRIPTION";
ApplicationTag2[ApplicationTag2["CALENDAR_ENTRY"] = 112] = "CALENDAR_ENTRY";
ApplicationTag2[ApplicationTag2["WEEKLY_SCHEDULE"] = 113] = "WEEKLY_SCHEDULE";
ApplicationTag2[ApplicationTag2["SPECIAL_EVENT"] = 114] = "SPECIAL_EVENT";
ApplicationTag2[ApplicationTag2["READ_ACCESS_SPECIFICATION"] = 115] = "READ_ACCESS_SPECIFICATION";
ApplicationTag2[ApplicationTag2["READ_ACCESS_RESULT"] = 116] = "READ_ACCESS_RESULT";
ApplicationTag2[ApplicationTag2["LIGHTING_COMMAND"] = 117] = "LIGHTING_COMMAND";
ApplicationTag2[ApplicationTag2["CONTEXT_SPECIFIC_DECODED"] = 118] = "CONTEXT_SPECIFIC_DECODED";
ApplicationTag2[ApplicationTag2["CONTEXT_SPECIFIC_ENCODED"] = 119] = "CONTEXT_SPECIFIC_ENCODED";
ApplicationTag2[ApplicationTag2["LOG_RECORD"] = 120] = "LOG_RECORD";
return ApplicationTag2;
})(ApplicationTag || {});
var ApplicationTagName = invertEnum(
ApplicationTag
);
var BvlcResultFormat = /* @__PURE__ */ ((BvlcResultFormat2) => {
BvlcResultFormat2[BvlcResultFormat2["SUCCESSFUL_COMPLETION"] = 0] = "SUCCESSFUL_COMPLETION";
BvlcResultFormat2[BvlcResultFormat2["WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 16] = "WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat2[BvlcResultFormat2["READ_BROADCAST_DISTRIBUTION_TABLE_NAK"] = 32] = "READ_BROADCAST_DISTRIBUTION_TABLE_NAK";
BvlcResultFormat2[BvlcResultFormat2["REGISTER_FOREIGN_DEVICE_NAK"] = 48] = "REGISTER_FOREIGN_DEVICE_NAK";
BvlcResultFormat2[BvlcResultFormat2["READ_FOREIGN_DEVICE_TABLE_NAK"] = 64] = "READ_FOREIGN_DEVICE_TABLE_NAK";
BvlcResultFormat2[BvlcResultFormat2["DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK"] = 80] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK";
BvlcResultFormat2[BvlcResultFormat2["DISTRIBUTE_BROADCAST_TO_NETWORK_NAK"] = 96] = "DISTRIBUTE_BROADCAST_TO_NETWORK_NAK";
return BvlcResultFormat2;
})(BvlcResultFormat || {});
var BvlcResultPurpose = /* @__PURE__ */ ((BvlcResultPurpose2) => {
BvlcResultPurpose2[BvlcResultPurpose2["BVLC_RESULT"] = 0] = "BVLC_RESULT";
BvlcResultPurpose2[BvlcResultPurpose2["WRITE_BROADCAST_DISTRIBUTION_TABLE"] = 1] = "WRITE_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose2[BvlcResultPurpose2["READ_BROADCAST_DISTRIBUTION_TABLE"] = 2] = "READ_BROADCAST_DISTRIBUTION_TABLE";
BvlcResultPurpose2[BvlcResultPurpose2["READ_BROADCAST_DISTRIBUTION_TABLE_ACK"] = 3] = "READ_BROADCAST_DISTRIBUTION_TABLE_ACK";
BvlcResultPurpose2[BvlcResultPurpose2["FORWARDED_NPDU"] = 4] = "FORWARDED_NPDU";
BvlcResultPurpose2[BvlcResultPurpose2["REGISTER_FOREIGN_DEVICE"] = 5] = "REGISTER_FOREIGN_DEVICE";
BvlcResultPurpose2[BvlcResultPurpose2["READ_FOREIGN_DEVICE_TABLE"] = 6] = "READ_FOREIGN_DEVICE_TABLE";
BvlcResultPurpose2[BvlcResultPurpose2["READ_FOREIGN_DEVICE_TABLE_ACK"] = 7] = "READ_FOREIGN_DEVICE_TABLE_ACK";
BvlcResultPurpose2[BvlcResultPurpose2["DELETE_FOREIGN_DEVICE_TABLE_ENTRY"] = 8] = "DELETE_FOREIGN_DEVICE_TABLE_ENTRY";
BvlcResultPurpose2[BvlcResultPurpose2["DISTRIBUTE_BROADCAST_TO_NETWORK"] = 9] = "DISTRIBUTE_BROADCAST_TO_NETWORK";
BvlcResultPurpose2[BvlcResultPurpose2["ORIGINAL_UNICAST_NPDU"] = 10] = "ORIGINAL_UNICAST_NPDU";
BvlcResultPurpose2[BvlcResultPurpose2["ORIGINAL_BROADCAST_NPDU"] = 11] = "ORIGINAL_BROADCAST_NPDU";
BvlcResultPurpose2[BvlcResultPurpose2["SECURE_BVLL"] = 12] = "SECURE_BVLL";
return BvlcResultPurpose2;
})(BvlcResultPurpose || {});
var CharacterStringEncoding = /* @__PURE__ */ ((CharacterStringEncoding2) => {
CharacterStringEncoding2[CharacterStringEncoding2["UTF_8"] = 0] = "UTF_8";
CharacterStringEncoding2[CharacterStringEncoding2["MICROSOFT_DBCS"] = 1] = "MICROSOFT_DBCS";
CharacterStringEncoding2[CharacterStringEncoding2["JIS_X_0208"] = 2] = "JIS_X_0208";
CharacterStringEncoding2[CharacterStringEncoding2["UCS_4"] = 3] = "UCS_4";
CharacterStringEncoding2[CharacterStringEncoding2["UCS_2"] = 4] = "UCS_2";
CharacterStringEncoding2[CharacterStringEncoding2["ISO_8859_1"] = 5] = "ISO_8859_1";
return CharacterStringEncoding2;
})(CharacterStringEncoding || {});
var CovType = /* @__PURE__ */ ((CovType2) => {
CovType2[CovType2["REAL"] = 0] = "REAL";
CovType2[CovType2["BIT_STRING"] = 1] = "BIT_STRING";
return CovType2;
})(CovType || {});
var EnableDisable = /* @__PURE__ */ ((EnableDisable2) => {
EnableDisable2[EnableDisable2["ENABLE"] = 0] = "ENABLE";
EnableDisable2[EnableDisable2["DISABLE"] = 1] = "DISABLE";
EnableDisable2[EnableDisable2["DISABLE_INITIATION"] = 2] = "DISABLE_INITIATION";
return EnableDisable2;
})(EnableDisable || {});
var MaxApduLengthAccepted = /* @__PURE__ */ ((MaxApduLengthAccepted2) => {
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_50"] = 0] = "OCTETS_50";
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_128"] = 1] = "OCTETS_128";
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_206"] = 2] = "OCTETS_206";
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_480"] = 3] = "OCTETS_480";
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_1024"] = 4] = "OCTETS_1024";
MaxApduLengthAccepted2[MaxApduLengthAccepted2["OCTETS_1476"] = 5] = "OCTETS_1476";
return MaxApduLengthAccepted2;
})(MaxApduLengthAccepted || {});
var MaxSegmentsAccepted = /* @__PURE__ */ ((MaxSegmentsAccepted2) => {
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_0"] = 0] = "SEGMENTS_0";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_2"] = 16] = "SEGMENTS_2";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_4"] = 32] = "SEGMENTS_4";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_8"] = 48] = "SEGMENTS_8";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_16"] = 64] = "SEGMENTS_16";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_32"] = 80] = "SEGMENTS_32";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_64"] = 96] = "SEGMENTS_64";
MaxSegmentsAccepted2[MaxSegmentsAccepted2["SEGMENTS_65"] = 112] = "SEGMENTS_65";
return MaxSegmentsAccepted2;
})(MaxSegmentsAccepted || {});
var NetworkLayerMessageType = /* @__PURE__ */ ((NetworkLayerMessageType2) => {
NetworkLayerMessageType2[NetworkLayerMessageType2["WHO_IS_ROUTER_TO_NETWORK"] = 0] = "WHO_IS_ROUTER_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["I_AM_ROUTER_TO_NETWORK"] = 1] = "I_AM_ROUTER_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["I_COULD_BE_ROUTER_TO_NETWORK"] = 2] = "I_COULD_BE_ROUTER_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["REJECT_MESSAGE_TO_NETWORK"] = 3] = "REJECT_MESSAGE_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["ROUTER_BUSY_TO_NETWORK"] = 4] = "ROUTER_BUSY_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["ROUTER_AVAILABLE_TO_NETWORK"] = 5] = "ROUTER_AVAILABLE_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["INITIALIZE_ROUTING_TABLE"] = 6] = "INITIALIZE_ROUTING_TABLE";
NetworkLayerMessageType2[NetworkLayerMessageType2["INITIALIZE_ROUTING_TABLE_ACK"] = 7] = "INITIALIZE_ROUTING_TABLE_ACK";
NetworkLayerMessageType2[NetworkLayerMessageType2["ESTABLISH_CONNECTION_TO_NETWORK"] = 8] = "ESTABLISH_CONNECTION_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["DISCONNECT_CONNECTION_TO_NETWORK"] = 9] = "DISCONNECT_CONNECTION_TO_NETWORK";
NetworkLayerMessageType2[NetworkLayerMessageType2["CHALLENGE_REQUEST"] = 10] = "CHALLENGE_REQUEST";
NetworkLayerMessageType2[NetworkLayerMessageType2["SECURITY_PAYLOAD"] = 11] = "SECURITY_PAYLOAD";
NetworkLayerMessageType2[NetworkLayerMessageType2["SECURITY_RESPONSE"] = 12] = "SECURITY_RESPONSE";
NetworkLayerMessageType2[NetworkLayerMessageType2["REQUEST_KEY_UPDATE"] = 13] = "REQUEST_KEY_UPDATE";
NetworkLayerMessageType2[NetworkLayerMessageType2["UPDATE_KEY_SET"] = 14] = "UPDATE_KEY_SET";
NetworkLayerMessageType2[NetworkLayerMessageType2["UPDATE_DISTRIBUTION_KEY"] = 15] = "UPDATE_DISTRIBUTION_KEY";
NetworkLayerMessageType2[NetworkLayerMessageType2["REQUEST_MASTER_KEY"] = 16] = "REQUEST_MASTER_KEY";
NetworkLayerMessageType2[NetworkLayerMessageType2["SET_MASTER_KEY"] = 17] = "SET_MASTER_KEY";
NetworkLayerMessageType2[NetworkLayerMessageType2["WHAT_IS_NETWORK_NUMBER"] = 18] = "WHAT_IS_NETWORK_NUMBER";
NetworkLayerMessageType2[NetworkLayerMessageType2["NETWORK_NUMBER_IS"] = 19] = "NETWORK_NUMBER_IS";
return NetworkLayerMessageType2;
})(NetworkLayerMessageType || {});
var NpduControlBit = /* @__PURE__ */ ((NpduControlBit2) => {
NpduControlBit2[NpduControlBit2["EXPECTING_REPLY"] = 4] = "EXPECTING_REPLY";
NpduControlBit2[NpduControlBit2["SOURCE_SPECIFIED"] = 8] = "SOURCE_SPECIFIED";
NpduControlBit2[NpduControlBit2["DESTINATION_SPECIFIED"] = 32] = "DESTINATION_SPECIFIED";
NpduControlBit2[NpduControlBit2["NETWORK_LAYER_MESSAGE"] = 128] = "NETWORK_LAYER_MESSAGE";
return NpduControlBit2;
})(NpduControlBit || {});
var NpduControlPriority = /* @__PURE__ */ ((NpduControlPriority2) => {
NpduControlPriority2[NpduControlPriority2["NORMAL_MESSAGE"] = 0] = "NORMAL_MESSAGE";
NpduControlPriority2[NpduControlPriority2["URGENT_MESSAGE"] = 1] = "URGENT_MESSAGE";
NpduControlPriority2[NpduControlPriority2["CRITICAL_EQUIPMENT_MESSAGE"] = 2] = "CRITICAL_EQUIPMENT_MESSAGE";
NpduControlPriority2[NpduControlPriority2["LIFE_SAFETY_MESSAGE"] = 3] = "LIFE_SAFETY_MESSAGE";
return NpduControlPriority2;
})(NpduControlPriority || {});
var PduConReqBit = /* @__PURE__ */ ((PduConReqBit2) => {
PduConReqBit2[PduConReqBit2["SEGMENTED_RESPONSE_ACCEPTED"] = 2] = "SEGMENTED_RESPONSE_ACCEPTED";
PduConReqBit2[PduConReqBit2["MORE_FOLLOWS"] = 4] = "MORE_FOLLOWS";
PduConReqBit2[PduConReqBit2["SEGMENTED_MESSAGE"] = 8] = "SEGMENTED_MESSAGE";
return PduConReqBit2;
})(PduConReqBit || {});
var PduSegAckBit = /* @__PURE__ */ ((PduSegAckBit2) => {
PduSegAckBit2[PduSegAckBit2["SERVER"] = 1] = "SERVER";
PduSegAckBit2[PduSegAckBit2["NEGATIVE_ACK"] = 2] = "NEGATIVE_ACK";
return PduSegAckBit2;
})(PduSegAckBit || {});
var PduType = /* @__PURE__ */ ((PduType2) => {
PduType2[PduType2["CONFIRMED_REQUEST"] = 0] = "CONFIRMED_REQUEST";
PduType2[PduType2["UNCONFIRMED_REQUEST"] = 16] = "UNCONFIRMED_REQUEST";
PduType2[PduType2["SIMPLE_ACK"] = 32] = "SIMPLE_ACK";
PduType2[PduType2["COMPLEX_ACK"] = 48] = "COMPLEX_ACK";
PduType2[PduType2["SEGMENT_ACK"] = 64] = "SEGMENT_ACK";
PduType2[PduType2["ERROR"] = 80] = "ERROR";
PduType2[PduType2["REJECT"] = 96] = "REJECT";
PduType2[PduType2["ABORT"] = 112] = "ABORT";
return PduType2;
})(PduType || {});
var PropertyStates = /* @__PURE__ */ ((PropertyStates2) => {
PropertyStates2[PropertyStates2["BOOLEAN_VALUE"] = 0] = "BOOLEAN_VALUE";
PropertyStates2[PropertyStates2["BINARY_VALUE"] = 1] = "BINARY_VALUE";
PropertyStates2[PropertyStates2["EVENT_TYPE"] = 2] = "EVENT_TYPE";
PropertyStates2[PropertyStates2["POLARITY"] = 3] = "POLARITY";
PropertyStates2[PropertyStates2["PROGRAM_CHANGE"] = 4] = "PROGRAM_CHANGE";
PropertyStates2[PropertyStates2["PROGRAM_STATE"] = 5] = "PROGRAM_STATE";
PropertyStates2[PropertyStates2["REASON_FOR_HALT"] = 6] = "REASON_FOR_HALT";
PropertyStates2[PropertyStates2["RELIABILITY"] = 7] = "RELIABILITY";
PropertyStates2[PropertyStates2["STATE"] = 8] = "STATE";
PropertyStates2[PropertyStates2["SYSTEM_STATUS"] = 9] = "SYSTEM_STATUS";
PropertyStates2[PropertyStates2["UNITS"] = 10] = "UNITS";
PropertyStates2[PropertyStates2["UNSIGNED_VALUE"] = 11] = "UNSIGNED_VALUE";
PropertyStates2[PropertyStates2["LIFE_SAFETY_MODE"] = 12] = "LIFE_SAFETY_MODE";
PropertyStates2[PropertyStates2["LIFE_SAFETY_STATE"] = 13] = "LIFE_SAFETY_STATE";
PropertyStates2[PropertyStates2["RESTART_REASON"] = 14] = "RESTART_REASON";
PropertyStates2[PropertyStates2["DOOR_ALARM_STATE"] = 15] = "DOOR_ALARM_STATE";
PropertyStates2[PropertyStates2["ACTION"] = 16] = "ACTION";
PropertyStates2[PropertyStates2["DOOR_SECURED_STATUS"] = 17] = "DOOR_SECURED_STATUS";
PropertyStates2[PropertyStates2["DOOR_STATUS"] = 18] = "DOOR_STATUS";
PropertyStates2[PropertyStates2["DOOR_VALUE"] = 19] = "DOOR_VALUE";
PropertyStates2[PropertyStates2["FILE_ACCESS_METHOD"] = 20] = "FILE_ACCESS_METHOD";
PropertyStates2[PropertyStates2["LOCK_STATUS"] = 21] = "LOCK_STATUS";
PropertyStates2[PropertyStates2["LIFE_SAFETY_OPERATION"] = 22] = "LIFE_SAFETY_OPERATION";
PropertyStates2[PropertyStates2["MAINTENANCE"] = 23] = "MAINTENANCE";
PropertyStates2[PropertyStates2["NODE_TYPE"] = 24] = "NODE_TYPE";
PropertyStates2[PropertyStates2["NOTIFY_TYPE"] = 25] = "NOTIFY_TYPE";
PropertyStates2[PropertyStates2["SECURITY_LEVEL"] = 26] = "SECURITY_LEVEL";
PropertyStates2[PropertyStates2["SHED_STATE"] = 27] = "SHED_STATE";
PropertyStates2[PropertyStates2["SILENCED_STATE"] = 28] = "SILENCED_STATE";
PropertyStates2[PropertyStates2["ACCESS_EVENT"] = 30] = "ACCESS_EVENT";
PropertyStates2[PropertyStates2["ZONE_OCCUPANCY_STATE"] = 31] = "ZONE_OCCUPANCY_STATE";
PropertyStates2[PropertyStates2["ACCESS_CREDENTIAL_DISABLE_REASON"] = 32] = "ACCESS_CREDENTIAL_DISABLE_REASON";
PropertyStates2[PropertyStates2["ACCESS_CREDENTIAL_DISABLE"] = 33] = "ACCESS_CREDENTIAL_DISABLE";
PropertyStates2[PropertyStates2["AUTHENTICATION_STATUS"] = 34] = "AUTHENTICATION_STATUS";
PropertyStates2[PropertyStates2["BACKUP_STATE"] = 36] = "BACKUP_STATE";
PropertyStates2[PropertyStates2["WRITE_STATUS"] = 37] = "WRITE_STATUS";
PropertyStates2[PropertyStates2["LIGHTING_IN_PROGRESS"] = 38] = "LIGHTING_IN_PROGRESS";
PropertyStates2[PropertyStates2["LIGHTING_OPERATION"] = 39] = "LIGHTING_OPERATION";
PropertyStates2[PropertyStates2["LIGHTING_TRANSITION"] = 40] = "LIGHTING_TRANSITION";
PropertyStates2[PropertyStates2["INTEGER_VALUE"] = 41] = "INTEGER_VALUE";
PropertyStates2[PropertyStates2["BINARY_LIGHTING_VALUE"] = 42] = "BINARY_LIGHTING_VALUE";
PropertyStates2[PropertyStates2["TIMER_STATE"] = 43] = "TIMER_STATE";
PropertyStates2[PropertyStates2["TIMER_TRANSITION"] = 44] = "TIMER_TRANSITION";
PropertyStates2[PropertyStates2["BACNET_IP_MODE"] = 45] = "BACNET_IP_MODE";
PropertyStates2[PropertyStates2["NETWORK_PORT_COMMAND"] = 46] = "NETWORK_PORT_COMMAND";
PropertyStates2[PropertyStates2["NETWORK_TYPE"] = 47] = "NETWORK_TYPE";
PropertyStates2[PropertyStates2["NETWORK_NUMBER_QUALITY"] = 48] = "NETWORK_NUMBER_QUALITY";
PropertyStates2[PropertyStates2["ESCALATOR_OPERATION_DIRECTION"] = 49] = "ESCALATOR_OPERATION_DIRECTION";
PropertyStates2[PropertyStates2["ESCALATOR_FAULT"] = 50] = "ESCALATOR_FAULT";
PropertyStates2[PropertyStates2["ESCALATOR_MODE"] = 51] = "ESCALATOR_MODE";
PropertyStates2[PropertyStates2["LIFT_CAR_DIRECTION"] = 52] = "LIFT_CAR_DIRECTION";
PropertyStates2[PropertyStates2["LIFT_CAR_DOOR_COMMAND"] = 53] = "LIFT_CAR_DOOR_COMMAND";
PropertyStates2[PropertyStates2["LIFT_CAR_DRIVE_STATUS"] = 54] = "LIFT_CAR_DRIVE_STATUS";
PropertyStates2[PropertyStates2["LIFT_CAR_MODE"] = 55] = "LIFT_CAR_MODE";
PropertyStates2[PropertyStates2["LIFT_GROUP_MODE"] = 56] = "LIFT_GROUP_MODE";
PropertyStates2[PropertyStates2["LIFT_FAULT"] = 57] = "LIFT_FAULT";
PropertyStates2[PropertyStates2["PROTOCOL_LEVEL"] = 58] = "PROTOCOL_LEVEL";
PropertyStates2[PropertyStates2["EXTENDED_VALUE"] = 63] = "EXTENDED_VALUE";
return PropertyStates2;
})(PropertyStates || {});
var ReadRangeType = /* @__PURE__ */ ((ReadRangeType2) => {
ReadRangeType2[ReadRangeType2["BY_POSITION"] = 0] = "BY_POSITION";
ReadRangeType2[ReadRangeType2["BY_SEQUENCE_NUMBER"] = 1] = "BY_SEQUENCE_NUMBER";
ReadRangeType2[ReadRangeType2["BY_TIME_REFERENCE_TIME_COUNT"] = 2] = "BY_TIME_REFERENCE_TIME_COUNT";
return ReadRangeType2;
})(ReadRangeType || {});
var ReinitializedState = /* @__PURE__ */ ((ReinitializedState2) => {
ReinitializedState2[ReinitializedState2["COLDSTART"] = 0] = "COLDSTART";
ReinitializedState2[ReinitializedState2["WARMSTART"] = 1] = "WARMSTART";
ReinitializedState2[ReinitializedState2["STARTBACKUP"] = 2] = "STARTBACKUP";
ReinitializedState2[ReinitializedState2["ENDBACKUP"] = 3] = "ENDBACKUP";
ReinitializedState2[ReinitializedState2["STARTRESTORE"] = 4] = "STARTRESTORE";
ReinitializedState2[ReinitializedState2["ENDRESTORE"] = 5] = "ENDRESTORE";
ReinitializedState2[ReinitializedState2["ABORTRESTORE"] = 6] = "ABORTRESTORE";
ReinitializedState2[ReinitializedState2["ACTIVATE_CHANGES"] = 7] = "ACTIVATE_CHANGES";
return ReinitializedState2;
})(ReinitializedState || {});
var TimeStamp = /* @__PURE__ */ ((TimeStamp2) => {
TimeStamp2[TimeStamp2["TIME"] = 0] = "TIME";
TimeStamp2[TimeStamp2["SEQUENCE_NUMBER"] = 1] = "SEQUENCE_NUMBER";
TimeStamp2[TimeStamp2["DATETIME"] = 2] = "DATETIME";
return TimeStamp2;
})(TimeStamp || {});
// src/client.ts
var import_events2 = __toESM(require("events"));
var import_debug3 = __toESM(require("debug"));
// src/transport.ts
var import_dgram = require("dgram");
var import_events = __toESM(require("events"));
var import_debug2 = __toESM(require("debug"));
var EventEmitter = import_events.default.EventEmitter;
var debug2 = (0, import_debug2.default)("bacnet:client:debug");
var DEFAULT_BACNET_PORT = 47808;
var Transport = class extends EventEmitter {
constructor(settings) {
super();
this._lastSendMessages = {};
this._settings = settings;
this._server = (0, import_dgram.createSocket)({
type: "udp4",
reuseAddr: settings.reuseAddr
});
this._server.on("message", (msg, rinfo) => {
if (this.ownAddress.port === rinfo.port) {
for (let [messageKey, earlierSentBuffer] of Object.entries(
this._lastSendMessages
)) {
if (msg.equals(earlierSentBuffer)) {
debug2(
`server IGNORE message from ${rinfo.address}:${rinfo.port} (${messageKey}): ${msg.toString("hex")}`
);
return;
}
}
}
debug2(
`server got message from ${rinfo.address}:${rinfo.port}: ${msg.toString(
"hex"
)}`
);
this.emit(
"message",
msg,
rinfo.address + (rinfo.port === DEFAULT_BACNET_PORT ? "" : ":" + rinfo.port)
);
});
this._server.on("listening", () => {
this.ownAddress = this._server.address();
debug2(
`server listening on ${this.ownAddress.address}:${this.ownAddress.port}`
);
this.emit("listening", this.ownAddress);
});
this._server.on("error", (err) => {
debug2("transport error", err.message);
this.emit("error", err);
});
this._server.on("close", () => {
debug2("transport closed");
this.emit("close");
});
}
getBroadcastAddress() {
return this._settings.broadcastAddress;
}
getMaxPayload() {
return 1482;
}
send(buffer, offset, receiver) {
if (!receiver) {
receiver = this.getBroadcastAddress();
const dataToSend = Buffer.alloc(offset);
const hrTime = process.hrtime();
const messageKey = hrTime[0] * 1e9 + hrTime[1];
buffer.copy(dataToSend, 0, 0, offset);
this._lastSendMessages[messageKey] = dataToSend;
setTimeout(() => {
delete this._lastSendMessages[messageKey];
}, 1e4);
}
const receiverAddress = typeof receiver === "string" ? receiver : receiver.address;
const [address, port] = receiverAddress.split(":");
debug2(
"Send packet to " + receiver + ": " + buffer.toString("hex").substr(0, offset * 2)
);
this._server.send(buffer, 0, offset, +port || DEFAULT_BACNET_PORT, address);
}
open() {
this._server.bind(this._settings.port, this._settings.interface, () => {
this._server.setBroadcast(true);
});
}
close() {
this._server.close();
}
};
// src/services/index.ts
var services_exports = {};
__export(services_exports, {
addListElement: () => add_list_element_exports,
alarmAcknowledge: () => alarm_acknowledge_exports,
alarmSummary: () => alarm_summary_exports,
atomicReadFile: () => atomic_read_file_exports,
atomicWriteFile: () => atomic_write_file_exports,
covNotify: () => cov_notify_exports,
covNotifyUnconfirmed: () => cov_notify_exports,
createObject: () => create_object_exports,
deleteObject: () => delete_object_exports,
deviceCommunicationControl: () => device_communication_control_exports,
error: () => error_exports,
eventInformation: () => event_information_exports,
eventNotifyData: () => event_notify_data_exports,
getEnrollmentSummary: () => get_enrollment_summary_exports,
getEventInformation: () => get_event_information_exports,
iAm: () => i_am_exports,
iHave: () => i_have_exports,
lifeSafetyOperation: () => life_safety_operation_exports,
privateTransfer: () => private_transfer_exports,
readProperty: () => read_property_exports,
readPropertyMultiple: () => read_property_multiple_exports,
readRange: () => read_range_exports,
registerForeignDevice: () => register_foreign_device_exports,
reinitializeDevice: () => reinitialize_device_exports,
subscribeCov: () => subscribe_cov_exports,
subscribeProperty: () => subscribe_property_exports,
timeSync: () => time_sync_exports,
timeSyncUTC: () => time_sync_exports,
whoHas: () => who_has_exports,
whoIs: () => who_is_exports,
writeProperty: () => write_property_exports,
writePropertyMultiple: () => write_property_multiple_exports
});
// src/services/add-list-element.ts
var add_list_element_exports = {};
__export(add_list_element_exports, {
decode: () => decode,
encode: () => encode
});
// src/asn1.ts
var import_iconv_lite = __toESM(require("iconv-lite"));
// src/enums.ts
var enums_default = enum_exports;
// src/asn1.ts
var START_YEAR = 1900;
var MAX_YEARS = 256;
var getBuffer = () => {
return {
buffer: Buffer.alloc(1472),
offset: 0
};
};
var getSignedLength = (value) => {
if (value >= -128 && value < 128)
return 1;
else if (value >= -32768 && value < 32768)
return 2;
else if (value > -8388608 && value < 8388608)
return 3;
else
return 4;
};
var getUnsignedLength = (value) => {
if (value < 256)
return 1;
else if (value < 65536)
return 2;
else if (value < 16777216)
return 3;
else
return 4;
};
var getEncodingType = (encoding, decodingBuffer, decodingOffset) => {
switch (encoding) {
case enums_default.CharacterStringEncoding.UCS_2:
if (decodingBuffer && decodingBuffer[decodingOffset] === 255 && decodingBuffer[decodingOffset + 1] === 254) {
return "ucs2";
}
return "UTF-16BE";
case enums_default.CharacterStringEncoding.ISO_8859_1:
return "latin1";
case enums_default.CharacterStringEncoding.MICROSOFT_DBCS:
return "cp850";
case enums_default.CharacterStringEncoding.JIS_X_0208:
return "Shift_JIS";
default:
return "utf8";
}
};
var encodeUnsigned = (buffer, value, length) => {
buffer.buffer.writeUIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetUnsigned = (buffer, value) => {
encodeUnsigned(buffer, value, getUnsignedLength(value));
};
var encodeSigned = (buffer, value, length) => {
buffer.buffer.writeIntBE(value, buffer.offset, length, true);
buffer.offset += length;
};
var encodeBacnetSigned = (buffer, value) => {
encodeSigned(buffer, value, getSignedLength(value));
};
var encodeBacnetReal = (buffer, value) => {
buffer.buffer.writeFloatBE(value, buffer.offset, true);
buffer.offset += 4;
};
var encodeBacnetDouble = (buffer, value) => {
buffer.buffer.writeDoubleBE(value, buffer.offset, true);
buffer.offset += 8;
};
var decodeUnsigned = (buffer, offset, length) => {
if (length === 0) {
return {
len: 0,
value: 0
};
}
return {
len: length,
//@ts-ignore
value: buffer.readUIntBE(offset, length)
};
};
var decodeEnumerated = (buffer, offset, length) => {
return decodeUnsigned(buffer, offset, length);
};
var encodeBacnetObjectId = (buffer, objectType, instance) => {
const value = ((objectType & enums_default.ASN1_MAX_OBJECT) << enums_default.ASN1_INSTANCE_BITS | instance & enums_default.ASN1_MAX_INSTANCE) >>> 0;
encodeUnsigned(buffer, value, 4);
};
var encodeTag = (buffer, tagNumber, contextSpecific, lenValueType) => {
let len = 1;
const tmp = new Array(3);
tmp[0] = 0;
if (contextSpecific) {
tmp[0] |= 8;
}
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
if (lenValueType <= 4) {
tmp[0] |= lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else {
tmp[0] |= 5;
if (lenValueType <= 253) {
tmp[len++] = lenValueType;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
} else if (lenValueType <= 65535) {
tmp[len++] = 254;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned(buffer, lenValueType, 2);
} else {
tmp[len++] = 255;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
encodeUnsigned(buffer, lenValueType, 4);
}
}
};
var encodeBacnetEnumerated = (buffer, value) => {
encodeBacnetUnsigned(buffer, value);
};
var isExtendedTagNumber = (x) => {
return (x & 240) === 240;
};
var isExtendedValue = (x) => {
return (x & 7) === 5;
};
var isContextSpecific = (x) => {
return (x & 8) === 8;
};
var isOpeningTag = (x) => {
return (x & 7) === 6;
};
var isClosingTag = (x) => {
return (x & 7) === 7;
};
var encodeContextReal = (buffer, tagNumber, value) => {
encodeTag(buffer, tagNumber, true, 4);
encodeBacnetReal(buffer, value);
};
var encodeContextUnsigned = (buffer, tagNumber, value) => {
encodeTag(buffer, tagNumber, true, getUnsignedLength(value));
encodeBacnetUnsigned(buffer, value);
};
var encodeContextEnumerated = (buffer, tagNumber, value) => {
encodeContextUnsigned(buffer, tagNumber, value);
};
var encodeOctetString = (buffer, octetString, octetOffset, octetCount) => {
if (octetString) {
for (let i = octetOffset; i < octetOffset + octetCount; i++) {
buffer.buffer[buffer.offset++] = octetString[i];
}
}
};
var encodeApplicationOctetString = (buffer, octetString, octetOffset, octetCount) => {
encodeTag(buffer, enums_default.ApplicationTag.OCTET_STRING, false, octetCount);
encodeOctetString(buffer, octetString, octetOffset, octetCount);
};
var encodeApplicationNull = (buffer) => {
buffer.buffer[buffer.offset++] = enums_default.ApplicationTag.NULL;
};
var encodeApplicationBoolean = (buffer, booleanValue) => {
encodeTag(buffer, enums_default.ApplicationTag.BOOLEAN, false, booleanValue ? 1 : 0);
};
var encodeApplicationReal = (buffer, value) => {
encodeTag(buffer, enums_default.ApplicationTag.REAL, false, 4);
encodeBacnetReal(buffer, value);
};
var encodeApplicationDouble = (buffer, value) => {
encodeTag(buffer, enums_default.ApplicationTag.DOUBLE, false, 8);
encodeBacnetDouble(buffer, value);
};
var bitstringBytesUsed = (bitString) => {
let len = 0;
if (bitString.bitsUsed > 0) {
const lastBit = bitString.bitsUsed - 1;
const usedBytes = lastBit / 8 + 1;
len = Math.floor(usedBytes);
}
return len;
};
var encodeApplicationObjectId = (buffer, objectType, instance) => {
const tmp = getBuffer();
encodeBacnetObjectId(tmp, objectType, instance);
encodeTag(buffer, enums_default.ApplicationTag.OBJECTIDENTIFIER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationUnsigned = (buffer, value) => {
const tmp = getBuffer();
encodeBacnetUnsigned(tmp, value);
encodeTag(buffer, enums_default.ApplicationTag.UNSIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationEnumerated = (buffer, value) => {
const tmp = getBuffer();
encodeBacnetEnumerated(tmp, value);
encodeTag(buffer, enums_default.ApplicationTag.ENUMERATED, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeApplicationSigned = (buffer, value) => {
const tmp = getBuffer();
encodeBacnetSigned(tmp, value);
encodeTag(buffer, enums_default.ApplicationTag.SIGNED_INTEGER, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var byteReverseBits = (inByte) => {
let outByte = 0;
if ((inByte & 1) > 0) {
outByte |= 128;
}
if ((inByte & 2) > 0) {
outByte |= 64;
}
if ((inByte & 4) > 0) {
outByte |= 32;
}
if ((inByte & 8) > 0) {
outByte |= 16;
}
if ((inByte & 16) > 0) {
outByte |= 8;
}
if ((inByte & 32) > 0) {
outByte |= 4;
}
if ((inByte & 64) > 0) {
outByte |= 2;
}
if ((inByte & 128) > 0) {
outByte |= 1;
}
return outByte;
};
var bitstringOctet = (bitString, octetIndex) => {
let octet = 0;
if (bitString.value && octetIndex < enums_default.ASN1_MAX_BITSTRING_BYTES) {
octet = bitString.value[octetIndex];
}
return octet;
};
var encodeBitstring = (buffer, bitString) => {
if (bitString.bitsUsed === 0) {
buffer.buffer[buffer.offset++] = 0;
} else {
const usedBytes = bitstringBytesUsed(bitString);
const remainingUsedBits = bitString.bitsUsed - (usedBytes - 1) * 8;
buffer.buffer[buffer.offset++] = 8 - remainingUsedBits;
for (let i = 0; i < usedBytes; i++) {
buffer.buffer[buffer.offset++] = byteReverseBits(
bitstringOctet(bitString, i)
);
}
}
};
var encodeApplicationBitstring = (buffer, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed(bitString);
encodeTag(
buffer,
enums_default.ApplicationTag.BIT_STRING,
false,
bitStringEncodedLength
);
encodeBitstring(buffer, bitString);
};
var encodeBacnetDate = (buffer, value) => {
if (value === new Date(1, 1, 1)) {
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
buffer.buffer[buffer.offset++] = 255;
return;
}
if (value.getFullYear() >= START_YEAR) {
buffer.buffer[buffer.offset++] = value.getFullYear() - START_YEAR;
} else if (value.getFullYear() < MAX_YEARS) {
buffer.buffer[buffer.offset++] = value.getFullYear();
} else {
throw new Error("invaide year: " + value.getFullYear());
}
buffer.buffer[buffer.offset++] = value.getMonth();
buffer.buffer[buffer.offset++] = value.getDate();
buffer.buffer[buffer.offset++] = value.getDay() === 0 ? 7 : value.getDay();
};
var encodeApplicationDate = (buffer, value) => {
encodeTag(buffer, enums_default.ApplicationTag.DATE, false, 4);
encodeBacnetDate(buffer, value);
};
var encodeBacnetTime = (buffer, value) => {
buffer.buffer[buffer.offset++] = value.getHours();
buffer.buffer[buffer.offset++] = value.getMinutes();
buffer.buffer[buffer.offset++] = value.getSeconds();
buffer.buffer[buffer.offset++] = value.getMilliseconds() / 10;
};
var encodeApplicationTime = (buffer, value) => {
encodeTag(buffer, enums_default.ApplicationTag.TIME, false, 4);
encodeBacnetTime(buffer, value);
};
var bacappEncodeDatetime = (buffer, value) => {
if (value !== new Date(1, 1, 1)) {
encodeApplicationDate(buffer, value);
encodeApplicationTime(buffer, value);
}
};
var encodeContextObjectId = (buffer, tagNumber, objectType, instance) => {
encodeTag(buffer, tagNumber, true, 4);
encodeBacnetObjectId(buffer, objectType, instance);
};
var encodeOpeningTag = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 6;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeClosingTag = (buffer, tagNumber) => {
let len = 1;
const tmp = new Array(2);
tmp[0] = 8;
if (tagNumber <= 14) {
tmp[0] |= tagNumber << 4;
} else {
tmp[0] |= 240;
tmp[1] = tagNumber;
len++;
}
tmp[0] |= 7;
Buffer.from(tmp).copy(buffer.buffer, buffer.offset, 0, len);
buffer.offset += len;
};
var encodeReadAccessSpecification = (buffer, value) => {
encodeContextObjectId(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag(buffer, 1);
value.properties.forEach((p) => {
encodeContextEnumerated(buffer, 0, p.id);
if (p.index && p.index !== enums_default.ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 1, p.index);
}
});
encodeClosingTag(buffer, 1);
};
var encodeContextBoolean = (buffer, tagNumber, booleanValue) => {
encodeTag(buffer, tagNumber, true, 1);
buffer.buffer.writeUInt8(booleanValue ? 1 : 0, buffer.offset, true);
buffer.offset += 1;
};
var encodeCovSubscription = (buffer, value) => {
encodeOpeningTag(buffer, 0);
encodeOpeningTag(buffer, 0);
encodeOpeningTag(buffer, 1);
encodeApplicationUnsigned(buffer, value.recipient.network);
if (value.recipient.network === 65535) {
encodeApplicationOctetString(buffer, 0, 0, 0);
} else {
encodeApplicationOctetString(
buffer,
value.recipient.address,
0,
value.recipient.address.length
);
}
encodeClosingTag(buffer, 1);
encodeClosingTag(buffer, 0);
encodeContextUnsigned(buffer, 1, value.subscriptionProcessId);
encodeClosingTag(buffer, 0);
encodeOpeningTag(buffer, 1);
encodeContextObjectId(
buffer,
0,
value.monitoredObjectId.type,
value.monitoredObjectId.instance
);
encodeContextEnumerated(buffer, 1, value.monitoredProperty.id);
if (value.monitoredProperty.index !== enums_default.ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, value.monitoredProperty.index);
}
encodeClosingTag(buffer, 1);
encodeContextBoolean(buffer, 2, value.issueConfirmedNotifications);
encodeContextUnsigned(buffer, 3, value.timeRemaining);
if (value.covIncrement > 0) {
encodeContextReal(buffer, 4, value.covIncrement);
}
};
var bacappEncodeApplicationData = (buffer, value) => {
if (value.value === null) {
value.type = enums_default.ApplicationTag.NULL;
}
switch (value.type) {
case enums_default.ApplicationTag.NULL:
encodeApplicationNull(buffer);
break;
case enums_default.ApplicationTag.BOOLEAN:
encodeApplicationBoolean(buffer, value.value);
break;
case enums_default.ApplicationTag.UNSIGNED_INTEGER:
encodeApplicationUnsigned(buffer, value.value);
break;
case enums_default.ApplicationTag.SIGNED_INTEGER:
encodeApplicationSigned(buffer, value.value);
break;
case enums_default.ApplicationTag.REAL:
encodeApplicationReal(buffer, value.value);
break;
case enums_default.ApplicationTag.DOUBLE:
encodeApplicationDouble(buffer, value.value);
break;
case enums_default.ApplicationTag.OCTET_STRING:
encodeApplicationOctetString(buffer, value.value, 0, value.value.length);
break;
case enums_default.ApplicationTag.CHARACTER_STRING:
encodeApplicationCharacterString(buffer, value.value, value.encoding);
break;
case enums_default.ApplicationTag.BIT_STRING:
encodeApplicationBitstring(buffer, value.value);
break;
case enums_default.ApplicationTag.ENUMERATED:
encodeApplicationEnumerated(buffer, value.value);
break;
case enums_default.ApplicationTag.DATE:
encodeApplicationDate(buffer, value.value);
break;
case enums_default.ApplicationTag.TIME:
encodeApplicationTime(buffer, value.value);
break;
case enums_default.ApplicationTag.TIMESTAMP:
bacappEncodeTimestamp(buffer, value.value);
break;
case enums_default.ApplicationTag.DATETIME:
bacappEncodeDatetime(buffer, value.value);
break;
case enums_default.ApplicationTag.OBJECTIDENTIFIER:
encodeApplicationObjectId(buffer, value.value.type, value.value.instance);
break;
case enums_default.ApplicationTag.COV_SUBSCRIPTION:
encodeCovSubscription(buffer, value.value);
break;
case enums_default.ApplicationTag.READ_ACCESS_RESULT:
encodeReadAccessResult(buffer, value.value);
break;
case enums_default.ApplicationTag.READ_ACCESS_SPECIFICATION:
encodeReadAccessSpecification(buffer, value.value);
break;
case void 0:
throw new Error(
"Cannot encode a value if the type has not been specified"
);
default:
throw "No encode for ApplicationTag type: " + enums_default.getEnumName(
enums_default.ApplicationTag,
value.type
);
}
};
var bacappEncodeDeviceObjPropertyRef = (buffer, value) => {
encodeContextObjectId(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeContextEnumerated(buffer, 1, value.id);
if (value.arrayIndex !== enums_default.ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, value.arrayIndex);
}
if (value.deviceIndentifier.type === enums_default.ObjectType.DEVICE) {
encodeContextObjectId(
buffer,
3,
value.deviceIndentifier.type,
value.deviceIndentifier.instance
);
}
};
var bacappEncodeContextDeviceObjPropertyRef = (buffer, tagNumber, value) => {
encodeOpeningTag(buffer, tagNumber);
bacappEncodeDeviceObjPropertyRef(buffer, value);
encodeClosingTag(buffer, tagNumber);
};
var bacappEncodePropertyState = (buffer, value) => {
switch (value.type) {
case enums_default.PropertyStates.BOOLEAN_VALUE:
encodeContextBoolean(buffer, 0, value.state === 1);
break;
case enums_default.PropertyStates.BINARY_VALUE:
encodeContextEnumerated(buffer, 1, value.state);
break;
case enums_default.PropertyStates.EVENT_TYPE:
encodeContextEnumerated(buffer, 2, value.state);
break;
case enums_default.PropertyStates.POLARITY:
encodeContextEnumerated(buffer, 3, value.state);
break;
case enums_default.PropertyStates.PROGRAM_CHANGE:
encodeContextEnumerated(buffer, 4, value.state);
break;
case enums_default.PropertyStates.PROGRAM_STATE:
encodeContextEnumerated(buffer, 5, value.state);
break;
case enums_default.PropertyStates.REASON_FOR_HALT:
encodeContextEnumerated(buffer, 6, value.state);
break;
case enums_default.PropertyStates.RELIABILITY:
encodeContextEnumerated(buffer, 7, value.state);
break;
case enums_default.PropertyStates.STATE:
encodeContextEnumerated(buffer, 8, value.state);
break;
case enums_default.PropertyStates.SYSTEM_STATUS:
encodeContextEnumerated(buffer, 9, value.state);
break;
case enums_default.PropertyStates.UNITS:
encodeContextEnumerated(buffer, 10, value.state);
break;
case enums_default.PropertyStates.UNSIGNED_VALUE:
encodeContextUnsigned(buffer, 11, value.state);
break;
case enums_default.PropertyStates.LIFE_SAFETY_MODE:
encodeContextEnumerated(buffer, 12, value.state);
break;
case enums_default.PropertyStates.LIFE_SAFETY_STATE:
encodeContextEnumerated(buffer, 13, value.state);
break;
default:
break;
}
};
var encodeContextBitstring = (buffer, tagNumber, bitString) => {
let bitStringEncodedLength = 1;
bitStringEncodedLength += bitstringBytesUsed(bitString);
encodeTag(buffer, tagNumber, true, bitStringEncodedLength);
encodeBitstring(buffer, bitString);
};
var encodeContextSigned = (buffer, tagNumber, value) => {
encodeTag(buffer, tagNumber, true, getSignedLength(value));
encodeBacnetSigned(buffer, value);
};
var encodeContextTime = (buffer, tagNumber, value) => {
encodeTag(buffer, tagNumber, true, 4);
encodeBacnetTime(buffer, value);
};
var bacappEncodeContextDatetime = (buffer, tagNumber, value) => {
if (value !== new Date(1, 1, 1)) {
encodeOpeningTag(buffer, tagNumber);
bacappEncodeDatetime(buffer, value);
encodeClosingTag(buffer, tagNumber);
} else {
throw new Error("wrong Datetime while bacapp encoding context");
}
};
var decodeTagNumber = (buffer, offset) => {
let len = 1;
let tagNumber;
if (isExtendedTagNumber(buffer[offset])) {
tagNumber = buffer[offset + 1];
len++;
} else {
tagNumber = buffer[offset] >> 4;
}
return {
len,
tagNumber
};
};
var decodeIsContextTag = (buffer, offset, tagNumber) => {
const result = decodeTagNumber(buffer, offset);
return isContextSpecific(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsOpeningTagNumber = (buffer, offset, tagNumber) => {
const result = decodeTagNumber(buffer, offset);
return isOpeningTag(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTagNumber = (buffer, offset, tagNumber) => {
const result = decodeTagNumber(buffer, offset);
return isClosingTag(buffer[offset]) && result.tagNumber === tagNumber;
};
var decodeIsClosingTag = (buffer, offset) => {
return (buffer[offset] & 7) === 7;
};
var decodeIsOpeningTag = (buffer, offset) => {
return (buffer[offset] & 7) === 6;
};
var decodeObjectId = (buffer, offset, NOT_USED_NUMBER = 0) => {
const result = decodeUnsigned(buffer, offset, 4);
const objectType = result.value >> enums_default.ASN1_INSTANCE_BITS & enums_default.ASN1_MAX_OBJECT;
const instance = result.value & enums_default.ASN1_MAX_INSTANCE;
return {
len: result.len,
objectType,
instance
};
};
var decodeObjectIdSafe = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: 0,
objectType: 0,
instance: 0
};
} else {
return decodeObjectId(buffer, offset);
}
};
var decodeTagNumberAndValue = (buffer, offset) => {
let value;
let result = decodeTagNumber(buffer, offset);
let len = result.len;
if (isExtendedValue(buffer[offset])) {
if (buffer[offset + len] === 255) {
len++;
result = decodeUnsigned(buffer, offset + len, 4);
len += result.len;
value = result.value;
} else if (buffer[offset + len] === 254) {
len++;
result = decodeUnsigned(buffer, offset + len, 2);
len += result.len;
value = result.value;
} else {
value = buffer[offset + len];
len++;
}
} else if (isOpeningTag(buffer[offset])) {
value = 0;
} else if (isClosingTag(buffer[offset])) {
value = 0;
} else {
value = buffer[offset] & 7;
}
return {
len,
tagNumber: result.tagNumber,
value
};
};
var bacappDecodeApplicationData = (buffer, offset, maxOffset, objectType, propertyId) => {
if (!isContextSpecific(buffer[offset])) {
let result = decodeTagNumberAndValue(buffer, offset);
if (result) {
let len = result.len;
result = bacappDecodeData(
buffer,
offset + len,
maxOffset,
result.tagNumber,
result.value
);
if (!result) {
return void 0;
}
let resObj = {
len: len + result.len,
type: result.type,
value: result.value
};
if (result.encoding !== void 0)
resObj.encoding = result.encoding;
return resObj;
}
} else {
return bacappDecodeContextApplicationData(
buffer,
offset,
maxOffset,
objectType,
propertyId
);
}
};
var encodeReadAccessResult = (buffer, value) => {
encodeContextObjectId(
buffer,
0,
value.objectId.type,
value.objectId.instance
);
encodeOpeningTag(buffer, 1);
value.values.forEach((item) => {
encodeContextEnumerated(buffer, 2, item.property.id);
if (item.property.index !== enums_default.ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 3, item.property.index);
}
if (item.value && item.value[0] && item.value[0].value && item.value[0].value.type === "BacnetError") {
encodeOpeningTag(buffer, 5);
encodeApplicationEnumerated(buffer, item.value[0].value.errorClass);
encodeApplicationEnumerated(buffer, item.value[0].value.errorCode);
encodeClosingTag(buffer, 5);
} else {
if (!item.value)
throw new Error("No value in item");
encodeOpeningTag(buffer, 4);
item.value.forEach((subItem) => {
bacappEncodeApplicationData(buffer, subItem);
});
encodeClosingTag(buffer, 4);
}
});
encodeClosingTag(buffer, 1);
};
var decodeReadAccessResult = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
let result = decodeObjectId(buffer, offset + len);
value.objectId = {
type: result.objectType,
instance: result.instance
};
len += result.len;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return -1;
}
len++;
const values = [];
while (apduLen - len > 0) {
let newEntry = {};
if (decodeIsClosingTagNumber(buffer, offset + len, 1)) {
len++;
break;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
result = decodeEnumerated(buffer, offset + len, result.value);
newEntry.id = result.value;
len += result.len;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 3) {
len += result.len;
result = decodeUnsigned(buffer, offset + len, result.value);
newEntry.index = result.value;
len += result.len;
} else {
newEntry.index = enums_default.ASN1_ARRAY_ALL;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 4) {
const localValues = [];
while (len + offset <= buffer.length && !decodeIsClosingTagNumber(buffer, offset + len, 4)) {
let localResult = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset - 1,
value.objectId.type,
newEntry.id
);
if (!localResult) {
return void 0;
}
len += localResult.len;
let resObj = {
value: localResult.value,
type: localResult.type
};
if (localResult.encoding !== void 0)
resObj.encoding = localResult.encoding;
localValues.push(resObj);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 4)) {
return void 0;
}
if (localValues.count === 2 && localValues[0].type === enums_default.ApplicationTag.DATE && localValues[1].type === enums_default.ApplicationTag.TIME) {
const date = localValues[0].value;
const time = localValues[1].value;
const bdatetime = new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
);
newEntry.value = [
{ type: enums_default.ApplicationTag.DATETIME, value: bdatetime }
];
} else {
newEntry.value = localValues;
}
len++;
} else if (result.tagNumber === 5) {
let err = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
result = decodeEnumerated(buffer, offset + len, result.value);
len += result.len;
err.errorClass = result.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
result = decodeEnumerated(buffer, offset + len, result.value);
len += result.len;
err.errorCode = result.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 5)) {
return void 0;
}
len++;
newEntry.value = [
{
type: enums_default.ApplicationTag.ERROR,
value: err
}
];
}
values.push(newEntry);
}
value.values = values;
return {
len,
value
};
};
var decodeSigned = (buffer, offset, length) => {
return {
len: length,
value: buffer.readIntBE(offset, length, true)
};
};
var decodeReal = (buffer, offset) => {
return {
len: 4,
value: buffer.readFloatBE(offset, true)
};
};
var decodeRealSafe = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: 0
};
} else {
return decodeReal(buffer, offset);
}
};
var decodeDouble = (buffer, offset) => {
return {
len: 8,
value: buffer.readDoubleBE(offset, true)
};
};
var decodeDoubleSafe = (buffer, offset, lenValue) => {
if (lenValue !== 8) {
return {
len: lenValue,
value: 0
};
} else {
return decodeDouble(buffer, offset);
}
};
var decodeOctetString = (buffer, offset, maxLength, octetStringOffset, octetStringLength) => {
const octetString = [];
for (let i = octetStringOffset; i < octetStringOffset + octetStringLength; i++) {
octetString.push(buffer[offset + i]);
}
return {
len: octetStringLength,
value: octetString
};
};
var multiCharsetCharacterstringDecode = (buffer, offset, maxLength, encoding, length) => {
const stringBuf = Buffer.alloc(length);
buffer.copy(stringBuf, 0, offset, offset + length);
return {
value: import_iconv_lite.default.decode(stringBuf, getEncodingType(encoding, buffer, offset)),
len: length + 1,
encoding
};
};
var decodeCharacterString = (buffer, offset, maxLength, lenValue) => {
return multiCharsetCharacterstringDecode(
buffer,
offset + 1,
maxLength,
buffer[offset],
lenValue - 1
);
};
var bitstringSetBitsUsed = (bitString, bytesUsed, unusedBits) => {
bitString.bitsUsed = bytesUsed * 8;
bitString.bitsUsed -= unusedBits;
};
var decodeBitstring = (buffer, offset, lenValue) => {
let len = 0;
let bitString = {};
bitString.value = [];
if (lenValue > 0) {
const bytesUsed = lenValue - 1;
if (bytesUsed <= enums_default.ASN1_MAX_BITSTRING_BYTES) {
len = 1;
for (let i = 0; i < bytesUsed; i++) {
bitString.value.push(byteReverseBits(buffer[offset + len++]));
}
const unusedBits = buffer[offset] & 7;
bitstringSetBitsUsed(bitString, bytesUsed, unusedBits);
}
}
return {
len,
value: bitString
};
};
var decodeDate = (buffer, offset) => {
let date;
const year = buffer[offset] + 1900;
const month = buffer[offset + 1];
const day = buffer[offset + 2];
const wday = buffer[offset + 3];
if (month === 255 && day === 255 && wday === 255 && year - 1900 === 255) {
date = new Date(1, 1, 1);
} else {
date = new Date(year, month, day);
}
return {
len: 4,
value: date
};
};
var decodeDateSafe = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeDate(buffer, offset);
}
};
var decodeApplicationDate = (buffer, offset) => {
const result = decodeTagNumber(buffer, offset);
if (result.tagNumber === enums_default.ApplicationTag.DATE) {
const value = decodeDate(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetTime = (buffer, offset, value = new Date(1, 1, 1)) => {
const hour = buffer[offset + 0];
const min = buffer[offset + 1];
const sec = buffer[offset + 2];
let hundredths = buffer[offset + 3];
if (hour === 255 && min === 255 && sec === 255 && hundredths === 255) {
value = new Date(1, 1, 1);
} else {
if (hundredths > 100)
hundredths = 0;
value = new Date(1, 1, 1, hour, min, sec, hundredths * 10);
}
return {
len: 4,
value
};
};
var decodeBacnetTimeSafe = (buffer, offset, lenValue) => {
if (lenValue !== 4) {
return {
len: lenValue,
value: new Date(1, 1, 1)
};
} else {
return decodeBacnetTime(buffer, offset);
}
};
var decodeApplicationTime = (buffer, offset) => {
const result = decodeTagNumber(buffer, offset);
if (result.tagNumber === enums_default.ApplicationTag.TIME) {
const value = decodeBacnetTime(buffer, offset + 1);
return {
len: value.len + 1,
value
};
}
return void 0;
};
var decodeBacnetDatetime = (buffer, offset) => {
let len = 0;
const date = decodeApplicationDate(buffer, offset + len);
len += date.len;
const time = decodeApplicationTime(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.year,
date.month,
date.day,
time.hour,
time.minute,
time.second,
time.millisecond
)
};
};
var bacappDecodeData = (buffer, offset, maxLength, tagDataType, lenValueType) => {
let result;
let value = {
len: 0,
type: tagDataType
};
switch (tagDataType) {
case enums_default.ApplicationTag.NULL:
value.value = null;
break;
case enums_default.ApplicationTag.BOOLEAN:
value.value = lenValueType > 0;
break;
case enums_default.ApplicationTag.UNSIGNED_INTEGER:
result = decodeUnsigned(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.SIGNED_INTEGER:
result = decodeSigned(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.REAL:
result = decodeRealSafe(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.DOUBLE:
result = decodeDoubleSafe(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.OCTET_STRING:
result = decodeOctetString(buffer, offset, maxLength, 0, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.CHARACTER_STRING:
result = decodeCharacterString(buffer, offset, maxLength, lenValueType);
value.len += result.len;
value.value = result.value;
value.encoding = result.encoding;
break;
case enums_default.ApplicationTag.BIT_STRING:
result = decodeBitstring(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.ENUMERATED:
result = decodeEnumerated(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.DATE:
result = decodeDateSafe(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.TIME:
result = decodeBacnetTimeSafe(buffer, offset, lenValueType);
value.len += result.len;
value.value = result.value;
break;
case enums_default.ApplicationTag.OBJECTIDENTIFIER:
result = decodeObjectIdSafe(buffer, offset, lenValueType);
value.len += result.len;
value.value = { type: result.objectType, instance: result.instance };
break;
default:
break;
}
return value;
};
var bacappContextTagType = (property, tagNumber) => {
let tag = 0;
switch (property) {
case enums_default.PropertyIdentifier.ACTUAL_SHED_LEVEL:
case enums_default.PropertyIdentifier.REQUESTED_SHED_LEVEL:
case enums_default.PropertyIdentifier.EXPECTED_SHED_LEVEL:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default.ApplicationTag.UNSIGNED_INTEGER;
break;
case 2:
tag = enums_default.ApplicationTag.REAL;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.ACTION:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
case 2:
tag = enums_default.ApplicationTag.ENUMERATED;
break;
case 3:
case 5:
case 6:
tag = enums_default.ApplicationTag.UNSIGNED_INTEGER;
break;
case 7:
case 8:
tag = enums_default.ApplicationTag.BOOLEAN;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.LIST_OF_GROUP_MEMBERS:
switch (tagNumber) {
case 0:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.EXCEPTION_SCHEDULE:
switch (tagNumber) {
case 1:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
case 3:
tag = enums_default.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY:
switch (tagNumber) {
case 0:
case 3:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
case 1:
tag = enums_default.ApplicationTag.ENUMERATED;
break;
case 2:
tag = enums_default.ApplicationTag.UNSIGNED_INTEGER;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.SUBORDINATE_LIST:
switch (tagNumber) {
case 0:
case 1:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.RECIPIENT_LIST:
switch (tagNumber) {
case 0:
tag = enums_default.ApplicationTag.OBJECTIDENTIFIER;
break;
default:
break;
}
break;
case enums_default.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS:
switch (tagNumber) {
case 0:
case 1:
break;
case 2:
tag = enums_default.ApplicationTag.BOOLEAN;
break;
case 3:
tag = enums_default.ApplicationTag.UNSIGNED_INTEGER;
break;
case 4:
tag = enums_default.ApplicationTag.REAL;
break;
default:
break;
}
break;
default:
break;
}
return tag;
};
var decodeDeviceObjPropertyRef = (buffer, offset, NOTUSEDARG = 0) => {
let len = 0;
let arrayIndex = enums_default.ASN1_ARRAY_ALL;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
let objectId = decodeObjectId(buffer, offset + len);
len += objectId.len;
let result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
let id = decodeEnumerated(buffer, offset + len, result.value);
len += id.len;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
arrayIndex = decodeUnsigned(buffer, offset + len, result.value);
len += arrayIndex.len;
}
if (decodeIsContextTag(buffer, offset + len, 3)) {
if (!isClosingTag(buffer[offset + len])) {
len++;
objectId = decodeObjectId(buffer, offset + len);
len += objectId.len;
}
}
return {
len,
value: {
objectId,
id
}
};
};
var decodeReadAccessSpecification = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
let decodedValue = decodeObjectId(buffer, offset + len);
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
const propertyIdAndArrayIndex = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber(buffer, offset + len, 1)) {
let propertyRef = {};
if (!isContextSpecific(buffer[offset + len])) {
return void 0;
}
let result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (len + result.value >= apduLen) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
propertyRef.id = decodedValue.value;
len += decodedValue.len;
propertyRef.index = enums_default.ASN1_ARRAY_ALL;
if (isContextSpecific(buffer[offset + len]) && !isClosingTag(buffer[offset + len])) {
const tmp = decodeTagNumberAndValue(buffer, offset + len);
if (tmp.tagNumber === 1) {
len += tmp.len;
if (len + tmp.value >= apduLen) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, tmp.value);
propertyRef.index = decodedValue.value;
len += decodedValue.len;
}
}
propertyIdAndArrayIndex.push(propertyRef);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
value.properties = propertyIdAndArrayIndex;
return {
len,
value
};
};
var decodeCovSubscription = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
value.recipient = {};
if (!decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default.ApplicationTag.UNSIGNED_INTEGER) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.recipient.net = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== enums_default.ApplicationTag.OCTET_STRING) {
return void 0;
}
decodedValue = decodeOctetString(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
value.recipient.adr = decodedValue.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriptionProcessId = decodedValue.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty = {};
value.monitoredProperty.id = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
} else {
value.monitoredProperty.index = enums_default.ASN1_ARRAY_ALL;
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2) {
return void 0;
}
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.timeRemaining = decodedValue.value;
if (len < apduLen && !isClosingTag(buffer[offset + len])) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 4) {
return void 0;
}
decodedValue = decodeReal(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
return {
len,
value
};
};
var decodeCalendarDate = (buffer, offset) => {
return {
len: 4,
year: buffer[offset],
month: buffer[offset + 1],
day: buffer[offset + 2],
wday: buffer[offset + 3]
};
};
var decodeCalendarDateRange = (buffer, offset) => {
let len = 1;
const startDate = decodeDate(buffer, offset + len);
len += startDate.len + 1;
const endDate = decodeDate(buffer, offset + len);
len += endDate.len + 1;
return {
len,
startDate,
endDate
};
};
var decodeCalendarWeekDay = (buffer, offset) => {
return {
len: 3,
month: buffer[offset],
week: buffer[offset + 1],
wday: buffer[offset + 2]
};
};
var decodeCalendar = (buffer, offset, apduLen) => {
let len = 0;
const entries = [];
let decodedValue;
while (len < apduLen) {
const result = decodeTagNumber(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 0:
decodedValue = decodeCalendarDate(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 1:
decodedValue = decodeCalendarDateRange(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
case 2:
decodedValue = decodeCalendarWeekDay(buffer, offset + len);
len += decodedValue.len;
entries.push(decodedValue);
break;
default:
return {
len: len - 1,
value: entries
};
}
}
};
var bacappDecodeContextApplicationData = (buffer, offset, maxOffset, objectType, propertyId) => {
let len = 0;
let result;
if (isContextSpecific(buffer[offset])) {
if (propertyId === enums_default.PropertyIdentifier.LIST_OF_GROUP_MEMBERS) {
result = decodeReadAccessSpecification(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default.ApplicationTag.READ_ACCESS_SPECIFICATION,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS) {
result = decodeCovSubscription(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default.ApplicationTag.COV_SUBSCRIPTION,
value: result.value,
len: result.len
};
} else if (objectType === enums_default.ObjectType.GROUP && propertyId === enums_default.PropertyIdentifier.PRESENT_VALUE) {
result = decodeReadAccessResult(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default.ApplicationTag.READ_ACCESS_RESULT,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default.PropertyIdentifier.LIST_OF_OBJECT_PROPERTY_REFERENCES || propertyId === enums_default.PropertyIdentifier.LOG_DEVICE_OBJECT_PROPERTY || propertyId === enums_default.PropertyIdentifier.OBJECT_PROPERTY_REFERENCE) {
result = decodeDeviceObjPropertyRef(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default.ApplicationTag.OBJECT_PROPERTY_REFERENCE,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default.PropertyIdentifier.DATE_LIST) {
result = decodeCalendar(buffer, offset, maxOffset);
if (!result) {
return void 0;
}
return {
type: enums_default.ApplicationTag.CONTEXT_SPECIFIC_DECODED,
value: result.value,
len: result.len
};
} else if (propertyId === enums_default.PropertyIdentifier.EVENT_TIME_STAMPS) {
let subEvtResult;
let evtResult = decodeTagNumberAndValue(buffer, offset + len);
len += 1;
if (evtResult.tagNumber === 0) {
subEvtResult = decodeBacnetTime(buffer, offset + 1);
return {
type: enums_default.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 1) {
subEvtResult = decodeUnsigned(buffer, offset + len, evtResult.value);
return {
type: enums_default.ApplicationTag.UNSIGNED_INTEGER,
value: subEvtResult.value,
len: subEvtResult.len + 1
};
} else if (evtResult.tagNumber === 2) {
subEvtResult = decodeBacnetDatetime(buffer, offset + len);
return {
type: enums_default.ApplicationTag.TIMESTAMP,
value: subEvtResult.value,
len: subEvtResult.len + 2
};
} else {
return void 0;
}
}
const list = [];
let tagResult = decodeTagNumberAndValue(buffer, offset + len);
let multipleValues = isOpeningTag(buffer[offset + len]);
while (len + offset <= maxOffset && !isClosingTag(buffer[offset + len])) {
let subResult = decodeTagNumberAndValue(buffer, offset + len);
if (!subResult) {
return void 0;
}
if (subResult.value === 0) {
len += subResult.len;
result = bacappDecodeApplicationData(
buffer,
offset + len,
maxOffset,
enums_default.ASN1_MAX_OBJECT_TYPE,
enums_default.ASN1_MAX_PROPERTY_ID
);
if (!result) {
return void 0;
}
list.push(result);
len += result.len;
} else {
const overrideTagNumber = bacappContextTagType(
propertyId,
subResult.tagNumber
);
if (overrideTagNumber !== enums_default.ASN1_MAX_APPLICATION_TAG) {
subResult.tagNumber = overrideTagNumber;
}
let bacappResult = bacappDecodeData(
buffer,
offset + len + subResult.len,
maxOffset,
subResult.tagNumber,
subResult.value
);
if (!bacappResult) {
return void 0;
}
if (bacappResult.len === subResult.value) {
let resObj = {
value: bacappResult.value,
type: bacappResult.type
};
if (bacappResult.encoding !== void 0)
resObj.encoding = bacappResult.encoding;
list.push(resObj);
len += subResult.len + subResult.value;
} else {
list.push({
value: buffer.slice(
offset + len + subResult.len,
offset + len + subResult.len + subResult.value
),
type: enums_default.ApplicationTag.CONTEXT_SPECIFIC_ENCODED
});
len += subResult.len + subResult.value;
}
}
if (multipleValues === false) {
return {
len,
value: list[0],
type: enums_default.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
}
if (len + offset > maxOffset) {
return void 0;
}
if (decodeIsClosingTagNumber(buffer, offset + len, tagResult.tagNumber)) {
len++;
}
return {
len,
value: list,
type: enums_default.ApplicationTag.CONTEXT_SPECIFIC_DECODED
};
}
return void 0;
};
var bacappEncodeTimestamp = (buffer, value) => {
switch (value.type) {
case enums_default.TimeStamp.TIME:
encodeContextTime(buffer, 0, value.value);
break;
case enums_default.TimeStamp.SEQUENCE_NUMBER:
encodeContextUnsigned(buffer, 1, value.value);
break;
case enums_default.TimeStamp.DATETIME:
bacappEncodeContextDatetime(buffer, 2, value.value);
break;
default:
throw new Error("NOT_IMPLEMENTED");
}
};
var bacappEncodeContextTimestamp = (buffer, tagNumber, value) => {
encodeOpeningTag(buffer, tagNumber);
bacappEncodeTimestamp(buffer, value);
encodeClosingTag(buffer, tagNumber);
};
var decodeContextCharacterString = (buffer, offset, maxLength, tagNumber) => {
let len = 0;
if (!decodeIsContextTag(buffer, offset + len, tagNumber)) {
return void 0;
}
const result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
const decodedValue = multiCharsetCharacterstringDecode(
buffer,
offset + 1 + len,
maxLength,
buffer[offset + len],
result.value - 1
);
if (!decodedValue) {
return void 0;
}
len += result.value;
return {
len,
value: decodedValue.value,
encoding: decodedValue.encoding
};
};
var decodeIsContextTagWithLength = (buffer, offset, tagNumber) => {
const result = decodeTagNumber(buffer, offset);
return {
len: result.len,
value: isContextSpecific(buffer[offset]) && result.tagNumber === tagNumber
};
};
var decodeContextObjectId = (buffer, offset, tagNumber) => {
const result = decodeIsContextTagWithLength(buffer, offset, tagNumber);
if (!result.value) {
return void 0;
}
const decodedValue = decodeObjectId(buffer, offset + result.len);
decodedValue.len = decodedValue.len + result.len;
return decodedValue;
};
var encodeBacnetCharacterString = (buffer, value, encoding) => {
encoding = encoding || enums_default.CharacterStringEncoding.UTF_8;
buffer.buffer[buffer.offset++] = encoding;
const bufEncoded = import_iconv_lite.default.encode(value, getEncodingType(encoding));
buffer.offset += bufEncoded.copy(buffer.buffer, buffer.offset);
};
var encodeApplicationCharacterString = (buffer, value, encoding) => {
const tmp = getBuffer();
encodeBacnetCharacterString(tmp, value, encoding);
encodeTag(buffer, enums_default.ApplicationTag.CHARACTER_STRING, false, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
var encodeContextCharacterString = (buffer, tagNumber, value, encoding) => {
const tmp = getBuffer();
encodeBacnetCharacterString(tmp, value, encoding);
encodeTag(buffer, tagNumber, true, tmp.offset);
tmp.buffer.copy(buffer.buffer, buffer.offset, 0, tmp.offset);
buffer.offset += tmp.offset;
};
// src/services/add-list-element.ts
var encode = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, arrayIndex);
}
encodeOpeningTag(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData(buffer, value);
});
encodeClosingTag(buffer, 3);
};
var decode = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.property = { id: decodedValue.value };
if (len < apduLen && decodeIsContextTag(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL;
}
const values = [];
if (!decodeIsOpeningTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
value.objectId.type,
value.property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
value.values = values;
if (!decodeIsClosingTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.len = len;
return value;
};
// src/services/alarm-acknowledge.ts
var alarm_acknowledge_exports = {};
__export(alarm_acknowledge_exports, {
decode: () => decode2,
encode: () => encode2
});
var encode2 = (buffer, ackProcessId, eventObjectId, eventStateAcknowledged, ackSource, eventTimeStamp, ackTimeStamp) => {
encodeContextUnsigned(buffer, 0, ackProcessId);
encodeContextObjectId(
buffer,
1,
eventObjectId.type,
eventObjectId.instance
);
encodeContextEnumerated(buffer, 2, eventStateAcknowledged);
bacappEncodeContextTimestamp(buffer, 3, eventTimeStamp);
encodeContextCharacterString(buffer, 4, ackSource);
bacappEncodeContextTimestamp(buffer, 5, ackTimeStamp);
};
var decode2 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
let date;
let time;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedProcessId = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateAcknowledged = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 /* TIME */) {
decodedValue = decodeBacnetTime(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1 /* SEQUENCE_NUMBER */) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2 /* DATETIME */) {
date = decodeApplicationDate(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime(buffer, offset + len);
len += time.len;
time = time.value.value;
value.eventTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.acknowledgeSource = decodedValue.value;
len += decodedValue.len;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 /* TIME */) {
decodedValue = decodeBacnetTime(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 1 /* SEQUENCE_NUMBER */) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgeTimeStamp = decodedValue.value;
} else if (result.tagNumber === 2 /* DATETIME */) {
date = decodeApplicationDate(buffer, offset + len);
len += date.len;
date = date.value.value;
time = decodeApplicationTime(buffer, offset + len);
len += time.len;
time = time.value.value;
value.acknowledgeTimeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len++;
}
len++;
value.len = len;
return value;
};
// src/services/alarm-summary.ts
var alarm_summary_exports = {};
__export(alarm_summary_exports, {
decode: () => decode3,
encode: () => encode3
});
var encode3 = (buffer, alarms) => {
alarms.forEach((alarm) => {
encodeContextObjectId(
buffer,
12,
alarm.objectId.type,
alarm.objectId.instance
);
encodeContextEnumerated(buffer, 9, alarm.alarmState);
encodeContextBitstring(buffer, 8, alarm.acknowledgedTransitions);
});
};
var decode3 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const alarms = [];
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.alarmState = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
alarms.push(value);
}
return {
len,
alarms
};
};
// src/services/atomic-read-file.ts
var atomic_read_file_exports = {};
__export(atomic_read_file_exports, {
decode: () => decode4,
decodeAcknowledge: () => decodeAcknowledge,
encode: () => encode4,
encodeAcknowledge: () => encodeAcknowledge
});
var encode4 = (buffer, isStream, objectId, position, count) => {
encodeApplicationObjectId(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag(buffer, 0);
encodeApplicationSigned(buffer, position);
encodeApplicationUnsigned(buffer, count);
encodeClosingTag(buffer, 0);
} else {
encodeOpeningTag(buffer, 1);
encodeApplicationSigned(buffer, position);
encodeApplicationUnsigned(buffer, count);
encodeClosingTag(buffer, 1);
}
};
var decode4 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let isStream = true;
let objectId = {};
let position = -1;
let count = 0;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12 /* OBJECTIDENTIFIER */) {
return void 0;
}
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
objectId = { type: decodedValue.objectType, instance: decodedValue.instance };
if (decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3 /* SIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3 /* SIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
count
};
};
var encodeAcknowledge = (buffer, isStream, endOfFile, position, blockCount, blocks, counts) => {
encodeApplicationBoolean(buffer, endOfFile);
if (isStream) {
encodeOpeningTag(buffer, 0);
encodeApplicationSigned(buffer, position);
encodeApplicationOctetString(buffer, blocks[0], 0, counts[0]);
encodeClosingTag(buffer, 0);
} else {
encodeOpeningTag(buffer, 1);
encodeApplicationSigned(buffer, position);
encodeApplicationUnsigned(buffer, blockCount);
for (let i = 0; i < blockCount; i++) {
encodeApplicationOctetString(buffer, blocks[i], 0, counts[i]);
}
encodeClosingTag(buffer, 1);
}
};
var decodeAcknowledge = (buffer, offset, length = 0) => {
let len = length;
let result;
let decodedValue;
let endOfFile;
let isStream;
let position;
let targetBuffer;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1 /* BOOLEAN */) {
return void 0;
}
endOfFile = result.value > 0;
if (decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3 /* SIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6 /* OCTET_STRING */) {
return void 0;
}
targetBuffer = buffer.slice(offset + len, offset + len + result.value);
len += result.value;
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
isStream = false;
throw new Error("NotImplemented");
} else {
return void 0;
}
return {
len,
endOfFile,
isStream,
position,
buffer: targetBuffer
};
};
// src/services/atomic-write-file.ts
var atomic_write_file_exports = {};
__export(atomic_write_file_exports, {
decode: () => decode5,
decodeAcknowledge: () => decodeAcknowledge2,
encode: () => encode5,
encodeAcknowledge: () => encodeAcknowledge2
});
var encode5 = (buffer, isStream, objectId, position, blocks) => {
encodeApplicationObjectId(buffer, objectId.type, objectId.instance);
if (isStream) {
encodeOpeningTag(buffer, 0);
encodeApplicationSigned(buffer, position);
encodeApplicationOctetString(buffer, blocks[0], 0, blocks[0].length);
encodeClosingTag(buffer, 0);
} else {
encodeOpeningTag(buffer, 1);
encodeApplicationSigned(buffer, position);
encodeApplicationUnsigned(buffer, blocks.length);
for (let i = 0; i < blocks.length; i++) {
encodeApplicationOctetString(
buffer,
blocks[i],
0,
blocks[i].length
);
}
encodeClosingTag(buffer, 1);
}
};
var decode5 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let isStream;
let position;
let blocks = [];
let blockCount;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12 /* OBJECTIDENTIFIER */) {
return void 0;
}
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
isStream = true;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3 /* SIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6 /* OCTET_STRING */) {
return void 0;
}
decodedValue = decodeOctetString(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
} else if (decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
isStream = false;
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 3 /* SIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
blockCount = decodedValue.value;
for (let i = 0; i < blockCount; i++) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 6 /* OCTET_STRING */) {
return void 0;
}
decodedValue = decodeOctetString(
buffer,
offset + len,
apduLen,
0,
result.value
);
len += decodedValue.len;
blocks.push(decodedValue.value);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
} else {
return void 0;
}
return {
len,
isStream,
objectId,
position,
blocks
};
};
var encodeAcknowledge2 = (buffer, isStream, position) => {
if (isStream) {
encodeContextSigned(buffer, 0, position);
} else {
encodeContextSigned(buffer, 1, position);
}
};
var decodeAcknowledge2 = (buffer, offset, length = 0) => {
let len = length;
let isStream = false;
let position = 0;
let decodedValue;
const result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
isStream = true;
} else if (result.tagNumber === 1) {
isStream = false;
} else {
return void 0;
}
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
position = decodedValue.value;
return {
len,
isStream,
position
};
};
// src/services/cov-notify.ts
var cov_notify_exports = {};
__export(cov_notify_exports, {
decode: () => decode6,
encode: () => encode6
});
var encode6 = (buffer, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) => {
encodeContextUnsigned(buffer, 0, subscriberProcessId);
encodeContextObjectId(
buffer,
1,
8 /* DEVICE */,
initiatingDeviceId
);
encodeContextObjectId(
buffer,
2,
monitoredObjectId.type,
monitoredObjectId.instance
);
encodeContextUnsigned(buffer, 3, timeRemaining);
encodeOpeningTag(buffer, 4);
values.forEach((value) => {
encodeContextEnumerated(buffer, 0, value.property.id);
if (value.property.index === ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 1, value.property.index);
}
encodeOpeningTag(buffer, 2);
value.value.forEach((v) => {
bacappEncodeApplicationData(buffer, v);
});
encodeClosingTag(buffer, 2);
if (value.priority === ASN1_NO_PRIORITY) {
encodeContextUnsigned(buffer, 3, value.priority);
}
});
encodeClosingTag(buffer, 4);
};
var decode6 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
const subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
const initiatingDeviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
const monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag(buffer, offset + len, 3)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
const timeRemaining = decodedValue.value;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 4)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber(buffer, offset + len, 4)) {
let newEntry = {};
newEntry.property = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.id = decodedValue.value;
if (decodeIsContextTag(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.property.index = decodedValue.value;
} else {
newEntry.property.index = ASN1_ARRAY_ALL;
}
if (!decodeIsOpeningTagNumber(buffer, offset + len, 2)) {
return void 0;
}
len++;
const properties = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber(buffer, offset + len, 2)) {
decodedValue = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
monitoredObjectId.type,
newEntry.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
properties.push(decodedValue);
}
newEntry.value = properties;
len++;
if (decodeIsContextTag(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
newEntry.priority = decodedValue.value;
} else {
newEntry.priority = ASN1_NO_PRIORITY;
}
values.push(newEntry);
}
return {
len,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
};
};
// src/services/create-object.ts
var create_object_exports = {};
__export(create_object_exports, {
decode: () => decode7,
encode: () => encode7,
encodeAcknowledge: () => encodeAcknowledge3
});
var encode7 = (buffer, objectId, values) => {
encodeOpeningTag(buffer, 0);
encodeContextObjectId(buffer, 1, objectId.type, objectId.instance);
encodeClosingTag(buffer, 0);
encodeOpeningTag(buffer, 1);
values.forEach((propertyValue) => {
encodeContextEnumerated(buffer, 0, propertyValue.property.id);
if (propertyValue.property.index !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 1, propertyValue.property.index);
}
encodeOpeningTag(buffer, 2);
propertyValue.value.forEach((value) => {
bacappEncodeApplicationData(buffer, value);
});
encodeClosingTag(buffer, 2);
if (propertyValue.priority !== ASN1_NO_PRIORITY) {
encodeContextUnsigned(buffer, 3, propertyValue.priority);
}
});
encodeClosingTag(buffer, 1);
};
var decode7 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
const valueList = [];
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 && apduLen > len) {
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeContextObjectId(buffer, offset + len, 1);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
} else {
return void 0;
}
if (decodeIsClosingTag(buffer, offset + len)) {
len++;
}
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arraIndex = ASN1_ARRAY_ALL;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
arraIndex += decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arraIndex };
if (result.tagNumber === 2 && decodeIsOpeningTag(buffer, offset + len - 1)) {
const values = [];
while (!decodeIsClosingTag(buffer, offset + len)) {
decodedValue = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
len++;
newEntry.value = values;
} else {
return void 0;
}
valueList.push(newEntry);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
return {
len,
objectId,
values: valueList
};
};
var encodeAcknowledge3 = (buffer, objectId) => {
encodeApplicationObjectId(buffer, objectId.type, objectId.instance);
};
// src/services/delete-object.ts
var delete_object_exports = {};
__export(delete_object_exports, {
decode: () => decode8,
encode: () => encode8
});
var decode8 = (buffer, offset, apduLen) => {
const result = decodeTagNumberAndValue(buffer, offset);
if (result.tagNumber !== 12) {
return void 0;
}
let len = 1;
const value = decodeObjectId(buffer, offset + len);
len += value.len;
if (len !== apduLen) {
return void 0;
}
value.len = len;
return value;
};
var encode8 = (buffer, objectId) => {
encodeApplicationObjectId(buffer, objectId.type, objectId.instance);
};
// src/services/device-communication-control.ts
var device_communication_control_exports = {};
__export(device_communication_control_exports, {
decode: () => decode9,
encode: () => encode9
});
var encode9 = (buffer, timeDuration, enableDisable, password) => {
if (timeDuration > 0) {
encodeContextUnsigned(buffer, 0, timeDuration);
}
encodeContextEnumerated(buffer, 1, enableDisable);
if (password && password !== "") {
encodeContextCharacterString(buffer, 2, password);
}
};
var decode9 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result;
if (decodeIsContextTag(buffer, offset + len, 0)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
value.timeDuration = decodedValue.value;
len += decodedValue.len;
}
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
value.enableDisable = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
// src/services/error.ts
var error_exports = {};
__export(error_exports, {
buildMessage: () => buildMessage,
decode: () => decode10,
encode: () => encode10
});
var encode10 = (buffer, errorClass, errorCode) => {
encodeApplicationEnumerated(buffer, errorClass);
encodeApplicationEnumerated(buffer, errorCode);
};
var decode10 = (buffer, offset) => {
const orgOffset = offset;
let result;
result = decodeTagNumberAndValue(buffer, offset);
offset += result.len;
const errorClass = decodeEnumerated(buffer, offset, result.value);
offset += errorClass.len;
result = decodeTagNumberAndValue(buffer, offset);
offset += result.len;
const errorCode = decodeEnumerated(buffer, offset, result.value);
offset += errorClass.len;
return {
len: offset - orgOffset,
class: errorClass.value,
code: errorCode.value
};
};
var buildMessage = function(result) {
return "BacnetError Class: " + ErrorClassName[result.class] + " (" + result.class + ") Code: " + ErrorCodeName[result.code] + " (" + result.code + ")";
};
// src/services/event-information.ts
var event_information_exports = {};
__export(event_information_exports, {
decode: () => decode11,
encode: () => encode11
});
var encode11 = (buffer, events, moreEvents) => {
encodeOpeningTag(buffer, 0);
events.forEach((event) => {
encodeContextObjectId(
buffer,
0,
event.objectId.type,
event.objectId.instance
);
encodeContextEnumerated(buffer, 1, event.eventState);
encodeContextBitstring(buffer, 2, event.acknowledgedTransitions);
encodeOpeningTag(buffer, 3);
for (let i = 0; i < 3; i++) {
encodeApplicationDate(buffer, event.eventTimeStamps[i]);
encodeApplicationTime(buffer, event.eventTimeStamps[i]);
}
encodeClosingTag(buffer, 3);
encodeContextEnumerated(buffer, 4, event.notifyType);
encodeContextBitstring(buffer, 5, event.eventEnable);
encodeOpeningTag(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned(buffer, event.eventPriorities[i]);
}
encodeClosingTag(buffer, 6);
});
encodeClosingTag(buffer, 0);
encodeContextBoolean(buffer, 1, moreEvents);
};
var decode11 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
len++;
const alarms = [];
let moreEvents;
while (apduLen - 3 - len > 0) {
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventState = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgedTransitions = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
value.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
if (result.tagNumber !== 0 /* NULL */) {
decodedValue = decodeApplicationDate(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
value.eventTimeStamps[i] = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
} else {
len += result.value;
}
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.notifyType = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventEnable = decodedValue.value;
len++;
value.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventPriorities[i] = decodedValue.value;
}
len++;
alarms.push(value);
}
moreEvents = buffer[apduLen - 1] === 1;
return {
len,
alarms,
moreEvents
};
};
// src/services/event-notify-data.ts
var event_notify_data_exports = {};
__export(event_notify_data_exports, {
decode: () => decode12,
encode: () => encode12
});
var encode12 = (buffer, data) => {
encodeContextUnsigned(buffer, 0, data.processId);
encodeContextObjectId(
buffer,
1,
data.initiatingObjectId.type,
data.initiatingObjectId.instance
);
encodeContextObjectId(
buffer,
2,
data.eventObjectId.type,
data.eventObjectId.instance
);
bacappEncodeContextTimestamp(buffer, 3, data.timeStamp);
encodeContextUnsigned(buffer, 4, data.notificationClass);
encodeContextUnsigned(buffer, 5, data.priority);
encodeContextEnumerated(buffer, 6, data.eventType);
if (data.messageText && data.messageText !== "") {
encodeContextCharacterString(buffer, 7, data.messageText);
}
encodeContextEnumerated(buffer, 8, data.notifyType);
switch (data.notifyType) {
case 0 /* ALARM */:
case 1 /* EVENT */:
encodeContextBoolean(buffer, 9, data.ackRequired);
encodeContextEnumerated(buffer, 10, data.fromState);
break;
default:
break;
}
encodeContextEnumerated(buffer, 11, data.toState);
switch (data.notifyType) {
case 0 /* ALARM */:
case 1 /* EVENT */:
encodeOpeningTag(buffer, 12);
switch (data.eventType) {
case 0 /* CHANGE_OF_BITSTRING */:
encodeOpeningTag(buffer, 0);
encodeContextBitstring(
buffer,
0,
data.changeOfBitstringReferencedBitString
);
encodeContextBitstring(
buffer,
1,
data.changeOfBitstringStatusFlags
);
encodeClosingTag(buffer, 0);
break;
case 1 /* CHANGE_OF_STATE */:
encodeOpeningTag(buffer, 1);
encodeOpeningTag(buffer, 0);
bacappEncodePropertyState(buffer, data.changeOfStateNewState);
encodeClosingTag(buffer, 0);
encodeContextBitstring(
buffer,
1,
data.changeOfStateStatusFlags
);
encodeClosingTag(buffer, 1);
break;
case 2 /* CHANGE_OF_VALUE */:
encodeOpeningTag(buffer, 2);
encodeOpeningTag(buffer, 0);
switch (data.changeOfValueTag) {
case 0 /* REAL */:
encodeContextReal(
buffer,
1,
data.changeOfValueChangeValue
);
break;
case 1 /* BIT_STRING */:
encodeContextBitstring(
buffer,
0,
data.changeOfValueChangedBits
);
break;
default:
throw new Error("NotImplemented");
}
encodeClosingTag(buffer, 0);
encodeContextBitstring(
buffer,
1,
data.changeOfValueStatusFlags
);
encodeClosingTag(buffer, 2);
break;
case 4 /* FLOATING_LIMIT */:
encodeOpeningTag(buffer, 4);
encodeContextReal(buffer, 0, data.floatingLimitReferenceValue);
encodeContextBitstring(
buffer,
1,
data.floatingLimitStatusFlags
);
encodeContextReal(buffer, 2, data.floatingLimitSetPointValue);
encodeContextReal(buffer, 3, data.floatingLimitErrorLimit);
encodeClosingTag(buffer, 4);
break;
case 5 /* OUT_OF_RANGE */:
encodeOpeningTag(buffer, 5);
encodeContextReal(buffer, 0, data.outOfRangeExceedingValue);
encodeContextBitstring(buffer, 1, data.outOfRangeStatusFlags);
encodeContextReal(buffer, 2, data.outOfRangeDeadband);
encodeContextReal(buffer, 3, data.outOfRangeExceededLimit);
encodeClosingTag(buffer, 5);
break;
case 8 /* CHANGE_OF_LIFE_SAFETY */:
encodeOpeningTag(buffer, 8);
encodeContextEnumerated(
buffer,
0,
data.changeOfLifeSafetyNewState
);
encodeContextEnumerated(
buffer,
1,
data.changeOfLifeSafetyNewMode
);
encodeContextBitstring(
buffer,
2,
data.changeOfLifeSafetyStatusFlags
);
encodeContextEnumerated(
buffer,
3,
data.changeOfLifeSafetyOperationExpected
);
encodeClosingTag(buffer, 8);
break;
case 10 /* BUFFER_READY */:
encodeOpeningTag(buffer, 10);
bacappEncodeContextDeviceObjPropertyRef(
buffer,
0,
data.bufferReadyBufferProperty
);
encodeContextUnsigned(
buffer,
1,
data.bufferReadyPreviousNotification
);
encodeContextUnsigned(
buffer,
2,
data.bufferReadyCurrentNotification
);
encodeClosingTag(buffer, 10);
break;
case 11 /* UNSIGNED_RANGE */:
encodeOpeningTag(buffer, 11);
encodeContextUnsigned(
buffer,
0,
data.unsignedRangeExceedingValue
);
encodeContextBitstring(
buffer,
1,
data.unsignedRangeStatusFlags
);
encodeContextUnsigned(
buffer,
2,
data.unsignedRangeExceededLimit
);
encodeClosingTag(buffer, 11);
break;
case 9 /* EXTENDED */:
case 3 /* COMMAND_FAILURE */:
throw new Error("NotImplemented");
default:
throw new Error("NotImplemented");
}
encodeClosingTag(buffer, 12);
break;
case 2 /* ACK_NOTIFICATION */:
throw new Error("NotImplemented");
default:
break;
}
};
var decode12 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let eventData = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.processId = decodedValue.value;
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
eventData.initiatingObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag(buffer, offset + len, 2)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
eventData.eventObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsContextTag(buffer, offset + len, 3)) {
return void 0;
}
len += 2;
decodedValue = decodeApplicationDate(buffer, offset + len);
len += decodedValue.len;
const date = decodedValue.value.value;
decodedValue = decodeApplicationTime(buffer, offset + len);
len += decodedValue.len;
const time = decodedValue.value.value;
eventData.timeStamp = new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
);
len += 2;
if (!decodeIsContextTag(buffer, offset + len, 4)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notificationClass = decodedValue.value;
if (!decodeIsContextTag(buffer, offset + len, 5)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.priority = decodedValue.value;
if (eventData.priority > 255) {
return void 0;
}
if (!decodeIsContextTag(buffer, offset + len, 6)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.eventType = decodedValue.value;
if (decodeIsContextTag(buffer, offset + len, 7)) {
decodedValue = decodeContextCharacterString(
buffer,
offset + len,
2e4,
7
);
len += decodedValue.len;
eventData.messageText = decodedValue.value;
}
if (!decodeIsContextTag(buffer, offset + len, 8)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.notifyType = decodedValue.value;
switch (eventData.notifyType) {
case 0 /* ALARM */:
case 1 /* EVENT */:
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, 1);
len += decodedValue.len;
eventData.ackRequired = decodedValue.value > 0;
if (!decodeIsContextTag(buffer, offset + len, 10)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
eventData.fromState = decodedValue.value;
break;
default:
break;
}
if (!decodeIsContextTag(buffer, offset + len, 11)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
eventData.toState = decodedValue.value;
eventData.len = len;
return eventData;
};
// src/services/get-enrollment-summary.ts
var get_enrollment_summary_exports = {};
__export(get_enrollment_summary_exports, {
decode: () => decode13,
decodeAcknowledge: () => decodeAcknowledge3,
encode: () => encode13,
encodeAcknowledge: () => encodeAcknowledge4
});
var encode13 = (buffer, acknowledgmentFilter, enrollmentFilter, eventStateFilter, eventTypeFilter, priorityFilter, notificationClassFilter) => {
encodeContextEnumerated(buffer, 0, acknowledgmentFilter);
if (enrollmentFilter) {
encodeOpeningTag(buffer, 1);
encodeOpeningTag(buffer, 0);
encodeContextObjectId(
buffer,
0,
enrollmentFilter.objectId.type,
enrollmentFilter.objectId.instance
);
encodeClosingTag(buffer, 0);
encodeContextUnsigned(buffer, 1, enrollmentFilter.processId);
encodeClosingTag(buffer, 1);
}
if (eventStateFilter) {
encodeOpeningTag(buffer, 2);
encodeContextEnumerated(buffer, 0, eventStateFilter);
encodeClosingTag(buffer, 2);
}
if (eventTypeFilter) {
encodeOpeningTag(buffer, 3);
encodeContextEnumerated(buffer, 0, eventTypeFilter);
encodeClosingTag(buffer, 3);
}
if (priorityFilter) {
encodeOpeningTag(buffer, 4);
encodeContextUnsigned(buffer, 0, priorityFilter.min);
encodeContextUnsigned(buffer, 1, priorityFilter.max);
encodeClosingTag(buffer, 4);
}
if (notificationClassFilter) {
encodeOpeningTag(buffer, 5);
encodeContextUnsigned(buffer, 0, notificationClassFilter);
encodeClosingTag(buffer, 5);
}
};
var decode13 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.acknowledgmentFilter = decodedValue.value;
if (decodeIsContextTag(buffer, offset + len, 1)) {
len++;
value.enrollmentFilter = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.enrollmentFilter.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.enrollmentFilter.processId = decodedValue.value;
len++;
}
if (decodeIsContextTag(buffer, offset + len, 2)) {
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventStateFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag(buffer, offset + len, 3)) {
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.eventTypeFilter = decodedValue.value;
len++;
}
if (decodeIsContextTag(buffer, offset + len, 4)) {
len++;
value.priorityFilter = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.min = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.priorityFilter.max = decodedValue.value;
len++;
}
if (decodeIsContextTag(buffer, offset + len, 5)) {
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.notificationClassFilter = decodedValue.value;
len++;
}
value.len = len;
return value;
};
var encodeAcknowledge4 = (buffer, enrollmentSummaries) => {
enrollmentSummaries.forEach((enrollmentSummary) => {
encodeApplicationObjectId(
buffer,
enrollmentSummary.objectId.type,
enrollmentSummary.objectId.instance
);
encodeApplicationEnumerated(buffer, enrollmentSummary.eventType);
encodeApplicationEnumerated(buffer, enrollmentSummary.eventState);
encodeApplicationUnsigned(buffer, enrollmentSummary.priority);
encodeApplicationUnsigned(
buffer,
enrollmentSummary.notificationClass
);
});
};
var decodeAcknowledge3 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
const enrollmentSummaries = [];
while (apduLen - len > 0) {
const enrollmentSummary = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 12 /* OBJECTIDENTIFIER */) {
return void 0;
}
result = decodeObjectId(buffer, offset + len);
len += result.len;
enrollmentSummary.objectId = {
type: result.objectType,
instance: result.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9 /* ENUMERATED */) {
return void 0;
}
result = decodeEnumerated(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventType = result.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 9 /* ENUMERATED */) {
return void 0;
}
result = decodeEnumerated(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.eventState = result.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
result = decodeUnsigned(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.priority = result.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
result = decodeUnsigned(buffer, offset + len, result.value);
len += result.len;
enrollmentSummary.notificationClass = result.value;
enrollmentSummaries.push(enrollmentSummary);
}
return {
enrollmentSummaries,
len
};
};
// src/services/get-event-information.ts
var get_event_information_exports = {};
__export(get_event_information_exports, {
decode: () => decode14,
decodeAcknowledge: () => decodeAcknowledge4,
encode: () => encode14,
encodeAcknowledge: () => encodeAcknowledge5
});
var encode14 = (buffer, lastReceivedObjectId) => {
encodeContextObjectId(
buffer,
0,
lastReceivedObjectId.type,
lastReceivedObjectId.instance
);
};
var decode14 = (buffer, offset) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.lastReceivedObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
var encodeAcknowledge5 = (buffer, events, moreEvents) => {
encodeOpeningTag(buffer, 0);
events.forEach((eventData) => {
encodeContextObjectId(
buffer,
0,
eventData.objectId.type,
eventData.objectId.instance
);
encodeContextEnumerated(buffer, 1, eventData.eventState);
encodeContextBitstring(buffer, 2, eventData.acknowledgedTransitions);
encodeOpeningTag(buffer, 3);
for (let i = 0; i < 3; i++) {
bacappEncodeTimestamp(buffer, eventData.eventTimeStamps[i]);
}
encodeClosingTag(buffer, 3);
encodeContextEnumerated(buffer, 4, eventData.notifyType);
encodeContextBitstring(buffer, 5, eventData.eventEnable);
encodeOpeningTag(buffer, 6);
for (let i = 0; i < 3; i++) {
encodeApplicationUnsigned(buffer, eventData.eventPriorities[i]);
}
encodeClosingTag(buffer, 6);
});
encodeClosingTag(buffer, 0);
encodeContextBoolean(buffer, 1, moreEvents);
};
var decodeAcknowledge4 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
if (!decodeIsOpeningTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
value.events = [];
while (apduLen - len > 3) {
let event = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
event.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventState = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
event.acknowledgedTransitions = decodedValue.value;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
event.eventTimeStamps = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0 /* TIME */) {
decodedValue = decodeBacnetTime(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 0 /* TIME */
};
} else if (result.tagNumber === 1 /* SEQUENCE_NUMBER */) {
decodedValue = decodeUnsigned(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
event.eventTimeStamps[i] = {
value: decodedValue.value,
type: 1 /* SEQUENCE_NUMBER */
};
} else if (result.tagNumber === 2 /* DATETIME */) {
let date = decodeApplicationDate(
buffer,
offset + len
);
len += date.len;
date = date.value.value;
let time = decodeApplicationTime(
buffer,
offset + len
);
len += time.len;
time = time.value.value;
event.eventTimeStamps[i] = {
value: new Date(
date.getFullYear(),
date.getMonth(),
date.getDate(),
time.getHours(),
time.getMinutes(),
time.getSeconds(),
time.getMilliseconds()
),
type: 2 /* DATETIME */
};
len++;
}
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
event.notifyType = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventEnable = decodedValue.value;
if (!decodeIsOpeningTagNumber(buffer, offset + len, 6)) {
return void 0;
}
len++;
event.eventPriorities = [];
for (let i = 0; i < 3; i++) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
event.eventPriorities[i] = decodedValue.value;
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 6)) {
return void 0;
}
len++;
value.events.push(event);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 0)) {
return void 0;
}
len++;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
value.moreEvents = buffer[offset + len] > 0;
len++;
value.len = len;
return value;
};
// src/services/i-am.ts
var i_am_exports = {};
__export(i_am_exports, {
decode: () => decode15,
encode: () => encode15
});
var encode15 = (buffer, deviceId, maxApdu, segmentation, vendorId) => {
encodeApplicationObjectId(buffer, 8 /* DEVICE */, deviceId);
encodeApplicationUnsigned(buffer, maxApdu);
encodeApplicationEnumerated(buffer, segmentation);
encodeApplicationUnsigned(buffer, vendorId);
};
var decode15 = (buffer, offset) => {
let result;
let apduLen = 0;
const orgOffset = offset;
result = decodeTagNumberAndValue(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 12 /* OBJECTIDENTIFIER */) {
return void 0;
}
result = decodeObjectId(buffer, offset + apduLen);
apduLen += result.len;
if (result.objectType !== 8 /* DEVICE */) {
return void 0;
}
const deviceId = result.instance;
result = decodeTagNumberAndValue(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
result = decodeUnsigned(buffer, offset + apduLen, result.value);
apduLen += result.len;
const maxApdu = result.value;
result = decodeTagNumberAndValue(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 9 /* ENUMERATED */) {
return void 0;
}
result = decodeEnumerated(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 3 /* NO_SEGMENTATION */) {
return void 0;
}
const segmentation = result.value;
result = decodeTagNumberAndValue(buffer, offset + apduLen);
apduLen += result.len;
if (result.tagNumber !== 2 /* UNSIGNED_INTEGER */) {
return void 0;
}
result = decodeUnsigned(buffer, offset + apduLen, result.value);
apduLen += result.len;
if (result.value > 65535) {
return void 0;
}
const vendorId = result.value;
return {
len: offset - orgOffset,
deviceId,
maxApdu,
segmentation,
vendorId
};
};
// src/services/i-have.ts
var i_have_exports = {};
__export(i_have_exports, {
decode: () => decode16,
encode: () => encode16
});
var encode16 = (buffer, deviceId, objectId, objectName) => {
encodeApplicationObjectId(buffer, deviceId.type, deviceId.instance);
encodeApplicationObjectId(buffer, objectId.type, objectId.instance);
encodeApplicationCharacterString(buffer, objectName);
};
var decode16 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.deviceId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
value.len = len;
return value;
};
// src/services/life-safety-operation.ts
var life_safety_operation_exports = {};
__export(life_safety_operation_exports, {
decode: () => decode17,
encode: () => encode17
});
var encode17 = (buffer, processId, requestingSource, operation, targetObjectId) => {
encodeContextUnsigned(buffer, 0, processId);
encodeContextCharacterString(buffer, 1, requestingSource);
encodeContextEnumerated(buffer, 2, operation);
encodeContextObjectId(
buffer,
3,
targetObjectId.type,
targetObjectId.instance
);
};
var decode17 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.processId = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.requestingSource = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.operation = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.targetObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.len = len;
return value;
};
// src/services/private-transfer.ts
var private_transfer_exports = {};
__export(private_transfer_exports, {
decode: () => decode18,
encode: () => encode18
});
var encode18 = (buffer, vendorId, serviceNumber, data) => {
encodeContextUnsigned(buffer, 0, vendorId);
encodeContextUnsigned(buffer, 1, serviceNumber);
encodeOpeningTag(buffer, 2);
for (let i = 0; i < data.length; i++) {
buffer.buffer[buffer.offset++] = data[i];
}
encodeClosingTag(buffer, 2);
};
var decode18 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let value = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.vendorId = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.serviceNumber = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
const size = apduLen - (offset + len + 1);
const data = [];
for (let i = 0; i < size; i++) {
data.push(buffer[offset + len++]);
}
value.data = data;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
value.len = len;
return value;
};
// src/services/read-property.ts
var read_property_exports = {};
__export(read_property_exports, {
decode: () => decode19,
decodeAcknowledge: () => decodeAcknowledge5,
encode: () => encode19,
encodeAcknowledge: () => encodeAcknowledge6
});
var encode19 = (buffer, objectType, objectInstance, propertyId, arrayIndex) => {
if (objectType <= ASN1_MAX_OBJECT) {
encodeContextObjectId(buffer, 0, objectType, objectInstance);
}
if (propertyId <= ASN1_MAX_PROPERTY_ID) {
encodeContextEnumerated(buffer, 1, propertyId);
}
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(
buffer,
2,
arrayIndex || arrayIndex === 0 ? arrayIndex : ASN1_ARRAY_ALL
);
}
};
var decode19 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (apduLen < 7) {
return void 0;
}
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
property.index = ASN1_ARRAY_ALL;
if (len < apduLen) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 2 && len < apduLen) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
return void 0;
}
}
if (len < apduLen) {
return void 0;
}
return {
len,
objectId,
property
};
};
var encodeAcknowledge6 = (buffer, objectId, propertyId, arrayIndex, values) => {
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, arrayIndex);
}
encodeOpeningTag(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData(buffer, value);
});
encodeClosingTag(buffer, 3);
};
var decodeAcknowledge5 = (buffer, offset, apduLen) => {
let result;
let decodedValue;
let objectId = {};
let property = {};
if (!decodeIsContextTag(buffer, offset, 0)) {
return void 0;
}
let len = 1;
result = decodeObjectId(buffer, offset + len);
len += result.len;
objectId.type = result.objectType;
objectId.instance = result.instance;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
result = decodeEnumerated(buffer, offset + len, result.value);
len += result.len;
property.id = result.value;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL;
}
const values = [];
if (!decodeIsOpeningTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
while (apduLen - len > 1) {
result = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
objectId.type,
property.id
);
if (!result) {
return void 0;
}
len += result.len;
delete result.len;
values.push(result);
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
return {
len,
objectId,
property,
values
};
};
// src/services/read-property-multiple.ts
var read_property_multiple_exports = {};
__export(read_property_multiple_exports, {
decode: () => decode20,
decodeAcknowledge: () => decodeAcknowledge6,
encode: () => encode20,
encodeAcknowledge: () => encodeAcknowledge7
});
var encode20 = (buffer, properties) => {
properties.forEach((value) => {
encodeReadAccessSpecification(buffer, value);
});
};
var decode20 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const decodedValue = decodeReadAccessSpecification(
buffer,
offset + len,
apduLen - len
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
values.push(decodedValue.value);
}
return {
len,
properties: values
};
};
var encodeAcknowledge7 = (buffer, values) => {
values.forEach((value) => {
encodeReadAccessResult(buffer, value);
});
};
var decodeAcknowledge6 = (buffer, offset, apduLen) => {
let len = 0;
const values = [];
while (apduLen - len > 0) {
const result = decodeReadAccessResult(
buffer,
offset + len,
apduLen - len
);
if (!result || result === -1) {
return void 0;
}
len += result.len;
values.push(result.value);
}
return {
len,
values
};
};
// src/services/read-range.ts
var read_range_exports = {};
__export(read_range_exports, {
decode: () => decode21,
decodeAcknowledge: () => decodeAcknowledge7,
encode: () => encode21,
encodeAcknowledge: () => encodeAcknowledge8
});
var encode21 = (buffer, objectId, propertyId, arrayIndex, requestType, position, time, count) => {
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, arrayIndex);
}
switch (requestType) {
case 0 /* BY_POSITION */:
encodeOpeningTag(buffer, 3);
encodeApplicationUnsigned(buffer, position);
encodeApplicationSigned(buffer, count);
encodeClosingTag(buffer, 3);
break;
case 1 /* BY_SEQUENCE_NUMBER */:
encodeOpeningTag(buffer, 6);
encodeApplicationUnsigned(buffer, position);
encodeApplicationSigned(buffer, count);
encodeClosingTag(buffer, 6);
break;
case 2 /* BY_TIME_REFERENCE_TIME_COUNT */:
encodeOpeningTag(buffer, 7);
encodeApplicationDate(buffer, time);
encodeApplicationTime(buffer, time);
encodeApplicationSigned(buffer, count);
encodeClosingTag(buffer, 7);
break;
default:
break;
}
};
var decode21 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let requestType;
let position;
let time;
let count;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId(buffer, offset + len, 0);
len += decodedValue.len;
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
let property = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
if (len < apduLen && decodeIsContextTag(buffer, offset + len, 2)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
} else {
property.index = ASN1_ARRAY_ALL;
}
if (len < apduLen) {
result = decodeTagNumber(buffer, offset + len);
len += result.len;
switch (result.tagNumber) {
case 3:
requestType = 0 /* BY_POSITION */;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 6:
requestType = 1 /* BY_SEQUENCE_NUMBER */;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(
buffer,
offset + len,
result.value
);
len += decodedValue.len;
position = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
case 7:
requestType = 2 /* BY_TIME_REFERENCE_TIME_COUNT */;
decodedValue = decodeApplicationDate(buffer, offset + len);
len += decodedValue.len;
const tmpDate = decodedValue.value.value;
decodedValue = decodeApplicationTime(buffer, offset + len);
len += decodedValue.len;
const tmpTime = decodedValue.value.value;
time = new Date(
tmpDate.getYear(),
tmpDate.getMonth(),
tmpDate.getDate(),
tmpTime.getHours(),
tmpTime.getMinutes(),
tmpTime.getSeconds(),
tmpTime.getMilliseconds()
);
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeSigned(buffer, offset + len, result.value);
len += decodedValue.len;
count = decodedValue.value;
break;
default:
return void 0;
}
result = decodeTagNumber(buffer, offset + len);
len += result.len;
}
return {
len,
objectId,
property,
requestType,
position,
time,
count
};
};
var encodeAcknowledge8 = (buffer, objectId, propertyId, arrayIndex, resultFlags, itemCount, applicationData, requestType, firstSequence) => {
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
encodeContextEnumerated(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, arrayIndex);
}
encodeContextBitstring(buffer, 3, resultFlags);
encodeContextUnsigned(buffer, 4, itemCount);
encodeOpeningTag(buffer, 5);
if (itemCount !== 0) {
applicationData.copy(
buffer.buffer,
buffer.offset,
0,
applicationData.length
);
buffer.offset += applicationData.length;
}
encodeClosingTag(buffer, 5);
if (itemCount !== 0 && requestType && requestType !== 0 /* BY_POSITION */) {
encodeContextUnsigned(buffer, 6, firstSequence);
}
};
var decodeAcknowledge7 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
const objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
const property = { index: ASN1_ARRAY_ALL };
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
property.id = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 2 && len < apduLen) {
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
property.index = decodedValue.value;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeBitstring(buffer, offset + len, result.value);
len += decodedValue.len;
const resultFlag = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
const itemCount = decodedValue.value;
if (!decodeIsOpeningTag(buffer, offset + len)) {
return void 0;
}
len++;
const rangeBuffer = buffer.slice(offset + len, apduLen - 3);
return {
objectId,
property,
resultFlag,
itemCount,
rangeBuffer,
len
};
};
// src/services/register-foreign-device.ts
var register_foreign_device_exports = {};
__export(register_foreign_device_exports, {
decode: () => decode22,
encode: () => encode22
});
var encode22 = (buffer, ttl, length = 2) => {
encodeUnsigned(buffer, ttl, length);
};
var decode22 = (buffer, offset, length = 2) => {
let len = 0;
let result = decodeUnsigned(buffer, offset + len, length);
len += result.len;
return {
len,
ttl: result.value
};
};
// src/services/reinitialize-device.ts
var reinitialize_device_exports = {};
__export(reinitialize_device_exports, {
decode: () => decode23,
encode: () => encode23
});
var encode23 = (buffer, state, password) => {
encodeContextEnumerated(buffer, 0, state);
if (password && password !== "") {
encodeContextCharacterString(buffer, 1, password);
}
};
var decode23 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
let decodedValue = decodeEnumerated(
buffer,
offset + len,
result.value
);
value.state = decodedValue.value;
len += decodedValue.len;
if (len < apduLen) {
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
value.password = decodedValue.value;
len += decodedValue.len;
}
value.len = len;
return value;
};
// src/services/subscribe-cov.ts
var subscribe_cov_exports = {};
__export(subscribe_cov_exports, {
decode: () => decode24,
encode: () => encode24
});
var encode24 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime) => {
encodeContextUnsigned(buffer, 0, subscriberProcessId);
encodeContextObjectId(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned(buffer, 3, lifetime);
}
};
var decode24 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
if (len < apduLen) {
value.issueConfirmedNotifications = false;
if (decodeIsContextTag(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
}
value.len = len;
return value;
};
// src/services/subscribe-property.ts
var subscribe_property_exports = {};
__export(subscribe_property_exports, {
decode: () => decode25,
encode: () => encode25
});
var encode25 = (buffer, subscriberProcessId, monitoredObjectId, cancellationRequest, issueConfirmedNotifications, lifetime, monitoredProperty, covIncrementPresent, covIncrement) => {
encodeContextUnsigned(buffer, 0, subscriberProcessId);
encodeContextObjectId(
buffer,
1,
monitoredObjectId.type,
monitoredObjectId.instance
);
if (!cancellationRequest) {
encodeContextBoolean(buffer, 2, issueConfirmedNotifications);
encodeContextUnsigned(buffer, 3, lifetime);
}
encodeOpeningTag(buffer, 4);
encodeContextEnumerated(buffer, 0, monitoredProperty.id);
if (monitoredProperty.index !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 1, monitoredProperty.index);
}
encodeClosingTag(buffer, 4);
if (covIncrementPresent) {
encodeContextReal(buffer, 5, covIncrement);
}
};
var decode25 = (buffer, offset) => {
let len = 0;
let value = {};
let result;
let decodedValue;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.subscriberProcessId = decodedValue.value;
if (!decodeIsContextTag(buffer, offset + len, 1)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.monitoredObjectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
value.cancellationRequest = true;
value.issueConfirmedNotifications = false;
if (decodeIsContextTag(buffer, offset + len, 2)) {
value.cancellationRequest = false;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
value.issueConfirmedNotifications = buffer[offset + len] > 0;
len++;
}
value.lifetime = 0;
if (decodeIsContextTag(buffer, offset + len, 3)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.lifetime = decodedValue.value;
}
if (!decodeIsOpeningTagNumber(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.monitoredProperty = {};
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.id = decodedValue.value;
value.monitoredProperty.index = ASN1_ARRAY_ALL;
if (decodeIsContextTag(buffer, offset + len, 1)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.monitoredProperty.index = decodedValue.value;
}
if (!decodeIsClosingTagNumber(buffer, offset + len, 4)) {
return void 0;
}
len++;
value.covIncrement = 0;
if (decodeIsContextTag(buffer, offset + len, 5)) {
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
decodedValue = decodeReal(buffer, offset + len);
len += decodedValue.len;
value.covIncrement = decodedValue.value;
}
value.len = len;
return value;
};
// src/services/time-sync.ts
var time_sync_exports = {};
__export(time_sync_exports, {
decode: () => decode26,
encode: () => encode26
});
var encode26 = (buffer, time) => {
encodeApplicationDate(buffer, time);
encodeApplicationTime(buffer, time);
};
var decode26 = (buffer, offset, length) => {
let len = 0;
let result;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 10 /* DATE */) {
return void 0;
}
const date = decodeDate(buffer, offset + len);
len += date.len;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 11 /* TIME */) {
return void 0;
}
const time = decodeBacnetTime(buffer, offset + len);
len += time.len;
return {
len,
value: new Date(
date.value.getFullYear(),
date.value.getMonth(),
date.value.getDate(),
time.value.getHours(),
time.value.getMinutes(),
time.value.getSeconds(),
time.value.getMilliseconds()
)
};
};
// src/services/who-has.ts
var who_has_exports = {};
__export(who_has_exports, {
decode: () => decode27,
encode: () => encode27
});
var encode27 = (buffer, lowLimit, highLimit, objectId, objectName) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE) {
encodeContextUnsigned(buffer, 0, lowLimit);
encodeContextUnsigned(buffer, 1, highLimit);
}
if (objectName && objectName !== "") {
encodeContextCharacterString(buffer, 3, objectName);
} else {
encodeContextObjectId(buffer, 2, objectId.type, objectId.instance);
}
};
var decode27 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
let decodedValue;
let result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 0) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE) {
value.lowLimit = decodedValue.value;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE) {
value.highLimit = decodedValue.value;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
}
if (result.tagNumber === 2) {
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
value.objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
}
if (result.tagNumber === 3) {
decodedValue = decodeCharacterString(
buffer,
offset + len,
apduLen - (offset + len),
result.value
);
len += decodedValue.len;
value.objectName = decodedValue.value;
}
value.len = len;
return value;
};
// src/services/who-is.ts
var who_is_exports = {};
__export(who_is_exports, {
decode: () => decode28,
encode: () => encode28
});
var encode28 = (buffer, lowLimit, highLimit) => {
if (lowLimit >= 0 && lowLimit <= ASN1_MAX_INSTANCE && highLimit >= 0 && highLimit <= ASN1_MAX_INSTANCE) {
encodeContextUnsigned(buffer, 0, lowLimit);
encodeContextUnsigned(buffer, 1, highLimit);
}
};
var decode28 = (buffer, offset, apduLen) => {
let len = 0;
let value = {};
if (apduLen <= 0) {
return {};
}
let result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
let decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE) {
value.lowLimit = decodedValue.value;
}
if (apduLen <= len) {
return void 0;
}
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
if (apduLen <= len) {
return void 0;
}
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
if (decodedValue.value <= ASN1_MAX_INSTANCE) {
value.highLimit = decodedValue.value;
}
value.len = len;
return value;
};
// src/services/write-property.ts
var write_property_exports = {};
__export(write_property_exports, {
decode: () => decode29,
encode: () => encode29
});
var encode29 = (buffer, objectType, objectInstance, propertyId, arrayIndex, priority, values) => {
encodeContextObjectId(buffer, 0, objectType, objectInstance);
encodeContextEnumerated(buffer, 1, propertyId);
if (arrayIndex !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 2, arrayIndex);
}
encodeOpeningTag(buffer, 3);
values.forEach((value) => {
bacappEncodeApplicationData(buffer, value);
});
encodeClosingTag(buffer, 3);
if (priority !== ASN1_NO_PRIORITY) {
encodeContextUnsigned(buffer, 4, priority);
}
};
var decode29 = (buffer, offset, apduLen) => {
let len = 0;
let value = {
property: {}
};
let decodedValue;
let result;
if (!decodeIsContextTag(buffer, offset + len, 0)) {
return void 0;
}
len++;
decodedValue = decodeObjectId(buffer, offset + len);
let objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
len += decodedValue.len;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 1) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.id = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 2) {
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
value.property.index = decodedValue.value;
} else {
value.property.index = ASN1_ARRAY_ALL;
}
if (!decodeIsOpeningTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
const values = [];
while (apduLen - len > 1 && !decodeIsClosingTagNumber(buffer, offset + len, 3)) {
decodedValue = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
objectId.type,
value.property.id
);
if (!decodedValue) {
return void 0;
}
len += decodedValue.len;
delete decodedValue.len;
values.push(decodedValue);
}
value.value = values;
if (!decodeIsClosingTagNumber(buffer, offset + len, 3)) {
return void 0;
}
len++;
value.priority = ASN1_MAX_PRIORITY;
if (len < apduLen) {
result = decodeTagNumberAndValue(buffer, offset + len);
if (result.tagNumber === 4) {
len += result.len;
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue;
if (decodedValue.value >= ASN1_MIN_PRIORITY && decodedValue.value <= ASN1_MAX_PRIORITY) {
value.priority = decodedValue.value;
} else {
return void 0;
}
}
}
return {
len,
objectId,
value
};
};
// src/services/write-property-multiple.ts
var write_property_multiple_exports = {};
__export(write_property_multiple_exports, {
decode: () => decode30,
encode: () => encode30,
encodeObject: () => encodeObject
});
var encode30 = (buffer, objectId, values) => {
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
encodeOpeningTag(buffer, 1);
values.forEach((pValue) => {
encodeContextEnumerated(buffer, 0, pValue.property.id);
if (pValue.property.index !== ASN1_ARRAY_ALL) {
encodeContextUnsigned(buffer, 1, pValue.property.index);
}
encodeOpeningTag(buffer, 2);
pValue.value.forEach((value) => {
bacappEncodeApplicationData(buffer, value);
});
encodeClosingTag(buffer, 2);
if (pValue.priority !== ASN1_NO_PRIORITY) {
encodeContextUnsigned(buffer, 3, pValue.priority);
}
});
encodeClosingTag(buffer, 1);
};
var decode30 = (buffer, offset, apduLen) => {
let len = 0;
let result;
let decodedValue;
let objectId;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0 || apduLen <= len) {
return void 0;
}
apduLen -= len;
if (apduLen < 4) {
return void 0;
}
decodedValue = decodeObjectId(buffer, offset + len);
len += decodedValue.len;
objectId = {
type: decodedValue.objectType,
instance: decodedValue.instance
};
if (!decodeIsOpeningTagNumber(buffer, offset + len, 1)) {
return void 0;
}
len++;
const _values = [];
while (apduLen - len > 1) {
let newEntry = {};
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber !== 0) {
return void 0;
}
decodedValue = decodeEnumerated(buffer, offset + len, result.value);
len += decodedValue.len;
let propertyId = decodedValue.value;
let arrayIndex = ASN1_ARRAY_ALL;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 1) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
arrayIndex = decodedValue.value;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
}
newEntry.property = { id: propertyId, index: arrayIndex };
if (result.tagNumber !== 2 || !decodeIsOpeningTag(buffer, offset + len - 1)) {
return void 0;
}
const values = [];
while (len + offset <= buffer.length && !decodeIsClosingTag(buffer, offset + len)) {
let value = bacappDecodeApplicationData(
buffer,
offset + len,
apduLen + offset,
objectId.type,
propertyId
);
if (!value) {
return void 0;
}
len += value.len;
delete value.len;
values.push(value);
}
len++;
newEntry.value = values;
let priority = ASN1_NO_PRIORITY;
result = decodeTagNumberAndValue(buffer, offset + len);
len += result.len;
if (result.tagNumber === 3) {
decodedValue = decodeUnsigned(buffer, offset + len, result.value);
len += decodedValue.len;
priority = decodedValue.value;
} else {
len--;
}
newEntry.priority = priority;
_values.push(newEntry);
if (decodeIsClosingTagNumber(buffer, offset + len, 1)) {
len++;
}
}
if (decodeIsClosingTagNumber(buffer, offset + len, 1)) {
len++;
}
return {
len,
objectId,
values: _values
};
};
var encodeObject = (buffer, values) => {
values.forEach((object) => {
encode30(buffer, object.objectId, object.values);
});
};
// src/apdu.ts
var getDecodedType = (buffer, offset) => {
return buffer[offset];
};
var encodeConfirmedServiceRequest = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8 /* SEGMENTED_MESSAGE */) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowSize;
}
buffer.buffer[buffer.offset++] = service;
};
var decodeConfirmedServiceRequest = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const maxSegments = buffer[offset] & 240;
const maxApdu = buffer[offset++] & 15;
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8 /* SEGMENTED_MESSAGE */) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
maxSegments,
maxApdu,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeUnconfirmedServiceRequest = (buffer, type, service) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = service;
};
var decodeUnconfirmedServiceRequest = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service
};
};
var encodeSimpleAck = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeSimpleAck = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var encodeComplexAck = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
let len = 3;
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
if ((type & 8 /* SEGMENTED_MESSAGE */) > 0) {
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = proposedWindowNumber;
len += 2;
}
buffer.buffer[buffer.offset++] = service;
return len;
};
var decodeComplexAck = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
let sequencenumber = 0;
let proposedWindowNumber = 0;
if ((type & 8 /* SEGMENTED_MESSAGE */) > 0) {
sequencenumber = buffer[offset++];
proposedWindowNumber = buffer[offset++];
}
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId,
sequencenumber,
proposedWindowNumber
};
};
var encodeSegmentAck = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = originalInvokeId;
buffer.buffer[buffer.offset++] = sequencenumber;
buffer.buffer[buffer.offset++] = actualWindowSize;
};
var decodeSegmentAck = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const originalInvokeId = buffer[offset++];
const sequencenumber = buffer[offset++];
const actualWindowSize = buffer[offset++];
return {
len: offset - orgOffset,
type,
originalInvokeId,
sequencenumber,
actualWindowSize
};
};
var encodeResult = (buffer, resultCode) => {
encodeUnsigned(buffer, resultCode, 2);
};
var encodeError = (buffer, type, service, invokeId) => {
buffer.buffer[buffer.offset++] = type;
buffer.buffer[buffer.offset++] = invokeId;
buffer.buffer[buffer.offset++] = service;
};
var decodeError = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const service = buffer[offset++];
return {
len: offset - orgOffset,
type,
service,
invokeId
};
};
var decodeAbort = (buffer, offset) => {
const orgOffset = offset;
const type = buffer[offset++];
const invokeId = buffer[offset++];
const reason = buffer[offset++];
return {
len: offset - orgOffset,
type,
invokeId,
reason
};
};
// src/npdu.ts
var DEFAULT_HOP_COUNT = 255;
var BACNET_PROTOCOL_VERSION = 1;
var BACNET_ADDRESS_TYPES = {
NONE: 0,
IP: 1
};
var decodeTarget = (buffer, offset) => {
let len = 0;
const target = {
type: BACNET_ADDRESS_TYPES.NONE,
net: buffer[offset + len++] << 8 | buffer[offset + len++] << 0
};
const adrLen = buffer[offset + len++];
if (adrLen > 0) {
target.adr = [];
for (let i = 0; i < adrLen; i++) {
target.adr.push(buffer[offset + len++]);
}
}
return {
target,
len
};
};
var encodeTarget = (buffer, target) => {
buffer.buffer[buffer.offset++] = (target.net & 65280) >> 8;
buffer.buffer[buffer.offset++] = (target.net & 255) >> 0;
if (target.net === 65535 || !target.adr) {
buffer.buffer[buffer.offset++] = 0;
} else {
buffer.buffer[buffer.offset++] = target.adr.length;
if (target.adr.length > 0) {
for (let i = 0; i < target.adr.length; i++) {
buffer.buffer[buffer.offset++] = target.adr[i];
}
}
}
};
var decode31 = (buffer, offset) => {
let adrLen;
const orgOffset = offset;
offset++;
const funct = buffer[offset++];
let destination;
if (funct & 32 /* DESTINATION_SPECIFIED */) {
const tmpDestination = decodeTarget(buffer, offset);
offset += tmpDestination.len;
destination = tmpDestination.target;
}
let source;
if (funct & 8 /* SOURCE_SPECIFIED */) {
const tmpSource = decodeTarget(buffer, offset);
offset += tmpSource.len;
source = tmpSource.target;
}
let hopCount = 0;
if (funct & 32 /* DESTINATION_SPECIFIED */) {
hopCount = buffer[offset++];
}
let networkMsgType = 0 /* WHO_IS_ROUTER_TO_NETWORK */;
let vendorId = 0;
if (funct & 128 /* NETWORK_LAYER_MESSAGE */) {
networkMsgType = buffer[offset++];
if (networkMsgType >= 128) {
vendorId = buffer[offset++] << 8 | buffer[offset++] << 0;
} else if (networkMsgType === 0 /* WHO_IS_ROUTER_TO_NETWORK */) {
offset += 2;
}
}
if (buffer[orgOffset + 0] !== BACNET_PROTOCOL_VERSION) {
return void 0;
}
return {
len: offset - orgOffset,
funct,
destination,
source,
hopCount,
networkMsgType,
vendorId
};
};
var encode31 = (buffer, funct, destination, source, hopCount, networkMsgType, vendorId) => {
const hasDestination = destination && destination.net > 0;
const hasSource = source && source.net > 0 && source.net !== 65535;
buffer.buffer[buffer.offset++] = BACNET_PROTOCOL_VERSION;
buffer.buffer[buffer.offset++] = funct | (hasDestination ? 32 /* DESTINATION_SPECIFIED */ : 0) | (hasSource ? 8 /* SOURCE_SPECIFIED */ : 0);
if (hasDestination) {
encodeTarget(buffer, destination);
}
if (hasSource) {
encodeTarget(buffer, source);
}
if (hasDestination) {
buffer.buffer[buffer.offset++] = hopCount || DEFAULT_HOP_COUNT;
}
if ((funct & 128 /* NETWORK_LAYER_MESSAGE */) > 0) {
buffer.buffer[buffer.offset++] = networkMsgType;
if (networkMsgType >= 128) {
buffer.buffer[buffer.offset++] = (vendorId & 65280) >> 8;
buffer.buffer[buffer.offset++] = (vendorId & 255) >> 0;
}
}
};
// src/bvlc.ts
var DEFAULT_BACNET_PORT2 = 47808;
var encode32 = (buffer, func, msgLength, originatingIP) => {
buffer[0] = BVLL_TYPE_BACNET_IP;
buffer[1] = func;
buffer[2] = (msgLength & 65280) >> 8;
buffer[3] = (msgLength & 255) >> 0;
if (originatingIP) {
if (func !== 4 /* FORWARDED_NPDU */) {
throw new Error(
"Cannot specify originatingIP unless BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
const [ipstr, portstr] = originatingIP.split(":");
const port = parseInt(portstr, 10) || DEFAULT_BACNET_PORT2;
const ip = ipstr.split(".");
buffer[4] = parseInt(ip[0], 10);
buffer[5] = parseInt(ip[1], 10);
buffer[6] = parseInt(ip[2], 10);
buffer[7] = parseInt(ip[3], 10);
buffer[8] = (port & 65280) >> 8;
buffer[9] = (port & 255) >> 0;
return 6 + BVLC_HEADER_LENGTH;
} else {
if (func === 4 /* FORWARDED_NPDU */) {
throw new Error(
"Must specify originatingIP if BvlcResultPurpose.FORWARDED_NPDU is used."
);
}
}
return BVLC_HEADER_LENGTH;
};
var decode32 = (buffer, _offset) => {
let len;
const func = buffer[1];
const msgLength = buffer[2] << 8 | buffer[3] << 0;
if (buffer[0] !== BVLL_TYPE_BACNET_IP || buffer.length !== msgLength) {
return void 0;
}
let originatingIP = null;
switch (func) {
case 0 /* BVLC_RESULT */:
case 10 /* ORIGINAL_UNICAST_NPDU */:
case 11 /* ORIGINAL_BROADCAST_NPDU */:
case 9 /* DISTRIBUTE_BROADCAST_TO_NETWORK */:
case 5 /* REGISTER_FOREIGN_DEVICE */:
case 6 /* READ_FOREIGN_DEVICE_TABLE */:
case 8 /* DELETE_FOREIGN_DEVICE_TABLE_ENTRY */:
case 2 /* READ_BROADCAST_DISTRIBUTION_TABLE */:
case 1 /* WRITE_BROADCAST_DISTRIBUTION_TABLE */:
case 3 /* READ_BROADCAST_DISTRIBUTION_TABLE_ACK */:
case 7 /* READ_FOREIGN_DEVICE_TABLE_ACK */:
len = 4;
break;
case 4 /* FORWARDED_NPDU */:
const port = buffer[8] << 8 | buffer[9];
originatingIP = buffer.slice(4, 8).join(".");
if (port !== DEFAULT_BACNET_PORT2) {
originatingIP += ":" + port;
}
len = 10;
break;
case 12 /* SECURE_BVLL */:
return void 0;
default:
return void 0;
}
return {
len,
func,
msgLength,
// Originating IP is set to the IP address of the node that originally
// sent the packet, when it has been forwarded to us by a BBMD (since the
// BBMD's IP address will be in the sender field.
originatingIP
};
};
// src/client.ts
var EventEmitter2 = import_events2.default.EventEmitter;
var debug3 = (0, import_debug3.default)("bacnet:client:debug");
var trace2 = (0, import_debug3.default)("bacnet:client:trace");
var ALL_INTERFACES = "0.0.0.0";
var LOCALHOST_INTERFACES_IPV4 = "127.0.0.1";
var BROADCAST_ADDRESS = "255.255.255.255";
var DEFAULT_HOP_COUNT2 = 255;
var BVLC_HEADER_LENGTH2 = 4;
var BVLC_FWD_HEADER_LENGTH = 10;
var beU = UnconfirmedServiceChoice;
var unconfirmedServiceMap = {
[beU.I_AM]: "iAm",
[beU.WHO_IS]: "whoIs",
[beU.WHO_HAS]: "whoHas",
[beU.UNCONFIRMED_COV_NOTIFICATION]: "covNotifyUnconfirmed",
[beU.TIME_SYNCHRONIZATION]: "timeSync",
[beU.UTC_TIME_SYNCHRONIZATION]: "timeSyncUTC",
[beU.UNCONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beU.I_HAVE]: "iHave",
[beU.UNCONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var beC = ConfirmedServiceChoice;
var confirmedServiceMap = {
[beC.READ_PROPERTY]: "readProperty",
[beC.WRITE_PROPERTY]: "writeProperty",
[beC.READ_PROPERTY_MULTIPLE]: "readPropertyMultiple",
[beC.WRITE_PROPERTY_MULTIPLE]: "writePropertyMultiple",
[beC.CONFIRMED_COV_NOTIFICATION]: "covNotify",
[beC.ATOMIC_WRITE_FILE]: "atomicWriteFile",
[beC.ATOMIC_READ_FILE]: "atomicReadFile",
[beC.SUBSCRIBE_COV]: "subscribeCov",
[beC.SUBSCRIBE_COV_PROPERTY]: "subscribeProperty",
[beC.DEVICE_COMMUNICATION_CONTROL]: "deviceCommunicationControl",
[beC.REINITIALIZE_DEVICE]: "reinitializeDevice",
[beC.CONFIRMED_EVENT_NOTIFICATION]: "eventNotify",
[beC.READ_RANGE]: "readRange",
[beC.CREATE_OBJECT]: "createObject",
[beC.DELETE_OBJECT]: "deleteObject",
[beC.ACKNOWLEDGE_ALARM]: "alarmAcknowledge",
[beC.GET_ALARM_SUMMARY]: "getAlarmSummary",
[beC.GET_ENROLLMENT_SUMMARY]: "getEnrollmentSummary",
[beC.GET_EVENT_INFORMATION]: "getEventInformation",
[beC.LIFE_SAFETY_OPERATION]: "lifeSafetyOperation",
[beC.ADD_LIST_ELEMENT]: "addListElement",
[beC.REMOVE_LIST_ELEMENT]: "removeListElement",
[beC.CONFIRMED_PRIVATE_TRANSFER]: "privateTransfer"
};
var errorReasonEnums = {
BacnetAbort: RejectReason
};
var BacnetError = class extends Error {
constructor(message, bacnetErrorClass, bacnetErrorCode) {
super(message);
this.bacnetErrorClass = bacnetErrorClass;
this.bacnetErrorCode = bacnetErrorCode;
}
};
function bacnetErrorToString(err) {
var _a;
const isError = err instanceof Error || err instanceof BacnetError;
if (!isError)
return;
const message = err.message;
const reasonClass = message == null ? void 0 : message.split(" - ")[0];
const reason = +((_a = message == null ? void 0 : message.split("Reason:")[1]) == null ? void 0 : _a.split(" ")[0]);
if (!errorReasonEnums[reasonClass])
return;
const reasonString = errorReasonEnums[reasonClass][reason];
return reasonClass + ": " + reasonString;
}
var Client = class extends EventEmitter2 {
/**
*
* @param options
*/
constructor(options) {
super();
options = options || {};
this._invokeCounter = 1;
this._invokeStore = {};
this._lastSequenceNumber = 0;
this._segmentStore = [];
this._settings = {
port: options.port || 47808,
interface: options.interface || ALL_INTERFACES,
transport: options.transport,
broadcastAddress: options.broadcastAddress || BROADCAST_ADDRESS,
apduTimeout: options.apduTimeout || 3e3
};
options.reuseAddr = options.reuseAddr === void 0 ? true : !!options.reuseAddr;
this._transport = this._settings.transport || new Transport({
port: this._settings.port,
interface: this._settings.interface,
broadcastAddress: this._settings.broadcastAddress,
reuseAddr: options.reuseAddr
});
this._transport.on("message", this._receiveData.bind(this));
this._transport.on("error", this._receiveError.bind(this));
this._transport.on("listening", () => this.emit("listening"));
this._transport.open();
}
/**
*
* @returns {number}
* @private
*/
_getInvokeId() {
const id = this._invokeCounter++;
if (id >= 256)
this._invokeCounter = 1;
return id - 1;
}
/**
*
* @param id
* @param err
* @param result
* @returns {*}
* @private
*/
_invokeCallback(id, err, result) {
const callback = this._invokeStore[id];
if (callback) {
return void callback(err, result);
}
debug3("InvokeId", id, "not found -> drop package");
}
/**
*
* @param id
* @param callback
* @private
*/
_addCallback(id, callback) {
const timeout = setTimeout(() => {
delete this._invokeStore[id];
callback(new Error("ERR_TIMEOUT"));
}, this._settings.apduTimeout);
this._invokeStore[id] = (err, data) => {
clearTimeout(timeout);
delete this._invokeStore[id];
callback(err, data);
};
}
/**
*
* @param isForwarded
* @returns {{offset: (number), buffer: *}}
* @private
*/
_getBuffer(isForwarded) {
return Object.assign(
{},
{
buffer: Buffer.alloc(this._transport.getMaxPayload()),
offset: isForwarded ? BVLC_FWD_HEADER_LENGTH : BVLC_HEADER_LENGTH2
}
);
}
/**
*
* @param invokeId
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processError(invokeId, buffer, offset, length) {
const result = error_exports.decode(buffer, offset);
trace2("Received error:", result);
if (!result) {
return debug3("Couldn`t decode Error");
}
const err = new BacnetError(error_exports.buildMessage(result));
err.bacnetErrorClass = result.class;
err.bacnetErrorCode = result.code;
this._invokeCallback(invokeId, err);
}
/**
*
* @param invokeId
* @param reason
* @private
*/
_processAbort(invokeId, reason) {
const err = new BacnetError("BacnetAbort - Reason:" + reason);
err.bacnetAbortReason = reason;
err.bacnetErrorClass = AbortReason;
this._invokeCallback(invokeId, err);
}
/**
*
* @param receiver
* @param negative
* @param server
* @param originalInvokeId
* @param sequencenumber
* @param actualWindowSize
* @private
*/
_segmentAckResponse(receiver, negative, server, originalInvokeId, sequencenumber, actualWindowSize) {
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode31(
buffer,
0 /* NORMAL_MESSAGE */,
receiver,
null,
DEFAULT_HOP_COUNT2,
0 /* WHO_IS_ROUTER_TO_NETWORK */,
0
);
encodeSegmentAck(
buffer,
64 /* SEGMENT_ACK */ | (negative ? 2 /* NEGATIVE_ACK */ : 0) | (server ? 1 /* SERVER */ : 0),
originalInvokeId,
sequencenumber,
actualWindowSize
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param msg
* @param first
* @param moreFollows
* @param buffer
* @param offset
* @param length
* @private
*/
_performDefaultSegmentHandling(msg, first, moreFollows, buffer, offset, length) {
if (first) {
this._segmentStore = [];
msg.type &= ~8 /* SEGMENTED_MESSAGE */;
let apduHeaderLen = 3;
if ((msg.type & PDU_TYPE_MASK) === 0 /* CONFIRMED_REQUEST */) {
apduHeaderLen = 4;
}
const apdubuffer = this._getBuffer();
apdubuffer.offset = 0;
buffer.copy(apdubuffer.buffer, apduHeaderLen, offset, offset + length);
if ((msg.type & PDU_TYPE_MASK) === 0 /* CONFIRMED_REQUEST */) {
encodeConfirmedServiceRequest(
apdubuffer,
msg.type,
msg.service,
msg.maxSegments,
msg.maxApdu,
msg.invokeId,
0,
0
);
} else {
encodeComplexAck(
apdubuffer,
msg.type,
msg.service,
msg.invokeId,
0,
0
);
}
this._segmentStore.push(
//@ts-ignore
apdubuffer.buffer.slice(0, length + apduHeaderLen)
);
} else {
this._segmentStore.push(buffer.slice(offset, offset + length));
}
if (!moreFollows) {
const apduBuffer = Buffer.concat(this._segmentStore);
this._segmentStore = [];
msg.type &= ~8 /* SEGMENTED_MESSAGE */;
this._handlePdu(apduBuffer, 0, apduBuffer.length, msg.header);
}
}
/**
*
* @param msg
* @param server
* @param buffer
* @param offset
* @param length
* @private
*/
_processSegment(msg, server, buffer, offset, length) {
let first = false;
if (msg.sequencenumber === 0 && this._lastSequenceNumber === 0) {
first = true;
} else {
if (msg.sequencenumber !== this._lastSequenceNumber + 1) {
return this._segmentAckResponse(
msg.header.address,
true,
server,
msg.invokeId,
this._lastSequenceNumber,
msg.proposedWindowNumber
);
}
}
this._lastSequenceNumber = msg.sequencenumber;
const moreFollows = msg.type & 4 /* MORE_FOLLOWS */;
if (!moreFollows) {
this._lastSequenceNumber = 0;
}
if (msg.sequencenumber % msg.proposedWindowNumber === 0 || !moreFollows) {
this._segmentAckResponse(
msg.header.address,
false,
server,
msg.invokeId,
msg.sequencenumber,
msg.proposedWindowNumber
);
}
this._performDefaultSegmentHandling(
msg,
first,
moreFollows,
buffer,
offset,
length
);
}
/**
*
* @param serviceMap
* @param content
* @param buffer
* @param offset
* @param length
* @returns {*}
* @private
*/
_processServiceRequest(serviceMap, content, buffer, offset, length) {
let result;
const sender = content.header.sender;
if (sender.address === LOCALHOST_INTERFACES_IPV4) {
debug3("Received and skipped localhost service request:", content.service);
return;
}
const name = serviceMap[content.service];
if (!name) {
debug3("Received unsupported service request:", content.service);
return;
}
const id = content.invokeId ? "@" + content.invokeId : "";
trace2(`Received service request${id}:`, name);
const serviceHandler = services_exports[name];
if (serviceHandler) {
try {
content.payload = serviceHandler.decode(buffer, offset, length);
trace2(`Handled service request${id}:`, name, JSON.stringify(content));
} catch (e) {
debug3("Exception thrown when processing message:", e);
debug3("Original message was", name + ":", content);
return;
}
if (!content.payload) {
return debug3("Received invalid", name, "message");
}
} else {
debug3("No serviceHandler defined for:", name);
}
if (this.listenerCount(name)) {
trace2("listener count by name emits " + name + " with content");
this.emit(name, content);
} else {
if (this.listenerCount("unhandledEvent")) {
trace2("unhandled event emiting with content");
this.emit("unhandledEvent", content);
} else {
trace2(
"no unhandled event handler with header: " + JSON.stringify(content.header)
);
if (content.header.expectingReply) {
debug3("Replying with error for unhandled service:", name);
content.header.sender.forwardedFrom = null;
this.errorResponse(
content.header.sender,
content.service,
content.invokeId,
5 /* SERVICES */,
67 /* REJECT_UNRECOGNIZED_SERVICE */
);
}
}
}
}
/**
*
* @param buffer
* @param offset
* @param length
* @param header
* @private
*/
_handlePdu(buffer, offset, length, header) {
let msg;
trace2("handlePdu Header: ", header);
switch (header.apduType & PDU_TYPE_MASK) {
case 16 /* UNCONFIRMED_REQUEST */:
msg = decodeUnconfirmedServiceRequest(buffer, offset);
msg.header = header;
msg.header.confirmedService = false;
this._processServiceRequest(
unconfirmedServiceMap,
msg,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 32 /* SIMPLE_ACK */:
msg = decodeSimpleAck(buffer, offset);
offset += msg.len;
length -= msg.len;
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
break;
case 48 /* COMPLEX_ACK */:
msg = decodeComplexAck(buffer, offset);
msg.header = header;
if ((header.apduType & 8 /* SEGMENTED_MESSAGE */) === 0) {
this._invokeCallback(msg.invokeId, null, {
msg,
buffer,
offset: offset + msg.len,
length: length - msg.len
});
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
case 64 /* SEGMENT_ACK */:
msg = decodeSegmentAck(buffer, offset);
msg.header = header;
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 80 /* ERROR */:
msg = decodeError(buffer, offset);
this._processError(
msg.invokeId,
buffer,
offset + msg.len,
length - msg.len
);
break;
case 96 /* REJECT */:
case 112 /* ABORT */:
msg = decodeAbort(buffer, offset);
this._processAbort(msg.invokeId, msg.reason);
break;
case 0 /* CONFIRMED_REQUEST */:
msg = decodeConfirmedServiceRequest(buffer, offset);
msg.header = header;
msg.header.confirmedService = true;
if ((header.apduType & 8 /* SEGMENTED_MESSAGE */) === 0) {
this._processServiceRequest(
confirmedServiceMap,
msg,
buffer,
offset + msg.len,
length - msg.len
);
} else {
this._processSegment(
msg,
true,
buffer,
offset + msg.len,
length - msg.len
);
}
break;
default:
debug3(`Received unknown PDU type ${header.apduType} -> Drop packet`);
break;
}
}
/**
*
* @param buffer
* @param offset
* @param msgLength
* @param header
* @returns {*}
* @private
*/
_handleNpdu(buffer, offset, msgLength, header) {
if (msgLength <= 0) {
return trace2("No NPDU data -> Drop package");
}
const result = decode31(buffer, offset);
if (!result) {
return trace2("Received invalid NPDU header -> Drop package");
}
if (result.funct & 128 /* NETWORK_LAYER_MESSAGE */) {
return trace2("Received network layer message -> Drop package");
}
offset += result.len;
msgLength -= result.len;
if (msgLength <= 0) {
return trace2("No APDU data -> Drop package");
}
header.apduType = getDecodedType(buffer, offset);
header.expectingReply = !!(result.funct & 4 /* EXPECTING_REPLY */);
this._handlePdu(buffer, offset, msgLength, header);
}
/**
*
* @param buffer
* @param remoteAddress
* @returns {*}
* @private
*/
_receiveData(buffer, remoteAddress) {
if (buffer.length < BVLC_HEADER_LENGTH) {
return trace2("Received invalid data -> Drop package");
}
const result = decode32(buffer, 0);
if (!result) {
return trace2("Received invalid BVLC header -> Drop package");
}
let header = {
// Which function the packet came in on, so later code can distinguish
// between ORIGINAL_BROADCAST_NPDU and DISTRIBUTE_BROADCAST_TO_NETWORK.
func: result.func,
sender: {
// Address of the host we are directly connected to. String, IP:port.
address: remoteAddress,
// If the host is a BBMD passing messages along to another node, this
// is the address of the distant BACnet node. String, IP:port.
// Typically we won't have network connectivity to this address, but
// we have to include it in replies so the host we are connect to knows
// where to forward the messages.
forwardedFrom: null
}
};
switch (result.func) {
case 10 /* ORIGINAL_UNICAST_NPDU */:
case 11 /* ORIGINAL_BROADCAST_NPDU */:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 4 /* FORWARDED_NPDU */:
header.sender.forwardedFrom = result.originatingIP;
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
case 5 /* REGISTER_FOREIGN_DEVICE */:
let decodeResult = register_foreign_device_exports.decode(
buffer,
result.len,
buffer.length - result.len
);
if (!decodeResult) {
return trace2("Received invalid registerForeignDevice message");
}
this.emit("registerForeignDevice", {
header,
payload: decodeResult
});
break;
case 9 /* DISTRIBUTE_BROADCAST_TO_NETWORK */:
this._handleNpdu(
buffer,
result.len,
buffer.length - result.len,
header
);
break;
default:
debug3(
"Received unknown BVLC function " + result.func + " -> Drop package"
);
break;
}
}
/**
* @event bacnet.error
* @param {error} err - The error object thrown by the underlying transport layer.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.on('error', (err) => {
* console.log('Error occurred: ', err);
* client.close();
* });
*/
_receiveError(err) {
this.emit("error", err);
}
/**
* The whoIs command discovers all BACNET devices in a network.
* @function bacnet.whoIs
* @param {string} receiver - IP address of the target device.
* @param {object=} options
* @param {number=} options.lowLimit - Minimal device instance number to search for.
* @param {number=} options.highLimit - Maximal device instance number to search for.
* @fires bacnet.iAm
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.whoIs();
*/
whoIs(receiver, options) {
if (!options) {
if (receiver && typeof receiver === "object" && receiver.address === void 0 && receiver.forwardedFrom === void 0 && (receiver.lowLimit !== void 0 || receiver.highLimit !== void 0)) {
options = receiver;
receiver = void 0;
}
}
options = options || {};
const settings = {
lowLimit: options.lowLimit,
highLimit: options.highLimit
};
const buffer = this._getBuffer(receiver && receiver.forwardedFrom);
encode31(
buffer,
0 /* NORMAL_MESSAGE */,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT2,
0 /* WHO_IS_ROUTER_TO_NETWORK */,
0
);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
8 /* WHO_IS */
);
who_is_exports.encode(buffer, settings.lowLimit, settings.highLimit);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSync command sets the time of a target device.
* @function bacnet.timeSync
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSync('192.168.1.43', new Date());
*/
timeSync(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
6 /* TIME_SYNCHRONIZATION */
);
time_sync_exports.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The timeSyncUTC command sets the UTC time of a target device.
* @function bacnet.timeSyncUTC
* @param {string} receiver - IP address of the target device.
* @param {date} dateTime - The date and time to set on the target device.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.timeSyncUTC('192.168.1.43', new Date());
*/
timeSyncUTC(receiver, dateTime) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
9 /* UTC_TIME_SYNCHRONIZATION */
);
time_sync_exports.encode(buffer, dateTime);
this.sendBvlc(receiver, buffer);
}
/**
* The readProperty command reads a single property of an object from a device.
* @function bacnet.readProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to read.
* @param {number} objectId.type - The BACNET object type to read.
* @param {number} objectId.instance - The BACNET object instance to read.
* @param {number} propertyId - The BACNET property id in the specified object to read.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.readProperty('192.168.1.43', {type: 8, instance: 44301}, 28, (err, value) => {
* console.log('value: ', value);
* });
*/
readProperty(receiver, objectId, propertyId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || options.arrayIndex === 0 ? options.arrayIndex : ASN1_ARRAY_ALL
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
//@ts-ignore
receiver,
null,
DEFAULT_HOP_COUNT2,
0 /* WHO_IS_ROUTER_TO_NETWORK */,
0
);
const type = 0 /* CONFIRMED_REQUEST */ | //@ts-ignore
(settings.maxSegments !== 0 /* SEGMENTS_0 */ ? 2 /* SEGMENTED_RESPONSE_ACCEPTED */ : 0);
encodeConfirmedServiceRequest(
buffer,
type,
12 /* READ_PROPERTY */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_exports.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_property_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writeProperty command writes a single property of an object to a device.
* @function bacnet.writeProperty
* @param {string} receiver - IP address of the target device.
* @param {object} objectId - The BACNET object ID to write.
* @param {number} objectId.type - The BACNET object type to write.
* @param {number} objectId.instance - The BACNET object instance to write.
* @param {number} propertyId - The BACNET property id in the specified object to write.
* @param {object[]} values - A list of values to be written to the specified property.
* @param {ApplicationTag} values.type - The data-type of the value to be written.
* @param {number} values.value - The actual value to be written.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {number=} options.arrayIndex - The array index of the property to be read.
* @param {number=} options.priority - The priority of the value to be written.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.writeProperty('192.168.1.43', {type: 8, instance: 44301}, 28, [
* {type: bacnet.enum.ApplicationTag.REAL, value: 100}
* ], (err, value) => {
* console.log('value: ', value);
* });
*/
writeProperty(receiver, objectId, propertyId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId(),
arrayIndex: options.arrayIndex || ASN1_ARRAY_ALL,
priority: options.priority || ASN1_NO_PRIORITY
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT2,
0 /* WHO_IS_ROUTER_TO_NETWORK */,
0
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
15 /* WRITE_PROPERTY */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
write_property_exports.encode(
buffer,
objectId.type,
objectId.instance,
propertyId,
settings.arrayIndex,
settings.priority,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The readPropertyMultiple command reads multiple properties in multiple objects from a device.
* @function bacnet.readPropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} propertiesArray - List of object and property specifications to be read.
* @param {object} propertiesArray.objectId - Specifies which object to read.
* @param {number} propertiesArray.objectId.type - The BACNET object type to read.
* @param {number} propertiesArray.objectId.instance - The BACNET object instance to read.
* @param {object[]} propertiesArray.properties - List of properties to be read.
* @param {number} propertiesArray.properties.id - The BACNET property id in the specified object to read. Also supports 8 for all properties.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const requestArray = [
* {objectId: {type: 8, instance: 4194303}, properties: [{id: 8}]}
* ];
* client.readPropertyMultiple('192.168.1.43', requestArray, (err, value) => {
* console.log('value: ', value);
* });
*/
readPropertyMultiple(receiver, propertiesArray, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const isForwarded = typeof receiver !== "string" && receiver.forwardedFrom;
const buffer = this._getBuffer(!!isForwarded);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
//@ts-ignore Todo somehow types do not match at all
receiver,
null,
DEFAULT_HOP_COUNT2,
0 /* WHO_IS_ROUTER_TO_NETWORK */,
0
);
const type = 0 /* CONFIRMED_REQUEST */ | //@ts-ignore
(settings.maxSegments !== 0 /* SEGMENTS_0 */ ? 2 /* SEGMENTED_RESPONSE_ACCEPTED */ : 0);
encodeConfirmedServiceRequest(
buffer,
type,
14 /* READ_PROPERTY_MULTIPLE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_property_multiple_exports.encode(buffer, propertiesArray);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return next(err);
}
const result = read_property_multiple_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
* The writePropertyMultiple command writes multiple properties in multiple objects to a device.
* @function bacnet.writePropertyMultiple
* @param {string} receiver - IP address of the target device.
* @param {object[]} values - List of object and property specifications to be written.
* @param {object} values.objectId - Specifies which object to read.
* @param {number} values.objectId.type - The BACNET object type to read.
* @param {number} values.objectId.instance - The BACNET object instance to read.
* @param {object[]} values.values - List of properties to be written.
* @param {object} values.values.property - Property specifications to be written.
* @param {number} values.values.property.id - The BACNET property id in the specified object to write.
* @param {number} values.values.property.index - The array index of the property to be written.
* @param {object[]} values.values.value - A list of values to be written to the specified property.
* @param {ApplicationTag} values.values.value.type - The data-type of the value to be written.
* @param {object} values.values.value.value - The actual value to be written.
* @param {number} values.values.priority - The priority to be used for writing to the property.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const values = [
* {objectId: {type: 8, instance: 44301}, values: [
* {property: {id: 28, index: 12}, value: [{type: bacnet.enum.ApplicationTag.BOOLEAN, value: true}], priority: 8}
* ]}
* ];
* client.writePropertyMultiple('192.168.1.43', values, (err, value) => {
* console.log('value: ', value);
* });
*/
writePropertyMultiple(receiver, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
//@ts-ignore
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
16 /* WRITE_PROPERTY_MULTIPLE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId
);
write_property_multiple_exports.encodeObject(buffer, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The confirmedCOVNotification command is used to push notifications to other
* systems that have registered with us via a subscribeCOV message.
* @function bacnet.confirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {object} monitoredObject - The object being monitored, from subscribeCOV.
* @param {number} monitoredObject.type - Object type.
* @param {number} monitoredObject.instance - Object instance.
* @param {number} subscribeId - Subscriber ID from subscribeCOV,
* @param {number} initiatingDeviceId - Our BACnet device ID.
* @param {number} lifetime - Number of seconds left until the subscription expires.
* @param {array} values - values for the monitored object. See example.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* const settings = {deviceId: 123}; // our BACnet device
*
* // Items saved from subscribeCOV message
* const monitoredObject = {type: 1, instance: 1};
* const subscriberProcessId = 123;
*
* client.confirmedCOVNotification(
* '192.168.1.43',
* monitoredObject,
* subscriberProcessId,
* settings.deviceId,
* 30, // should be lifetime of subscription really
* [
* {
* property: { id: bacnet.enum.PropertyIdentifier.PRESENT_VALUE },
* value: [
* {value: 123, type: bacnet.enum.ApplicationTag.REAL},
* ],
* },
* ],
* (err) => {
* console.log('error: ', err);
* }
* );
*/
confirmedCOVNotification(receiver, monitoredObject, subscribeId, initiatingDeviceId, lifetime, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer();
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
1 /* CONFIRMED_COV_NOTIFICATION */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
cov_notify_exports.encode(
buffer,
subscribeId,
initiatingDeviceId,
monitoredObject,
lifetime,
values
);
encode32(
buffer.buffer,
10 /* ORIGINAL_UNICAST_NPDU */,
buffer.offset
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The deviceCommunicationControl command enables or disables network communication of the target device.
* @function bacnet.deviceCommunicationControl
* @param {string} receiver - IP address of the target device.
* @param {number} timeDuration - The time to hold the network communication state in seconds. 0 for infinite.
* @param {EnableDisable} enableDisable - The network communication state to set.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to set the network communication state.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.deviceCommunicationControl('192.168.1.43', 0, bacnet.enum.EnableDisable.DISABLE, (err) => {
* console.log('error: ', err);
* });
*/
deviceCommunicationControl(receiver, timeDuration, enableDisable, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
17 /* DEVICE_COMMUNICATION_CONTROL */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
device_communication_control_exports.encode(
buffer,
timeDuration,
enableDisable,
settings.password
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
* The reinitializeDevice command initiates a restart of the target device.
* @function bacnet.reinitializeDevice
* @param {string} receiver - IP address of the target device.
* @param {ReinitializedState} state - The type of restart to be initiated.
* @param {object=} options
* @param {MaxSegmentsAccepted=} options.maxSegments - The maximimal allowed number of segments.
* @param {MaxApduLengthAccepted=} options.maxApdu - The maximal allowed APDU size.
* @param {number=} options.invokeId - The invoke ID of the confirmed service telegram.
* @param {string=} options.password - The optional password used to restart the device.
* @param {function} next - The callback containing an error, in case of a failure and value object in case of success.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.reinitializeDevice('192.168.1.43', bacnet.enum.ReinitializedState.COLDSTART, (err, value) => {
* console.log('value: ', value);
* });
*/
reinitializeDevice(receiver, state, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId(),
password: options.password
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
20 /* REINITIALIZE_DEVICE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
reinitialize_device_exports.encode(buffer, state, settings.password);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
next(err);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param fileBuffer
* @param options
* @param next
*/
writeFile(receiver, objectId, position, fileBuffer, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
7 /* ATOMIC_WRITE_FILE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_write_file_exports.encode(
buffer,
false,
objectId,
position,
fileBuffer
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_write_file_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param position
* @param count
* @param options
* @param next
*/
readFile(receiver, objectId, position, count, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
6 /* ATOMIC_READ_FILE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
atomic_read_file_exports.encode(buffer, true, objectId, position, count);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = atomic_read_file_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param idxBegin
* @param quantity
* @param options
* @param next
*/
readRange(receiver, objectId, idxBegin, quantity, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
26 /* READ_RANGE */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
read_range_exports.encode(
buffer,
objectId,
131 /* LOG_BUFFER */,
ASN1_ARRAY_ALL,
0 /* BY_POSITION */,
idxBegin,
/* @__PURE__ */ new Date(),
quantity
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = read_range_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param lifetime
* @param options
* @param next
*/
subscribeCov(receiver, objectId, subscribeId, cancel, issueConfirmedNotifications, lifetime, options, nextFunc) {
const next = nextFunc || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
// @ts-ignore TODO types not matching with documentation and code
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
5 /* SUBSCRIBE_COV */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_cov_exports.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
lifetime
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param monitoredProperty
* @param subscribeId
* @param cancel
* @param issueConfirmedNotifications
* @param options
* @param next
*/
subscribeProperty(receiver, objectId, monitoredProperty, subscribeId, cancel, issueConfirmedNotifications, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
28 /* SUBSCRIBE_COV_PROPERTY */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
subscribe_property_exports.encode(
buffer,
subscribeId,
objectId,
cancel,
issueConfirmedNotifications,
0,
monitoredProperty,
false,
15
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The unconfirmedCOVNotification command sends an unconfirmed COV notification to a device
* @function bacnet.unconfirmedCOVNotification
* @param {string} receiver - IP address of the target device.
* @param {number} subscriberProcessId - The process id which was used by a target device in the subscription.
* @param {number} initiatingDeviceId - The id of this device.
* @param {object} monitoredObjectId - Specifies about which object the notification is.
* @param {number} monitoredObjectId.type - The BACNET object type of the notification.
* @param {number} monitoredObjectId.instance - The BACNET object instance of the notification.
* @param {number} timeRemaining - How long the subscription is still active in seconds.
* @param {object[]} values - List of properties with updated values.
* @param {object} values.property - Property specifications.
* @param {number} values.property.id - The updated BACNET property id.
* @param {number} values.property.index - The array index of the updated property.
* @param {object[]} values.value - A list of updated values.
* @param {ApplicationTag} values.value.type - The data-type of the updated value.
* @param {object} values.value.value - The actual updated value.
* @param {number} values.priority - The priority of the updated property.
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.unconfirmedCOVNotification(
* '127.0.0.1',
* 3,
* 433,
* {type: 2, instance: 122},
* 120,
* [
* {
* property: {id: 85},
* value: [{type: baEnum.ApplicationTag.REAL, value: 12.3}]
* },
* {
* property: {id: 111},
* value: [{type: baEnum.ApplicationTag.BIT_STRING, value: 0xFFFF}]
* }
* ]);
*/
unconfirmedCOVNotification(receiver, subscriberProcessId, initiatingDeviceId, monitoredObjectId, timeRemaining, values) {
const buffer = this._getBuffer();
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
2 /* UNCONFIRMED_COV_NOTIFICATION */
);
cov_notify_exports.encode(
buffer,
subscriberProcessId,
initiatingDeviceId,
monitoredObjectId,
timeRemaining,
values
);
encode32(
buffer.buffer,
10 /* ORIGINAL_UNICAST_NPDU */,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver);
}
/**
*
* @param receiver
* @param objectId
* @param values
* @param options
* @param next
*/
createObject(receiver, objectId, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
10 /* CREATE_OBJECT */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
create_object_exports.encode(buffer, objectId, values);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
deleteObject(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
11 /* DELETE_OBJECT */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
delete_object_exports.encode(buffer, objectId);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
removeListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
9 /* REMOVE_LIST_ELEMENT */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param objectId
* @param reference
* @param values
* @param options
* @param next
*/
addListElement(receiver, objectId, reference, values, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
8 /* ADD_LIST_ELEMENT */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
add_list_element_exports.encode(
buffer,
objectId,
reference.id,
reference.index,
values
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param options
* @param next
*/
getAlarmSummary(receiver, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
3 /* GET_ALARM_SUMMARY */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = alarm_summary_exports.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param options
* @param next
*/
getEventInformation(receiver, objectId, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
29 /* GET_EVENT_INFORMATION */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
encodeContextObjectId(buffer, 0, objectId.type, objectId.instance);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = event_information_exports.decode(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param objectId
* @param eventState
* @param ackText
* @param evTimeStamp
* @param ackTimeStamp
* @param options
* @param next
*/
acknowledgeAlarm(receiver, objectId, eventState, ackText, evTimeStamp, ackTimeStamp, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
0 /* ACKNOWLEDGE_ALARM */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
alarm_acknowledge_exports.encode(
buffer,
57,
objectId,
eventState,
ackText,
evTimeStamp,
ackTimeStamp
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
* @param options
* @param next
*/
confirmedPrivateTransfer(receiver, vendorId, serviceNumber, data, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
18 /* CONFIRMED_PRIVATE_TRANSFER */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
private_transfer_exports.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data2) => {
if (err) {
return void next(err);
}
next();
});
}
/**
*
* @param receiver
* @param vendorId
* @param serviceNumber
* @param data
*/
unconfirmedPrivateTransfer(receiver, vendorId, serviceNumber, data) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
4 /* UNCONFIRMED_PRIVATE_TRANSFER */
);
private_transfer_exports.encode(buffer, vendorId, serviceNumber, data);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param acknowledgmentFilter
* @param options
* @param next
*/
getEnrollmentSummary(receiver, acknowledgmentFilter, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
4 /* GET_ENROLLMENT_SUMMARY */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
get_enrollment_summary_exports.encode(
buffer,
acknowledgmentFilter,
options.enrollmentFilter,
options.eventStateFilter,
options.eventTypeFilter,
options.priorityFilter,
options.notificationClassFilter
);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
const result = get_enrollment_summary_exports.decodeAcknowledge(
data.buffer,
data.offset,
data.length
);
if (!result) {
return void next(new Error("INVALID_DECODING"));
}
next(null, result);
});
}
/**
*
* @param receiver
* @param eventNotification
*/
unconfirmedEventNotification(receiver, eventNotification) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
3 /* UNCONFIRMED_EVENT_NOTIFICATION */
);
event_notify_data_exports.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param eventNotification
* @param options
* @param next
*/
confirmedEventNotification(receiver, eventNotification, options, next) {
next = next || options;
const settings = {
maxSegments: options.maxSegments || 112 /* SEGMENTS_65 */,
maxApdu: options.maxApdu || 5 /* OCTETS_1476 */,
invokeId: options.invokeId || this._getInvokeId()
};
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(
buffer,
0 /* NORMAL_MESSAGE */ | 4 /* EXPECTING_REPLY */,
receiver
);
encodeConfirmedServiceRequest(
buffer,
0 /* CONFIRMED_REQUEST */,
2 /* CONFIRMED_EVENT_NOTIFICATION */,
settings.maxSegments,
settings.maxApdu,
settings.invokeId,
0,
0
);
event_notify_data_exports.encode(buffer, eventNotification);
this.sendBvlc(receiver, buffer);
this._addCallback(settings.invokeId, (err, data) => {
if (err) {
return void next(err);
}
next();
});
}
/**
* The readPropertyResponse call sends a response with information about one of our properties.
* @function bacnet.readPropertyResponse
* @param {string} receiver - IP address of the target device.
* @param {number} invokeId - ID of the original readProperty request.
* @param {object} objectId - objectId from the original request,
* @param {object} property - property being read, taken from the original request.
* @param {object=} options varying behaviour for special circumstances
* @param {string=} options.forwardedFrom - If functioning as a BBMD, the IP address this message originally came from.
*/
readPropertyResponse(receiver, invokeId, objectId, property, value, options = {}) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeComplexAck(
buffer,
48 /* COMPLEX_ACK */,
12 /* READ_PROPERTY */,
invokeId
);
read_property_exports.encodeAcknowledge(
buffer,
objectId,
property.id,
property.index,
value
);
this.sendBvlc(receiver, buffer);
}
readPropertyMultipleResponse(receiver, invokeId, values) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeComplexAck(
buffer,
48 /* COMPLEX_ACK */,
14 /* READ_PROPERTY_MULTIPLE */,
invokeId
);
read_property_multiple_exports.encodeAcknowledge(buffer, values);
this.sendBvlc(receiver, buffer);
}
/**
* The iAmResponse command is sent as a reply to a whoIs request.
* @function bacnet.iAmResponse
* @param {object} receiver - address to send packet to, null for local broadcast.
* @param {number} deviceId - Our device ID.
* @param {number} segmentation - an enum.Segmentation value.
* @param {number} vendorId - The numeric ID assigned to the organisation providing this application.
*/
iAmResponse(receiver, deviceId, segmentation, vendorId) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
0 /* I_AM */
);
i_am_exports.encode(
buffer,
deviceId,
this._transport.getMaxPayload(),
segmentation,
vendorId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param deviceId
* @param objectId
* @param objectName
*/
iHaveResponse(receiver, deviceId, objectId, objectName) {
const buffer = this._getBuffer(
!!(typeof receiver !== "string" && receiver.forwardedFrom)
);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeUnconfirmedServiceRequest(
buffer,
16 /* UNCONFIRMED_REQUEST */,
1 /* I_HAVE */
);
i_have_exports.encode(buffer, deviceId, objectId, objectName);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
*/
simpleAckResponse(receiver, service, invokeId) {
if (typeof receiver === "string")
return;
const buffer = this._getBuffer(!!receiver.forwardedFrom);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeSimpleAck(
buffer,
32 /* SIMPLE_ACK */,
service,
invokeId
);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param service
* @param invokeId
* @param errorClass
* @param errorCode
*/
errorResponse(receiver, service, invokeId, errorClass, errorCode) {
trace2(
`error response on ${JSON.stringify(receiver)} service: ${JSON.stringify(
service
)} invokeId: ${invokeId} errorClass: ${errorClass} errorCode: ${errorCode}`
);
trace2(
`error message ${error_exports.buildMessage({
class: errorClass,
code: errorCode
})}`
);
const hasSource = !!(typeof receiver !== "string" && receiver.forwardedFrom);
if (typeof receiver === "string")
throw new Error("receiver must be object");
const buffer = this._getBuffer(hasSource);
encode31(buffer, 0 /* NORMAL_MESSAGE */, receiver);
encodeError(buffer, 80 /* ERROR */, service, invokeId);
error_exports.encode(buffer, errorClass, errorCode);
this.sendBvlc(receiver, buffer);
}
/**
*
* @param receiver
* @param buffer
*/
sendBvlc(receiver, buffer) {
if (typeof receiver === "string") {
receiver = {
address: receiver
};
}
if (receiver && receiver.forwardedFrom) {
encode32(
buffer.buffer,
4 /* FORWARDED_NPDU */,
buffer.offset,
receiver.forwardedFrom
);
} else if (receiver && receiver.address) {
encode32(
buffer.buffer,
10 /* ORIGINAL_UNICAST_NPDU */,
buffer.offset
);
} else {
encode32(
buffer.buffer,
11 /* ORIGINAL_BROADCAST_NPDU */,
buffer.offset
);
}
this._transport.send(
buffer.buffer,
buffer.offset,
receiver && receiver.address || null
);
}
/**
* The resultResponse is a BVLC-Result message used to respond to certain events, such as BBMD registration.
* This message cannot be wrapped for passing through a BBMD, as it is used as a BBMD control message.
* @function bacnet.resultResponse
* @param {string} receiver - IP address of the target device.
* @param {number} resultCode - Single value from BvlcResultFormat enum.
*/
resultResponse(receiver, resultCode) {
const buffer = this._getBuffer();
encodeResult(buffer, resultCode);
encode32(
buffer.buffer,
0 /* BVLC_RESULT */,
buffer.offset
);
this._transport.send(buffer.buffer, buffer.offset, receiver.address);
}
/**
* Unloads the current bacnet instance and closes the underlying UDP socket.
* @function bacnet.close
* @example
* const bacnet = require('node-bacnet');
* const client = new bacnet();
*
* client.close();
*/
close() {
this._transport.close();
}
/**
* Helper function to take an array of enums and produce a bitstring suitable
* for inclusion as a property.
*
* @example
* [bacnet.enum.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED]: [
* {value: bacnet.createBitstring([
* bacnet.enum.ObjectTypesSupported.ANALOG_INPUT,
* bacnet.enum.ObjectTypesSupported.ANALOG_OUTPUT,
* ]),
* type: bacnet.enum.ApplicationTag.BIT_STRING},
* ],
*/
static createBitstring(items) {
let offset = 0;
let bytes = [];
let bitsUsed = 0;
while (items.length) {
let value = 0;
items = items.filter((i) => {
if (i >= offset + 8) {
return true;
}
value |= 1 << i - offset;
bitsUsed = Math.max(bitsUsed, i);
return false;
});
bytes.push(value);
offset += 8;
}
bitsUsed++;
return {
value: bytes,
bitsUsed
};
}
};
// index.ts
var import_underscore = __toESM(require("underscore"));
// src/read-device.ts
var import_process = __toESM(require("process"));
var import__ = __toESM(require_dist());
var PropertyIdentifierToEnumMap = {};
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.OBJECT_TYPE] = import__.enums.ObjectType;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED] = import__.enums.Segmentation;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.EVENT_STATE] = import__.enums.EventState;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.UNITS] = import__.enums.EngineeringUnits;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.RELIABILITY] = import__.enums.Reliability;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.NOTIFY_TYPE] = import__.enums.NotifyType;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.POLARITY] = import__.enums.Polarity;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED] = import__.enums.ServicesSupported;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED] = import__.enums.ObjectTypesSupported;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.STATUS_FLAGS] = import__.enums.StatusFlags;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.LIMIT_ENABLE] = import__.enums.LimitEnable;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.EVENT_ENABLE] = import__.enums.EventTransitionBits;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.ACKED_TRANSITIONS] = import__.enums.EventTransitionBits;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.SYSTEM_STATUS] = import__.enums.DeviceStatus;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.SYSTEM_STATUS] = import__.enums.DeviceStatus;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.ACK_REQUIRED] = import__.enums.EventTransitionBits;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.LOGGING_TYPE] = import__.enums.LoggingType;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.FILE_ACCESS_METHOD] = import__.enums.FileAccessMethod;
PropertyIdentifierToEnumMap[import__.enums.PropertyIdentifier.NODE_TYPE] = import__.enums.NodeType;
var ObjectTypeSpecificPropertyIdentifierToEnumMap = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_INPUT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_INPUT][import__.enums.PropertyIdentifier.MODE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.ANALOG_INPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.ANALOG_INPUT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.ANALOG_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.ANALOG_OUTPUT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_OUTPUT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_OUTPUT][import__.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_VALUE][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_VALUE][import__.enums.PropertyIdentifier.RELINQUISH_DEFAULT] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_LIGHTING_OUTPUT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_LIGHTING_OUTPUT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryLightingPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BITSTRING_VALUE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.BINARY_VALUE][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.BinaryPV;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.TRACKING_VALUE] = import__.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.MODE] = import__.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.ACCEPTED_MODES] = import__.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.SILENCED] = import__.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_POINT][import__.enums.PropertyIdentifier.OPERATION_EXPECTED] = import__.enums.LifeSafetyOperation;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_ZONE] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_ZONE][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.LifeSafetyState;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LIFE_SAFETY_ZONE][import__.enums.PropertyIdentifier.MODE] = import__.enums.LifeSafetyMode;
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LOAD_CONTROL] = {};
ObjectTypeSpecificPropertyIdentifierToEnumMap[import__.enums.ObjectType.LOAD_CONTROL][import__.enums.PropertyIdentifier.PRESENT_VALUE] = import__.enums.ShedState;
var propSubSet = import_process.default.argv.includes("--all") ? Object.values(import__.enums.PropertyIdentifier) : [
/* normally supported from all devices */
import__.enums.PropertyIdentifier.OBJECT_IDENTIFIER,
import__.enums.PropertyIdentifier.OBJECT_NAME,
import__.enums.PropertyIdentifier.OBJECT_TYPE,
import__.enums.PropertyIdentifier.PRESENT_VALUE,
import__.enums.PropertyIdentifier.STATUS_FLAGS,
import__.enums.PropertyIdentifier.EVENT_STATE,
import__.enums.PropertyIdentifier.RELIABILITY,
import__.enums.PropertyIdentifier.OUT_OF_SERVICE,
import__.enums.PropertyIdentifier.UNITS,
/* other properties */
import__.enums.PropertyIdentifier.DESCRIPTION,
import__.enums.PropertyIdentifier.SYSTEM_STATUS,
import__.enums.PropertyIdentifier.VENDOR_NAME,
import__.enums.PropertyIdentifier.VENDOR_IDENTIFIER,
import__.enums.PropertyIdentifier.MODEL_NAME,
import__.enums.PropertyIdentifier.FIRMWARE_REVISION,
import__.enums.PropertyIdentifier.APPLICATION_SOFTWARE_VERSION,
import__.enums.PropertyIdentifier.LOCATION,
import__.enums.PropertyIdentifier.LOCAL_DATE,
import__.enums.PropertyIdentifier.LOCAL_TIME,
import__.enums.PropertyIdentifier.UTC_OFFSET,
import__.enums.PropertyIdentifier.DAYLIGHT_SAVINGS_STATUS,
import__.enums.PropertyIdentifier.PROTOCOL_VERSION,
import__.enums.PropertyIdentifier.PROTOCOL_REVISION,
import__.enums.PropertyIdentifier.PROTOCOL_SERVICES_SUPPORTED,
import__.enums.PropertyIdentifier.PROTOCOL_OBJECT_TYPES_SUPPORTED,
import__.enums.PropertyIdentifier.OBJECT_LIST,
import__.enums.PropertyIdentifier.MAX_APDU_LENGTH_ACCEPTED,
import__.enums.PropertyIdentifier.SEGMENTATION_SUPPORTED,
import__.enums.PropertyIdentifier.APDU_TIMEOUT,
import__.enums.PropertyIdentifier.NUMBER_OF_APDU_RETRIES,
import__.enums.PropertyIdentifier.DEVICE_ADDRESS_BINDING,
import__.enums.PropertyIdentifier.DATABASE_REVISION,
import__.enums.PropertyIdentifier.MAX_INFO_FRAMES,
import__.enums.PropertyIdentifier.MAX_MASTER,
import__.enums.PropertyIdentifier.ACTIVE_COV_SUBSCRIPTIONS,
import__.enums.PropertyIdentifier.ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS
];
var debug4 = import_process.default.argv.includes("--debug");
function getAllPropertiesManually(address, objectId, callback, propList, result) {
if (!propList) {
propList = propSubSet.map((x) => x);
}
if (!result) {
result = [];
}
if (!propList.length) {
return callback({
values: [
{
objectId,
values: result
}
]
});
}
const prop = propList.shift();
bacnetClient.readProperty(address, objectId, prop, {}, (err, value) => {
if (!err) {
if (debug4) {
console.log("Handle value " + prop + ": ", JSON.stringify(value));
}
const objRes = value.property;
objRes.value = value.values;
result.push(objRes);
} else {
}
getAllPropertiesManually(address, objectId, callback, propList, result);
});
}
function readBit(buffer, i, bit) {
return (buffer[i] >> bit) % 2;
}
function handleBitString(buffer, bitsUsed, usedEnum) {
const res = [];
for (let i = 0; i < bitsUsed; i++) {
const bufferIndex = Math.floor(i / 8);
if (readBit(buffer, bufferIndex, i % 8)) {
res.push(import__.enums.getEnumName(usedEnum, i));
}
}
return res;
}
function parseValue(address, objId, parentType, value, supportsMultiple, callback) {
let resValue = null;
if (value && value.type && value.value !== null && value.value !== void 0) {
switch (value.type) {
case import__.enums.ApplicationTag.NULL:
resValue = null;
break;
case import__.enums.ApplicationTag.BOOLEAN:
resValue = !!value.value;
break;
case import__.enums.ApplicationTag.UNSIGNED_INTEGER:
case import__.enums.ApplicationTag.SIGNED_INTEGER:
case import__.enums.ApplicationTag.REAL:
case import__.enums.ApplicationTag.DOUBLE:
case import__.enums.ApplicationTag.CHARACTER_STRING:
resValue = value.value;
break;
case import__.enums.ApplicationTag.DATE:
case import__.enums.ApplicationTag.TIME:
case import__.enums.ApplicationTag.TIMESTAMP:
resValue = value.value;
break;
case import__.enums.ApplicationTag.BIT_STRING:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType][objId]) {
resValue = handleBitString(
value.value.value,
value.value.bitsUsed,
ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType][objId]
);
} else if (PropertyIdentifierToEnumMap[objId]) {
resValue = handleBitString(
value.value.value,
value.value.bitsUsed,
PropertyIdentifierToEnumMap[objId]
);
} else {
if (parentType !== import__.enums.ObjectType.BITSTRING_VALUE) {
console.log(
"Unknown value for BIT_STRING type for objId " + import__.enums.getEnumName(import__.enums.PropertyIdentifier, objId) + " and parent type " + import__.enums.getEnumName(import__.enums.ObjectType, parentType)
);
}
resValue = value.value;
}
break;
case import__.enums.ApplicationTag.ENUMERATED:
if (ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType] && ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType][objId]) {
resValue = import__.enums.getEnumName(
ObjectTypeSpecificPropertyIdentifierToEnumMap[parentType][objId],
value.value
);
} else if (PropertyIdentifierToEnumMap[objId]) {
resValue = import__.enums.getEnumName(
PropertyIdentifierToEnumMap[objId],
value.value
);
} else {
console.log(
"Unknown value for ENUMERATED type for objId " + import__.enums.getEnumName(import__.enums.PropertyIdentifier, objId) + " and parent type " + import__.enums.getEnumName(import__.enums.ObjectType, parentType)
);
resValue = value.value;
}
break;
case import__.enums.ApplicationTag.OBJECTIDENTIFIER:
if (objId === import__.enums.PropertyIdentifier.OBJECT_IDENTIFIER || objId === import__.enums.PropertyIdentifier.STRUCTURED_OBJECT_LIST || objId === import__.enums.PropertyIdentifier.SUBORDINATE_LIST) {
resValue = value.value;
} else if (supportsMultiple) {
const requestArray = [
{
objectId: value.value,
properties: [{ id: 8 }]
}
];
bacnetClient.readPropertyMultiple(
address,
requestArray,
(err, resValue2) => {
parseDeviceObject(address, resValue2, value.value, true, callback);
}
);
return;
} else {
getAllPropertiesManually(address, value.value, (result) => {
parseDeviceObject(address, result, value.value, false, callback);
});
return;
}
break;
case import__.enums.ApplicationTag.OCTET_STRING:
resValue = value.value;
break;
case import__.enums.ApplicationTag.ERROR:
resValue = {
errorClass: import__.enums.getEnumName(
import__.enums.ErrorClass,
value.value.errorClass
),
errorCode: import__.enums.getEnumName(import__.enums.ErrorCode, value.value.errorCode)
};
break;
case import__.enums.ApplicationTag.OBJECT_PROPERTY_REFERENCE:
case import__.enums.ApplicationTag.DEVICE_OBJECT_PROPERTY_REFERENCE:
case import__.enums.ApplicationTag.DEVICE_OBJECT_REFERENCE:
case import__.enums.ApplicationTag.READ_ACCESS_SPECIFICATION:
resValue = value.value;
break;
case import__.enums.ApplicationTag.CONTEXT_SPECIFIC_DECODED:
parseValue(
address,
objId,
parentType,
value.value,
supportsMultiple,
callback
);
return;
case import__.enums.ApplicationTag.READ_ACCESS_RESULT:
resValue = value.value;
break;
default:
console.log(
"unknown type " + value.type + ": " + JSON.stringify(value)
);
resValue = value;
}
}
setImmediate(() => callback(resValue));
}
function parseDeviceObject(address, obj, parent, supportsMultiple, callback) {
if (debug4) {
console.log(
"START parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(obj)
);
}
if (!obj) {
console.log("object not valid on parse device object");
return;
}
if (!obj.values || !Array.isArray(obj.values)) {
console.log("No device or invalid response");
callback({ ERROR: "No device or invalid response" });
return;
}
let cbCount = 0;
let objDef = {};
const finalize = () => {
Object.keys(objDef).forEach((devId) => {
Object.keys(objDef[devId]).forEach((objId) => {
if (objDef[devId][objId].length === 1) {
objDef[devId][objId] = objDef[devId][objId][0];
}
});
});
if (obj.values.length === 1) {
objDef = objDef[obj.values[0].objectId.instance];
}
if (debug4) {
console.log(
"END parseDeviceObject: " + JSON.stringify(parent) + " : " + JSON.stringify(objDef)
);
}
callback(objDef);
};
obj.values.forEach((devBaseObj) => {
if (!devBaseObj.objectId) {
console.log("No device Id found in object data");
return;
}
if (devBaseObj.objectId.type === void 0 || devBaseObj.objectId.instance === void 0) {
console.log("No device type or instance found in object data");
return;
}
if (!devBaseObj.values || !Array.isArray(devBaseObj.values)) {
console.log("No device values response");
return;
}
const deviceId = devBaseObj.objectId.instance;
objDef[deviceId] = {};
devBaseObj.values.forEach((devObj) => {
let objId = import__.enums.getEnumName(import__.enums.PropertyIdentifier, devObj.id);
if (devObj.index !== 4294967295) {
objId += "-" + devObj.index;
}
if (debug4) {
console.log("Handle Object property:", deviceId, objId, devObj.value);
}
devObj.value.forEach((val) => {
if (JSON.stringify(val.value) === JSON.stringify(parent)) {
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(val.value);
return;
}
cbCount++;
parseValue(
address,
devObj.id,
parent.type,
val,
supportsMultiple,
(parsedValue) => {
if (debug4) {
console.log(
"RETURN parsedValue",
deviceId,
objId,
devObj.value,
parsedValue
);
}
objDef[deviceId][objId] = objDef[deviceId][objId] || [];
objDef[deviceId][objId].push(parsedValue);
if (!--cbCount) {
finalize();
}
}
);
});
});
});
if (cbCount === 0) {
finalize();
}
}
var limitToDevice = null;
if (import_process.default.argv.length === 3) {
limitToDevice = parseInt(import_process.default.argv[2]);
if (isNaN(limitToDevice)) {
limitToDevice = null;
}
}
// index.ts
var node_bacnet_default = Client;
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
_,
bacnetErrorToString,
enums,
parseValue
});