@bitpoolos/edge-bacnet 1.1.8 → 1.2.1

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 (122) hide show
  1. package/bacnet_client.js +331 -168
  2. package/bacnet_device.js +50 -16
  3. package/bacnet_gateway.html +119 -15
  4. package/bacnet_gateway.js +388 -395
  5. package/bacnet_read.html +32 -11
  6. package/bacnet_read.js +1 -1
  7. package/bacnet_server.js +16 -12
  8. package/common.js +26 -19
  9. package/examples/1-Discover-Read.json +1 -1
  10. package/examples/2-Discover-Write.json +1 -1
  11. package/examples/3-Discover-Read-Write.json +1 -1
  12. package/package.json +3 -3
  13. package/resources/{node-bacnet/LICENSE.md → node-bacstack-ts/LICENSE} +3 -4
  14. package/resources/node-bacstack-ts/README.md +75 -0
  15. package/resources/{node-bacnet → node-bacstack-ts/dist}/index.js +0 -2
  16. package/resources/node-bacstack-ts/dist/lib/apdu.js +193 -0
  17. package/resources/node-bacstack-ts/dist/lib/asn1.js +1660 -0
  18. package/resources/node-bacstack-ts/dist/lib/bvlc.js +47 -0
  19. package/resources/node-bacstack-ts/dist/lib/client.js +1454 -0
  20. package/resources/node-bacstack-ts/dist/lib/enum.js +2114 -0
  21. package/resources/node-bacstack-ts/dist/lib/npdu.js +112 -0
  22. package/resources/node-bacstack-ts/dist/lib/services/add-list-element.js +58 -0
  23. package/resources/node-bacstack-ts/dist/lib/services/alarm-acknowledge.js +93 -0
  24. package/resources/node-bacstack-ts/dist/lib/services/alarm-summary.js +42 -0
  25. package/resources/node-bacstack-ts/dist/lib/services/atomic-read-file.js +157 -0
  26. package/resources/node-bacstack-ts/dist/lib/services/atomic-write-file.js +136 -0
  27. package/resources/node-bacstack-ts/dist/lib/services/cov-notify.js +119 -0
  28. package/resources/node-bacstack-ts/dist/lib/services/create-object.js +104 -0
  29. package/resources/node-bacstack-ts/dist/lib/services/delete-object.js +21 -0
  30. package/resources/node-bacstack-ts/dist/lib/services/device-communication-control.js +46 -0
  31. package/resources/node-bacstack-ts/dist/lib/services/error.js +27 -0
  32. package/resources/node-bacstack-ts/dist/lib/services/event-information.js +100 -0
  33. package/resources/node-bacstack-ts/dist/lib/services/event-notify-data.js +219 -0
  34. package/resources/node-bacstack-ts/dist/lib/services/get-enrollment-summary.js +172 -0
  35. package/resources/node-bacstack-ts/dist/lib/services/get-event-information.js +135 -0
  36. package/resources/node-bacstack-ts/dist/lib/services/i-am-broadcast.js +59 -0
  37. package/resources/node-bacstack-ts/dist/lib/services/i-have-broadcast.js +34 -0
  38. package/resources/node-bacstack-ts/dist/lib/services/index.js +32 -0
  39. package/resources/node-bacstack-ts/dist/lib/services/life-safety-operation.js +40 -0
  40. package/resources/node-bacstack-ts/dist/lib/services/private-transfer.js +43 -0
  41. package/resources/node-bacstack-ts/dist/lib/services/read-property-multiple.js +44 -0
  42. package/resources/node-bacstack-ts/dist/lib/services/read-property.js +122 -0
  43. package/resources/node-bacstack-ts/dist/lib/services/read-range.js +201 -0
  44. package/resources/node-bacstack-ts/dist/lib/services/reinitialize-device.js +35 -0
  45. package/resources/node-bacstack-ts/dist/lib/services/subscribe-cov.js +55 -0
  46. package/resources/node-bacstack-ts/dist/lib/services/subscribe-property.js +93 -0
  47. package/resources/node-bacstack-ts/dist/lib/services/time-sync.js +31 -0
  48. package/resources/node-bacstack-ts/dist/lib/services/who-has.js +56 -0
  49. package/resources/node-bacstack-ts/dist/lib/services/who-is.js +45 -0
  50. package/resources/node-bacstack-ts/dist/lib/services/write-property-multiple.js +105 -0
  51. package/resources/node-bacstack-ts/dist/lib/services/write-property.js +90 -0
  52. package/resources/node-bacstack-ts/dist/lib/transport.js +49 -0
  53. package/resources/node-bacstack-ts/dist/lib/types.js +2 -0
  54. package/resources/node-bacstack-ts/package.json +94 -0
  55. package/resources/node-bacnet/CHANGELOG.md +0 -481
  56. package/resources/node-bacnet/README.md +0 -91
  57. package/resources/node-bacnet/docs/Client.html +0 -4422
  58. package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
  59. package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
  60. package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
  61. package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
  62. package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
  63. package/resources/node-bacnet/docs/bacnet.html +0 -7032
  64. package/resources/node-bacnet/docs/client.js.html +0 -1759
  65. package/resources/node-bacnet/docs/enum.js.html +0 -2530
  66. package/resources/node-bacnet/docs/global.html +0 -2068
  67. package/resources/node-bacnet/docs/images/mocha-logo.svg +0 -65
  68. package/resources/node-bacnet/docs/index.html +0 -283
  69. package/resources/node-bacnet/docs/scripts/collapse.js +0 -11
  70. package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +0 -4
  71. package/resources/node-bacnet/docs/scripts/linenumber.js +0 -26
  72. package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  73. package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +0 -2
  74. package/resources/node-bacnet/docs/scripts/prettify/prettify.js +0 -28
  75. package/resources/node-bacnet/docs/scripts/search.js +0 -47
  76. package/resources/node-bacnet/docs/services_i-am.js.html +0 -157
  77. package/resources/node-bacnet/docs/services_time-sync.js.html +0 -118
  78. package/resources/node-bacnet/docs/services_who-is.js.html +0 -138
  79. package/resources/node-bacnet/docs/styles/jsdoc.css +0 -683
  80. package/resources/node-bacnet/docs/styles/prettify.css +0 -82
  81. package/resources/node-bacnet/examples/discover-devices.js +0 -66
  82. package/resources/node-bacnet/examples/read-device.js +0 -510
  83. package/resources/node-bacnet/examples/subscribe-cov.js +0 -75
  84. package/resources/node-bacnet/lib/apdu.js +0 -209
  85. package/resources/node-bacnet/lib/asn1.js +0 -1733
  86. package/resources/node-bacnet/lib/bvlc.js +0 -90
  87. package/resources/node-bacnet/lib/client.js +0 -1695
  88. package/resources/node-bacnet/lib/enum.js +0 -2463
  89. package/resources/node-bacnet/lib/npdu.js +0 -123
  90. package/resources/node-bacnet/lib/services/add-list-element.js +0 -64
  91. package/resources/node-bacnet/lib/services/alarm-acknowledge.js +0 -90
  92. package/resources/node-bacnet/lib/services/alarm-summary.js +0 -42
  93. package/resources/node-bacnet/lib/services/atomic-read-file.js +0 -162
  94. package/resources/node-bacnet/lib/services/atomic-write-file.js +0 -138
  95. package/resources/node-bacnet/lib/services/cov-notify.js +0 -126
  96. package/resources/node-bacnet/lib/services/create-object.js +0 -106
  97. package/resources/node-bacnet/lib/services/delete-object.js +0 -23
  98. package/resources/node-bacnet/lib/services/device-communication-control.js +0 -48
  99. package/resources/node-bacnet/lib/services/error.js +0 -33
  100. package/resources/node-bacnet/lib/services/event-information.js +0 -99
  101. package/resources/node-bacnet/lib/services/event-notify-data.js +0 -229
  102. package/resources/node-bacnet/lib/services/get-enrollment-summary.js +0 -178
  103. package/resources/node-bacnet/lib/services/get-event-information.js +0 -144
  104. package/resources/node-bacnet/lib/services/i-am.js +0 -90
  105. package/resources/node-bacnet/lib/services/i-have.js +0 -34
  106. package/resources/node-bacnet/lib/services/index.js +0 -34
  107. package/resources/node-bacnet/lib/services/life-safety-operation.js +0 -40
  108. package/resources/node-bacnet/lib/services/private-transfer.js +0 -43
  109. package/resources/node-bacnet/lib/services/read-property-multiple.js +0 -50
  110. package/resources/node-bacnet/lib/services/read-property.js +0 -130
  111. package/resources/node-bacnet/lib/services/read-range.js +0 -201
  112. package/resources/node-bacnet/lib/services/register-foreign-device.js +0 -18
  113. package/resources/node-bacnet/lib/services/reinitialize-device.js +0 -37
  114. package/resources/node-bacnet/lib/services/subscribe-cov.js +0 -57
  115. package/resources/node-bacnet/lib/services/subscribe-property.js +0 -97
  116. package/resources/node-bacnet/lib/services/time-sync.js +0 -51
  117. package/resources/node-bacnet/lib/services/who-has.js +0 -54
  118. package/resources/node-bacnet/lib/services/who-is.js +0 -71
  119. package/resources/node-bacnet/lib/services/write-property-multiple.js +0 -117
  120. package/resources/node-bacnet/lib/services/write-property.js +0 -94
  121. package/resources/node-bacnet/lib/transport.js +0 -82
  122. package/resources/node-bacnet/package.json +0 -92
