Status change not recognized by status node
See original GitHub issueI’m submitting a … (check one with “x”)
Problem
- (x) bug report => please search github for a similar issue or PR and test Modbus problems with the modbus-serial package before submitting
- ( ) unexpected behavior => please visit the Wiki before
Current behavior
I’ve got an application with a Modbus Flex Gettern node. From time to time reading fails with an error like Client Not Ready To Read At State init
. My problem is that the node status seems to stay “active” all the time, even while I get such error messages. I.e. the small square tile below the node stays filled green, text says “active” and a status node observing this Modbus node does not recognize any status change.
Expected behavior
During read error like Client Not Ready To Read At State init
the modbus node status should be shown as “init” and a status node should throw a status change event with status “init”.
Minimal reproduction of the problem with instructions
- Create flow with a Modbus node and an inject node attached to its input.
- Add a status node observing the Modbus node’s status and a debug node attached to the status node’s output.
- Create new Modbus connection (MODBUS_RTU) and link it to a non-existing device, like
/dev/nonexistingtty
. - Deploy.
- Modbus node shows “active”, even though it cannot be connected, since the device doesn’t even exist.
- The status doesn’t output anything, even though I’d expect something like “init”, “connecting”, “reconnecting”, “broken” etc.
Your Environment
-
Node-RED v2.1.3 (Docker image)
-
(x) I have installed modbus-serial as a global package (using npm i -g)
-
Device :
- Raspbian: 9 (stretch)
-
- node-red-contrib-modbus version: vX.X.X (don’t know how to determine inside a Docker container, package.json says version latest)
- Node: (v14.x)
node --version
= v14.18.1
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (2 by maintainers)
Top GitHub Comments
@awoSYS In your reproducible description it is the serial interface with the OS and the way of “all is a file” - if the operating system opens up the dev with no error, then it is “active” and this is more in the serial lib as in the Node-RED contrib-package. It could be possible to open a none existing dev in the OS, but if you try to do some operations, then it will raise errors. I’ll have a look for that in the next version if we can find a better solution for that case.
This issue is stale because it has been open 60 days with no activity. It will be closed in 30 days, but can be saved by removing the stale label or commenting.