BACnet read node issue

I was trying to read values from a BACnet gateway(nothing but a Raspberrry pi board). Below error is faced when reading the BACnet read mode. So please help in fixing this issue which is the cause of frequent restarts of Node red because of which other flows are not accessible/executing
"[error] Error: bind EACCES 0.0.0.0:1000 in ".

You are getting the error because of the port number.
Please review this post and then adjust your port number accordingly…

Thanks Beno for the response. How do I fix or overcome the error without using shell. As node red keeps restarting, I am unable to access the flows & then disable/delete the port no

You don’t need shell.
You will need to export your project. Untar it and find the flows.json.
Search the JSON for the port number, change it, save the JSON text file.
Then delete your current project that is constantly restarting and restore the edited one.

@gazalam No need to post the same question in more than one thread.

Here is how to edit the flows.json…

From groov Manage, click on the Node-RED menu.

Then click on the project management option.

Then, download the project.

Go to the directory that you saved the project file.

image

Unzip the file.

image

Use a text editor to find and replace your current port number of 1000 and replace it with a higher number.
You will need to make a note of that number.
You will need to open the groov Manage firewall for that port number.

Once you have edited the port number, save the file flows.json.

You can either re-zip the project and upload it, or you might be able to delete your current flows and import the edited flow.

If you followed the earlier given advice of making backups of the project as you were working on it, you could simply upload the project before you put the bad port number in via groov Manage.
It pays to keep your version history while working on the project.

Thanks for your support. However even after following the above steps the port no gets overwritten to 1000 as can be seen from node red log. Please help so as to fix the restart issue of node red without accessing SSH
" {
“id”: “ebccaa6d2f6fd7ad”,
“type”: “BACnet-Client”,
“name”: “Rasp_Pi_client”,
“adpuTimeout”: “6000”,
“port”: “1000”,
“interface”: “”,
“broadcastAddress”: “127.0.0.255”
},"

Port 1000 is too low. Repeat Beno’s procedure with a port greater than 1024.

1 Like

Once again, to be very clear, you do NOT need to access SSH to get this running.

I am not sure you changed the port number…
What I suggest you do is delete the flow.json and start clean.
This time, do NOT configure the backnet port less than 1024. Use a port up around the 6000’s.

The other important thing to remember is that the backnet node was not written by Opto22, so there are other support options for you. The node authors GitHub, for example.

2 Likes

Thanks for the above suggestion however no luck. Still the node red keeps restarting even after following the steps as stated above. May I please request you to jump in a MS Teams call to fix this issue. Also find attached the modified flows.json which is causing this issue: Please find below flows.json

@gazalam I’d like to help you by importing your flow and taking a look at the backnet node.

You did not paste your flow into the forum correctly, and it’s corrupted. I can not import it and look at the flow.

Please export all the flows from Node-REd again.
This time, click the </> icon and then paste the exported flow.

image