@@ -0,0 +1,193 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeAbort = exports.encodeAbort = exports.decodeError = exports.encodeError = exports.decodeSegmentAck = exports.encodeSegmentAck = exports.decodeComplexAck = exports.encodeComplexAck = exports.decodeSimpleAck = exports.encodeSimpleAck = exports.decodeUnconfirmedServiceRequest = exports.encodeUnconfirmedServiceRequest = exports.decodeConfirmedServiceRequest = exports.encodeConfirmedServiceRequest = exports.getDecodedInvokeId = exports.setDecodedType = exports.getDecodedType = void 0;
4
+ const baEnum = require("./enum");
5
+ const getDecodedType = (buffer, offset) => {
6
+ return buffer[offset];
7
+ };
8
+ exports.getDecodedType = getDecodedType;
9
+ const setDecodedType = (buffer, offset, type) => {
10
+ buffer[offset] = type;
11
+ };
12
+ exports.setDecodedType = setDecodedType;
13
+ const getDecodedInvokeId = (buffer, offset) => {
14
+ const type = (0, exports.getDecodedType)(buffer, offset);
15
+ switch (type & baEnum.PDU_TYPE_MASK) {
16
+ case baEnum.PduTypes.SIMPLE_ACK:
17
+ case baEnum.PduTypes.COMPLEX_ACK:
18
+ case baEnum.PduTypes.ERROR:
19
+ case baEnum.PduTypes.REJECT:
20
+ case baEnum.PduTypes.ABORT:
21
+ return buffer[offset + 1];
22
+ case baEnum.PduTypes.CONFIRMED_REQUEST:
23
+ return buffer[offset + 2];
24
+ default:
25
+ return;
26
+ }
27
+ };
28
+ exports.getDecodedInvokeId = getDecodedInvokeId;
29
+ const encodeConfirmedServiceRequest = (buffer, type, service, maxSegments, maxApdu, invokeId, sequencenumber, proposedWindowSize) => {
30
+ buffer.buffer[buffer.offset++] = type;
31
+ buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
32
+ buffer.buffer[buffer.offset++] = invokeId;
33
+ if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
34
+ buffer.buffer[buffer.offset++] = sequencenumber;
35
+ buffer.buffer[buffer.offset++] = proposedWindowSize;
36
+ }
37
+ buffer.buffer[buffer.offset++] = service;
38
+ };
39
+ exports.encodeConfirmedServiceRequest = encodeConfirmedServiceRequest;
40
+ const decodeConfirmedServiceRequest = (buffer, offset) => {
41
+ const orgOffset = offset;
42
+ const type = buffer[offset++];
43
+ const maxSegments = buffer[offset] & 0xF0;
44
+ const maxApdu = buffer[offset++] & 0x0F;
45
+ const invokeId = buffer[offset++];
46
+ let sequencenumber = 0;
47
+ let proposedWindowNumber = 0;
48
+ if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
49
+ sequencenumber = buffer[offset++];
50
+ proposedWindowNumber = buffer[offset++];
51
+ }
52
+ const service = buffer[offset++];
53
+ return {
54
+ len: offset - orgOffset,
55
+ type: type,
56
+ service: service,
57
+ maxSegments: maxSegments,
58
+ maxApdu: maxApdu,
59
+ invokeId: invokeId,
60
+ sequencenumber: sequencenumber,
61
+ proposedWindowNumber: proposedWindowNumber
62
+ };
63
+ };
64
+ exports.decodeConfirmedServiceRequest = decodeConfirmedServiceRequest;
65
+ const encodeUnconfirmedServiceRequest = (buffer, type, service) => {
66
+ buffer.buffer[buffer.offset++] = type;
67
+ buffer.buffer[buffer.offset++] = service;
68
+ };
69
+ exports.encodeUnconfirmedServiceRequest = encodeUnconfirmedServiceRequest;
70
+ const decodeUnconfirmedServiceRequest = (buffer, offset) => {
71
+ const orgOffset = offset;
72
+ const type = buffer[offset++];
73
+ const service = buffer[offset++];
74
+ return {
75
+ len: offset - orgOffset,
76
+ type: type,
77
+ service: service
78
+ };
79
+ };
80
+ exports.decodeUnconfirmedServiceRequest = decodeUnconfirmedServiceRequest;
81
+ const encodeSimpleAck = (buffer, type, service, invokeId) => {
82
+ buffer.buffer[buffer.offset++] = type;
83
+ buffer.buffer[buffer.offset++] = invokeId;
84
+ buffer.buffer[buffer.offset++] = service;
85
+ };
86
+ exports.encodeSimpleAck = encodeSimpleAck;
87
+ const decodeSimpleAck = (buffer, offset) => {
88
+ const orgOffset = offset;
89
+ const type = buffer[offset++];
90
+ const invokeId = buffer[offset++];
91
+ const service = buffer[offset++];
92
+ return {
93
+ len: offset - orgOffset,
94
+ type: type,
95
+ service: service,
96
+ invokeId: invokeId
97
+ };
98
+ };
99
+ exports.decodeSimpleAck = decodeSimpleAck;
100
+ const encodeComplexAck = (buffer, type, service, invokeId, sequencenumber, proposedWindowNumber) => {
101
+ let len = 3;
102
+ buffer.buffer[buffer.offset++] = type;
103
+ buffer.buffer[buffer.offset++] = invokeId;
104
+ if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
105
+ buffer.buffer[buffer.offset++] = sequencenumber;
106
+ buffer.buffer[buffer.offset++] = proposedWindowNumber;
107
+ len += 2;
108
+ }
109
+ buffer.buffer[buffer.offset++] = service;
110
+ return len;
111
+ };
112
+ exports.encodeComplexAck = encodeComplexAck;
113
+ const decodeComplexAck = (buffer, offset) => {
114
+ const orgOffset = offset;
115
+ const type = buffer[offset++];
116
+ const invokeId = buffer[offset++];
117
+ let sequencenumber = 0;
118
+ let proposedWindowNumber = 0;
119
+ if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
120
+ sequencenumber = buffer[offset++];
121
+ proposedWindowNumber = buffer[offset++];
122
+ }
123
+ const service = buffer[offset++];
124
+ return {
125
+ len: offset - orgOffset,
126
+ type: type,
127
+ service: service,
128
+ invokeId: invokeId,
129
+ sequencenumber: sequencenumber,
130
+ proposedWindowNumber: proposedWindowNumber
131
+ };
132
+ };
133
+ exports.decodeComplexAck = decodeComplexAck;
134
+ const encodeSegmentAck = (buffer, type, originalInvokeId, sequencenumber, actualWindowSize) => {
135
+ buffer.buffer[buffer.offset++] = type;
136
+ buffer.buffer[buffer.offset++] = originalInvokeId;
137
+ buffer.buffer[buffer.offset++] = sequencenumber;
138
+ buffer.buffer[buffer.offset++] = actualWindowSize;
139
+ };
140
+ exports.encodeSegmentAck = encodeSegmentAck;
141
+ const decodeSegmentAck = (buffer, offset) => {
142
+ const orgOffset = offset;
143
+ const type = buffer[offset++];
144
+ const originalInvokeId = buffer[offset++];
145
+ const sequencenumber = buffer[offset++];
146
+ const actualWindowSize = buffer[offset++];
147
+ return {
148
+ len: offset - orgOffset,
149
+ type: type,
150
+ originalInvokeId: originalInvokeId,
151
+ sequencenumber: sequencenumber,
152
+ actualWindowSize: actualWindowSize
153
+ };
154
+ };
155
+ exports.decodeSegmentAck = decodeSegmentAck;
156
+ const encodeError = (buffer, type, service, invokeId) => {
157
+ buffer.buffer[buffer.offset++] = type;
158
+ buffer.buffer[buffer.offset++] = invokeId;
159
+ buffer.buffer[buffer.offset++] = service;
160
+ };
161
+ exports.encodeError = encodeError;
162
+ const decodeError = (buffer, offset) => {
163
+ const orgOffset = offset;
164
+ const type = buffer[offset++];
165
+ const invokeId = buffer[offset++];
166
+ const service = buffer[offset++];
167
+ return {
168
+ len: offset - orgOffset,
169
+ type: type,
170
+ service: service,
171
+ invokeId: invokeId
172
+ };
173
+ };
174
+ exports.decodeError = decodeError;
175
+ const encodeAbort = (buffer, type, invokeId, reason) => {
176
+ buffer.buffer[buffer.offset++] = type;
177
+ buffer.buffer[buffer.offset++] = invokeId;
178
+ buffer.buffer[buffer.offset++] = reason;
179
+ };
180
+ exports.encodeAbort = encodeAbort;
181
+ const decodeAbort = (buffer, offset) => {
182
+ const orgOffset = offset;
183
+ const type = buffer[offset++];
184
+ const invokeId = buffer[offset++];
185
+ const reason = buffer[offset++];
186
+ return {
187
+ len: offset - orgOffset,
188
+ type: type,
189
+ invokeId: invokeId,
190
+ reason: reason
191
+ };
192
+ };
193
+ exports.decodeAbort = decodeAbort;