Industrial IoT / SCADA · SDK / protocol

NodeOPCUA

NodeOPCUA Project

Integrate OPC UA with Node.js and TypeScript.

Official documentationDownload development spec

Use documented public APIs and pin the package release. Current docs describe an ESM transition at 2.184.0; internal secure-channel symbols may change outside the public API guarantee.

NODEOPCUA / DEVELOPER FIELD GUIDE

Choose an interface. Define a verifiable result.

Company or project context, ten technical entry points and a practical analysis of every reference.

2026-10-08 · Integration not tested

Company / project overview

Original summary of official company or project statements; use the source for the full original page.

NodeOPCUA · About
ProjectNodeOPCUA is a modular TypeScript OPC UA stack for creating industrial clients, servers and information models. Sterfive provides professional support alongside the community project.
Developer fitSuitable for Node.js teams that need typed industrial data exchange and application-controlled OPC UA sessions. The current repository requires Node.js 22.13 or later.
Complete official About page ↗
About reference — TA analysis
AudienceBuyers, partners and product owners shortlisting an AI provider.
Our assessmentUse positioning and company history for initial fit. Obtain project-specific deployment, support and commercial terms separately.

Official sources reviewed; no live API, inference or benchmark was run. Expected results are proposed internal contracts.

Top 10 technical entry points

Ten documented technical entry points selected by developer task; not ten separate SDKs or an official ranking.

Choose by the work you need to complete
InterfacePurpose and audience
01 · OPCUAClientAPI / SDK / developer guideCreate clients, connect and manage sessions.TypeScript client developers
02 · OPCUAServerAPI / SDK / developer guideHost OPC UA services and custom models.Industrial gateway authors
03 · AddressSpaceAPI / SDK / developer guideManage server namespaces and information models.Information-model engineers
04 · ClientSessionAPI / SDK / developer guideRead, write, browse and call methods.Data acquisition developers
05 · NodeIdAPI / SDK / developer guideRepresent node identifiers.Adapter and schema developers
06 · VariantAPI / SDK / developer guideCarry scalar or array OPC UA values.Typed telemetry implementers
07 · DataValueAPI / SDK / developer guidePreserve value, status and timestamps together.Quality-aware telemetry consumers
08 · Role-based security guideAPI / SDK / developer guideMap users and roles to permitted operations.Server authorization designers
09 · Reverse Connect guideAPI / SDK / developer guideImplement OPC UA reverse connection setup.Network-constrained integration teams
10 · ESM migration guideAPI / SDK / developer guideAdapt TypeScript/module configuration for the ESM transition.Teams upgrading dependencies

Reference analysis

Capabilities summarize official documentation. Constraints and proposed tests are our engineering assessment.

01

API / SDK / developer guide

OPCUAClient

OPCUAClient · TA
Target audienceTypeScript client developers
Documented capabilityCreate clients, connect and manage sessions.
Input → outputEndpoint/security options → client and session lifecycle.
Execution environmentNode.js TypeScript/JavaScript.
Our decision constraintConfigure security through public client options.
Our suggested validationVerify disconnect cleanup and reconnect state.
Official reference · OPCUAClient ↗
02

API / SDK / developer guide

OPCUAServer

OPCUAServer · TA
Target audienceIndustrial gateway authors
Documented capabilityHost OPC UA services and custom models.
Input → outputServer options and model → endpoint lifecycle.
Execution environmentNode.js server.
Our decision constraintInitialization and startup are separate lifecycle steps.
Our suggested validationCheck initialized model, endpoint and shutdown resources.
Official reference · OPCUAServer ↗
03

API / SDK / developer guide

AddressSpace

AddressSpace · TA
Target audienceInformation-model engineers
Documented capabilityManage server namespaces and information models.
Input → outputNodeset/model definitions → address-space objects.
Execution environmentServer-side model API.
Our decision constraintNamespace identity is part of node interpretation.
Our suggested validationVerify browse paths, types and model version.
Official reference · AddressSpace ↗
04

API / SDK / developer guide

ClientSession

ClientSession · TA
Target audienceData acquisition developers
Documented capabilityRead, write, browse and call methods.
Input → outputService requests → typed results/status codes.
Execution environmentActive OPC UA session.
Our decision constraintSession success does not make every operation successful.
Our suggested validationInspect per-operation status and pagination/continuation needs.
Official reference · ClientSession ↗
05

API / SDK / developer guide

NodeId

NodeId · TA
Target audienceAdapter and schema developers
Documented capabilityRepresent node identifiers.
Input → outputIdentifier type, namespace and value → NodeId.
Execution environmentShared TypeScript data object.
Our decision constraintA display name is not a unique node identifier.
Our suggested validationRound-trip the full identifier and namespace.
Official reference · NodeId ↗
06

API / SDK / developer guide

Variant

Variant · TA
Target audienceTyped telemetry implementers
Documented capabilityCarry scalar or array OPC UA values.
Input → outputData type, value and array metadata → Variant.
Execution environmentTypeScript protocol value object.
Our decision constraintJavaScript numbers alone do not specify OPC UA numeric type.
Our suggested validationCheck ranges, array shape and explicit data type.
Official reference · Variant ↗
07

API / SDK / developer guide

DataValue

