@bitpoolos/edge-bacnet 1.0.6 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/bacnet_client.js +585 -152
  2. package/bacnet_device.js +34 -11
  3. package/bacnet_gateway.html +189 -92
  4. package/bacnet_gateway.js +152 -21
  5. package/bacnet_object.js +1 -1
  6. package/bacnet_read.html +115 -113
  7. package/bacnet_read.js +24 -24
  8. package/bacnet_write.html +19 -15
  9. package/bacnet_write.js +0 -2
  10. package/common.js +63 -8
  11. package/package.json +6 -4
  12. package/resources/confirmationservice.min.js +1 -0
  13. package/resources/confirmdialog.min.js +1 -0
  14. package/resources/fonts/primeicons.woff2 +0 -0
  15. package/resources/node-bacnet/CHANGELOG.md +481 -0
  16. package/resources/{bacstack → node-bacnet}/LICENSE.md +3 -1
  17. package/resources/node-bacnet/README.md +91 -0
  18. package/resources/node-bacnet/docs/Client.html +4422 -0
  19. package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
  20. package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
  21. package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
  22. package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
  23. package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
  24. package/resources/node-bacnet/docs/bacnet.html +7032 -0
  25. package/resources/node-bacnet/docs/client.js.html +1759 -0
  26. package/resources/node-bacnet/docs/enum.js.html +2530 -0
  27. package/resources/node-bacnet/docs/global.html +2068 -0
  28. package/resources/node-bacnet/docs/images/mocha-logo.svg +65 -0
  29. package/resources/node-bacnet/docs/index.html +283 -0
  30. package/resources/node-bacnet/docs/scripts/collapse.js +11 -0
  31. package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +4 -0
  32. package/resources/node-bacnet/docs/scripts/linenumber.js +26 -0
  33. package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  34. package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +2 -0
  35. package/resources/node-bacnet/docs/scripts/prettify/prettify.js +28 -0
  36. package/resources/node-bacnet/docs/scripts/search.js +47 -0
  37. package/resources/node-bacnet/docs/services_i-am.js.html +157 -0
  38. package/resources/node-bacnet/docs/services_time-sync.js.html +118 -0
  39. package/resources/node-bacnet/docs/services_who-is.js.html +138 -0
  40. package/resources/node-bacnet/docs/styles/jsdoc.css +683 -0
  41. package/resources/node-bacnet/docs/styles/prettify.css +82 -0
  42. package/resources/node-bacnet/examples/discover-devices.js +66 -0
  43. package/resources/node-bacnet/examples/read-device.js +510 -0
  44. package/resources/node-bacnet/examples/subscribe-cov.js +75 -0
  45. package/resources/{bacstack → node-bacnet}/index.js +3 -0
  46. package/resources/{bacstack → node-bacnet}/lib/apdu.js +56 -39
  47. package/resources/{bacstack → node-bacnet}/lib/asn1.js +550 -532
  48. package/resources/node-bacnet/lib/bvlc.js +90 -0
  49. package/resources/node-bacnet/lib/client.js +1695 -0
  50. package/resources/node-bacnet/lib/enum.js +2463 -0
  51. package/resources/node-bacnet/lib/npdu.js +123 -0
  52. package/resources/{bacstack → node-bacnet}/lib/services/add-list-element.js +12 -6
  53. package/resources/{bacstack → node-bacnet}/lib/services/alarm-acknowledge.js +3 -3
  54. package/resources/{bacstack → node-bacnet}/lib/services/alarm-summary.js +5 -4
  55. package/resources/{bacstack → node-bacnet}/lib/services/atomic-read-file.js +49 -26
  56. package/resources/{bacstack → node-bacnet}/lib/services/atomic-write-file.js +40 -23
  57. package/resources/{bacstack → node-bacnet}/lib/services/cov-notify.js +33 -17
  58. package/resources/{bacstack → node-bacnet}/lib/services/create-object.js +23 -13
  59. package/resources/{bacstack → node-bacnet}/lib/services/delete-object.js +7 -2
  60. package/resources/{bacstack → node-bacnet}/lib/services/device-communication-control.js +8 -3
  61. package/resources/{bacstack → node-bacnet}/lib/services/error.js +7 -0
  62. package/resources/{bacstack → node-bacnet}/lib/services/event-information.js +10 -9
  63. package/resources/{bacstack → node-bacnet}/lib/services/event-notify-data.js +38 -16
  64. package/resources/{bacstack → node-bacnet}/lib/services/get-enrollment-summary.js +24 -11
  65. package/resources/{bacstack → node-bacnet}/lib/services/get-event-information.js +28 -13
  66. package/resources/node-bacnet/lib/services/i-am.js +90 -0
  67. package/resources/{bacstack/lib/services/i-have-broadcast.js → node-bacnet/lib/services/i-have.js} +3 -2
  68. package/resources/{bacstack → node-bacnet}/lib/services/index.js +7 -4
  69. package/resources/{bacstack → node-bacnet}/lib/services/life-safety-operation.js +3 -2
  70. package/resources/{bacstack → node-bacnet}/lib/services/private-transfer.js +3 -2
  71. package/resources/{bacstack → node-bacnet}/lib/services/read-property-multiple.js +11 -6
  72. package/resources/{bacstack → node-bacnet}/lib/services/read-property.js +42 -24
  73. package/resources/{bacstack → node-bacnet}/lib/services/read-range.js +37 -27
  74. package/resources/node-bacnet/lib/services/register-foreign-device.js +18 -0
  75. package/resources/{bacstack → node-bacnet}/lib/services/reinitialize-device.js +9 -4
  76. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-cov.js +9 -4
  77. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-property.js +18 -8
  78. package/resources/{bacstack → node-bacnet}/lib/services/time-sync.js +28 -5
  79. package/resources/{bacstack → node-bacnet}/lib/services/who-has.js +3 -3
  80. package/resources/{bacstack → node-bacnet}/lib/services/who-is.js +42 -9
  81. package/resources/{bacstack → node-bacnet}/lib/services/write-property-multiple.js +33 -16
  82. package/resources/{bacstack → node-bacnet}/lib/services/write-property.js +23 -13
  83. package/resources/node-bacnet/lib/transport.js +82 -0
  84. package/resources/node-bacnet/package.json +92 -0
  85. package/resources/primeicons.css +90 -2
  86. package/resources/bacstack/.codeclimate.yml +0 -15
  87. package/resources/bacstack/.dockerignore +0 -5
  88. package/resources/bacstack/.editorconfig +0 -13
  89. package/resources/bacstack/.eslintrc.yml +0 -13
  90. package/resources/bacstack/.github/ISSUE_TEMPLATE.md +0 -26
  91. package/resources/bacstack/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  92. package/resources/bacstack/.github/workflows/ci.yml +0 -39
  93. package/resources/bacstack/.jscsrc +0 -8
  94. package/resources/bacstack/.jshintrc +0 -50
  95. package/resources/bacstack/.travis.yml +0 -27
  96. package/resources/bacstack/CHANGELOG.md +0 -232
  97. package/resources/bacstack/CODE_OF_CONDUCT.md +0 -74
  98. package/resources/bacstack/CONTRIBUTING.md +0 -77
  99. package/resources/bacstack/Dockerfile +0 -15
  100. package/resources/bacstack/FAQ.md +0 -64
  101. package/resources/bacstack/README.md +0 -157
  102. package/resources/bacstack/docker-compose.yml +0 -9
  103. package/resources/bacstack/lib/adpu.js +0 -190
  104. package/resources/bacstack/lib/bvlc.js +0 -43
  105. package/resources/bacstack/lib/client.js +0 -1028
  106. package/resources/bacstack/lib/enum.js +0 -1314
  107. package/resources/bacstack/lib/npdu.js +0 -119
  108. package/resources/bacstack/lib/services/i-am-broadcast.js +0 -51
  109. package/resources/bacstack/lib/services.js +0 -1963
  110. package/resources/bacstack/lib/transport.js +0 -52
  111. package/resources/bacstack/package-lock.json +0 -7974
  112. package/resources/bacstack/package.json +0 -84
  113. package/resources/bacstack/test/compliance/who-is.spec.js +0 -37
  114. package/resources/bacstack/test/integration/acknowledge-alarm.spec.js +0 -14
  115. package/resources/bacstack/test/integration/add-list-element.spec.js +0 -16
  116. package/resources/bacstack/test/integration/confirmed-event-notification.spec.js +0 -30
  117. package/resources/bacstack/test/integration/confirmed-private-transfer.spec.js +0 -15
  118. package/resources/bacstack/test/integration/create-object.spec.js +0 -16
  119. package/resources/bacstack/test/integration/delete-object.spec.js +0 -14
  120. package/resources/bacstack/test/integration/device-communication-control.spec.js +0 -14
  121. package/resources/bacstack/test/integration/get-alarm-summary.spec.js +0 -14
  122. package/resources/bacstack/test/integration/get-enrollment-summary.spec.js +0 -15
  123. package/resources/bacstack/test/integration/get-event-information.spec.js +0 -14
  124. package/resources/bacstack/test/integration/read-file.spec.js +0 -14
  125. package/resources/bacstack/test/integration/read-property-multiple.spec.js +0 -110
  126. package/resources/bacstack/test/integration/read-property.spec.js +0 -14
  127. package/resources/bacstack/test/integration/read-range.spec.js +0 -14
  128. package/resources/bacstack/test/integration/reinitialize-sevice.spec.js +0 -14
  129. package/resources/bacstack/test/integration/remove-list-element.spec.js +0 -16
  130. package/resources/bacstack/test/integration/subscribe-cov.spec.js +0 -14
  131. package/resources/bacstack/test/integration/subscribe-property.spec.js +0 -14
  132. package/resources/bacstack/test/integration/time-sync-utc.spec.js +0 -10
  133. package/resources/bacstack/test/integration/time-sync.spec.js +0 -10
  134. package/resources/bacstack/test/integration/unconfirmed-event-notification.spec.js +0 -28
  135. package/resources/bacstack/test/integration/unconfirmed-private-transfer.spec.js +0 -11
  136. package/resources/bacstack/test/integration/utils.js +0 -30
  137. package/resources/bacstack/test/integration/who-is.spec.js +0 -17
  138. package/resources/bacstack/test/integration/write-file.spec.js +0 -14
  139. package/resources/bacstack/test/integration/write-property-multiple.spec.js +0 -19
  140. package/resources/bacstack/test/integration/write-property.spec.js +0 -14
  141. package/resources/bacstack/test/unit/apdu.spec.js +0 -162
  142. package/resources/bacstack/test/unit/asn1.spec.js +0 -39
  143. package/resources/bacstack/test/unit/bacnet-apdu.spec.js +0 -161
  144. package/resources/bacstack/test/unit/bacnet-asn1.spec.js +0 -32
  145. package/resources/bacstack/test/unit/bacnet-bvlc.spec.js +0 -57
  146. package/resources/bacstack/test/unit/bacnet-npdu.spec.js +0 -118
  147. package/resources/bacstack/test/unit/bacnet-services.spec.js +0 -2052
  148. package/resources/bacstack/test/unit/bvlc.spec.js +0 -58
  149. package/resources/bacstack/test/unit/npdu.spec.js +0 -119
  150. package/resources/bacstack/test/unit/service-add-list-element.spec.js +0 -24
  151. package/resources/bacstack/test/unit/service-alarm-acknowledge.spec.js +0 -71
  152. package/resources/bacstack/test/unit/service-alarm-summary.spec.js +0 -22
  153. package/resources/bacstack/test/unit/service-atomic-read-file.spec.js +0 -54
  154. package/resources/bacstack/test/unit/service-atomic-write-file.spec.js +0 -56
  155. package/resources/bacstack/test/unit/service-cov-notify.spec.js +0 -98
  156. package/resources/bacstack/test/unit/service-create-object.spec.js +0 -90
  157. package/resources/bacstack/test/unit/service-delete-object.spec.js +0 -17
  158. package/resources/bacstack/test/unit/service-device-communication-control.spec.js +0 -29
  159. package/resources/bacstack/test/unit/service-error.spec.js +0 -17
  160. package/resources/bacstack/test/unit/service-event-information.spec.js +0 -48
  161. package/resources/bacstack/test/unit/service-event-notify-data.spec.js +0 -310
  162. package/resources/bacstack/test/unit/service-get-enrollment-summary.spec.js +0 -45
  163. package/resources/bacstack/test/unit/service-get-event-information.spec.js +0 -62
  164. package/resources/bacstack/test/unit/service-i-am.spec.js +0 -19
  165. package/resources/bacstack/test/unit/service-i-have-broadcast.spec.js +0 -18
  166. package/resources/bacstack/test/unit/service-life-safety-operation.spec.js +0 -19
  167. package/resources/bacstack/test/unit/service-private-transfer.spec.js +0 -18
  168. package/resources/bacstack/test/unit/service-read-property-multiple.spec.js +0 -131
  169. package/resources/bacstack/test/unit/service-read-property.spec.js +0 -541
  170. package/resources/bacstack/test/unit/service-read-range.spec.js +0 -97
  171. package/resources/bacstack/test/unit/service-reinitialize-device.spec.js +0 -27
  172. package/resources/bacstack/test/unit/service-subscribe-cov.spec.js +0 -32
  173. package/resources/bacstack/test/unit/service-subscribe-property.spec.js +0 -50
  174. package/resources/bacstack/test/unit/service-time-sync.spec.js +0 -18
  175. package/resources/bacstack/test/unit/service-who-has.spec.js +0 -33
  176. package/resources/bacstack/test/unit/service-who-is.spec.js +0 -17
  177. package/resources/bacstack/test/unit/service-write-property-multiple.spec.js +0 -143
  178. package/resources/bacstack/test/unit/service-write-property.spec.js +0 -198
  179. package/resources/bacstack/test/unit/utils.js +0 -6
