I have been working through a RPi with node red v3.0.2 for a few weeks now but recently I needed to set up a new pi and import my flows to it. However, after installing a fresh install on a new sd, my flows aren't passing through my modbus flex getter. I have been on the forums all day and have reinstalled both my pi os and node red (as well as older versions of modbus) multiple times. All of my port addresses are correct and theres no reason this shouldnt be working as far as i can tell.
What exact symptom are you seeing?
Please show us the node red startup log by running, in a command window
node-red-stop
node-red-start
That is assuming that you installed node red using the recommended install script.
Let it run until after the modbus has failed and copy/paste the full console output here please. Copy/paste not screen shot.
I can send those screen shots but really whats happening is that my flow isn't passing throught the flex getter node. I am unable to get any errors or logs to come out of the node
Are any messages passing on any flows?
Is node-red crashing and restarting?
What version of nodejs was the old SD card running Vs the new pi OS?
The flows passes through the first two function nodes and will output the payload correctly. Its just the flex getter (renamed) that halts all progress. Node red is functioning normally with no crashes. The new SD is running nodejs v18.19.1 and the old one is running v16.19.1
Is it serial or modbustcp?
Assuming TCP, How are you addressing the modbus device (ip? Hostname?)
TCP with IP address.
Can you ping the device from node-red? (Using node-red-node-ping)
Not sure if it the same for outbound connections but Linux typically needs permission to open port 502. Is it possible to change your server to use port 10502?
That should not be an issue on outbound connections.
Ping returned false
i was connecting to the same system ip with the same flow yesterday.
Well if you can't ping it then it won't work. Assuming the server responds to ping.
We have a similar system in the building that we use for testing. After connecting to it and running a ping, it sends back a float.
That means it is working.
That means it is not & You have a direction to start digging.
Double check network IP, mask and gateway.
Check firewall settings (iptables / uwf)
Just a thought. I use modbus in NR to get data from my solar controller (about 20 registers). The controller I read from will only allow one (1) connection at a time. Is it possible your device is the same and something else has already captured the port?
I can verify that the system i'm currently testing on was able to communicate with node red on several different Pi's all using the same os version. Even when I am not directly connected to the system, my flow would run, pass through the flex getter, and set my global variables with a value of null. I'm not worried about the system communicating with my Pi properly, but rather that information can pass through these flex getters.
New update: Error: connect ETIMEDOUT (IP Address)
That is exactly what one would expect if the pi cannot access the modbus device. You need to investigate why this pi cannot ping the device. It is not a node-red issue.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.