// the find
mitigate-dev/opcua-client-ruby
Incomplete OPC-UA client library for Ruby
A thin Ruby wrapper around open62541, the C OPC-UA library, for reading and writing process variables on industrial PLCs and SCADA systems. The README literally says 'incomplete', which is accurate — it covers only string-named nodes and a handful of numeric types. For Ruby shops doing light industrial automation, it might be enough.
Bundles open62541 as a vendored C file so there's no system-level dependency to manage. The multi-write batch methods are a practical touch — writing 10 int32 values in one call matters when you're talking to hardware. Subscription and monitored-item support exists, which puts it ahead of most Ruby OPC-UA attempts. Ships a working test server in C++ so you can run specs without real hardware.
Last touched February 2023 and open62541 has shipped multiple releases since then, including security fixes — the vendored open62541.c is frozen in time. Node addressing is string-only; OPC-UA also uses integer and GUID node IDs, both common in real deployments, and neither is supported. No authentication beyond anonymous connections — no username/password, no certificate-based security, which is a hard blocker for anything beyond a lab bench. Five stars and named 'incomplete' by its own author: this is a prototype someone put on GitHub, not a production library.