@@ -0,0 +1,2463 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Turn an enum into a string suitable for debugging.
5
+ * If value is not found in the enum the value itself is returned as string
6
+ *
7
+ * @param {object} group
8
+ * Enum group, e.g. bacnet.enum.ConfirmedServiceChoice.
9
+ *
10
+ * @param {number} value
11
+ * Enum value, e.g. 1. Note that this *must* be an integer value, so you may
12
+ * need to use parseInt(). Non-integer values will result in an exception.
13
+ *
14
+ * @param {boolean} [addNumberValue]
15
+ * Boolean if the numeric number should be appended or not, default is true
16
+ *
17
+ * @param {string} [undefinedFallbackValue]
18
+ * String to return if the given value is not found in the Enum object
19
+ *
20
+ * @example
21
+ * const s = bacnet.enum.getEnumName(
22
+ * bacnet.enum.PropertyIdentifier,
23
+ * bacnet.enum.PropertyIdentifier.PRESENT_VALUE
24
+ * );
25
+ * console.log(s); // "PRESENT_VALUE(85)"
26
+ */
27
+
28
+ const usc = require('underscore');
29
+ const debug = require('debug')('bacnet:enum:debug');
30
+ const trace = require('debug')('bacnet:enum:trace');
31
+
32
+ module.exports.getEnumName = function(group, value, addNumberValue = true, undefinedFallbackValue = undefined) {
33
+ if (!Number.isInteger(value)) {
34
+ throw new Error('getEnumName() can only be passed an integer value, was given "' + value + '"');
35
+ }
36
+ let foundEntry = null;
37
+ try {
38
+ const invertedGroup = usc.invert(group);
39
+ foundEntry = invertedGroup[value];
40
+ if (foundEntry === undefined && undefinedFallbackValue) {
41
+ foundEntry = undefinedFallbackValue;
42
+ }
43
+ if (foundEntry === undefined) {
44
+ foundEntry = value.toString();
45
+ } else if (addNumberValue) {
46
+ foundEntry += '(' + value + ')';
47
+ }
48
+ } catch (e) {
49
+ trace(e.message);
50
+ foundEntry = null;
51
+ }
52
+ return foundEntry;
53
+ };
54
+
55
+ module.exports.PDU_TYPE_MASK = 0xF0;
56
+ module.exports.ASN1_MAX_OBJECT = 0x3FF;
57
+ module.exports.ASN1_INSTANCE_BITS = 22;
58
+ module.exports.ASN1_MAX_INSTANCE = 0x3FFFFF;
59
+ module.exports.ASN1_MAX_BITSTRING_BYTES = 15;
60
+ module.exports.ASN1_ARRAY_ALL = 0xFFFFFFFF;
61
+ module.exports.ASN1_NO_PRIORITY = 0;
62
+ module.exports.ASN1_MIN_PRIORITY = 1;
63
+ module.exports.ASN1_MAX_PRIORITY = 16;
64
+ module.exports.ASN1_MAX_APPLICATION_TAG = 16;
65
+ module.exports.ASN1_MAX_OBJECT_TYPE = 1024;
66
+ module.exports.ASN1_MAX_PROPERTY_ID = 4194303;
67
+ module.exports.BVLL_TYPE_BACNET_IP = 0x81;
68
+ module.exports.BVLC_HEADER_LENGTH = 4;
69
+
70
+ // ASHRE 135-2016 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS - Enumerators
71
+ module.exports.ConfirmedServiceChoice = {
72
+ ACKNOWLEDGE_ALARM: 0,
73
+ CONFIRMED_COV_NOTIFICATION: 1,
74
+ CONFIRMED_EVENT_NOTIFICATION: 2,
75
+ GET_ALARM_SUMMARY: 3,
76
+ GET_ENROLLMENT_SUMMARY: 4,
77
+ SUBSCRIBE_COV: 5,
78
+ ATOMIC_READ_FILE: 6,
79
+ ATOMIC_WRITE_FILE: 7,
80
+ ADD_LIST_ELEMENT: 8,
81
+ REMOVE_LIST_ELEMENT: 9,
82
+ CREATE_OBJECT: 10,
83
+ DELETE_OBJECT: 11,
84
+ READ_PROPERTY: 12,
85
+ READ_PROPERTY_MULTIPLE: 14,
86
+ WRITE_PROPERTY: 15,
87
+ WRITE_PROPERTY_MULTIPLE: 16,
88
+ DEVICE_COMMUNICATION_CONTROL: 17,
89
+ CONFIRMED_PRIVATE_TRANSFER: 18,
90
+ CONFIRMED_TEXT_MESSAGE: 19,
91
+ REINITIALIZE_DEVICE: 20,
92
+ VT_OPEN: 21,
93
+ VT_CLOSE: 22,
94
+ VT_DATA: 23,
95
+ READ_RANGE: 26,
96
+ LIFE_SAFETY_OPERATION: 27,
97
+ SUBSCRIBE_COV_PROPERTY: 28,
98
+ GET_EVENT_INFORMATION: 29,
99
+ SUBSCRIBE_COV_PROPERTY_MULTIPLE: 30,
100
+ CONFIRMED_COV_NOTIFICATION_MULTIPLE: 31
101
+ };
102
+
103
+ module.exports.ConfirmedServiceChoiceName = usc.invert(module.exports.ConfirmedServiceChoice);
104
+
105
+ module.exports.UnconfirmedServiceChoice = {
106
+ I_AM: 0,
107
+ I_HAVE: 1,
108
+ UNCONFIRMED_COV_NOTIFICATION: 2,
109
+ UNCONFIRMED_EVENT_NOTIFICATION: 3,
110
+ UNCONFIRMED_PRIVATE_TRANSFER: 4,
111
+ UNCONFIRMED_TEXT_MESSAGE: 5,
112
+ TIME_SYNCHRONIZATION: 6,
113
+ WHO_HAS: 7,
114
+ WHO_IS: 8,
115
+ UTC_TIME_SYNCHRONIZATION: 9,
116
+ WRITE_GROUP: 10,
117
+ UNCONFIRMED_COV_NOTIFICATION_MULTIPLE: 11
118
+ };
119
+
120
+ module.exports.UnconfirmedServiceChoiceName = usc.invert(module.exports.UnconfirmedServiceChoice);
121
+
122
+ module.exports.AbortReason = {
123
+ OTHER: 0,
124
+ BUFFER_OVERFLOW: 1,
125
+ INVALID_APDU_IN_THIS_STATE: 2,
126
+ PREEMPTED_BY_HIGHER_PRIORITY_TASK: 3,
127
+ SEGMENTATION_NOT_SUPPORTED: 4,
128
+ SECURITY_ERROR: 5,
129
+ INSUFFICIENT_SECURITY: 6,
130
+ WINDOW_SIZE_OUT_OF_RANGE: 7,
131
+ APPLICATION_EXCEEDED_REPLY_TIME: 8,
132
+ OUT_OF_RESOURCES: 9,
133
+ TSM_TIMEOUT: 10,
134
+ APDU_TOO_LONG: 11
135
+ };
136
+
137
+ module.exports.AbortReasonName = usc.invert(module.exports.AbortReason);
138
+
139
+ module.exports.RejectReason = {
140
+ OTHER: 0,
141
+ BUFFER_OVERFLOW: 1,
142
+ INCONSISTENT_PARAMETERS: 2,
143
+ INVALID_PARAMETER_DATA_TYPE: 3,
144
+ INVALID_TAG: 4,
145
+ MISSING_REQUIRED_PARAMETER: 5,
146
+ PARAMETER_OUT_OF_RANGE: 6,
147
+ TOO_MANY_ARGUMENTS: 7,
148
+ UNDEFINED_ENUMERATION: 8,
149
+ UNRECOGNIZED_SERVICE: 9
150
+ };
151
+
152
+ module.exports.RejectReasonName = usc.invert(module.exports.RejectReason);
153
+
154
+ module.exports.ErrorClass = {
155
+ DEVICE: 0,
156
+ OBJECT: 1,
157
+ PROPERTY: 2,
158
+ RESOURCES: 3,
159
+ SECURITY: 4,
160
+ SERVICES: 5,
161
+ VT: 6,
162
+ COMMUNICATION: 7
163
+ };
164
+
165
+ module.exports.ErrorClassName = usc.invert(module.exports.ErrorClass);
166
+
167
+ module.exports.ErrorCode = {
168
+ ABORT_APDU_TOO_LONG: 123,
169
+ ABORT_APPLICATION_EXCEEDED_REPLY_TIME: 124,
170
+ ABORT_BUFFER_OVERFLOW: 51,
171
+ ABORT_INSUFFICIENT_SECURITY: 135,
172
+ ABORT_INVALID_APDU_IN_THIS_STATE: 52,
173
+ ABORT_OTHER: 56,
174
+ ABORT_OUT_OF_RESOURCES: 125,
175
+ ABORT_PREEMPTED_BY_HIGHER_PRIORITY_TASK: 53,
176
+ ABORT_PROPRIETARY: 55,
177
+ ABORT_SECURITY_ERROR: 136,
178
+ ABORT_SEGMENTATION_NOT_SUPPORTED: 54,
179
+ ABORT_TSM_TIMEOUT: 126,
180
+ ABORT_WINDOW_SIZE_OUT_OF_RANGE: 127,
181
+ ACCESS_DENIED: 85,
182
+ ADDRESSING_ERROR: 115,
183
+ BAD_DESTINATION_ADDRESS: 86,
184
+ BAD_DESTINATION_DEVICE_ID: 87,
185
+ BAD_SIGNATURE: 88,
186
+ BAD_SOURCE_ADDRESS: 89,
187
+ BAD_TIMESTAMP: 90,
188
+ BUSY: 82,
189
+ CANNOT_USE_KEY: 91,
190
+ CANNOT_VERIFY_MESSAGE_ID: 92,
191
+ CHARACTER_SET_NOT_SUPPORTED: 41,
192
+ COMMUNICATION_DISABLED: 83,
193
+ CONFIGURATION_IN_PROGRESS: 2,
194
+ CORRECT_KEY_REVISION: 93,
195
+ COV_SUBSCRIPTION_FAILED: 43,
196
+ DATATYPE_NOT_SUPPORTED: 47,
197
+ DELETE_FDT_ENTRY_FAILED: 120,
198
+ DESTINATION_DEVICE_ID_REQUIRED: 94,
199
+ DEVICE_BUSY: 3,
200
+ DISTRIBUTE_BROADCAST_FAILED: 121,
201
+ DUPLICATE_ENTRY: 137,
202
+ DUPLICATE_MESSAGE: 95,
203
+ DUPLICATE_NAME: 48,
204
+ DUPLICATE_OBJECT_ID: 49,
205
+ DYNAMIC_CREATION_NOT_SUPPORTED: 4,
206
+ ENCRYPTION_NOT_CONFIGURED: 96,
207
+ ENCRYPTION_REQUIRED: 97,
208
+ FILE_ACCESS_DENIED: 5,
209
+ FILE_FULL: 128,
210
+ INCONSISTENT_CONFIGURATION: 129,
211
+ INCONSISTENT_OBJECT_TYPE: 130,
212
+ INCONSISTENT_PARAMETERS: 7,
213
+ INCONSISTENT_SELECTION_CRITERION: 8,
214
+ INCORRECT_KEY: 98,
215
+ INTERNAL_ERROR: 131,
216
+ INVALID_ARRAY_INDEX: 42,
217
+ INVALID_CONFIGURATION_DATA: 46,
218
+ INVALID_DATA_TYPE: 9,
219
+ INVALID_EVENT_STATE: 73,
220
+ INVALID_FILE_ACCESS_METHOD: 10,
221
+ INVALID_FILE_START_POSITION: 11,
222
+ INVALID_KEY_DATA: 99,
223
+ INVALID_PARAMETER_DATA_TYPE: 13,
224
+ INVALID_TAG: 57,
225
+ INVALID_TIMESTAMP: 14,
226
+ INVALID_VALUE_IN_THIS_STATE: 138,
227
+ KEY_UPDATE_IN_PROGRESS: 100,
228
+ LIST_ELEMENT_NOT_FOUND: 81,
229
+ LOG_BUFFER_FULL: 75,
230
+ LOGGED_VALUE_PURGED: 76,
231
+ MALFORMED_MESSAGE: 101,
232
+ MESSAGE_TOO_LONG: 113,
233
+ MISSING_REQUIRED_PARAMETER: 16,
234
+ NETWORK_DOWN: 58,
235
+ NO_ALARM_CONFIGURED: 74,
236
+ NO_OBJECTS_OF_SPECIFIED_TYPE: 17,
237
+ NO_PROPERTY_SPECIFIED: 77,
238
+ NO_SPACE_FOR_OBJECT: 18,
239
+ NO_SPACE_TO_ADD_LIST_ELEMENT: 19,
240
+ NO_SPACE_TO_WRITE_PROPERTY: 20,
241
+ NO_VT_SESSIONS_AVAILABLE: 21,
242
+ NOT_CONFIGURED: 132,
243
+ NOT_CONFIGURED_FOR_TRIGGERED_LOGGING: 78,
244
+ NOT_COV_PROPERTY: 44,
245
+ NOT_KEY_SERVER: 102,
246
+ NOT_ROUTER_TO_DNET: 110,
247
+ OBJECT_DELETION_NOT_PERMITTED: 23,
248
+ OBJECT_IDENTIFIER_ALREADY_EXISTS: 24,
249
+ OPERATIONAL_PROBLEM: 25,
250
+ OPTIONAL_FUNCTIONALITY_NOT_SUPPORTED: 45,
251
+ OTHER: 0,
252
+ OUT_OF_MEMORY: 133,
253
+ PARAMETER_OUT_OF_RANGE: 80,
254
+ PASSWORD_FAILURE: 26,
255
+ PROPERTY_IS_NOT_A_LIST: 22,
256
+ PROPERTY_IS_NOT_AN_ARRAY: 50,
257
+ READ_ACCESS_DENIED: 27,
258
+ READ_BDT_FAILED: 117,
259
+ READ_FDT_FAILED: 119,
260
+ REGISTER_FOREIGN_DEVICE_FAILED: 118,
261
+ REJECT_BUFFER_OVERFLOW: 59,
262
+ REJECT_INCONSISTENT_PARAMETERS: 60,
263
+ REJECT_INVALID_PARAMETER_DATA_TYPE: 61,
264
+ REJECT_INVALID_TAG: 62,
265
+ REJECT_MISSING_REQUIRED_PARAMETER: 63,
266
+ REJECT_OTHER: 69,
267
+ REJECT_PARAMETER_OUT_OF_RANGE: 64,
268
+ REJECT_PROPRIETARY: 68,
269
+ REJECT_TOO_MANY_ARGUMENTS: 65,
270
+ REJECT_UNDEFINED_ENUMERATION: 66,
271
+ REJECT_UNRECOGNIZED_SERVICE: 67,
272
+ ROUTER_BUSY: 111,
273
+ SECURITY_ERROR: 114,
274
+ SECURITY_NOT_CONFIGURED: 103,
275
+ SERVICE_REQUEST_DENIED: 29,
276
+ SOURCE_SECURITY_REQUIRED: 104,
277
+ SUCCESS: 84,
278
+ TIMEOUT: 30,
279
+ TOO_MANY_KEYS: 105,
280
+ UNKNOWN_AUTHENTICATION_TYPE: 106,
281
+ UNKNOWN_DEVICE: 70,
282
+ UNKNOWN_FILE_SIZE: 122,
283
+ UNKNOWN_KEY: 107,
284
+ UNKNOWN_KEY_REVISION: 108,
285
+ UNKNOWN_NETWORK_MESSAGE: 112,
286
+ UNKNOWN_OBJECT: 31,
287
+ UNKNOWN_PROPERTY: 32,
288
+ UNKNOWN_ROUTE: 71,
289
+ UNKNOWN_SOURCE_MESSAGE: 109,
290
+ UNKNOWN_SUBSCRIPTION: 79,
291
+ UNKNOWN_VT_CLASS: 34,
292
+ UNKNOWN_VT_SESSION: 35,
293
+ UNSUPPORTED_OBJECT_TYPE: 36,
294
+ VALUE_NOT_INITIALIZED: 72,
295
+ VALUE_OUT_OF_RANGE: 37,
296
+ VALUE_TOO_LONG: 134,
297
+ VT_SESSION_ALREADY_CLOSED: 38,
298
+ VT_SESSION_TERMINATION_FAILURE: 39,
299
+ WRITE_ACCESS_DENIED: 40,
300
+ WRITE_BDT_FAILED: 116
301
+ };
302
+
303
+ module.exports.ErrorCodeName = usc.invert(module.exports.ErrorCode);
304
+
305
+ module.exports.AccessAuthenticationFactorDisable = {
306
+ NONE: 0,
307
+ DISABLED: 1,
308
+ DISABLED_LOST: 2,
309
+ DISABLED_STOLEN: 3,
310
+ DISABLED_DAMAGED: 4,
311
+ DISABLED_DESTROYED: 5
312
+ };
313
+
314
+ module.exports.AccessAuthenticationFactorDisableName = usc.invert(module.exports.AccessAuthenticationFactorDisable);
315
+
316
+ module.exports.AccessCredentialDisable = {
317
+ NONE: 0,
318
+ DISABLE: 1,
319
+ DISABLE_MANUAL: 2,
320
+ DISABLE_LOCKOUT: 3
321
+ };
322
+
323
+ module.exports.AccessCredentialDisableName = usc.invert(module.exports.AccessCredentialDisable);
324
+
325
+ module.exports.AccessCredentialDisableReason = {
326
+ DISABLED: 0,
327
+ DISABLED_NEEDS_PROVISIONING: 1,
328
+ DISABLED_UNASSIGNED: 2,
329
+ DISABLED_NOT_YET_ACTIVE: 3,
330
+ DISABLED_EXPIRED: 4,
331
+ DISABLED_LOCKOUT: 5,
332
+ DISABLED_MAX_DAYS: 6,
333
+ DISABLED_MAX_USES: 7,
334
+ DISABLED_INACTIVITY: 8,
335
+ DISABLED_MANUAL: 9
336
+ };
337
+
338
+ module.exports.AccessCredentialDisableReasonName = usc.invert(module.exports.AccessCredentialDisableReason);
339
+
340
+ module.exports.AccessEvent = {
341
+ NONE: 0,
342
+ GRANTED: 1,
343
+ MUSTER: 2,
344
+ PASSBACK_DETECTED: 3,
345
+ DURESS: 4,
346
+ TRACE: 5,
347
+ LOCKOUT_MAX_ATTEMPTS: 6,
348
+ LOCKOUT_OTHER: 7,
349
+ LOCKOUT_RELINQUISHED: 8,
350
+ LOCKED_BY_HIGHER_PRIORITY: 9,
351
+ OUT_OF_SERVICE: 10,
352
+ OUT_OF_SERVICE_RELINQUISHED: 11,
353
+ ACCOMPANIMENT_BY: 12,
354
+ AUTHENTICATION_FACTOR_READ: 13,
355
+ AUTHORIZATION_DELAYED: 14,
356
+ VERIFICATION_REQUIRED: 15,
357
+ NO_ENTRY_AFTER_GRANTED: 16,
358
+ DENIED_DENY_ALL: 128,
359
+ DENIED_UNKNOWN_CREDENTIAL: 129,
360
+ DENIED_AUTHENTICATION_UNAVAILABLE: 130,
361
+ DENIED_AUTHENTICATION_FACTOR_TIMEOUT: 131,
362
+ DENIED_INCORRECT_AUTHENTICATION_FACTOR: 132,
363
+ DENIED_ZONE_NO_ACCESS_RIGHTS: 133,
364
+ DENIED_POINT_NO_ACCESS_RIGHTS: 134,
365
+ DENIED_NO_ACCESS_RIGHTS: 135,
366
+ DENIED_OUT_OF_TIME_RANGE: 136,
367
+ DENIED_THREAT_LEVEL: 137,
368
+ DENIED_PASSBACK: 138,
369
+ DENIED_UNEXPECTED_LOCATION_USAGE: 139,
370
+ DENIED_MAX_ATTEMPTS: 140,
371
+ DENIED_LOWER_OCCUPANCY_LIMIT: 141,
372
+ DENIED_UPPER_OCCUPANCY_LIMIT: 142,
373
+ DENIED_AUTHENTICATION_FACTOR_LOST: 143,
374
+ DENIED_AUTHENTICATION_FACTOR_STOLEN: 144,
375
+ DENIED_AUTHENTICATION_FACTOR_DAMAGED: 145,
376
+ DENIED_AUTHENTICATION_FACTOR_DESTROYED: 146,
377
+ DENIED_AUTHENTICATION_FACTOR_DISABLED: 147,
378
+ DENIED_AUTHENTICATION_FACTOR_ERROR: 148,
379
+ DENIED_CREDENTIAL_UNASSIGNED: 149,
380
+ DENIED_CREDENTIAL_NOT_PROVISIONED: 150,
381
+ DENIED_CREDENTIAL_NOT_YET_ACTIVE: 151,
382
+ DENIED_CREDENTIAL_EXPIRED: 152,
383
+ DENIED_CREDENTIAL_MANUAL_DISABLE: 153,
384
+ DENIED_CREDENTIAL_LOCKOUT: 154,
385
+ DENIED_CREDENTIAL_MAX_DAYS: 155,
386
+ DENIED_CREDENTIAL_MAX_USES: 156,
387
+ DENIED_CREDENTIAL_INACTIVITY: 157,
388
+ DENIED_CREDENTIAL_DISABLED: 158,
389
+ DENIED_NO_ACCOMPANIMENT: 159,
390
+ DENIED_INCORRECT_ACCOMPANIMENT: 160,
391
+ DENIED_LOCKOUT: 161,
392
+ DENIED_VERIFICATION_FAILED: 162,
393
+ DENIED_VERIFICATION_TIMEOUT: 163,
394
+ DENIED_OTHER: 164
395
+ };
396
+
397
+ module.exports.AccessEventName = usc.invert(module.exports.AccessEvent);
398
+
399
+ module.exports.AccessPassbackMode = {
400
+ PASSBACK_OFF: 0,
401
+ HARD_PASSBACK: 1,
402
+ SOFT_PASSBACK: 2
403
+ };
404
+
405
+ module.exports.AccessPassbackModeName = usc.invert(module.exports.AccessPassbackMode);
406
+
407
+ module.exports.AccessUserType = {
408
+ ASSET: 0,
409
+ GROUP: 1,
410
+ PERSON: 2
411
+ };
412
+
413
+ module.exports.AccessUserTypeName = usc.invert(module.exports.AccessUserType);
414
+
415
+ module.exports.AccessZoneOccupancyState = {
416
+ NORMAL: 0,
417
+ BELOW_LOWER_LIMIT: 1,
418
+ AT_LOWER_LIMIT: 2,
419
+ AT_UPPER_LIMIT: 3,
420
+ ABOVE_UPPER_LIMIT: 4,
421
+ DISABLED: 5,
422
+ NOT_SUPPORTED: 6
423
+ };
424
+
425
+ module.exports.AccessZoneOccupancyStateName = usc.invert(module.exports.AccessZoneOccupancyState);
426
+
427
+ module.exports.Action = {
428
+ DIRECT: 0,
429
+ REVERSE: 1
430
+ };
431
+
432
+ module.exports.ActionName = usc.invert(module.exports.Action);
433
+
434
+ module.exports.AuthenticationFactorType = {
435
+ UNDEFINED: 0,
436
+ ERROR: 1,
437
+ CUSTOM: 2,
438
+ SIMPLE_NUMBER16: 3,
439
+ SIMPLE_NUMBER32: 4,
440
+ SIMPLE_NUMBER56: 5,
441
+ SIMPLE_ALPHA_NUMERIC: 6,
442
+ ABA_TRACK2: 7,
443
+ WIEGAND26: 8,
444
+ WIEGAND37: 9,
445
+ WIEGAND37_FACILITY: 10,
446
+ FACILITY16_CARD32: 11,
447
+ FACILITY32_CARD32: 12,
448
+ FASC_N: 13,
449
+ FASC_N_BCD: 14,
450
+ FASC_N_LARGE: 15,
451
+ FASC_N_LARGE_BCD: 16,
452
+ GSA75: 17,
453
+ CHUID: 18,
454
+ CHUID_FULL: 19,
455
+ GUID: 20,
456
+ CBEFF_A: 21,
457
+ CBEFF_B: 22,
458
+ CBEFF_C: 23,
459
+ USER_PASSWORD: 24
460
+ };
461
+
462
+ module.exports.AuthenticationFactorTypeName = usc.invert(module.exports.AuthenticationFactorType);
463
+
464
+ module.exports.AuthenticationStatus = {
465
+ NOT_READY: 0,
466
+ READY: 1, DISABLED: 2,
467
+ WAITING_FOR_AUTHENTICATION_FACTOR: 3,
468
+ WAITING_FOR_ACCOMPANIMENT: 4,
469
+ WAITING_FOR_VERIFICATION: 5,
470
+ IN_PROGRESS: 6
471
+ };
472
+
473
+ module.exports.AuthenticationStatusName = usc.invert(module.exports.AuthenticationStatus);
474
+
475
+ module.exports.AuthorizationExemption = {
476
+ PASSBACK: 0,
477
+ OCCUPANCY_CHECK: 1,
478
+ ACCESS_RIGHTS: 2,
479
+ LOCKOUT: 3,
480
+ DENY: 4,
481
+ VERIFICATION: 5,
482
+ AUTHORIZATION_DELAY: 6
483
+ };
484
+
485
+ module.exports.AuthorizationExemptionName = usc.invert(module.exports.AuthorizationExemption);
486
+
487
+ module.exports.AuthorizationMode = {
488
+ AUTHORIZE: 0,
489
+ GRANT_ACTIVE: 1,
490
+ DENY_ALL: 2,
491
+ VERIFICATION_REQUIRED: 3,
492
+ AUTHORIZATION_DELAYED: 4,
493
+ NONE: 5
494
+ };
495
+
496
+ module.exports.AuthorizationModeName = usc.invert(module.exports.AuthorizationMode);
497
+
498
+ module.exports.BackupState = {
499
+ IDLE: 0,
500
+ PREPARING_FOR_BACKUP: 1,
501
+ PREPARING_FOR_RESTORE: 2,
502
+ PERFORMING_A_BACKUP: 3,
503
+ PERFORMING_A_RESTORE: 4,
504
+ BACKUP_FAILURE: 5,
505
+ RESTORE_FAILURE: 6
506
+ };
507
+
508
+ module.exports.BackupStateName = usc.invert(module.exports.BackupState);
509
+
510
+ module.exports.BinaryLightingPV = {
511
+ OFF: 0,
512
+ ON: 1,
513
+ WARN: 2,
514
+ WARN_OFF: 3,
515
+ WARN_RELINQUISH: 4,
516
+ STOP: 5
517
+ };
518
+
519
+ module.exports.BinaryLightingPVName = usc.invert(module.exports.BinaryLightingPV);
520
+
521
+ module.exports.BinaryPV = {
522
+ INACTIVE: 0,
523
+ ACTIVE: 1
524
+ };
525
+
526
+ module.exports.BinaryPVName = usc.invert(module.exports.BinaryPV);
527
+
528
+ module.exports.DeviceStatus = {
529
+ OPERATIONAL: 0,
530
+ OPERATIONAL_READ_ONLY: 1,
531
+ DOWNLOAD_REQUIRED: 2,
532
+ DOWNLOAD_IN_PROGRESS: 3,
533
+ NON_OPERATIONAL: 4,
534
+ BACKUP_IN_PROGRESS: 5
535
+ };
536
+
537
+ module.exports.DeviceStatusName = usc.invert(module.exports.DeviceStatus);
538
+
539
+ module.exports.DoorAlarmState = {
540
+ NORMAL: 0,
541
+ ALARM: 1,
542
+ DOOR_OPEN_TOO_LONG: 2,
543
+ FORCED_OPEN: 3,
544
+ TAMPER: 4,
545
+ DOOR_FAULT: 5,
546
+ LOCK_DOWN: 6,
547
+ FREE_ACCESS: 7,
548
+ EGRESS_OPEN: 8
549
+ };
550
+
551
+ module.exports.DoorAlarmStateName = usc.invert(module.exports.DoorAlarmState);
552
+
553
+ module.exports.DoorSecuredStatus = {
554
+ SECURED: 0,
555
+ UNSECURED: 1,
556
+ UNKNOWN: 2
557
+ };
558
+
559
+ module.exports.DoorSecuredStatusName = usc.invert(module.exports.DoorSecuredStatus);
560
+
561
+ module.exports.DoorStatus = {
562
+ CLOSED: 0,
563
+ OPENED: 1,
564
+ UNKNOWN: 2,
565
+ DOOR_FAULT: 3,
566
+ UNUSED: 4,
567
+ NONE: 5,
568
+ CLOSING: 6,
569
+ OPENING: 7,
570
+ SAFETY_LOCKED: 8,
571
+ LIMITED_OPENED: 9
572
+ };
573
+
574
+ module.exports.DoorStatusName = usc.invert(module.exports.DoorStatus);
575
+
576
+ module.exports.DoorValue = {
577
+ LOCK: 0,
578
+ UNLOCK: 1,
579
+ PULSE_UNLOCK: 2,
580
+ EXTENDED_PULSE_UNLOCK: 3
581
+ };
582
+
583
+ module.exports.DoorValueName = usc.invert(module.exports.DoorValue);
584
+
585
+ module.exports.EngineeringUnits = {
586
+ METERS_PER_SECOND_PER_SECOND: 166,
587
+ SQUARE_METERS: 0,
588
+ SQUARE_CENTIMETERS: 116,
589
+ SQUARE_FEET: 1,
590
+ SQUARE_INCHES: 115,
591
+ CURRENCY1: 105,
592
+ CURRENCY2: 106,
593
+ CURRENCY3: 107,
594
+ CURRENCY4: 108,
595
+ CURRENCY5: 109,
596
+ CURRENCY6: 110,
597
+ CURRENCY7: 111,
598
+ CURRENCY8: 112,
599
+ CURRENCY9: 113,
600
+ CURRENCY10: 114,
601
+ MILLIAMPERES: 2,
602
+ AMPERES: 3,
603
+ AMPERES_PER_METER: 167,
604
+ AMPERES_PER_SQUARE_METER: 168,
605
+ AMPERE_SQUARE_METERS: 169,
606
+ DECIBELS: 199,
607
+ DECIBELS_MILLIVOLT: 200,
608
+ DECIBELS_VOLT: 201,
609
+ FARADS: 170,
610
+ HENRYS: 171,
611
+ OHMS: 4,
612
+ OHM_METER_SQUARED_PER_METER: 237,
613
+ OHM_METERS: 172,
614
+ MILLIOHMS: 145,
615
+ KILOHMS: 122,
616
+ MEGOHMS: 123,
617
+ MICROSIEMENS: 190,
618
+ MILLISIEMENS: 202,
619
+ SIEMENS: 173,
620
+ SIEMENS_PER_METER: 174,
621
+ TESLAS: 175,
622
+ VOLTS: 5,
623
+ MILLIVOLTS: 124,
624
+ KILOVOLTS: 6,
625
+ MEGAVOLTS: 7,
626
+ VOLT_AMPERES: 8,
627
+ KILOVOLT_AMPERES: 9,
628
+ MEGAVOLT_AMPERES: 10,
629
+ VOLT_AMPERES_REACTIVE: 11,
630
+ KILOVOLT_AMPERES_REACTIVE: 12,
631
+ MEGAVOLT_AMPERES_REACTIVE: 13,
632
+ VOLTS_PER_DEGREE_KELVIN: 176,
633
+ VOLTS_PER_METER: 177,
634
+ DEGREES_PHASE: 14,
635
+ POWER_FACTOR: 15,
636
+ WEBERS: 178,
637
+ AMPERE_SECONDS: 238,
638
+ VOLT_AMPERE_HOURS: 239,
639
+ KILOVOLT_AMPERE_HOURS: 240,
640
+ MEGAVOLT_AMPERE_HOURS: 241,
641
+ VOLT_AMPERE_HOURS_REACTIVE: 242,
642
+ KILOVOLT_AMPERE_HOURS_REACTIVE: 243,
643
+ MEGAVOLT_AMPERE_HOURS_REACTIVE: 244,
644
+ VOLT_SQUARE_HOURS: 245,
645
+ AMPERE_SQUARE_HOURS: 246,
646
+ JOULES: 16,
647
+ KILOJOULES: 17,
648
+ KILOJOULES_PER_KILOGRAM: 125,
649
+ MEGAJOULES: 126,
650
+ WATT_HOURS: 18,
651
+ KILOWATT_HOURS: 19,
652
+ MEGAWATT_HOURS: 146,
653
+ WATT_HOURS_REACTIVE: 203,
654
+ KILOWATT_HOURS_REACTIVE: 204,
655
+ MEGAWATT_HOURS_REACTIVE: 205,
656
+ BTUS: 20,
657
+ KILO_BTUS: 147,
658
+ MEGA_BTUS: 148,
659
+ THERMS: 21,
660
+ TON_HOURS: 22,
661
+ JOULES_PER_KILOGRAM_DRY_AIR: 23,
662
+ KILOJOULES_PER_KILOGRAM_DRY_AIR: 149,
663
+ MEGAJOULES_PER_KILOGRAM_DRY_AIR: 150,
664
+ BTUS_PER_POUND_DRY_AIR: 24,
665
+ BTUS_PER_POUND: 117,
666
+ JOULES_PER_DEGREE_KELVIN: 127,
667
+ KILOJOULES_PER_DEGREE_KELVIN: 151,
668
+ MEGAJOULES_PER_DEGREE_KELVIN: 152,
669
+ JOULES_PER_KILOGRAM_DEGREE_KELVIN: 128,
670
+ NEWTON: 153,
671
+ CYCLES_PER_HOUR: 25,
672
+ CYCLES_PER_MINUTE: 26,
673
+ HERTZ: 27,
674
+ KILOHERTZ: 129,
675
+ MEGAHERTZ: 130,
676
+ PER_HOUR: 131,
677
+ GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR: 28,
678
+ PERCENT_RELATIVE_HUMIDITY: 29,
679
+ MICROMETERS: 194,
680
+ MILLIMETERS: 30,
681
+ CENTIMETERS: 118,
682
+ KILOMETERS: 193,
683
+ METERS: 31,
684
+ INCHES: 32,
685
+ FEET: 33,
686
+ CANDELAS: 179,
687
+ CANDELAS_PER_SQUARE_METER: 180,
688
+ WATTS_PER_SQUARE_FOOT: 34,
689
+ WATTS_PER_SQUARE_METER: 35,
690
+ LUMENS: 36,
691
+ LUXES: 37,
692
+ FOOT_CANDLES: 38,
693
+ MILLIGRAMS: 196,
694
+ GRAMS: 195,
695
+ KILOGRAMS: 39,
696
+ POUNDS_MASS: 40,
697
+ TONS: 41,
698
+ GRAMS_PER_SECOND: 154,
699
+ GRAMS_PER_MINUTE: 155,
700
+ KILOGRAMS_PER_SECOND: 42,
701
+ KILOGRAMS_PER_MINUTE: 43,
702
+ KILOGRAMS_PER_HOUR: 44,
703
+ POUNDS_MASS_PER_SECOND: 119,
704
+ POUNDS_MASS_PER_MINUTE: 45,
705
+ POUNDS_MASS_PER_HOUR: 46,
706
+ TONS_PER_HOUR: 156,
707
+ MILLIWATTS: 132,
708
+ WATTS: 47,
709
+ KILOWATTS: 48,
710
+ MEGAWATTS: 49,
711
+ BTUS_PER_HOUR: 50,
712
+ KILO_BTUS_PER_HOUR: 157,
713
+ JOULE_PER_HOURS: 247,
714
+ HORSEPOWER: 51,
715
+ TONS_REFRIGERATION: 52,
716
+ PASCALS: 53,
717
+ HECTOPASCALS: 133,
718
+ KILOPASCALS: 54,
719
+ MILLIBARS: 134,
720
+ BARS: 55,
721
+ POUNDS_FORCE_PER_SQUARE_INCH: 56,
722
+ MILLIMETERS_OF_WATER: 206,
723
+ CENTIMETERS_OF_WATER: 57,
724
+ INCHES_OF_WATER: 58,
725
+ MILLIMETERS_OF_MERCURY: 59,
726
+ CENTIMETERS_OF_MERCURY: 60,
727
+ INCHES_OF_MERCURY: 61,
728
+ DEGREES_CELSIUS: 62,
729
+ DEGREES_KELVIN: 63,
730
+ DEGREES_KELVIN_PER_HOUR: 181,
731
+ DEGREES_KELVIN_PER_MINUTE: 182,
732
+ DEGREES_FAHRENHEIT: 64,
733
+ DEGREE_DAYS_CELSIUS: 65,
734
+ DEGREE_DAYS_FAHRENHEIT: 66,
735
+ DELTA_DEGREES_FAHRENHEIT: 120,
736
+ DELTA_DEGREES_KELVIN: 121,
737
+ YEARS: 67,
738
+ MONTHS: 68,
739
+ WEEKS: 69,
740
+ DAYS: 70,
741
+ HOURS: 71,
742
+ MINUTES: 72,
743
+ SECONDS: 73,
744
+ HUNDREDTHS_SECONDS: 158,
745
+ MILLISECONDS: 159,
746
+ NEWTON_METERS: 160,
747
+ MILLIMETERS_PER_SECOND: 161,
748
+ MILLIMETERS_PER_MINUTE: 162,
749
+ METERS_PER_SECOND: 74,
750
+ METERS_PER_MINUTE: 163,
751
+ METERS_PER_HOUR: 164,
752
+ KILOMETERS_PER_HOUR: 75,
753
+ FEET_PER_SECOND: 76,
754
+ FEET_PER_MINUTE: 77,
755
+ MILES_PER_HOUR: 78,
756
+ CUBIC_FEET: 79,
757
+ CUBIC_METERS: 80,
758
+ IMPERIAL_GALLONS: 81,
759
+ MILLILITERS: 197,
760
+ LITERS: 82,
761
+ US_GALLONS: 83,
762
+ CUBIC_FEET_PER_SECOND: 142,
763
+ CUBIC_FEET_PER_MINUTE: 84,
764
+ MILLION_STANDARD_CUBIC_FEET_PER_MINUTE: 254,
765
+ CUBIC_FEET_PER_HOUR: 191,
766
+ CUBIC_FEET_PER_DAY: 248,
767
+ STANDARD_CUBIC_FEET_PER_DAY: 47808,
768
+ MILLION_STANDARD_CUBIC_FEET_PER_DAY: 47809,
769
+ THOUSAND_CUBIC_FEET_PER_DAY: 47810,
770
+ THOUSAND_STANDARD_CUBIC_FEET_PER_DAY: 47811,
771
+ POUNDS_MASS_PER_DAY: 47812,
772
+ CUBIC_METERS_PER_SECOND: 85,
773
+ CUBIC_METERS_PER_MINUTE: 165,
774
+ CUBIC_METERS_PER_HOUR: 135,
775
+ CUBIC_METERS_PER_DAY: 249,
776
+ IMPERIAL_GALLONS_PER_MINUTE: 86,
777
+ MILLILITERS_PER_SECOND: 198,
778
+ LITERS_PER_SECOND: 87,
779
+ LITERS_PER_MINUTE: 88,
780
+ LITERS_PER_HOUR: 136,
781
+ US_GALLONS_PER_MINUTE: 89,
782
+ US_GALLONS_PER_HOUR: 192,
783
+ DEGREES_ANGULAR: 90,
784
+ DEGREES_CELSIUS_PER_HOUR: 91,
785
+ DEGREES_CELSIUS_PER_MINUTE: 92,
786
+ DEGREES_FAHRENHEIT_PER_HOUR: 93,
787
+ DEGREES_FAHRENHEIT_PER_MINUTE: 94,
788
+ JOULE_SECONDS: 183,
789
+ KILOGRAMS_PER_CUBIC_METER: 186,
790
+ KILOWATT_HOURS_PER_SQUARE_METER: 137,
791
+ KILOWATT_HOURS_PER_SQUARE_FOOT: 138,
792
+ WATT_HOURS_PER_CUBIC_METER: 250,
793
+ JOULES_PER_CUBIC_METER: 251,
794
+ MEGAJOULES_PER_SQUARE_METER: 139,
795
+ MEGAJOULES_PER_SQUARE_FOOT: 140,
796
+ MOLE_PERCENT: 252,
797
+ NO_UNITS: 95,
798
+ NEWTON_SECONDS: 187,
799
+ NEWTONS_PER_METER: 188,
800
+ PARTS_PER_MILLION: 96,
801
+ PARTS_PER_BILLION: 97,
802
+ PASCAL_SECONDS: 253,
803
+ PERCENT: 98,
804
+ PERCENT_OBSCURATION_PER_FOOT: 143,
805
+ PERCENT_OBSCURATION_PER_METER: 144,
806
+ PERCENT_PER_SECOND: 99,
807
+ PER_MINUTE: 100,
808
+ PER_SECOND: 101,
809
+ PSI_PER_DEGREE_FAHRENHEIT: 102,
810
+ RADIANS: 103,
811
+ RADIANS_PER_SECOND: 184,
812
+ REVOLUTIONS_PER_MINUTE: 104,
813
+ SQUARE_METERS_PER_NEWTON: 185,
814
+ WATTS_PER_METER_PER_DEGREE_KELVIN: 189,
815
+ WATTS_PER_SQUARE_METER_DEGREE_KELVIN: 141,
816
+ PER_MILLE: 207,
817
+ GRAMS_PER_GRAM: 208,
818
+ KILOGRAMS_PER_KILOGRAM: 209,
819
+ GRAMS_PER_KILOGRAM: 210,
820
+ MILLIGRAMS_PER_GRAM: 211,
821
+ MILLIGRAMS_PER_KILOGRAM: 212,
822
+ GRAMS_PER_MILLILITER: 213,
823
+ GRAMS_PER_LITER: 214,
824
+ MILLIGRAMS_PER_LITER: 215,
825
+ MICROGRAMS_PER_LITER: 216,
826
+ GRAMS_PER_CUBIC_METER: 217,
827
+ MILLIGRAMS_PER_CUBIC_METER: 218,
828
+ MICROGRAMS_PER_CUBIC_METER: 219,
829
+ NANOGRAMS_PER_CUBIC_METER: 220,
830
+ GRAMS_PER_CUBIC_CENTIMETER: 221,
831
+ BECQUERELS: 222,
832
+ KILOBECQUERELS: 223,
833
+ MEGABECQUERELS: 224,
834
+ GRAY: 225,
835
+ MILLIGRAY: 226,
836
+ MICROGRAY: 227,
837
+ SIEVERTS: 228,
838
+ MILLISIEVERTS: 229,
839
+ MICROSIEVERTS: 230,
840
+ MICROSIEVERTS_PER_HOUR: 231,
841
+ MILLIREMS: 47814,
842
+ MILLIREMS_PER_HOUR: 47815,
843
+ DECIBELS_A: 232,
844
+ NEPHELOMETRIC_TURBIDITY_UNIT: 233,
845
+ PH: 234,
846
+ GRAMS_PER_SQUARE_METER: 235,
847
+ MINUTES_PER_DEGREE_KELVIN: 236
848
+ };
849
+
850
+ module.exports.EngineeringUnitsName = usc.invert(module.exports.EngineeringUnits);
851
+
852
+ module.exports.EscalatorFault = {
853
+ CONTROLLER_FAULT: 0,
854
+ DRIVE_AND_MOTOR_FAULT: 1,
855
+ MECHANICAL_COMPONENT_FAULT: 2,
856
+ OVERSPEED_FAULT: 3,
857
+ POWER_SUPPLY_FAULT: 4,
858
+ SAFETY_DEVICE_FAULT: 5,
859
+ CONTROLLER_SUPPLY_FAULT: 6,
860
+ DRIVE_TEMPERATURE_EXCEEDED: 7,
861
+ COMB_PLATE_FAULT: 8
862
+ };
863
+
864
+ module.exports.EscalatorFaultName = usc.invert(module.exports.EscalatorFault);
865
+
866
+ module.exports.EscalatorMode = {
867
+ UNKNOWN: 0,
868
+ STOP: 1,
869
+ UP: 2,
870
+ DOWN: 3,
871
+ INSPECTION: 4,
872
+ OUT_OF_SERVICE: 5
873
+ };
874
+
875
+ module.exports.EscalatorModeName = usc.invert(module.exports.EscalatorMode);
876
+
877
+ module.exports.EscalatorOperationDirection = {
878
+ UNKNOWN: 0,
879
+ STOPPED: 1,
880
+ UP_RATED_SPEED: 2,
881
+ UP_REDUCED_SPEED: 3,
882
+ DOWN_RATED_SPEED: 4,
883
+ DOWN_REDUCED_SPEED: 5
884
+ };
885
+
886
+ module.exports.EscalatorOperationDirectionName = usc.invert(module.exports.EscalatorOperationDirection);
887
+
888
+ module.exports.EventState = {
889
+ NORMAL: 0,
890
+ FAULT: 1,
891
+ OFFNORMAL: 2,
892
+ HIGH_LIMIT: 3,
893
+ LOW_LIMIT: 4,
894
+ LIFE_SAFETY_ALARM: 5
895
+ };
896
+
897
+ module.exports.EventStateName = usc.invert(module.exports.EventState);
898
+
899
+ module.exports.EventType = {
900
+ CHANGE_OF_BITSTRING: 0,
901
+ CHANGE_OF_STATE: 1,
902
+ CHANGE_OF_VALUE: 2,
903
+ COMMAND_FAILURE: 3,
904
+ FLOATING_LIMIT: 4,
905
+ OUT_OF_RANGE: 5,
906
+ COMPLEX_EVENT_TYPE: 6,
907
+ CHANGE_OF_LIFE_SAFETY: 8,
908
+ EXTENDED: 9,
909
+ BUFFER_READY: 10,
910
+ UNSIGNED_RANGE: 11,
911
+ ACCESS_EVENT: 13,
912
+ DOUBLE_OUT_OF_RANGE: 14,
913
+ SIGNED_OUT_OF_RANGE: 15,
914
+ UNSIGNED_OUT_OF_RANGE: 16,
915
+ CHANGE_OF_CHARACTERSTRING: 17,
916
+ CHANGE_OF_STATUS_FLAGS: 18,
917
+ CHANGE_OF_RELIABILITY: 19,
918
+ NONE: 20,
919
+ CHANGE_OF_DISCRETE_VALUE: 21,
920
+ CHANGE_OF_TIMER: 22
921
+ };
922
+
923
+ module.exports.EventTypeName = usc.invert(module.exports.EventType);
924
+
925
+ module.exports.FaultType = {
926
+ NONE: 0,
927
+ FAULT_CHARACTERSTRING: 1,
928
+ FAULT_EXTENDED: 2,
929
+ FAULT_LIFE_SAFETY: 3,
930
+ FAULT_STATE: 4,
931
+ FAULT_STATUS_FLAGS: 5,
932
+ FAULT_OUT_OF_RANGE: 6,
933
+ FAULT_LISTED: 7
934
+ };
935
+
936
+ module.exports.FaultTypeName = usc.invert(module.exports.FaultType);
937
+
938
+ module.exports.FileAccessMethod = {
939
+ RECORD_ACCESS: 0,
940
+ STREAM_ACCESS: 1
941
+ };
942
+
943
+ module.exports.FileAccessMethodName = usc.invert(module.exports.FileAccessMethod);
944
+
945
+ module.exports.IPMode = {
946
+ NORMAL: 0,
947
+ FOREIGN: 1,
948
+ BBMD: 2
949
+ };
950
+
951
+ module.exports.IPModeName = usc.invert(module.exports.IPMode);
952
+
953
+ module.exports.LifeSafetyMode = {
954
+ OFF: 0,
955
+ ON: 1,
956
+ TEST: 2,
957
+ MANNED: 3,
958
+ UNMANNED: 4,
959
+ ARMED: 5,
960
+ DISARMED: 6,
961
+ PREARMED: 7,
962
+ SLOW: 8,
963
+ FAST: 9,
964
+ DISCONNECTED: 10,
965
+ ENABLED: 11,
966
+ DISABLED: 12,
967
+ AUTOMATIC_RELEASE_DISABLED: 13,
968
+ DEFAULT: 14
969
+ };
970
+
971
+ module.exports.LifeSafetyModeName = usc.invert(module.exports.LifeSafetyMode);
972
+
973
+ module.exports.LifeSafetyOperation = {
974
+ NONE: 0,
975
+ SILENCE: 1,
976
+ SILENCE_AUDIBLE: 2,
977
+ SILENCE_VISUAL: 3,
978
+ RESET: 4,
979
+ RESET_ALARM: 5,
980
+ RESET_FAULT: 6,
981
+ UNSILENCE: 7,
982
+ UNSILENCE_AUDIBLE: 8,
983
+ UNSILENCE_VISUAL: 9
984
+ };
985
+
986
+ module.exports.LifeSafetyOperationName = usc.invert(module.exports.LifeSafetyOperation);
987
+
988
+ module.exports.LifeSafetyState = {
989
+ QUIET: 0,
990
+ PRE_ALARM: 1,
991
+ ALARM: 2,
992
+ FAULT: 3,
993
+ FAULT_PRE_ALARM: 4,
994
+ FAULT_ALARM: 5,
995
+ NOT_READY: 6,
996
+ ACTIVE: 7,
997
+ TAMPER: 8,
998
+ TEST_ALARM: 9,
999
+ TEST_ACTIVE: 10,
1000
+ TEST_FAULT: 11,
1001
+ TEST_FAULT_ALARM: 12,
1002
+ HOLDUP: 13,
1003
+ DURESS: 14,
1004
+ TAMPER_ALARM: 15,
1005
+ ABNORMAL: 16,
1006
+ EMERGENCY_POWER: 17,
1007
+ DELAYED: 18,
1008
+ BLOCKED: 19,
1009
+ LOCAL_ALARM: 20,
1010
+ GENERAL_ALARM: 21,
1011
+ SUPERVISORY: 22,
1012
+ TEST_SUPERVISORY: 23
1013
+ };
1014
+
1015
+ module.exports.LifeSafetyStateName = usc.invert(module.exports.LifeSafetyState);
1016
+
1017
+ module.exports.LiftCarDirection = {
1018
+ UNKNOWN: 0,
1019
+ NONE: 1,
1020
+ STOPPED: 2,
1021
+ UP: 3,
1022
+ DOWN: 4,
1023
+ UP_AND_DOWN: 5
1024
+ };
1025
+
1026
+ module.exports.LiftCarDirectionName = usc.invert(module.exports.LiftCarDirection);
1027
+
1028
+ module.exports.LiftCarDoorCommand = {
1029
+ NONE: 0,
1030
+ OPEN: 1,
1031
+ CLOSE: 2
1032
+ };
1033
+
1034
+ module.exports.LiftCarDoorCommandName = usc.invert(module.exports.LiftCarDoorCommand);
1035
+
1036
+ module.exports.LiftCarDriveStatus = {
1037
+ UNKNOWN: 0,
1038
+ STATIONARY: 1,
1039
+ BRAKING: 2,
1040
+ ACCELERATE: 3,
1041
+ DECELERATE: 4,
1042
+ RATED_SPEED: 5,
1043
+ SINGLE_FLOOR_JUMP: 6,
1044
+ TWO_FLOOR_JUMP: 7,
1045
+ THREE_FLOOR_JUMP: 8,
1046
+ MULTI_FLOOR_JUMP: 9
1047
+ };
1048
+
1049
+ module.exports.LiftCarDriveStatusName = usc.invert(module.exports.LiftCarDriveStatus);
1050
+
1051
+ module.exports.LiftCarMode = {
1052
+ UNKNOWN: 0,
1053
+ NORMAL: 1,
1054
+ VIP: 2,
1055
+ HOMING: 3,
1056
+ PARKING: 4,
1057
+ ATTENDANT_CONTROL: 5,
1058
+ FIREFIGHTER_CONTROL: 6,
1059
+ EMERGENCY_POWER: 7,
1060
+ INSPECTION: 8,
1061
+ CABINET_RECALL: 9,
1062
+ EARTHQUAKE_OPERATION: 10,
1063
+ FIRE_OPERATION: 11,
1064
+ OUT_OF_SERVICE: 12,
1065
+ OCCUPANT_EVACUATION: 13
1066
+ };
1067
+
1068
+ module.exports.LiftCarModeName = usc.invert(module.exports.LiftCarMode);
1069
+
1070
+ module.exports.LiftFault = {
1071
+ CONTROLLER_FAULT: 0,
1072
+ DRIVE_AND_MOTOR_FAULT: 1,
1073
+ GOVERNOR_AND_SAFETY_GEAR_FAULT: 2,
1074
+ LIFT_SHAFT_DEVICE_FAULT: 3,
1075
+ POWER_SUPPLY_FAULT: 4,
1076
+ SAFETY_INTERLOCK_FAULT: 5,
1077
+ DOOR_CLOSING_FAULT: 6,
1078
+ DOOR_OPENING_FAULT: 7,
1079
+ CAR_STOPPED_OUTSIDE_LANDING_ZONE: 8,
1080
+ CALL_BUTTON_STUCK: 9,
1081
+ START_FAILURE: 10,
1082
+ CONTROLLER_SUPPLY_FAULT: 11,
1083
+ SELF_TEST_FAILURE: 12,
1084
+ RUNTIME_LIMIT_EXCEEDED: 13,
1085
+ POSITION_LOST: 14,
1086
+ DRIVE_TEMPERATURE_EXCEEDED: 15,
1087
+ LOAD_MEASUREMENT_FAULT: 16
1088
+ };
1089
+
1090
+ module.exports.LiftFaultName = usc.invert(module.exports.LiftFault);
1091
+
1092
+ module.exports.LiftGroupMode = {
1093
+ UNKNOWN: 0,
1094
+ NORMAL: 1,
1095
+ DOWN_PEAK: 2,
1096
+ TWO_WAY: 3,
1097
+ FOUR_WAY: 4,
1098
+ EMERGENCY_POWER: 5,
1099
+ UP_PEAK: 6
1100
+ };
1101
+
1102
+ module.exports.LiftGroupModeName = usc.invert(module.exports.LiftGroupMode);
1103
+
1104
+ module.exports.LightingInProgress = {
1105
+ IDLE: 0,
1106
+ FADE_ACTIVE: 1,
1107
+ RAMP_ACTIVE: 2,
1108
+ NOT_CONTROLLED: 3,
1109
+ OTHER: 4
1110
+ };
1111
+
1112
+ module.exports.LightingInProgressName = usc.invert(module.exports.LightingInProgress);
1113
+
1114
+ module.exports.LightingOperation = {
1115
+ NONE: 0,
1116
+ FADE_TO: 1,
1117
+ RAMP_TO: 2,
1118
+ STEP_UP: 3,
1119
+ STEP_DOWN: 4,
1120
+ STEP_ON: 5,
1121
+ STEP_OFF: 6,
1122
+ WARN: 7,
1123
+ WARN_OFF: 8,
1124
+ WARN_RELINQUISH: 9,
1125
+ STOP: 10
1126
+ };
1127
+
1128
+ module.exports.LightingOperationName = usc.invert(module.exports.LightingOperation);
1129
+
1130
+ module.exports.LightingTransition = {
1131
+ NONE: 0,
1132
+ FADE: 1,
1133
+ RAMP: 2
1134
+ };
1135
+
1136
+ module.exports.LightingTransitionName = usc.invert(module.exports.LightingTransition);
1137
+
1138
+ module.exports.LockStatus = {
1139
+ LOCKED: 0,
1140
+ UNLOCKED: 1,
1141
+ LOCK_FAULT: 2,
1142
+ UNUSED: 3,
1143
+ UNKNOWN: 4
1144
+ };
1145
+
1146
+ module.exports.LockStatusName = usc.invert(module.exports.LockStatus);
1147
+
1148
+ module.exports.LoggingType = {
1149
+ POLLED: 0,
1150
+ COV: 1,
1151
+ TRIGGERED: 2
1152
+ };
1153
+
1154
+ module.exports.LoggingTypeName = usc.invert(module.exports.LoggingType);
1155
+
1156
+ module.exports.Maintenance = {
1157
+ NONE: 0,
1158
+ PERIODIC_TEST: 1,
1159
+ NEED_SERVICE_OPERATIONAL: 2,
1160
+ NEED_SERVICE_INOPERATIVE: 3
1161
+ };
1162
+
1163
+ module.exports.MaintenanceName = usc.invert(module.exports.Maintenance);
1164
+
1165
+ module.exports.NetworkNumberQuality = {
1166
+ UNKNOWN: 0,
1167
+ LEARNED: 1,
1168
+ LEARNED_CONFIGURED: 2,
1169
+ CONFIGURED: 3
1170
+ };
1171
+
1172
+ module.exports.NetworkNumberQualityName = usc.invert(module.exports.NetworkNumberQuality);
1173
+
1174
+ module.exports.NetworkPortCommand = {
1175
+ IDLE: 0,
1176
+ DISCARD_CHANGES: 1,
1177
+ RENEW_FD_REGISTRATION: 2,
1178
+ RESTART_SLAVE_DISCOVERY: 3,
1179
+ RENEW_DHCP: 4,
1180
+ RESTART_AUTONEGOTIATION: 5,
1181
+ DISCONNECT: 6,
1182
+ RESTART_PORT: 7
1183
+ };
1184
+
1185
+ module.exports.NetworkPortCommandName = usc.invert(module.exports.NetworkPortCommand);
1186
+
1187
+ module.exports.NetworkType = {
1188
+ ETHERNET: 0,
1189
+ ARCNET: 1,
1190
+ MSTP: 2,
1191
+ PTP: 3,
1192
+ LONTALK: 4,
1193
+ IPV4: 5,
1194
+ ZIGBEE: 6,
1195
+ VIRTUAL: 7,
1196
+ IPV6: 9,
1197
+ SERIAL: 10
1198
+ };
1199
+
1200
+ module.exports.NetworkTypeName = usc.invert(module.exports.NetworkType);
1201
+
1202
+ module.exports.NodeType = {
1203
+ UNKNOWN: 0,
1204
+ SYSTEM: 1,
1205
+ NETWORK: 2,
1206
+ DEVICE: 3,
1207
+ ORGANIZATIONAL: 4,
1208
+ AREA: 5,
1209
+ EQUIPMENT: 6,
1210
+ POINT: 7,
1211
+ COLLECTION: 8,
1212
+ PROPERTY: 9,
1213
+ FUNCTIONAL: 10,
1214
+ OTHER: 11,
1215
+ SUBSYSTEM: 12,
1216
+ BUILDING: 13,
1217
+ FLOOR: 14,
1218
+ SECTION: 15,
1219
+ MODULE: 16,
1220
+ TREE: 17,
1221
+ MEMBER: 18,
1222
+ PROTOCOL: 19,
1223
+ ROOM: 20,
1224
+ ZONE: 21
1225
+ };
1226
+
1227
+ module.exports.NodeTypeName = usc.invert(module.exports.NodeType);
1228
+
1229
+ module.exports.NotifyType = {
1230
+ ALARM: 0,
1231
+ EVENT: 1,
1232
+ ACK_NOTIFICATION: 2
1233
+ };
1234
+
1235
+ module.exports.NotifyTypeName = usc.invert(module.exports.NotifyType);
1236
+
1237
+ module.exports.ObjectType = {
1238
+ ACCESS_CREDENTIAL: 32,
1239
+ ACCESS_DOOR: 30,
1240
+ ACCESS_POINT: 33,
1241
+ ACCESS_RIGHTS: 34,
1242
+ ACCESS_USER: 35,
1243
+ ACCESS_ZONE: 36,
1244
+ ACCUMULATOR: 23,
1245
+ ALERT_ENROLLMENT: 52,
1246
+ ANALOG_INPUT: 0,
1247
+ ANALOG_OUTPUT: 1,
1248
+ ANALOG_VALUE: 2,
1249
+ AVERAGING: 18,
1250
+ BINARY_INPUT: 3,
1251
+ BINARY_LIGHTING_OUTPUT: 55,
1252
+ BINARY_OUTPUT: 4,
1253
+ BINARY_VALUE: 5,
1254
+ BITSTRING_VALUE: 39,
1255
+ CALENDAR: 6,
1256
+ CHANNEL: 53,
1257
+ CHARACTERSTRING_VALUE: 40,
1258
+ COMMAND: 7,
1259
+ CREDENTIAL_DATA_INPUT: 37,
1260
+ DATEPATTERN_VALUE: 41,
1261
+ DATE_VALUE: 42,
1262
+ DATETIMEPATTERN_VALUE: 43,
1263
+ DATETIME_VALUE: 44,
1264
+ DEVICE: 8,
1265
+ ELEVATOR_GROUP: 57,
1266
+ ESCALATOR: 58,
1267
+ EVENT_ENROLLMENT: 9,
1268
+ EVENT_LOG: 25,
1269
+ FILE: 10,
1270
+ GLOBAL_GROUP: 26,
1271
+ GROUP: 11,
1272
+ INTEGER_VALUE: 45,
1273
+ LARGE_ANALOG_VALUE: 46,
1274
+ LIFE_SAFETY_POINT: 21,
1275
+ LIFE_SAFETY_ZONE: 22,
1276
+ LIFT: 59,
1277
+ LIGHTING_OUTPUT: 54,
1278
+ LOAD_CONTROL: 28,
1279
+ LOOP: 12,
1280
+ MULTI_STATE_INPUT: 13,
1281
+ MULTI_STATE_OUTPUT: 14,
1282
+ MULTI_STATE_VALUE: 19,
1283
+ NETWORK_PORT: 56,
1284
+ NETWORK_SECURITY: 38,
1285
+ NOTIFICATION_CLASS: 15,
1286
+ NOTIFICATION_FORWARDER: 51,
1287
+ OCTETSTRING_VALUE: 47,
1288
+ POSITIVE_INTEGER_VALUE: 48,
1289
+ PROGRAM: 16,
1290
+ PULSE_CONVERTER: 24,
1291
+ SCHEDULE: 17,
1292
+ STRUCTURED_VIEW: 29,
1293
+ TIMEPATTERN_VALUE: 49,
1294
+ TIME_VALUE: 50,
1295
+ TIMER: 31,
1296
+ TREND_LOG: 20,
1297
+ TREND_LOG_MULTIPLE: 27
1298
+ };
1299
+
1300
+ module.exports.ObjectTypeName = usc.invert(module.exports.ObjectType);
1301
+
1302
+ module.exports.Polarity = {
1303
+ NORMAL: 0,
1304
+ REVERSE: 1
1305
+ };
1306
+
1307
+ module.exports.PolarityName = usc.invert(module.exports.Polarity);
1308
+
1309
+ module.exports.ProgramError = {
1310
+ NORMAL: 0,
1311
+ LOAD_FAILED: 1,
1312
+ INTERNAL: 2,
1313
+ PROGRAM: 3,
1314
+ OTHER: 4
1315
+ };
1316
+
1317
+ module.exports.ProgramErrorName = usc.invert(module.exports.ProgramError);
1318
+
1319
+ module.exports.ProgramRequest = {
1320
+ READY: 0,
1321
+ LOAD: 1,
1322
+ RUN: 2,
1323
+ HALT: 3,
1324
+ RESTART: 4,
1325
+ UNLOAD: 5
1326
+ };
1327
+
1328
+ module.exports.ProgramRequestName = usc.invert(module.exports.ProgramRequest);
1329
+
1330
+ module.exports.ProgramState = {
1331
+ IDLE: 0,
1332
+ LOADING: 1,
1333
+ RUNNING: 2,
1334
+ WAITING: 3,
1335
+ HALTED: 4,
1336
+ UNLOADING: 5
1337
+ };
1338
+
1339
+ module.exports.ProgramStateName = usc.invert(module.exports.ProgramState);
1340
+
1341
+ module.exports.PropertyIdentifier = {
1342
+ ABSENTEE_LIMIT: 244,
1343
+ ACCEPTED_MODES: 175,
1344
+ ACCESS_ALARM_EVENTS: 245,
1345
+ ACCESS_DOORS: 246,
1346
+ ACCESS_EVENT: 247,
1347
+ ACCESS_EVENT_AUTHENTICATION_FACTOR: 248,
1348
+ ACCESS_EVENT_CREDENTIAL: 249,
1349
+ ACCESS_EVENT_TAG: 322,
1350
+ ACCESS_EVENT_TIME: 250,
1351
+ ACCESS_TRANSACTION_EVENTS: 251,
1352
+ ACCOMPANIMENT: 252,
1353
+ ACCOMPANIMENT_TIME: 253,
1354
+ ACK_REQUIRED: 1,
1355
+ ACKED_TRANSITIONS: 0,
1356
+ ACTION: 2,
1357
+ ACTION_TEXT: 3,
1358
+ ACTIVATION_TIME: 254,
1359
+ ACTIVE_AUTHENTICATION_POLICY: 255,
1360
+ ACTIVE_COV_MULTIPLE_SUBSCRIPTIONS: 481,
1361
+ ACTIVE_COV_SUBSCRIPTIONS: 152,
1362
+ ACTIVE_TEXT: 4,
1363
+ ACTIVE_VT_SESSIONS: 5,
1364
+ ACTUAL_SHED_LEVEL: 212,
1365
+ ADJUST_VALUE: 176,
1366
+ ALARM_VALUE: 6,
1367
+ ALARM_VALUES: 7,
1368
+ ALIGN_INTERVALS: 193,
1369
+ ALL: 8,
1370
+ ALL_WRITES_SUCCESSFUL: 9,
1371
+ ALLOW_GROUP_DELAY_INHIBIT: 365,
1372
+ APDU_LENGTH: 399,
1373
+ APDU_SEGMENT_TIMEOUT: 10,
1374
+ APDU_TIMEOUT: 11,
1375
+ APPLICATION_SOFTWARE_VERSION: 12,
1376
+ ARCHIVE: 13,
1377
+ ASSIGNED_ACCESS_RIGHTS: 256,
1378
+ ASSIGNED_LANDING_CALLS: 447,
1379
+ ATTEMPTED_SAMPLES: 124,
1380
+ AUTHENTICATION_FACTORS: 257,
1381
+ AUTHENTICATION_POLICY_LIST: 258,
1382
+ AUTHENTICATION_POLICY_NAMES: 259,
1383
+ AUTHENTICATION_STATUS: 260,
1384
+ AUTHORIZATION_EXEMPTIONS: 364,
1385
+ AUTHORIZATION_MODE: 261,
1386
+ AUTO_SLAVE_DISCOVERY: 169,
1387
+ AVERAGE_VALUE: 125,
1388
+ BACKUP_AND_RESTORE_STATE: 338,
1389
+ BACKUP_FAILURE_TIMEOUT: 153,
1390
+ BACKUP_PREPARATION_TIME: 339,
1391
+ BACNET_IP_GLOBAL_ADDRESS: 407,
1392
+ BACNET_IP_MODE: 408,
1393
+ BACNET_IP_MULTICAST_ADDRESS: 409,
1394
+ BACNET_IP_NAT_TRAVERSAL: 410,
1395
+ BACNET_IP_UDP_PORT: 412,
1396
+ BACNET_IPV6_MODE: 435,
1397
+ BACNET_IPV6_UDP_PORT: 438,
1398
+ BACNET_IPV6_MULTICAST_ADDRESS: 440,
1399
+ BBMD_ACCEPT_FD_REGISTRATIONS: 413,
1400
+ BBMD_BROADCAST_DISTRIBUTION_TABLE: 414,
1401
+ BBMD_FOREIGN_DEVICE_TABLE: 415,
1402
+ BELONGS_TO: 262,
1403
+ BIAS: 14,
1404
+ BIT_MASK: 342,
1405
+ BIT_TEXT: 343,
1406
+ BLINK_WARN_ENABLE: 373,
1407
+ BUFFER_SIZE: 126,
1408
+ CAR_ASSIGNED_DIRECTION: 448,
1409
+ CAR_DOOR_COMMAND: 449,
1410
+ CAR_DOOR_STATUS: 450,
1411
+ CAR_DOOR_TEXT: 451,
1412
+ CAR_DOOR_ZONE: 452,
1413
+ CAR_DRIVE_STATUS: 453,
1414
+ CAR_LOAD: 454,
1415
+ CAR_LOAD_UNITS: 455,
1416
+ CAR_MODE: 456,
1417
+ CAR_MOVING_DIRECTION: 457,
1418
+ CAR_POSITION: 458,
1419
+ CHANGE_OF_STATE_COUNT: 15,
1420
+ CHANGE_OF_STATE_TIME: 16,
1421
+ CHANGES_PENDING: 416,
1422
+ CHANNEL_NUMBER: 366,
1423
+ CLIENT_COV_INCREMENT: 127,
1424
+ COMMAND: 417,
1425
+ COMMAND_TIME_ARRAY: 430,
1426
+ CONFIGURATION_FILES: 154,
1427
+ CONTROL_GROUPS: 367,
1428
+ CONTROLLED_VARIABLE_REFERENCE: 19,
1429
+ CONTROLLED_VARIABLE_UNITS: 20,
1430
+ CONTROLLED_VARIABLE_VALUE: 21,
1431
+ COUNT: 177,
1432
+ COUNT_BEFORE_CHANGE: 178,
1433
+ COUNT_CHANGE_TIME: 179,
1434
+ COV_INCREMENT: 22,
1435
+ COV_PERIOD: 180,
1436
+ COV_RESUBSCRIPTION_INTERVAL: 128,
1437
+ COVU_PERIOD: 349,
1438
+ COVU_RECIPIENTS: 350,
1439
+ CREDENTIAL_DISABLE: 263,
1440
+ CREDENTIAL_STATUS: 264,
1441
+ CREDENTIALS: 265,
1442
+ CREDENTIALS_IN_ZONE: 266,
1443
+ CURRENT_COMMAND_PRIORITY: 431,
1444
+ DATABASE_REVISION: 155,
1445
+ DATE_LIST: 23,
1446
+ DAYLIGHT_SAVINGS_STATUS: 24,
1447
+ DAYS_REMAINING: 267,
1448
+ DEADBAND: 25,
1449
+ DEFAULT_FADE_TIME: 374,
1450
+ DEFAULT_RAMP_RATE: 375,
1451
+ DEFAULT_STEP_INCREMENT: 376,
1452
+ DEFAULT_SUBORDINATE_RELATIONSHIP: 490,
1453
+ DEFAULT_TIMEOUT: 393,
1454
+ DEPLOYED_PROFILE_LOCATION: 484,
1455
+ DERIVATIVE_CONSTANT: 26,
1456
+ DERIVATIVE_CONSTANT_UNITS: 27,
1457
+ DESCRIPTION: 28,
1458
+ DESCRIPTION_OF_HALT: 29,
1459
+ DEVICE_ADDRESS_BINDING: 30,
1460
+ DEVICE_TYPE: 31,
1461
+ DIRECT_READING: 156,
1462
+ DISTRIBUTION_KEY_REVISION: 328,
1463
+ DO_NOT_HIDE: 329,
1464
+ DOOR_ALARM_STATE: 226,
1465
+ DOOR_EXTENDED_PULSE_TIME: 227,
1466
+ DOOR_MEMBERS: 228,
1467
+ DOOR_OPEN_TOO_LONG_TIME: 229,
1468
+ DOOR_PULSE_TIME: 230,
1469
+ DOOR_STATUS: 231,
1470
+ DOOR_UNLOCK_DELAY_TIME: 232,
1471
+ DUTY_WINDOW: 213,
1472
+ EFFECTIVE_PERIOD: 32,
1473
+ EGRESS_ACTIVE: 386,
1474
+ EGRESS_TIME: 377,
1475
+ ELAPSED_ACTIVE_TIME: 33,
1476
+ ELEVATOR_GROUP: 459,
1477
+ ENABLE: 133,
1478
+ ENERGY_METER: 460,
1479
+ ENERGY_METER_REF: 461,
1480
+ ENTRY_POINTS: 268,
1481
+ ERROR_LIMIT: 34,
1482
+ ESCALATOR_MODE: 462,
1483
+ EVENT_ALGORITHM_INHIBIT: 354,
1484
+ EVENT_ALGORITHM_INHIBIT_REF: 355,
1485
+ EVENT_DETECTION_ENABLE: 353,
1486
+ EVENT_ENABLE: 35,
1487
+ EVENT_MESSAGE_TEXTS: 351,
1488
+ EVENT_MESSAGE_TEXTS_CONFIG: 352,
1489
+ EVENT_PARAMETERS: 83,
1490
+ EVENT_STATE: 36,
1491
+ EVENT_TIME_STAMPS: 130,
1492
+ EVENT_TYPE: 37,
1493
+ EXCEPTION_SCHEDULE: 38,
1494
+ EXECUTION_DELAY: 368,
1495
+ EXIT_POINTS: 269,
1496
+ EXPECTED_SHED_LEVEL: 214,
1497
+ EXPIRATION_TIME: 270,
1498
+ EXTENDED_TIME_ENABLE: 271,
1499
+ FAILED_ATTEMPT_EVENTS: 272,
1500
+ FAILED_ATTEMPTS: 273,
1501
+ FAILED_ATTEMPTS_TIME: 274,
1502
+ FAULT_HIGH_LIMIT: 388,
1503
+ FAULT_LOW_LIMIT: 389,
1504
+ FAULT_PARAMETERS: 358,
1505
+ FAULT_SIGNALS: 463,
1506
+ FAULT_TYPE: 359,
1507
+ FAULT_VALUES: 39,
1508
+ FD_BBMD_ADDRESS: 418,
1509
+ FD_SUBSCRIPTION_LIFETIME: 419,
1510
+ FEEDBACK_VALUE: 40,
1511
+ FILE_ACCESS_METHOD: 41,
1512
+ FILE_SIZE: 42,
1513
+ FILE_TYPE: 43,
1514
+ FIRMWARE_REVISION: 44,
1515
+ FLOOR_TEXT: 464,
1516
+ FULL_DUTY_BASELINE: 215,
1517
+ GLOBAL_IDENTIFIER: 323,
1518
+ GROUP_ID: 465,
1519
+ GROUP_MEMBER_NAMES: 346,
1520
+ GROUP_MEMBERS: 345,
1521
+ GROUP_MODE: 467,
1522
+ HIGH_LIMIT: 45,
1523
+ HIGHER_DECK: 468,
1524
+ IN_PROCESS: 47,
1525
+ IN_PROGRESS: 378,
1526
+ INACTIVE_TEXT: 46,
1527
+ INITIAL_TIMEOUT: 394,
1528
+ INPUT_REFERENCE: 181,
1529
+ INSTALLATION_ID: 469,
1530
+ INSTANCE_OF: 48,
1531
+ INSTANTANEOUS_POWER: 379,
1532
+ INTEGRAL_CONSTANT: 49,
1533
+ INTEGRAL_CONSTANT_UNITS: 50,
1534
+ INTERFACE_VALUE: 387,
1535
+ INTERVAL_OFFSET: 195,
1536
+ IP_ADDRESS: 400,
1537
+ IP_DEFAULT_GATEWAY: 401,
1538
+ IP_DHCP_ENABLE: 402,
1539
+ IP_DHCP_LEASE_TIME: 403,
1540
+ IP_DHCP_LEASE_TIME_REMAINING: 404,
1541
+ IP_DHCP_SERVER: 405,
1542
+ IP_DNS_SERVER: 406,
1543
+ IP_SUBNET_MASK: 411,
1544
+ IPV6_ADDRESS: 436,
1545
+ IPV6_AUTO_ADDRESSING_ENABLE: 442,
1546
+ IPV6_DEFAULT_GATEWAY: 439,
1547
+ IPV6_DHCP_LEASE_TIME: 443,
1548
+ IPV6_DHCP_LEASE_TIME_REMAINING: 444,
1549
+ IPV6_DHCP_SERVER: 445,
1550
+ IPV6_DNS_SERVER: 441,
1551
+ IPV6_PREFIX_LENGTH: 437,
1552
+ IPV6_ZONE_INDEX: 446,
1553
+ IS_UTC: 344,
1554
+ KEY_SETS: 330,
1555
+ LANDING_CALL_CONTROL: 471,
1556
+ LANDING_CALLS: 470,
1557
+ LANDING_DOOR_STATUS: 472,
1558
+ LAST_ACCESS_EVENT: 275,
1559
+ LAST_ACCESS_POINT: 276,
1560
+ LAST_COMMAND_TIME: 432,
1561
+ LAST_CREDENTIAL_ADDED: 277,
1562
+ LAST_CREDENTIAL_ADDED_TIME: 278,
1563
+ LAST_CREDENTIAL_REMOVED: 279,
1564
+ LAST_CREDENTIAL_REMOVED_TIME: 280,
1565
+ LAST_KEY_SERVER: 331,
1566
+ LAST_NOTIFY_RECORD: 173,
1567
+ LAST_PRIORITY: 369,
1568
+ LAST_RESTART_REASON: 196,
1569
+ LAST_RESTORE_TIME: 157,
1570
+ LAST_STATE_CHANGE: 395,
1571
+ LAST_USE_TIME: 281,
1572
+ LIFE_SAFETY_ALARM_VALUES: 166,
1573
+ LIGHTING_COMMAND: 380,
1574
+ LIGHTING_COMMAND_DEFAULT_PRIORITY: 381,
1575
+ LIMIT_ENABLE: 52,
1576
+ LIMIT_MONITORING_INTERVAL: 182,
1577
+ LINK_SPEED: 420,
1578
+ LINK_SPEED_AUTONEGOTIATE: 422,
1579
+ LINK_SPEEDS: 421,
1580
+ LIST_OF_GROUP_MEMBERS: 53,
1581
+ LIST_OF_OBJECT_PROPERTY_REFERENCES: 54,
1582
+ LOCAL_DATE: 56,
1583
+ LOCAL_FORWARDING_ONLY: 360,
1584
+ LOCAL_TIME: 57,
1585
+ LOCATION: 58,
1586
+ LOCK_STATUS: 233,
1587
+ LOCKOUT: 282,
1588
+ LOCKOUT_RELINQUISH_TIME: 283,
1589
+ LOG_BUFFER: 131,
1590
+ LOG_DEVICE_OBJECT_PROPERTY: 132,
1591
+ LOG_INTERVAL: 134,
1592
+ LOGGING_OBJECT: 183,
1593
+ LOGGING_RECORD: 184,
1594
+ LOGGING_TYPE: 197,
1595
+ LOW_DIFF_LIMIT: 390,
1596
+ LOW_LIMIT: 59,
1597
+ LOWER_DECK: 473,
1598
+ MAC_ADDRESS: 423,
1599
+ MACHINE_ROOM_ID: 474,
1600
+ MAINTENANCE_REQUIRED: 158,
1601
+ MAKING_CAR_CALL: 475,
1602
+ MANIPULATED_VARIABLE_REFERENCE: 60,
1603
+ MANUAL_SLAVE_ADDRESS_BINDING: 170,
1604
+ MASKED_ALARM_VALUES: 234,
1605
+ MAX_ACTUAL_VALUE: 382,
1606
+ MAX_APDU_LENGTH_ACCEPTED: 62,
1607
+ MAX_FAILED_ATTEMPTS: 285,
1608
+ MAX_INFO_FRAMES: 63,
1609
+ MAX_MASTER: 64,
1610
+ MAX_PRES_VALUE: 65,
1611
+ MAX_SEGMENTS_ACCEPTED: 167,
1612
+ MAXIMUM_OUTPUT: 61,
1613
+ MAXIMUM_VALUE: 135,
1614
+ MAXIMUM_VALUE_TIMESTAMP: 149,
1615
+ MEMBER_OF: 159,
1616
+ MEMBER_STATUS_FLAGS: 347,
1617
+ MEMBERS: 286,
1618
+ MIN_ACTUAL_VALUE: 383,
1619
+ MIN_PRES_VALUE: 69,
1620
+ MINIMUM_OFF_TIME: 66,
1621
+ MINIMUM_ON_TIME: 67,
1622
+ MINIMUM_OUTPUT: 68,
1623
+ MINIMUM_VALUE: 136,
1624
+ MINIMUM_VALUE_TIMESTAMP: 150,
1625
+ MODE: 160,
1626
+ MODEL_NAME: 70,
1627
+ MODIFICATION_DATE: 71,
1628
+ MUSTER_POINT: 287,
1629
+ NEGATIVE_ACCESS_RULES: 288,
1630
+ NETWORK_ACCESS_SECURITY_POLICIES: 332,
1631
+ NETWORK_INTERFACE_NAME: 424,
1632
+ NETWORK_NUMBER: 425,
1633
+ NETWORK_NUMBER_QUALITY: 426,
1634
+ NETWORK_TYPE: 427,
1635
+ NEXT_STOPPING_FLOOR: 476,
1636
+ NODE_SUBTYPE: 207,
1637
+ NODE_TYPE: 208,
1638
+ NOTIFICATION_CLASS: 17,
1639
+ NOTIFICATION_THRESHOLD: 137,
1640
+ NOTIFY_TYPE: 72,
1641
+ NUMBER_OF_APDU_RETRIES: 73,
1642
+ NUMBER_OF_AUTHENTICATION_POLICIES: 289,
1643
+ NUMBER_OF_STATES: 74,
1644
+ OBJECT_IDENTIFIER: 75,
1645
+ OBJECT_LIST: 76,
1646
+ OBJECT_NAME: 77,
1647
+ OBJECT_PROPERTY_REFERENCE: 78,
1648
+ OBJECT_TYPE: 79,
1649
+ OCCUPANCY_COUNT: 290,
1650
+ OCCUPANCY_COUNT_ADJUST: 291,
1651
+ OCCUPANCY_COUNT_ENABLE: 292,
1652
+ OCCUPANCY_LOWER_LIMIT: 294,
1653
+ OCCUPANCY_LOWER_LIMIT_ENFORCED: 295,
1654
+ OCCUPANCY_STATE: 296,
1655
+ OCCUPANCY_UPPER_LIMIT: 297,
1656
+ OCCUPANCY_UPPER_LIMIT_ENFORCED: 298,
1657
+ OPERATION_DIRECTION: 477,
1658
+ OPERATION_EXPECTED: 161,
1659
+ OPTIONAL: 80,
1660
+ OUT_OF_SERVICE: 81,
1661
+ OUTPUT_UNITS: 82,
1662
+ PACKET_REORDER_TIME: 333,
1663
+ PASSBACK_MODE: 300,
1664
+ PASSBACK_TIMEOUT: 301,
1665
+ PASSENGER_ALARM: 478,
1666
+ POLARITY: 84,
1667
+ PORT_FILTER: 363,
1668
+ POSITIVE_ACCESS_RULES: 302,
1669
+ POWER: 384,
1670
+ POWER_MODE: 479,
1671
+ PRESCALE: 185,
1672
+ PRESENT_VALUE: 85,
1673
+ PRIORITY: 86,
1674
+ PRIORITY_ARRAY: 87,
1675
+ PRIORITY_FOR_WRITING: 88,
1676
+ PROCESS_IDENTIFIER: 89,
1677
+ PROCESS_IDENTIFIER_FILTER: 361,
1678
+ PROFILE_LOCATION: 485,
1679
+ PROFILE_NAME: 168,
1680
+ PROGRAM_CHANGE: 90,
1681
+ PROGRAM_LOCATION: 91,
1682
+ PROGRAM_STATE: 92,
1683
+ PROPERTY_LIST: 371,
1684
+ PROPORTIONAL_CONSTANT: 93,
1685
+ PROPORTIONAL_CONSTANT_UNITS: 94,
1686
+ PROTOCOL_LEVEL: 482,
1687
+ PROTOCOL_OBJECT_TYPES_SUPPORTED: 96,
1688
+ PROTOCOL_REVISION: 139,
1689
+ PROTOCOL_SERVICES_SUPPORTED: 97,
1690
+ PROTOCOL_VERSION: 98,
1691
+ PULSE_RATE: 186,
1692
+ READ_ONLY: 99,
1693
+ REASON_FOR_DISABLE: 303,
1694
+ REASON_FOR_HALT: 100,
1695
+ RECIPIENT_LIST: 102,
1696
+ RECORD_COUNT: 141,
1697
+ RECORDS_SINCE_NOTIFICATION: 140,
1698
+ REFERENCE_PORT: 483,
1699
+ REGISTERED_CAR_CALL: 480,
1700
+ RELIABILITY: 103,
1701
+ RELIABILITY_EVALUATION_INHIBIT: 357,
1702
+ RELINQUISH_DEFAULT: 104,
1703
+ REPRESENTS: 491,
1704
+ REQUESTED_SHED_LEVEL: 218,
1705
+ REQUESTED_UPDATE_INTERVAL: 348,
1706
+ REQUIRED: 105,
1707
+ RESOLUTION: 106,
1708
+ RESTART_NOTIFICATION_RECIPIENTS: 202,
1709
+ RESTORE_COMPLETION_TIME: 340,
1710
+ RESTORE_PREPARATION_TIME: 341,
1711
+ ROUTING_TABLE: 428,
1712
+ SCALE: 187,
1713
+ SCALE_FACTOR: 188,
1714
+ SCHEDULE_DEFAULT: 174,
1715
+ SECURED_STATUS: 235,
1716
+ SECURITY_PDU_TIMEOUT: 334,
1717
+ SECURITY_TIME_WINDOW: 335,
1718
+ SEGMENTATION_SUPPORTED: 107,
1719
+ SERIAL_NUMBER: 372,
1720
+ SETPOINT: 108,
1721
+ SETPOINT_REFERENCE: 109,
1722
+ SETTING: 162,
1723
+ SHED_DURATION: 219,
1724
+ SHED_LEVEL_DESCRIPTIONS: 220,
1725
+ SHED_LEVELS: 221,
1726
+ SILENCED: 163,
1727
+ SLAVE_ADDRESS_BINDING: 171,
1728
+ SLAVE_PROXY_ENABLE: 172,
1729
+ START_TIME: 142,
1730
+ STATE_CHANGE_VALUES: 396,
1731
+ STATE_DESCRIPTION: 222,
1732
+ STATE_TEXT: 110,
1733
+ STATUS_FLAGS: 111,
1734
+ STOP_TIME: 143,
1735
+ STOP_WHEN_FULL: 144,
1736
+ STRIKE_COUNT: 391,
1737
+ STRUCTURED_OBJECT_LIST: 209,
1738
+ SUBORDINATE_ANNOTATIONS: 210,
1739
+ SUBORDINATE_LIST: 211,
1740
+ SUBORDINATE_NODE_TYPES: 487,
1741
+ SUBORDINATE_RELATIONSHIPS: 489,
1742
+ SUBORDINATE_TAGS: 488,
1743
+ SUBSCRIBED_RECIPIENTS: 362,
1744
+ SUPPORTED_FORMAT_CLASSES: 305,
1745
+ SUPPORTED_FORMATS: 304,
1746
+ SUPPORTED_SECURITY_ALGORITHMS: 336,
1747
+ SYSTEM_STATUS: 112,
1748
+ TAGS: 486,
1749
+ THREAT_AUTHORITY: 306,
1750
+ THREAT_LEVEL: 307,
1751
+ TIME_DELAY: 113,
1752
+ TIME_DELAY_NORMAL: 356,
1753
+ TIME_OF_ACTIVE_TIME_RESET: 114,
1754
+ TIME_OF_DEVICE_RESTART: 203,
1755
+ TIME_OF_STATE_COUNT_RESET: 115,
1756
+ TIME_OF_STRIKE_COUNT_RESET: 392,
1757
+ TIME_SYNCHRONIZATION_INTERVAL: 204,
1758
+ TIME_SYNCHRONIZATION_RECIPIENTS: 116,
1759
+ TIMER_RUNNING: 397,
1760
+ TIMER_STATE: 398,
1761
+ TOTAL_RECORD_COUNT: 145,
1762
+ TRACE_FLAG: 308,
1763
+ TRACKING_VALUE: 164,
1764
+ TRANSACTION_NOTIFICATION_CLASS: 309,
1765
+ TRANSITION: 385,
1766
+ TRIGGER: 205,
1767
+ UNITS: 117,
1768
+ UPDATE_INTERVAL: 118,
1769
+ UPDATE_KEY_SET_TIMEOUT: 337,
1770
+ UPDATE_TIME: 189,
1771
+ USER_EXTERNAL_IDENTIFIER: 310,
1772
+ USER_INFORMATION_REFERENCE: 311,
1773
+ USER_NAME: 317,
1774
+ USER_TYPE: 318,
1775
+ USES_REMAINING: 319,
1776
+ UTC_OFFSET: 119,
1777
+ UTC_TIME_SYNCHRONIZATION_RECIPIENTS: 206,
1778
+ VALID_SAMPLES: 146,
1779
+ VALUE_BEFORE_CHANGE: 190,
1780
+ VALUE_CHANGE_TIME: 192,
1781
+ VALUE_SET: 191,
1782
+ VALUE_SOURCE: 433,
1783
+ VALUE_SOURCE_ARRAY: 434,
1784
+ VARIANCE_VALUE: 151,
1785
+ VENDOR_IDENTIFIER: 120,
1786
+ VENDOR_NAME: 121,
1787
+ VERIFICATION_TIME: 326,
1788
+ VIRTUAL_MAC_ADDRESS_TABLE: 429,
1789
+ VT_CLASSES_SUPPORTED: 122,
1790
+ WEEKLY_SCHEDULE: 123,
1791
+ WINDOW_INTERVAL: 147,
1792
+ WINDOW_SAMPLES: 148,
1793
+ WRITE_STATUS: 370,
1794
+ ZONE_FROM: 320,
1795
+ ZONE_MEMBERS: 165,
1796
+ ZONE_TO: 321
1797
+ };
1798
+
1799
+ module.exports.PropertyIdentifierName = usc.invert(module.exports.PropertyIdentifier);
1800
+
1801
+ module.exports.ProtocolLevel = {
1802
+ PHYSICAL: 0,
1803
+ PROTOCOL: 1,
1804
+ BACNET_APPLICATION: 2,
1805
+ NON_BACNET_APPLICATION: 3
1806
+ };
1807
+
1808
+ module.exports.ProtocolLevelName = usc.invert(module.exports.ProtocolLevel);
1809
+
1810
+ module.exports.Relationship = {
1811
+ UNKNOWN: 0,
1812
+ DEFAULT: 1,
1813
+ CONTAINS: 2,
1814
+ CONTAINED_BY: 3,
1815
+ USES: 4,
1816
+ USED_BY: 5,
1817
+ COMMANDS: 6,
1818
+ COMMANDED_BY: 7,
1819
+ ADJUSTS: 8,
1820
+ ADJUSTED_BY: 9,
1821
+ INGRESS: 10,
1822
+ EGRESS: 11,
1823
+ SUPPLIES_AIR: 12,
1824
+ RECEIVES_AIR: 13,
1825
+ SUPPLIES_HOT_AIR: 14,
1826
+ RECEIVES_HOT_AIR: 15,
1827
+ SUPPLIES_COOL_AIR: 16,
1828
+ RECEIVES_COOL_AIR: 17,
1829
+ SUPPLIES_POWER: 18,
1830
+ RECEIVES_POWER: 19,
1831
+ SUPPLIES_GAS: 20,
1832
+ RECEIVES_GAS: 21,
1833
+ SUPPLIES_WATER: 22,
1834
+ RECEIVES_WATER: 23,
1835
+ SUPPLIES_HOT_WATER: 24,
1836
+ RECEIVES_HOT_WATER: 25,
1837
+ SUPPLIES_COOL_WATER: 26,
1838
+ RECEIVES_COOL_WATER: 27,
1839
+ SUPPLIES_STEAM: 28,
1840
+ RECEIVES_STEAM: 29
1841
+ };
1842
+
1843
+ module.exports.RelationshipName = usc.invert(module.exports.Relationship);
1844
+
1845
+ module.exports.Reliability = {
1846
+ NO_FAULT_DETECTED: 0,
1847
+ NO_SENSOR: 1,
1848
+ OVER_RANGE: 2,
1849
+ UNDER_RANGE: 3,
1850
+ OPEN_LOOP: 4,
1851
+ SHORTED_LOOP: 5,
1852
+ NO_OUTPUT: 6,
1853
+ UNRELIABLE_OTHER: 7,
1854
+ PROCESS_ERROR: 8,
1855
+ MULTI_STATE_FAULT: 9,
1856
+ CONFIGURATION_ERROR: 10,
1857
+ COMMUNICATION_FAILURE: 12,
1858
+ MEMBER_FAULT: 13,
1859
+ MONITORED_OBJECT_FAULT: 14,
1860
+ TRIPPED: 15,
1861
+ LAMP_FAILURE: 16,
1862
+ ACTIVATION_FAILURE: 17,
1863
+ RENEW_DHCP_FAILURE: 18,
1864
+ RENEW_FD_REGISTRATION_FAILURE: 19,
1865
+ RESTART_AUTO_NEGOTIATION_FAILURE: 20,
1866
+ RESTART_FAILURE: 21,
1867
+ PROPRIETARY_COMMAND_FAILURE: 22,
1868
+ FAULTS_LISTED: 23,
1869
+ REFERENCED_OBJECT_FAULT: 24
1870
+ };
1871
+
1872
+ module.exports.ReliabilityName = usc.invert(module.exports.Reliability);
1873
+
1874
+ module.exports.RestartReason = {
1875
+ UNKNOWN: 0,
1876
+ COLDSTART: 1,
1877
+ WARMSTART: 2,
1878
+ DETECTED_POWER_LOST: 3,
1879
+ DETECTED_POWERED_OFF: 4,
1880
+ HARDWARE_WATCHDOG: 5,
1881
+ SOFTWARE_WATCHDOG: 6,
1882
+ SUSPENDED: 7,
1883
+ ACTIVATE_CHANGES: 8
1884
+ };
1885
+
1886
+ module.exports.ReliabilityName = usc.invert(module.exports.Reliability);
1887
+
1888
+ module.exports.SecurityLevel = {
1889
+ INCAPABLE: 0,
1890
+ PLAIN: 1,
1891
+ SIGNED: 2,
1892
+ ENCRYPTED: 3,
1893
+ SIGNED_END_TO_END: 4,
1894
+ ENCRYPTED_END_TO_END: 5
1895
+ };
1896
+
1897
+ module.exports.ReliabilityName = usc.invert(module.exports.Reliability);
1898
+
1899
+ module.exports.SecurityPolicy = {
1900
+ PLAIN_NON_TRUSTED: 0,
1901
+ PLAIN_TRUSTED: 1,
1902
+ SIGNED_TRUSTED: 2,
1903
+ ENCRYPTED_TRUSTED: 3
1904
+ };
1905
+
1906
+ module.exports.SecurityPolicyName = usc.invert(module.exports.SecurityPolicy);
1907
+
1908
+ module.exports.Segmentation = {
1909
+ SEGMENTED_BOTH: 0,
1910
+ SEGMENTED_TRANSMIT: 1,
1911
+ SEGMENTED_RECEIVE: 2,
1912
+ NO_SEGMENTATION: 3
1913
+ };
1914
+
1915
+ module.exports.SegmentationName = usc.invert(module.exports.Segmentation);
1916
+
1917
+ module.exports.ShedState = {
1918
+ SHED_INACTIVE: 0,
1919
+ SHED_REQUEST_PENDING: 1,
1920
+ SHED_COMPLIANT: 2,
1921
+ SHED_NON_COMPLIANT: 3
1922
+ };
1923
+
1924
+ module.exports.ShedStateName = usc.invert(module.exports.ShedState);
1925
+
1926
+ module.exports.SilencedState = {
1927
+ UNSILENCED: 0,
1928
+ AUDIBLE_SILENCED: 1,
1929
+ VISIBLE_SILENCED: 2,
1930
+ ALL_SILENCED: 3
1931
+ };
1932
+
1933
+ module.exports.SilencedStateName = usc.invert(module.exports.SilencedState);
1934
+
1935
+ module.exports.TimerState = {
1936
+ IDLE: 0,
1937
+ RUNNING: 1,
1938
+ EXPIRED: 2
1939
+ };
1940
+
1941
+ module.exports.TimerStateName = usc.invert(module.exports.TimerState);
1942
+
1943
+ module.exports.TimerTransition = {
1944
+ NONE: 0,
1945
+ IDLE_TO_RUNNING: 1,
1946
+ RUNNING_TO_IDLE: 2,
1947
+ RUNNING_TO_RUNNING: 3,
1948
+ RUNNING_TO_EXPIRED: 4,
1949
+ FORCED_TO_EXPIRED: 5,
1950
+ EXPIRED_TO_IDLE: 6,
1951
+ EXPIRED_TO_RUNNING: 7
1952
+ };
1953
+
1954
+ module.exports.TimerTransitionName = usc.invert(module.exports.TimerTransition);
1955
+
1956
+ module.exports.VTClass = {
1957
+ DEFAULT_TERMINAL: 0,
1958
+ ANSI_X3_64: 1,
1959
+ DEC_VT52: 2,
1960
+ DEC_VT100: 3,
1961
+ DEC_VT220: 4,
1962
+ HP_700_94: 5,
1963
+ IBM_3130: 6
1964
+ };
1965
+
1966
+ module.exports.VTClassName = usc.invert(module.exports.VTClass);
1967
+
1968
+ module.exports.WriteStatus = {
1969
+ IDLE: 0,
1970
+ IN_PROGRESS: 1,
1971
+ SUCCESSFUL: 2,
1972
+ FAILED: 3
1973
+ };
1974
+
1975
+ module.exports.WriteStatusName = usc.invert(module.exports.WriteStatus);
1976
+
1977
+ // ASHRE 135-2016 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS - Bitstrings
1978
+ module.exports.DaysOfWeek = {
1979
+ MONDAY: 0,
1980
+ TUESDAY: 1,
1981
+ WEDNESDAY: 2,
1982
+ THURSDAY: 3,
1983
+ FRIDAY: 4,
1984
+ SATURDAY: 5,
1985
+ SUNDAY: 6
1986
+ };
1987
+
1988
+ module.exports.DaysOfWeekName = usc.invert(module.exports.DaysOfWeek);
1989
+
1990
+ module.exports.EventTransitionBits = {
1991
+ TO_OFFNORMAL: 0,
1992
+ TO_FAULT: 1,
1993
+ TO_NORMAL: 2
1994
+ };
1995
+
1996
+ module.exports.EventTransitionBitsName = usc.invert(module.exports.EventTransitionBits);
1997
+
1998
+ module.exports.LimitEnable = {
1999
+ LOW_LIMIT_ENABLE: 0,
2000
+ HIGH_LIMIT_ENABLE: 1
2001
+ };
2002
+
2003
+ module.exports.LimitEnableName = usc.invert(module.exports.LimitEnable);
2004
+
2005
+ module.exports.LogStatus = {
2006
+ LOG_DISABLED: 0,
2007
+ BUFFER_PURGED: 1,
2008
+ LOG_INTERRUPTED: 2
2009
+ };
2010
+
2011
+ module.exports.LogStatusName = usc.invert(module.exports.LogStatus);
2012
+
2013
+ module.exports.ObjectTypesSupported = {
2014
+ ANALOG_INPUT: 0,
2015
+ ANALOG_OUTPUT: 1,
2016
+ ANALOG_VALUE: 2,
2017
+ BINARY_INPUT: 3,
2018
+ BINARY_OUTPUT: 4,
2019
+ BINARY_VALUE: 5,
2020
+ CALENDAR: 6,
2021
+ COMMAND: 7,
2022
+ DEVICE: 8,
2023
+ EVENT_ENROLLMENT: 9,
2024
+ FILE: 10,
2025
+ GROUP: 11,
2026
+ LOOP: 12,
2027
+ MULTI_STATE_INPUT: 13,
2028
+ MULTI_STATE_OUTPUT: 14,
2029
+ NOTIFICATION_CLASS: 15,
2030
+ PROGRAM: 16,
2031
+ SCHEDULE: 17,
2032
+ AVERAGING: 18,
2033
+ MULTI_STATE_VALUE: 19,
2034
+ TREND_LOG: 20,
2035
+ LIFE_SAFETY_POINT: 21,
2036
+ LIFE_SAFETY_ZONE: 22,
2037
+ ACCUMULATOR: 23,
2038
+ PULSE_CONVERTER: 24,
2039
+ EVENT_LOG: 25,
2040
+ GLOBAL_GROUP: 26,
2041
+ TREND_LOG_MULTIPLE: 27,
2042
+ LOAD_CONTROL: 28,
2043
+ STRUCTURED_VIEW: 29,
2044
+ ACCESS_DOOR: 30,
2045
+ TIMER: 31,
2046
+ ACCESS_CREDENTIAL: 32,
2047
+ ACCESS_POINT: 33,
2048
+ ACCESS_RIGHTS: 34,
2049
+ ACCESS_USER: 35,
2050
+ ACCESS_ZONE: 36,
2051
+ CREDENTIAL_DATA_INPUT: 37,
2052
+ NETWORK_SECURITY: 38,
2053
+ BITSTRING_VALUE: 39,
2054
+ CHARACTERSTRING_VALUE: 40,
2055
+ DATEPATTERN_VALUE: 41,
2056
+ DATE_VALUE: 42,
2057
+ DATETIMEPATTERN_VALUE: 43,
2058
+ DATETIME_VALUE: 44,
2059
+ INTEGER_VALUE: 45,
2060
+ LARGE_ANALOG_VALUE: 46,
2061
+ OCTETSTRING_VALUE: 47,
2062
+ POSITIVE_INTEGER_VALUE: 48,
2063
+ TIMEPATTERN_VALUE: 49,
2064
+ TIME_VALUE: 50,
2065
+ NOTIFICATION_FORWARDER: 51,
2066
+ ALERT_ENROLLMENT: 52,
2067
+ CHANNEL: 53,
2068
+ LIGHTING_OUTPUT: 54,
2069
+ BINARY_LIGHTING_OUTPUT: 55,
2070
+ NETWORK_PORT: 56,
2071
+ ELEVATOR_GROUP: 57,
2072
+ ESCALATOR: 58,
2073
+ LIFT: 59
2074
+ };
2075
+
2076
+ module.exports.ObjectTypesSupportedName = usc.invert(module.exports.ObjectTypesSupported);
2077
+
2078
+ module.exports.ResultFlags = {
2079
+ FIRST_ITEM: 0,
2080
+ LAST_ITEM: 1,
2081
+ MORE_ITEMS: 2
2082
+ };
2083
+
2084
+ module.exports.ResultFlagsName = usc.invert(module.exports.ResultFlags);
2085
+
2086
+ module.exports.ServicesSupported = {
2087
+ ACKNOWLEDGE_ALARM: 0,
2088
+ CONFIRMED_COV_NOTIFICATION: 1,
2089
+ CONFIRMED_EVENT_NOTIFICATION: 2,
2090
+ GET_ALARM_SUMMARY: 3,
2091
+ GET_ENROLLMENT_SUMMARY: 4,
2092
+ SUBSCRIBE_COV: 5,
2093
+ ATOMIC_READ_FILE: 6,
2094
+ ATOMIC_WRITE_FILE: 7,
2095
+ ADD_LIST_ELEMENT: 8,
2096
+ REMOVE_LIST_ELEMENT: 9,
2097
+ CREATE_OBJECT: 10,
2098
+ DELETE_OBJECT: 11,
2099
+ READ_PROPERTY: 12,
2100
+ READ_PROPERTY_MULTIPLE: 14,
2101
+ WRITE_PROPERTY: 15,
2102
+ WRITE_PROPERTY_MULTIPLE: 16,
2103
+ DEVICE_COMMUNICATION_CONTROL: 17,
2104
+ CONFIRMED_PRIVATE_TRANSFER: 18,
2105
+ CONFIRMED_TEXT_MESSAGE: 19,
2106
+ REINITIALIZE_DEVICE: 20,
2107
+ VT_OPEN: 21,
2108
+ VT_CLOSE: 22,
2109
+ VT_DATA: 23,
2110
+ READ_PROPERTY_CONDITIONAL: 13,
2111
+ AUTHENTICATE: 24,
2112
+ REQUEST_KEY: 25,
2113
+ I_AM: 26,
2114
+ I_HAVE: 27,
2115
+ UNCONFIRMED_COV_NOTIFICATION: 28,
2116
+ UNCONFIRMED_EVENT_NOTIFICATION: 29,
2117
+ UNCONFIRMED_PRIVATE_TRANSFER: 30,
2118
+ UNCONFIRMED_TEXT_MESSAGE: 31,
2119
+ TIME_SYNCHRONIZATION: 32,
2120
+ WHO_HAS: 33,
2121
+ WHO_IS: 34,
2122
+ READ_RANGE: 35,
2123
+ UTC_TIME_SYNCHRONIZATION: 36,
2124
+ LIFE_SAFETY_OPERATION: 37,
2125
+ SUBSCRIBE_COV_PROPERTY: 38,
2126
+ GET_EVENT_INFORMATION: 39,
2127
+ WRITE_GROUP: 40,
2128
+ SUBSCRIBE_COV_PROPERTY_MULTIPLE: 41,
2129
+ CONFIRMED_COV_NOTIFICATION_MULTIPLE: 42,
2130
+ UNCONFIRMED_COV_NOTIFICATION_MULTIPLE: 43
2131
+ };
2132
+
2133
+ module.exports.ServicesSupportedName = usc.invert(module.exports.ServicesSupported);
2134
+
2135
+ module.exports.StatusFlags = {
2136
+ IN_ALARM: 0,
2137
+ FAULT: 1,
2138
+ OVERRIDDEN: 2,
2139
+ OUT_OF_SERVICE: 3
2140
+ };
2141
+
2142
+ module.exports.StatusFlagsName = usc.invert(module.exports.StatusFlags);
2143
+
2144
+ // ASHRE 135-2016 - 20.2.1.4 Application Tags - Enumerators
2145
+ /**
2146
+ * @readonly
2147
+ * @enum {ApplicationTag}
2148
+ */
2149
+ module.exports.ApplicationTag = {
2150
+ NULL: 0,
2151
+ BOOLEAN: 1,
2152
+ UNSIGNED_INTEGER: 2,
2153
+ SIGNED_INTEGER: 3,
2154
+ REAL: 4,
2155
+ DOUBLE: 5,
2156
+ OCTET_STRING: 6,
2157
+ CHARACTER_STRING: 7,
2158
+ BIT_STRING: 8,
2159
+ ENUMERATED: 9,
2160
+ DATE: 10,
2161
+ TIME: 11,
2162
+ OBJECTIDENTIFIER: 12,
2163
+ // Application Tags - Internal
2164
+ EMPTYLIST: 100,
2165
+ WEEKNDAY: 101,
2166
+ DATERANGE: 102,
2167
+ DATETIME: 103,
2168
+ TIMESTAMP: 104,
2169
+ ERROR: 105,
2170
+ DEVICE_OBJECT_PROPERTY_REFERENCE: 106,
2171
+ DEVICE_OBJECT_REFERENCE: 107,
2172
+ OBJECT_PROPERTY_REFERENCE: 108,
2173
+ DESTINATION: 109,
2174
+ RECIPIENT: 110,
2175
+ COV_SUBSCRIPTION: 111,
2176
+ CALENDAR_ENTRY: 112,
2177
+ WEEKLY_SCHEDULE: 113,
2178
+ SPECIAL_EVENT: 114,
2179
+ READ_ACCESS_SPECIFICATION: 115,
2180
+ READ_ACCESS_RESULT: 116,
2181
+ LIGHTING_COMMAND: 117,
2182
+ CONTEXT_SPECIFIC_DECODED: 118,
2183
+ CONTEXT_SPECIFIC_ENCODED: 119,
2184
+ LOG_RECORD: 120
2185
+ };
2186
+
2187
+ module.exports.ApplicationTagName = usc.invert(module.exports.ApplicationTag);
2188
+
2189
+ // ASHRE 135-2016 - J.2.1.1 BVLC-Result: Format - Enumerators
2190
+ module.exports.BvlcResultFormat = {
2191
+ SUCCESSFUL_COMPLETION: 0x0000,
2192
+ WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK: 0x0010,
2193
+ READ_BROADCAST_DISTRIBUTION_TABLE_NAK: 0x0020,
2194
+ REGISTER_FOREIGN_DEVICE_NAK: 0x0030,
2195
+ READ_FOREIGN_DEVICE_TABLE_NAK: 0x0040,
2196
+ DELETE_FOREIGN_DEVICE_TABLE_ENTRY_NAK: 0x0050,
2197
+ DISTRIBUTE_BROADCAST_TO_NETWORK_NAK: 0x0060
2198
+ };
2199
+
2200
+ module.exports.BvlcResultFormatName = usc.invert(module.exports.BvlcResultFormat);
2201
+
2202
+ // ASHRE 135-2016 - J.2.1 BVLC-Result: Purpose - Enumerators
2203
+ module.exports.BvlcResultPurpose = {
2204
+ BVLC_RESULT: 0x00,
2205
+ WRITE_BROADCAST_DISTRIBUTION_TABLE: 0x01,
2206
+ READ_BROADCAST_DISTRIBUTION_TABLE: 0x02,
2207
+ READ_BROADCAST_DISTRIBUTION_TABLE_ACK: 0x03,
2208
+ FORWARDED_NPDU: 0x04,
2209
+ REGISTER_FOREIGN_DEVICE: 0x05,
2210
+ READ_FOREIGN_DEVICE_TABLE: 0x06,
2211
+ READ_FOREIGN_DEVICE_TABLE_ACK: 0x07,
2212
+ DELETE_FOREIGN_DEVICE_TABLE_ENTRY: 0x08,
2213
+ DISTRIBUTE_BROADCAST_TO_NETWORK: 0x09,
2214
+ ORIGINAL_UNICAST_NPDU: 0x0A,
2215
+ ORIGINAL_BROADCAST_NPDU: 0x0B,
2216
+ SECURE_BVLL: 0x0C
2217
+ };
2218
+
2219
+ module.exports.BvlcResultPurposeName = usc.invert(module.exports.BvlcResultPurpose);
2220
+
2221
+ // ASHRE 135-2016 - 20.2.9 Encoding of a Character String Value - Enumerators
2222
+ module.exports.CharacterStringEncoding = {
2223
+ UTF_8: 0,
2224
+ MICROSOFT_DBCS: 1,
2225
+ JIS_X_0208: 2,
2226
+ UCS_4: 3,
2227
+ UCS_2: 4,
2228
+ ISO_8859_1: 5
2229
+ };
2230
+
2231
+ module.exports.CharacterStringEncodingName = usc.invert(module.exports.CharacterStringEncoding);
2232
+
2233
+ // ASHRE 135-2016 - 13.3.3 CHANGE_OF_VALUE Event Algorithm - Internal
2234
+ module.exports.CovType = {
2235
+ REAL: 0,
2236
+ BIT_STRING: 1
2237
+ };
2238
+
2239
+ module.exports.CovTypeName = usc.invert(module.exports.CovType);
2240
+
2241
+ // ASHRE 135-2016 - 16.1.1.1.2 Enable/Disable - Enumerators
2242
+ /**
2243
+ * @readonly
2244
+ * @enum {EnableDisable}
2245
+ */
2246
+ module.exports.EnableDisable = {
2247
+ ENABLE: 0,
2248
+ DISABLE: 1,
2249
+ DISABLE_INITIATION: 2
2250
+ };
2251
+
2252
+ module.exports.EnableDisableName = usc.invert(module.exports.EnableDisable);
2253
+
2254
+ // ASHRE 135-2016 - 20.1.2.5 max-apdu-length-accepted - Enumerators
2255
+ /**
2256
+ * @readonly
2257
+ * @enum {MaxApduLengthAccepted}
2258
+ */
2259
+ module.exports.MaxApduLengthAccepted = {
2260
+ OCTETS_50: 0b0000,
2261
+ OCTETS_128: 0b0001,
2262
+ OCTETS_206: 0b0010,
2263
+ OCTETS_480: 0b0011,
2264
+ OCTETS_1024: 0b0100,
2265
+ OCTETS_1476: 0b0101
2266
+ };
2267
+
2268
+ module.exports.MaxApduLengthAcceptedName = usc.invert(module.exports.MaxApduLengthAccepted);
2269
+
2270
+ // ASHRE 135-2016 - 20.1.2.4 max-segments-accepted - Enumerators
2271
+ /**
2272
+ * @readonly
2273
+ * @enum {MaxSegmentsAccepted}
2274
+ */
2275
+ module.exports.MaxSegmentsAccepted = {
2276
+ SEGMENTS_0: (0b000 << 4),
2277
+ SEGMENTS_2: (0b001 << 4),
2278
+ SEGMENTS_4: (0b010 << 4),
2279
+ SEGMENTS_8: (0b011 << 4),
2280
+ SEGMENTS_16: (0b100 << 4),
2281
+ SEGMENTS_32: (0b101 << 4),
2282
+ SEGMENTS_64: (0b110 << 4),
2283
+ SEGMENTS_65: (0b111 << 4)
2284
+ };
2285
+
2286
+ module.exports.MaxSegmentsAcceptedName = usc.invert(module.exports.MaxSegmentsAccepted);
2287
+
2288
+ // ASHRE 135-2016 - 6.2.4 Network Layer Message Type - Enumerators
2289
+ module.exports.NetworkLayerMessageType = {
2290
+ WHO_IS_ROUTER_TO_NETWORK: 0x00,
2291
+ I_AM_ROUTER_TO_NETWORK: 0x01,
2292
+ I_COULD_BE_ROUTER_TO_NETWORK: 0x02,
2293
+ REJECT_MESSAGE_TO_NETWORK: 0x03,
2294
+ ROUTER_BUSY_TO_NETWORK: 0x04,
2295
+ ROUTER_AVAILABLE_TO_NETWORK: 0x05,
2296
+ INITIALIZE_ROUTING_TABLE: 0x06,
2297
+ INITIALIZE_ROUTING_TABLE_ACK: 0x07,
2298
+ ESTABLISH_CONNECTION_TO_NETWORK: 0x08,
2299
+ DISCONNECT_CONNECTION_TO_NETWORK: 0x09,
2300
+ CHALLENGE_REQUEST: 0x0A,
2301
+ SECURITY_PAYLOAD: 0x0B,
2302
+ SECURITY_RESPONSE: 0x0C,
2303
+ REQUEST_KEY_UPDATE: 0x0D,
2304
+ UPDATE_KEY_SET: 0x0E,
2305
+ UPDATE_DISTRIBUTION_KEY: 0x0F,
2306
+ REQUEST_MASTER_KEY: 0x10,
2307
+ SET_MASTER_KEY: 0x11,
2308
+ WHAT_IS_NETWORK_NUMBER: 0x12,
2309
+ NETWORK_NUMBER_IS: 0x13
2310
+ };
2311
+
2312
+ module.exports.NetworkLayerMessageTypeName = usc.invert(module.exports.NetworkLayerMessageType);
2313
+
2314
+ // ASHRE 135-2016 - 6.2.2 Network Layer Protocol Control Information - Enumerators
2315
+ module.exports.NpduControlBit = {
2316
+ EXPECTING_REPLY: (1 << 2),
2317
+ SOURCE_SPECIFIED: (1 << 3),
2318
+ DESTINATION_SPECIFIED: (1 << 5),
2319
+ NETWORK_LAYER_MESSAGE: (1 << 7)
2320
+ };
2321
+
2322
+ module.exports.NpduControlBitName = usc.invert(module.exports.NpduControlBit);
2323
+
2324
+ // ASHRE 135-2016 - 6.2.2 Network Layer Protocol Control Information - Enumerators
2325
+ module.exports.NpduControlPriority = {
2326
+ NORMAL_MESSAGE: 0b00,
2327
+ URGENT_MESSAGE: 0b01,
2328
+ CRITICAL_EQUIPMENT_MESSAGE: 0b10,
2329
+ LIFE_SAFETY_MESSAGE: 0b11
2330
+ };
2331
+
2332
+ module.exports.NpduControlPriorityName = usc.invert(module.exports.NpduControlPriority);
2333
+
2334
+ // ASHRE 135-2016 - 20.1.2.11 Format of the BACnet-Confirmed-Request-PDU - Enumerators
2335
+ module.exports.PduConReqBit = {
2336
+ SEGMENTED_RESPONSE_ACCEPTED: (1 << 1),
2337
+ MORE_FOLLOWS: (1 << 2),
2338
+ SEGMENTED_MESSAGE: (1 << 3)
2339
+ };
2340
+
2341
+ module.exports.PduConReqBitName = usc.invert(module.exports.PduConReqBit);
2342
+
2343
+ // ASHRE 135-2016 - 20.1.6.6 Format of the BACnet-SegmentACK-PDU - Enumerators
2344
+ module.exports.PduSegAckBit = {
2345
+ SERVER: (1 << 0),
2346
+ NEGATIVE_ACK: (1 << 1)
2347
+ };
2348
+
2349
+ module.exports.PduSegAckBitName = usc.invert(module.exports.PduSegAckBit);
2350
+
2351
+ // ASHRE 135-2016 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS - Enumerators
2352
+ module.exports.PduType = {
2353
+ CONFIRMED_REQUEST: (0 << 4),
2354
+ UNCONFIRMED_REQUEST: (1 << 4),
2355
+ SIMPLE_ACK: (2 << 4),
2356
+ COMPLEX_ACK: (3 << 4),
2357
+ SEGMENT_ACK: (4 << 4),
2358
+ ERROR: (5 << 4),
2359
+ REJECT: (6 << 4),
2360
+ ABORT: (7 << 4)
2361
+ };
2362
+
2363
+ module.exports.PduTypeName = usc.invert(module.exports.PduType);
2364
+
2365
+ // ASHRE 135-2016 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS - Enumerators
2366
+ module.exports.PropertyStates = {
2367
+ BOOLEAN_VALUE: 0,
2368
+ BINARY_VALUE: 1,
2369
+ EVENT_TYPE: 2,
2370
+ POLARITY: 3,
2371
+ PROGRAM_CHANGE: 4,
2372
+ PROGRAM_STATE: 5,
2373
+ REASON_FOR_HALT: 6,
2374
+ RELIABILITY: 7,
2375
+ STATE: 8,
2376
+ SYSTEM_STATUS: 9,
2377
+ UNITS: 10,
2378
+ UNSIGNED_VALUE: 11,
2379
+ LIFE_SAFETY_MODE: 12,
2380
+ LIFE_SAFETY_STATE: 13,
2381
+ RESTART_REASON: 14,
2382
+ DOOR_ALARM_STATE: 15,
2383
+ ACTION: 16,
2384
+ DOOR_SECURED_STATUS: 17,
2385
+ DOOR_STATUS: 18,
2386
+ DOOR_VALUE: 19,
2387
+ FILE_ACCESS_METHOD: 20,
2388
+ LOCK_STATUS: 21,
2389
+ LIFE_SAFETY_OPERATION: 22,
2390
+ MAINTENANCE: 23,
2391
+ NODE_TYPE: 24,
2392
+ NOTIFY_TYPE: 25,
2393
+ SECURITY_LEVEL: 26,
2394
+ SHED_STATE: 27,
2395
+ SILENCED_STATE: 28,
2396
+ ACCESS_EVENT: 30,
2397
+ ZONE_OCCUPANCY_STATE: 31,
2398
+ ACCESS_CREDENTIAL_DISABLE_REASON: 32,
2399
+ ACCESS_CREDENTIAL_DISABLE: 33,
2400
+ AUTHENTICATION_STATUS: 34,
2401
+ BACKUP_STATE: 36,
2402
+ WRITE_STATUS: 37,
2403
+ LIGHTING_IN_PROGRESS: 38,
2404
+ LIGHTING_OPERATION: 39,
2405
+ LIGHTING_TRANSITION: 40,
2406
+ INTEGER_VALUE: 41,
2407
+ BINARY_LIGHTING_VALUE: 42,
2408
+ TIMER_STATE: 43,
2409
+ TIMER_TRANSITION: 44,
2410
+ BACNET_IP_MODE: 45,
2411
+ NETWORK_PORT_COMMAND: 46,
2412
+ NETWORK_TYPE: 47,
2413
+ NETWORK_NUMBER_QUALITY: 48,
2414
+ ESCALATOR_OPERATION_DIRECTION: 49,
2415
+ ESCALATOR_FAULT: 50,
2416
+ ESCALATOR_MODE: 51,
2417
+ LIFT_CAR_DIRECTION: 52,
2418
+ LIFT_CAR_DOOR_COMMAND: 53,
2419
+ LIFT_CAR_DRIVE_STATUS: 54,
2420
+ LIFT_CAR_MODE: 55,
2421
+ LIFT_GROUP_MODE: 56,
2422
+ LIFT_FAULT: 57,
2423
+ PROTOCOL_LEVEL: 58,
2424
+ EXTENDED_VALUE: 63
2425
+ };
2426
+
2427
+ module.exports.PropertyStatesName = usc.invert(module.exports.PropertyStates);
2428
+
2429
+ // ASHRE 135-2016 - 15.8.1.1.4 Range - Internal
2430
+ module.exports.ReadRangeType = {
2431
+ BY_POSITION: 0,
2432
+ BY_SEQUENCE_NUMBER: 1,
2433
+ BY_TIME_REFERENCE_TIME_COUNT: 2
2434
+ };
2435
+
2436
+ module.exports.ReadRangeTypeName = usc.invert(module.exports.ReadRangeType);
2437
+
2438
+ // ASHRE 135-2016 - 16.4.1.1.1 Reinitialized State of Device - Enumerators
2439
+ /**
2440
+ * @readonly
2441
+ * @enum {ReinitializedState}
2442
+ */
2443
+ module.exports.ReinitializedState = {
2444
+ COLDSTART: 0,
2445
+ WARMSTART: 1,
2446
+ STARTBACKUP: 2,
2447
+ ENDBACKUP: 3,
2448
+ STARTRESTORE: 4,
2449
+ ENDRESTORE: 5,
2450
+ ABORTRESTORE: 6,
2451
+ ACTIVATE_CHANGES: 7
2452
+ };
2453
+
2454
+ module.exports.ReinitializedStateName = usc.invert(module.exports.ReinitializedState);
2455
+
2456
+ // ASHRE 135-2016 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS - Internal
2457
+ module.exports.TimeStamp = {
2458
+ TIME: 0,
2459
+ SEQUENCE_NUMBER: 1,
2460
+ DATETIME: 2
2461
+ };
2462
+
2463
+ module.exports.TimeStampName = usc.invert(module.exports.TimeStamp);