Node-RED Docker Container BACnet Integration Issues: TypeError and Dashboard Glitches


I've been encountering persistent errors with my Node-RED Docker container, specifically when trying to use BACnet protocol communication. Here are the commands I used to create the Docker container:

docker run -d -p 1880:1880 -p 502:502 -v node_red_data:/data --name FORGE nodered/node-red

Initially, the Node-RED dashboard functions correctly, but over time it starts glitching. The logs show repeated errors related to the node-bacnet-contrib-extended module, indicating a TypeError: Cannot read properties of undefined (reading 'values'). This occurs in the read-single-point.js file and seems to be tied to a timeout issue in the node-bacnet client library.

Below are the relevant log entries:

2024-07-08 21:20:23 exception ->  TypeError: Cannot read properties of undefined (reading 'values')
2024-07-08 21:20:23     at /data/node_modules/node-bacnet-contrib-extended/read-single-point.js:203:52
2024-07-08 21:20:23     at /data/node_modules/node-bacnet/lib/client.js:778:21
2024-07-08 21:20:23     at Timeout._onTimeout (/data/node_modules/node-bacnet/lib/client.js:158:7)
2024-07-08 21:20:23     at listOnTimeout (node:internal/timers:573:17)
2024-07-08 21:20:23     at process.processTimers (node:internal/timers:514:7)
2024-07-08 21:20:23  value:  undefined
2024-07-08 21:20:23  err:  Error: ERR_TIMEOUT
2024-07-08 21:20:23     at Timeout._onTimeout (/data/node_modules/node-bacnet/lib/client.js:158:16)
2024-07-08 21:20:23     at listOnTimeout (node:internal/timers:573:17)
2024-07-08 21:20:23     at process.processTimers (node:internal/timers:514:7)

I'd appreciate any guidance on how to resolve this issue or improve the stability of the Node-RED dashboard for production in large volume purposes. Thanks in advance for your help!

@evenrohancodes I wouldn't advise using node-bacnet-contrib-extended in a production environment thought it's the best BACnet node for node-RED it's not in my view production grade.
Nor is it BACnet approved against a Device Profile or have vendor ID so some customers may not allow the device onto their OT network