[{"id":"bb6a622ee1512a7a","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"3eec1f4bac5ef19b","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false},{"id":"86efe8dde3ca139c","type":"modbus-client","d":true,"name":"","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"cac58eed00d08e07","type":"modbus-client","name":"SE","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttySerMod3.0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"40f20c7f.13a934","type":"modbus-client","name":"SE","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"","unit_id":1,"commandDelay":30,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":5000,"parallelUnitIdsAllowed":false,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"2f3d879d54bdafad","type":"modbus-client","d":true,"name":"","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"9ea9ba56e67ef2d2","type":"mqtt-broker","name":"HiveMQ_Broker","broker":"7ad6cdf8470b4f8780872eb81f23e88d.s1.eu.hivemq.cloud","port":"8883","tls":"fbdc3b20205823fd","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"5","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"87b2091183607a88","type":"mqtt-broker","d":true,"name":"thingsboard","broker":"mqtt.thingsboard.cloud","port":"8883","tls":"fbdc3b20205823fd","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"4c88eec93b2473cb","type":"mqtt-broker","d":true,"name":"emqx","broker":"e1bad7e1.ala.asia-southeast1.emqxsl.com","port":"8883","tls":"fbdc3b20205823fd","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"e5bcc51e633016ac","type":"ui_base","theme":{"name":"theme-light","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#097479","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#4B7930","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"},"themeState":{"base-color":{"default":"#0094CE","value":"#0094CE","edited":false},"page-titlebar-backgroundColor":{"value":"#0094CE","edited":false},"page-backgroundColor":{"value":"#fafafa","edited":false},"page-sidebar-backgroundColor":{"value":"#ffffff","edited":false},"group-textColor":{"value":"#1bbfff","edited":false},"group-borderColor":{"value":"#ffffff","edited":false},"group-backgroundColor":{"value":"#ffffff","edited":false},"widget-textColor":{"value":"#111111","edited":false},"widget-backgroundColor":{"value":"#0094ce","edited":false},"widget-borderColor":{"value":"#ffffff","edited":false},"base-font":{"value":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey","palette":"light"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"false","allowSwipe":"false","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":0,"py":0}}},{"id":"2b4a1ada15bb7a39","type":"ui_group","d":true,"name":"Frequency","tab":"3eec1f4bac5ef19b","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"4483385.85f9ac8","type":"modbus-client","name":"local","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"11502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":1,"commandDelay":1,"clientTimeout":1000,"reconnectTimeout":2000},{"id":"30fc0001d643f496","type":"ui_tab","name":"Home","icon":"dashboard","disabled":false,"hidden":false},{"id":"09a5f607d0b8b2ad","type":"modbus-client","name":"SE","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttySerMod3.0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"8d13a160c102c2e7","type":"modbus-client","name":"SerialDevivce_Elmeasure","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttySerMod3.1","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"3","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"5000","parallelUnitIdsAllowed":true,"showErrors":true,"showWarnings":true,"showLogs":true},{"id":"5941fe60ae1960f7","type":"BACnet-Instance","d":true,"name":"Yabe Add onSimulator","instanceAddress":"0"},{"id":"3da1bb33cec7c8f5","type":"BACnet-Device","d":true,"name":"BACnet-Yabe-Simulator","deviceAddress":"192.168.1.4:50274"},{"id":"e0bf099a.ee8468","type":"BACnet-Client","d":true,"name":"","adpuTimeout":"6000","port":"47808","interface":"","broadcastAddress":"192.168.8.255"},{"id":"031f992e9360ea0c","type":"modbus-client","name":"SE","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"even","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"","unit_id":1,"commandDelay":30,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":5000,"parallelUnitIdsAllowed":false,"showErrors":false,"showWarnings":true,"showLogs":true},{"id":"85373b52a257e13a","type":"modbus-client","name":"TemperatureSensor","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB3","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":5,"commandDelay":1,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":2000,"parallelUnitIdsAllowed":true,"showErrors":true,"showWarnings":true,"showLogs":true},{"id":"3387dfaffce16bd4","type":"mqtt-broker","name":"Azure EventGrid Mqtt","broker":"twinalytics-event-grid.centralus-1.ts.eventgrid.azure.net","port":"8883","tls":"fbdc3b20205823fd","clientid":"","autoConnect":true,"usetls":true,"protocolVersion":"5","keepalive":"600","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"3e0f64bf54e22d75","type":"pac-device","address":"localhost","protocol":"http","msgQueueFullBehavior":"DROP_OLD"},{"id":"fbdc3b20205823fd","type":"tls-config","name":"","cert":"","key":"","ca":"","certname":"epicgroov.pem","keyname":"epicgroov.key","caname":"","servername":"","verifyservercert":true,"alpnprotocol":""},{"id":"382594d8ff1699f9","type":"BACnet-Instance","name":"Raspberry PI","instanceAddress":""},{"id":"8a6474164b3d825d","type":"BACnet-Device","name":"Rasp_PI_Gateway","deviceAddress":" 192.168.1.5:47808"},{"id":"ebccaa6d2f6fd7ad","type":"BACnet-Client","name":"Rasp_Pi_client","adpuTimeout":"6000","port":"6001","interface":"","broadcastAddress":"127.0.0.255"},{"id":"0fa46c1cb2e656f6","type":"inject","z":"bb6a622ee1512a7a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":80,"wires":[["b867c99c7940b7f5"]]},{"id":"b867c99c7940b7f5","type":"BACnet-Read","z":"bb6a622ee1512a7a","name":"Rasp_Pi_Temp","objectType":"0","instance":"382594d8ff1699f9","propertyId":"85","device":"8a6474164b3d825d","server":"ebccaa6d2f6fd7ad","multipleRead":false,"x":300,"y":80,"wires":[["f6e8b2b19a0ad064"]]},{"id":"f6e8b2b19a0ad064","type":"debug","z":"bb6a622ee1512a7a","name":"debug 4","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":480,"y":80,"wires":[]}]

@gazalam
The inject Node, in your flow, is configured to have a interval of 5 seconds, which means you are injecting this flow every 5 seconds. The timeout in your Bacnet Node is set for 6 seconds for the client.

That results in an inject even before the Bacnet Node command is completed. You keep repeating the process before it is ever completed.

Since the Bacnet Node is not an Opto 22 developed Node, we do not know what it does to the Node-RED runtime in such a case.

If you set the timeouts correct, I can see that Node-RED on EPIC is not getting restarted anymore.

2 Likes

Thanks for the advise. As stated I am unable to make any changes in the flow. Even if a new project is uploaded after replacing the port no then it seems that the new flow has not been replaced with the project or flow which is getting executed as can be seen in Node-red-project files-flows-view. In this view the port no is still 1000. So please suggest as to how to delete/kill the existing flow so as to prevent frequent restart of NR. Now that shell access is enabled, while accessing shell client from Putty, the below error appears at Putty-
“network error: connection timed out”. Hence please help on urgent basis to kill this flow & thereby get access to NR

As mentioned a few times, you do NOT need shell access to fix your issue.
Please take the time to learn the groov Manage menu buttons.
Here is how to delete your Node-RED project…

First, from the home page of groov Mange, click on the Node-RED menu.

Then click on Project Management.

Now, click on the delete project option.

2 Likes

Thanks for the above suggestion. I even thought so earlier. However was very much skeptical to go in for this option as it might affect/disturb the certifications, keys etc.
Request you to please confirm there will be no impact on certifications, keys etc if the project gets deleted

Does your project have more than the three nodes you sent?
I’m not sure I understand what certificates you mean. Have you added any nodes to your project that require specific certificates?

We are talking about deleting the flow.json only.