Licensed Edge Gateway, latest node-red module installed.
I can use the tag-read node and tag-browse node just fine.
Would like to use the websocket subscription vs an inject interval or cronjob.
Tried using the same configuration node as tag-read, when that failed I made a new config object just for the ws node. Tried both secure and insecure ports. Tried with tls and no tls connections (tag-read, tag-browse both work with tls configured) made a second tls config for the second server config described above.
I’m not sure what else to try, but websocket tag node immediately shows “ignition disconnected” status no matter how I configure it, and the heartbeat value Im entering seems to fail to write into the config object or node context. Looking in the info tab i show the https:// and the port at 8088 or 8043. The HB value is “ “
I would assume the websocket connector is actually making a wss:// connection. But I just don’t know where to look to observe that
jdehart
February 27, 2023, 5:37pm
2
also having some issues here. I have node-red and ignition on the same pc and reading/writing without websockets is working fine. just would love to start using the websockets/websocket nodes. Is there any additional config that must be done? I'm not aiming to use SSL at all if possible. @Travis.Cox / @kcollins1
What version of the Ignition NodeRED module do y ou have? Version 1.5.8+ supports the websocket nodes.
jdehart
February 27, 2023, 7:45pm
4
1.5.12 in ignition - latest I see
1.5.10 in node-red-contrib-ignition-nodes - latest release that node-red pulls
I do see now that you mention it there seems to be a 1.5.11 release for the nodes, but my node-red doesn't grab it.
jdehart
February 27, 2023, 7:57pm
5
removed 1.5.10 nodes, installed 1.5.11 manually, ws nodes still only showing "ignition disconnected" status
Is there anything unique in between your Node-RED instance and the Ignition gateway or are they a direct connection?
jdehart
February 27, 2023, 9:24pm
7
They are direct connection, actually on the same hardware. using 127.0.0.1/localhost or the IP of it on the network works correctly with the non-websocket read node, just having issues with the ws. I did just check the diagnostic log on the ignition gateway and I'm getting get Map:Error creating servlet node-red-ws repeatedly.
I can provide the .idb log file if that helps, appreciate the help guys!
Okay.. you'll need the Ignition Node-RED module 1.5.12 for 8.1.25+ (since Jetty 10 changed how servlets in Ignition are created). You're correct that your Node-RED side will still be at 1.5.11 (no changes were required on that side).
If you're on 8.1.24 or older, use the 1.5.11 Ignition module.
jdehart
February 27, 2023, 9:32pm
9
I am on ignition 8.1.25, and ignition module version 1.5.12. only my nodes version was 1.5.10 (and is now 1.5.11)
1.5.12 (b2023021717) to be most precise for the gateway module
Ignition Version: 8.1.25 (b2023021409)
this is a fairly recent install so trying to stay with newest versions.
jdehart
February 27, 2023, 9:41pm
10
just an overview of what I have in the log - obviously not a full dump
[21:29:56]: Map: Error creating servlet node-red-ws
INFO | jvm 1 | 2023/02/27 21:29:56 | javax.servlet.ServletException: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.imdc.nodered.servlet.NodeREDWebSocketServlet$NodeREDWebSocketChannel.<init>()
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:172)
INFO | jvm 1 | 2023/02/27 21:29:56 | at javax.servlet.GenericServlet.init(GenericServlet.java:180)
INFO | jvm 1 | 2023/02/27 21:29:56 | at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:75)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1383)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1305)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
INFO | jvm 1 | 2023/02/27 21:29:56 | at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.Server.handle(Server.java:563)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:416)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)
INFO | jvm 1 | 2023/02/27 21:29:56 | at java.base/java.lang.Thread.run(Unknown Source)
INFO | jvm 1 | 2023/02/27 21:29:56 | Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.imdc.nodered.servlet.NodeREDWebSocketServlet$NodeREDWebSocketChannel.<init>()
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:218)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.imdc.nodered.servlet.NodeREDWebSocketServlet.configure(NodeREDWebSocketServlet.java:37)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:168)
INFO | jvm 1 | 2023/02/27 21:29:56 | ... 42 common frames omitted
INFO | jvm 1 | 2023/02/27 21:29:56 | Caused by: java.lang.NoSuchMethodException: org.imdc.nodered.servlet.NodeREDWebSocketServlet$NodeREDWebSocketChannel.<init>()
INFO | jvm 1 | 2023/02/27 21:29:56 | at java.base/java.lang.Class.getConstructor0(Unknown Source)
INFO | jvm 1 | 2023/02/27 21:29:56 | at java.base/java.lang.Class.getDeclaredConstructor(Unknown Source)
INFO | jvm 1 | 2023/02/27 21:29:56 | at org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:214)
INFO | jvm 1 | 2023/02/27 21:29:56 | ... 44 common frames omitted
Does this error still happen after restarting the gateway?
I think you will need to remove the current module, restart Ignition, and install the new version again. Can you try that?
jdehart
February 27, 2023, 10:15pm
13
ignition module removed, gateway restarted, module re-installed and gateway restarted again, error returns
will do the same with the node-red-contrib-ignition nodes in node red and report back. error does not occur on gateway when node-red does not have a ws node present / active.
jdehart
February 27, 2023, 10:54pm
14
no dice guys, removed node-red-contrib-ignition-nodes from node-red, rebooted whole machine, reinstalled node-re-contrib-ignition-nodes, restarted node-red, added "read ws" node and the error is back in the gateway log.
okay, I'll try to dive a little deeper into the error soon and see what I can find.
The PR was merged. You can find the release here:
1 Like
Thanks guys, working great so far!
Hello Everyone...Hope you are doing great
In reference to this this thread, I am still facing the issue of 'ignition disconnected' error occurs at every 15-20 sec in the "Tag Read ws" node on NodeRed.
The, connected again
My Ignition is: 8.1.27
NodeRed Ignition Module: 1.5.13
What's in between your NodeRed and your Ignition gateway? That looks like a deep packet inspection firewall disrupting the websocket.