OpcUaClient: TargetNamespaceKind=Equipment default (requires UnsMappingTable) is vestigial in v3 #648

Closed
opened 2026-10-08 18:51:36 -04:00 by dohertj2 · 1 comment
Owner

Found during the #619 opc-plc alarm gate. A raw-authored OpcUaClient driver config without an explicit TargetNamespaceKind fails Initialize, because the default is Equipment, which requires a UnsMappingTable. In v3 UNS references are explicit (UnsTagReference), so the mapping table appears meaningless. The gate had to seed TargetNamespaceKind=SystemPlatform (fdee129f) to get a driver up. The AdminUI OpcUaClientDriverForm also defaults to Equipment.

Decide: remove the Equipment mode and the mapping table, or default to SystemPlatform (and make the form follow).

Found during the #619 opc-plc alarm gate. A raw-authored OpcUaClient driver config without an explicit TargetNamespaceKind fails Initialize, because the default is Equipment, which requires a UnsMappingTable. In v3 UNS references are explicit (UnsTagReference), so the mapping table appears meaningless. The gate had to seed TargetNamespaceKind=SystemPlatform (fdee129f) to get a driver up. The AdminUI OpcUaClientDriverForm also defaults to Equipment. Decide: remove the Equipment mode and the mapping table, or default to SystemPlatform (and make the form follow).
dohertj2 added the driver/opcuaclient label 2026-10-08 18:51:36 -04:00
Author
Owner

Fixed on master (dd05baed, merged da43278e, pushed e7dd7425). TargetNamespaceKind, UnsMappingTable, the enum, ValidateNamespaceKind, the AdminUI 'Namespace mapping' section, the OpcPlcProfile workaround and the docker-dev seed key are all removed. Stored DriverConfig JSON still carrying either key parses and initialises (unknown keys ignored) — pinned by Legacy_namespace_keys_are_ignored_by_parse_and_initialise; the AdminUI form loads legacy keys and drops them on the next save. Reviewed (sonnet, APPROVE); AdminUI.Tests 1652/1652, OpcUaClient.Tests 217/217.

Fixed on master (`dd05baed`, merged `da43278e`, pushed `e7dd7425`). `TargetNamespaceKind`, `UnsMappingTable`, the enum, `ValidateNamespaceKind`, the AdminUI 'Namespace mapping' section, the OpcPlcProfile workaround and the docker-dev seed key are all removed. Stored DriverConfig JSON still carrying either key parses and initialises (unknown keys ignored) — pinned by `Legacy_namespace_keys_are_ignored_by_parse_and_initialise`; the AdminUI form loads legacy keys and drops them on the next save. Reviewed (sonnet, APPROVE); AdminUI.Tests 1652/1652, OpcUaClient.Tests 217/217.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#648