Switching from the BACnet library to node-backstack.
When querying for the list of objects (OBJECT_LIST) and there is a large number of objects on the controllers (around 100), readProperty returns an incorrect value. Replaced it with the node-bacstack library.
https://github.com/fh1ch/node-bacstack
Changing from readProperty to readPropertyMultiple when we querying for name of objects.
The change was made to reduce the number of packets when querying for a large number of objects.
[ ] sometimes a RangeError [ERR_OUT_OF_RANGE] is returned when querying a list of objects
2024-06-04T11:17:45.550Z [ERR] RangeError [ERR_OUT_OF_RANGE]: The value of "byteLength" is out of range. It must be >= 1 and <= 6. Received 0
at boundsError (internal/buffer.js:83:9)
at Buffer.readIntBE (internal/buffer.js:442:3)
at module.exports.decodeSigned (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\asn1.js:818:19)
at bacappDecodeData (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\asn1.js:1023:16)
at module.exports.bacappDecodeApplicationData (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\asn1.js:682:16)
at Object.module.exports.decodeReadAccessResult (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\asn1.js:764:29)
at Object.module.exports.decodeAcknowledge (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\services\read-property-multiple.js:36:27)
at C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:675:54
at _invokeStore. (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:90:7)
at Client._invokeCallback (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:78:26)
at Client._handlePdu (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:391:16)
at Client._performDefaultSegmentHandling (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:144:12)
at Client._processSegment (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:165:10)
at Client._handlePdu (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:393:16)
at Client._handleNpdu (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:437:10)
at Client._receiveData (C:\FUXA\FUXA_BACSTACK\server\node_modules\bacstack\lib\client.js:448:12)
logger.js:90
2024-06-04T11:17:46.324Z [WAR] 'BACnet' working (connection || polling) overload! 0
logger.js:83
2024-06-04T11:17:51.336Z [WAR] 'BACnet' working (connection || polling) overload! 0
When querying for the list of objects (OBJECT_LIST) and there is a large number of objects on the controllers (around 100), readProperty returns an incorrect value. Replaced it with the node-bacstack library. https://github.com/fh1ch/node-bacstack
The change was made to reduce the number of packets when querying for a large number of objects.
Added Multistate Variable, Multistate Input, Multistate Output.
[BUG]