DataValue · TA
Target audienceQuality-aware telemetry consumers
Documented capabilityPreserve value, status and timestamps together.
Input → outputVariant plus quality/time fields → DataValue.
Execution environmentClient/server data exchange.
Our decision constraintMissing timestamps do not prove fresh data.
Our suggested validationKeep bad/uncertain status distinct from valid zero values.
Official reference · DataValue ↗
08

API / SDK / developer guide

Role-based security guide

Role-based security guide · TA
Target audienceServer authorization designers
Documented capabilityMap users and roles to permitted operations.
Input → outputUser/role policy → access decisions.
Execution environmentNodeOPCUA server configuration.
Our decision constraintAuthentication and node authorization need separate validation.
Our suggested validationExercise allowed reads and denied writes for each role.
Official reference · Role-based security guide ↗
09

API / SDK / developer guide

Reverse Connect guide

Reverse Connect guide · TA
Target audienceNetwork-constrained integration teams
Documented capabilityImplement OPC UA reverse connection setup.
Input → outputServer/client reverse-connect configuration → transport establishment.
Execution environmentParticipating NodeOPCUA endpoints.
Our decision constraintReverse transport does not remove certificate or session checks.
Our suggested validationValidate reconnect behavior and peer identity.
Official reference · Reverse Connect guide ↗
10

API / SDK / developer guide

ESM migration guide

ESM migration guide · TA
Target audienceTeams upgrading dependencies
Documented capabilityAdapt TypeScript/module configuration for the ESM transition.
Input → outputExisting build configuration → compatible imports/build.
Execution environmentNode.js and TypeScript toolchain.
Our decision constraintGuide identifies the 2.184.0 package transition; pin installed versions.
Our suggested validationBuild the actual application and inspect module-resolution errors.
Official reference · ESM migration guide ↗

Generated public API

Generated public API · Supporting reference analysis
TAMaintainers upgrading NodeOPCUA
Our validation adviceUse documented public API; internal re-exported symbols are not semver-protected public contracts.
Official reference · Generated public API ↗

04 / INPUT · EXPECTED OUTPUT · ACCEPTANCE

Expected results before implementation

Illustrative NodeOPCUA adapter contract; no connection, server deployment or equipment operation was executed.

Illustrative contract · no API call or model execution · not measured provider output

Good typed read

Expected behavior — illustrative, not executed
InputRead a sample temperature Value attribute.
Expected resultInternal Double value=23.0 with status_code=Good and timestamps when supplied.
AcceptanceKeep DataValue quality separate from numeric content.

Empty browse page

Expected behavior — illustrative, not executed
InputSuccessful browse returns no references and no continuation point.
Expected resultInternal status=empty and references=[].
AcceptanceDo not infer a complete empty result while continuation remains.

Authorization failure

Expected behavior — illustrative, not executed
InputA read-only user requests a protected write.
Expected resultInternal error preserves server operation status; applied=false.
AcceptanceDo not claim the variable or machine state changed.

Session lost

Expected behavior — illustrative, not executed
InputConnection ends during collection.
Expected resultInternal status=disconnected; last reading marked stale.
AcceptanceResume only after session recovery is confirmed; expose observation gaps.

Map the expected result to your application

Map the actual SDK or service response into this proposed internal contract after integration. All IDs and values below are invented examples; no credentials or live requests are included.

Expected output JSON — illustrative, not measured · NodeOPCUA-expected-results.json
{
  "schema_version": "1.0.0",
  "example": true,
  "provider": "NodeOPCUA",
  "status": "ok",
  "input_id": "sample-001",
  "data": {
    "node_id": "ns=2;s=Example.Temperature",
    "data_type": "Double",
    "value": 23.0,
    "status_code": "Good",
    "source_timestamp": null,
    "server_timestamp": null
  },
  "error": null,
  "verification": "illustrative-only;not-provider-response"
}
Download specification, example and acceptance plan
Engineering handoff — our proposed contract and gates
Result interpretationSuccessful transport or execution does not establish model accuracy. Preserve valid empty results separately from operational failure.
ReproducibilityRecord model, runtime, configuration and input identifiers; agree quality and latency criteria before representative tests. No measured performance is claimed.
Operation boundaryIllustrative NodeOPCUA adapter contract; no connection, server deployment or equipment operation was executed.

Development assessment

Node.js factory gateway

Development concept · integration not tested

Provider capabilities above are based on official documentation or repositories. The proposed product, inputs, deliverable and acceptance criteria below are our development assessment.

Integration pilot

Validate runtime, schemas or hardware together before estimating a deployable product.

Proposed inputs
A test device or simulator, a tag map and documented units.
Proposed deliverable
Timestamped device values with freshness, unit and connection state.
Acceptance criterion
Verify scaling and timestamps against the source; a disconnected device must not appear healthy.
Dependencies
A gateway or service account, an equipment schema and access to a test environment.

Integration condition

Use documented public APIs and pin the package release. Current docs describe an ESM transition at 2.184.0; internal secure-channel symbols may change outside the public API guarantee.

Development sequence

  1. Confirm access to NodeOPCUA, license and the exact supported version.
  2. Prepare the sample above and implement one documented operation for “Node.js factory gateway”.
  3. Normalize the result with source, time and explicit error state; keep the provider response for review.
  4. Run the acceptance criterion before estimating rollout effort or committing a customer deliverable.

How to validate demand

Record product views, documentation clicks, specification downloads and contextual hub clicks. These are event counts, not unique people or completed integrations.

This feasibility assessment uses implementation conditions. No traffic-based rank or delivery-time promise is assigned.

Related products