There is no OPC-UA connector inside the clarity binary. OPC-UA data reaches the platform today through OPCConnect, a separate Windows gateway application that reads from a customer's OPC-UA server and pushes tag values northbound over MQTT-over-WebSocket. Do not document OPC-UA as a native connector until a module lands in clarity.
9847dba)clarity:backend/src-tauri/src/ for opcua / opc_ua / opc-ua returns no connector module. The in-binary industrial connectors are PI Web API (connectors/webpi/) and MQTT (mqtt_services/).clarity:backend/src-tauri/Cargo.toml declares no OPC-UA crate (e.g. opcua, open62541).GET /opc-network stub. Returns {"id": <new ObjectId>} only (via sqlite_api::api::warp_handlers::generate_object_id()). It allocates an identifier; it performs no OPC-UA discovery or connectivity. clarity:backend/src-tauri/src/main.rs:4066-4077 (composed into routes at :4086).opcuser seed account. The previously-cited Assets/seed_data/opcuser.json file was deleted upstream in the secrets-hardening changes (a18d35c). The opcuser account is now seeded from users.json, with its password drawn from the encrypted secret pack (key opc-password). clarity:backend/src-tauri/Assets/seed_data/users.json:13-17, clarity:backend/src-tauri/src/secure_store.rs:83, clarity:backend/src-tauri/src/sqlite_api/db/migrations.rs:820-825. This is a login account a gateway can authenticate with — not a protocol implementation.Source: Docs/OPConnect.pdf (ExactSpace internal integration manual DEV-INT-01-OPC UA, v1.0, effective 2023-10-17). OPCConnect is not part of the clarity or pulse_multi_agents repos; the facts below come from that operations document, not from code.
node-opcua stack — config.properties sets DRIVER=node opc-ua-client.js; client certificates live under …\node-opcua-default-nodejs\Config\PKI\trusted\certs.opc.tcp://… endpoint. Authentication is username/password or X.509 certificate (.pem/.der exchanged with the server); Security Policy / Mode (e.g. Basic256Sha256 / SignAndEncrypt) configured per server. Tags are browsed/validated with Matrikon OPC UA Explorer.s/i/b); the UA NodeId is assembled as ns=<id>;s=<prefix><tag><suffix>. Node IDs must match the server exactly (case-sensitive).MQTT_URL=wss://$DATACENTER_HOSTNAME/mqtt
CONFIG_URL_PREFIX=https://$DATACENTER_HOSTNAME/exactapi
MQTT_AUTH_USERNAME / MQTT_AUTH_PASSWORD (provided by ExactSpace)
data.exactspace.co:443 whitelisted through the site firewall).Both of the gateway's northbound endpoints have exact counterparts in the clarity binary:
| OPCConnect config key | clarity surface | Source |
|---|---|---|
MQTT_URL=wss://<host>/mqtt |
raw WebSocket↔MQTT TCP bridge at /mqtt (no auth check on the bridge itself; broker auth applies) |
clarity:backend/src-tauri/src/mqtt_ws_proxy.rs:6-7, registered at clarity:backend/src-tauri/src/main.rs:4099 |
CONFIG_URL_PREFIX=https://<host>/exactapi |
the /exactapi route prefix (metadata/config CRUD, ingest configs) |
clarity:backend/src-tauri/src/main.rs:3993 |
The ingest subsystem's client-keyed configuration (ingestconfigs with clientsId, per-config org/site/unit scope, MQTT topic publishing) is the plausible server-side counterpart of OPCConnect's Client-ID registration — see Processing API § Ingest.
TODO-VERIFY: the PDF documents OPCConnect only against the Pulse managed-cloud datacenter. Pointing it at an edge Pulse Historian install (
wss://<historian-host>:3030/mqtt+/exactapi) matches the endpoint shapes above but is not evidenced by code or by the manual — confirm with the integration team before documenting it as a supported edge path.
TODO-VERIFY: whether theopcuserseed account is the credential OPCConnect uses forMQTT_AUTH_USERNAME/CONFIG_URL_PREFIXauth on an edge install.
The website markets OPC UA as a supported source. That is accurate via the OPCConnect gateway, not via a native connector: the historian's in-binary connectivity is PI Web API + MQTT (+ HTTP ingest), and OPC-UA values arrive as MQTT messages after gateway conversion. See PI Connector and MQTT for the native connectors.
TODO-VERIFY: If/when a native OPC-UA connector module is added to
clarity, replace this page with the real connector reference (endpoints, config, data flow) and update the module map inCLAUDE.md.
Last updated: 2026-07-11 from clarity@9847dba +
Docs/OPConnect.pdf(DEV-INT-01-OPC UA v1.0, 2023-10-17)