@bitpoolos/edge-bacnet 1.1.7 → 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 (123) hide show
  1. package/README.md +2 -2
  2. package/bacnet_client.js +331 -168
  3. package/bacnet_device.js +50 -16
  4. package/bacnet_gateway.html +119 -15
  5. package/bacnet_gateway.js +388 -395
  6. package/bacnet_read.html +32 -11
  7. package/bacnet_read.js +1 -1
  8. package/bacnet_server.js +86 -24
  9. package/common.js +26 -19
  10. package/examples/1-Discover-Read.json +1 -1
  11. package/examples/2-Discover-Write.json +1 -1
  12. package/examples/3-Discover-Read-Write.json +1 -1
  13. package/package.json +3 -3
  14. package/resources/{node-bacnet/LICENSE.md → node-bacstack-ts/LICENSE} +3 -4
  15. package/resources/node-bacstack-ts/README.md +75 -0
  16. package/resources/{node-bacnet → node-bacstack-ts/dist}/index.js +0 -2
  17. package/resources/node-bacstack-ts/dist/lib/apdu.js +193 -0
  18. package/resources/node-bacstack-ts/dist/lib/asn1.js +1660 -0
  19. package/resources/node-bacstack-ts/dist/lib/bvlc.js +47 -0
  20. package/resources/node-bacstack-ts/dist/lib/client.js +1454 -0
  21. package/resources/node-bacstack-ts/dist/lib/enum.js +2114 -0
  22. package/resources/node-bacstack-ts/dist/lib/npdu.js +112 -0
  23. package/resources/node-bacstack-ts/dist/lib/services/add-list-element.js +58 -0
  24. package/resources/node-bacstack-ts/dist/lib/services/alarm-acknowledge.js +93 -0
  25. package/resources/node-bacstack-ts/dist/lib/services/alarm-summary.js +42 -0
  26. package/resources/node-bacstack-ts/dist/lib/services/atomic-read-file.js +157 -0
  27. package/resources/node-bacstack-ts/dist/lib/services/atomic-write-file.js +136 -0
  28. package/resources/node-bacstack-ts/dist/lib/services/cov-notify.js +119 -0
  29. package/resources/node-bacstack-ts/dist/lib/services/create-object.js +104 -0
  30. package/resources/node-bacstack-ts/dist/lib/services/delete-object.js +21 -0
  31. package/resources/node-bacstack-ts/dist/lib/services/device-communication-control.js +46 -0
  32. package/resources/node-bacstack-ts/dist/lib/services/error.js +27 -0
  33. package/resources/node-bacstack-ts/dist/lib/services/event-information.js +100 -0
  34. package/resources/node-bacstack-ts/dist/lib/services/event-notify-data.js +219 -0
  35. package/resources/node-bacstack-ts/dist/lib/services/get-enrollment-summary.js +172 -0
  36. package/resources/node-bacstack-ts/dist/lib/services/get-event-information.js +135 -0
  37. package/resources/node-bacstack-ts/dist/lib/services/i-am-broadcast.js +59 -0
  38. package/resources/node-bacstack-ts/dist/lib/services/i-have-broadcast.js +34 -0
  39. package/resources/node-bacstack-ts/dist/lib/services/index.js +32 -0
  40. package/resources/node-bacstack-ts/dist/lib/services/life-safety-operation.js +40 -0
  41. package/resources/node-bacstack-ts/dist/lib/services/private-transfer.js +43 -0
  42. package/resources/node-bacstack-ts/dist/lib/services/read-property-multiple.js +44 -0
  43. package/resources/node-bacstack-ts/dist/lib/services/read-property.js +122 -0
  44. package/resources/node-bacstack-ts/dist/lib/services/read-range.js +201 -0
  45. package/resources/node-bacstack-ts/dist/lib/services/reinitialize-device.js +35 -0
  46. package/resources/node-bacstack-ts/dist/lib/services/subscribe-cov.js +55 -0
  47. package/resources/node-bacstack-ts/dist/lib/services/subscribe-property.js +93 -0
  48. package/resources/node-bacstack-ts/dist/lib/services/time-sync.js +31 -0
  49. package/resources/node-bacstack-ts/dist/lib/services/who-has.js +56 -0
  50. package/resources/node-bacstack-ts/dist/lib/services/who-is.js +45 -0
  51. package/resources/node-bacstack-ts/dist/lib/services/write-property-multiple.js +105 -0
  52. package/resources/node-bacstack-ts/dist/lib/services/write-property.js +90 -0
  53. package/resources/node-bacstack-ts/dist/lib/transport.js +49 -0
  54. package/resources/node-bacstack-ts/dist/lib/types.js +2 -0
  55. package/resources/node-bacstack-ts/package.json +94 -0
  56. package/resources/node-bacnet/CHANGELOG.md +0 -481
  57. package/resources/node-bacnet/README.md +0 -91
  58. package/resources/node-bacnet/docs/Client.html +0 -4422
  59. package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
  60. package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
  61. package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
  62. package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
  63. package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
  64. package/resources/node-bacnet/docs/bacnet.html +0 -7032
  65. package/resources/node-bacnet/docs/client.js.html +0 -1759
  66. package/resources/node-bacnet/docs/enum.js.html +0 -2530
  67. package/resources/node-bacnet/docs/global.html +0 -2068
  68. package/resources/node-bacnet/docs/images/mocha-logo.svg +0 -65
  69. package/resources/node-bacnet/docs/index.html +0 -283
  70. package/resources/node-bacnet/docs/scripts/collapse.js +0 -11
  71. package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +0 -4
  72. package/resources/node-bacnet/docs/scripts/linenumber.js +0 -26
  73. package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
  74. package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +0 -2
  75. package/resources/node-bacnet/docs/scripts/prettify/prettify.js +0 -28
  76. package/resources/node-bacnet/docs/scripts/search.js +0 -47
  77. package/resources/node-bacnet/docs/services_i-am.js.html +0 -157
  78. package/resources/node-bacnet/docs/services_time-sync.js.html +0 -118
  79. package/resources/node-bacnet/docs/services_who-is.js.html +0 -138
  80. package/resources/node-bacnet/docs/styles/jsdoc.css +0 -683
  81. package/resources/node-bacnet/docs/styles/prettify.css +0 -82
  82. package/resources/node-bacnet/examples/discover-devices.js +0 -66
  83. package/resources/node-bacnet/examples/read-device.js +0 -510
  84. package/resources/node-bacnet/examples/subscribe-cov.js +0 -75
  85. package/resources/node-bacnet/lib/apdu.js +0 -209
  86. package/resources/node-bacnet/lib/asn1.js +0 -1733
  87. package/resources/node-bacnet/lib/bvlc.js +0 -90
  88. package/resources/node-bacnet/lib/client.js +0 -1695
  89. package/resources/node-bacnet/lib/enum.js +0 -2463
  90. package/resources/node-bacnet/lib/npdu.js +0 -123
  91. package/resources/node-bacnet/lib/services/add-list-element.js +0 -64
  92. package/resources/node-bacnet/lib/services/alarm-acknowledge.js +0 -90
  93. package/resources/node-bacnet/lib/services/alarm-summary.js +0 -42
  94. package/resources/node-bacnet/lib/services/atomic-read-file.js +0 -162
  95. package/resources/node-bacnet/lib/services/atomic-write-file.js +0 -138
  96. package/resources/node-bacnet/lib/services/cov-notify.js +0 -126
  97. package/resources/node-bacnet/lib/services/create-object.js +0 -106
  98. package/resources/node-bacnet/lib/services/delete-object.js +0 -23
  99. package/resources/node-bacnet/lib/services/device-communication-control.js +0 -48
  100. package/resources/node-bacnet/lib/services/error.js +0 -33
  101. package/resources/node-bacnet/lib/services/event-information.js +0 -99
  102. package/resources/node-bacnet/lib/services/event-notify-data.js +0 -229
  103. package/resources/node-bacnet/lib/services/get-enrollment-summary.js +0 -178
  104. package/resources/node-bacnet/lib/services/get-event-information.js +0 -144
  105. package/resources/node-bacnet/lib/services/i-am.js +0 -90
  106. package/resources/node-bacnet/lib/services/i-have.js +0 -34
  107. package/resources/node-bacnet/lib/services/index.js +0 -34
  108. package/resources/node-bacnet/lib/services/life-safety-operation.js +0 -40
  109. package/resources/node-bacnet/lib/services/private-transfer.js +0 -43
  110. package/resources/node-bacnet/lib/services/read-property-multiple.js +0 -50
  111. package/resources/node-bacnet/lib/services/read-property.js +0 -130
  112. package/resources/node-bacnet/lib/services/read-range.js +0 -201
  113. package/resources/node-bacnet/lib/services/register-foreign-device.js +0 -18
  114. package/resources/node-bacnet/lib/services/reinitialize-device.js +0 -37
  115. package/resources/node-bacnet/lib/services/subscribe-cov.js +0 -57
  116. package/resources/node-bacnet/lib/services/subscribe-property.js +0 -97
  117. package/resources/node-bacnet/lib/services/time-sync.js +0 -51
  118. package/resources/node-bacnet/lib/services/who-has.js +0 -54
  119. package/resources/node-bacnet/lib/services/who-is.js +0 -71
  120. package/resources/node-bacnet/lib/services/write-property-multiple.js +0 -117
  121. package/resources/node-bacnet/lib/services/write-property.js +0 -94
  122. package/resources/node-bacnet/lib/transport.js +0 -82
  123. 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;