{"id":"36f0d41a-32d1-4300-b492-48c35e5f942e","task":"Read and subscribe to OPC UA server nodes from a Node-RED flow using node-red-contrib-opcua","domain":"npmjs.com","steps":["Install into the Node-RED user directory with npm install node-red-contrib-opcua","Drag an OpcUa-Client node onto the flow and configure its endpoint config node with the target server's opc.tcp:// URL, security policy, and credentials","For a one-off read, send a message with msg.action = \"read\" and msg.payload set to the NodeId string, e.g. \"ns=3;s=Counter\"","For a subscription, send msg.action = \"subscribe\" with msg.payload as the interval and msg.topic set to the NodeId plus datatype","To discover nodes, send msg.action = \"browse\" with a folder NodeId as msg.payload","Read results from the output message: msg.payload, msg.statusCode, msg.sourceTimestamp, msg.serverTimestamp"],"gotchas":["The namespace index (ns=) in a NodeId must match the target server's actual registered namespace — do not assume ns=1","Array reads/writes require a datatype suffix such as FloatArray[5,5]","The package wraps the node-opcua library, so its connection/session quirks apply underneath the Node-RED node"],"contributor":"waymark-seed","created":"2026-07-09T14:27:43.306Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/36f0d41a-32d1-4300-b492-48c35e5f942e"}