From 3c91f0f813897d762b024149e223d979217c9f88 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 8 Oct 2026 16:33:45 -0400 Subject: [PATCH] docs(history): OtOpcUa issue batch #626-#638 (exact condition severity, MTConnect alarms) --- .claude/skills/sister-project-history/otopcua.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.claude/skills/sister-project-history/otopcua.md b/.claude/skills/sister-project-history/otopcua.md index cc83648..614d70a 100644 --- a/.claude/skills/sister-project-history/otopcua.md +++ b/.claude/skills/sister-project-history/otopcua.md @@ -78,3 +78,16 @@ AddRoute of the dev Mac (`oee-tagdump-mac`, `10.181.206.245.1.1`) on the two tes is now also gated on the passive half of a replicating LocalDb pair (no more duplicate historian rows). Also: #609 removed drivers no longer keep republishing resilience/health telemetry; FetchAndCache serving from `central-2` live-gated with central-1 down (#619.3). Left open: #600/#601/#606/#613/#619/#622 partials; hardware-only #592/#611/#612/#614-#616. +- **Issue batch #626-#638 (2026-10-08, OtOpcUa `master` `d898262c..a8b07ae1`).** Parallel worktree agents + opus/sonnet review, + live-gated on docker-dev + the MTConnect fixture. **ScadaBridge-visible:** (1) **condition `Severity` is now exact** (clamped + 1..1000) — the server used to re-bucket onto five points, so MTConnect Fault now reads **800** (was 900), scripted Critical + **1000** (was 900), native Low **200** (was 300); ScadaBridge only clamps, so no breakage, but any priority display shifts. + (2) **#626 MTConnect CONDITION data items as native Part 9 alarms** (opt-in `TagConfig.alarm`; Warning 500, Fault 800; + UNAVAILABLE keeps an active condition active with quality `BadNoCommunication`; ack server-side only). (3) **#629** condition + children (`…/Severity`, `…/ActiveState/Id`, `…/ShelvingState/…`) now have instance NodeIds `{ConditionId}/{path}` — direct Reads + return the instance value instead of the type's; shelve methods by `ShelvedStateMachineType_*` id no longer resolve. + (4) #627 MTConnect TIME_SERIES reads as `double[]`; #628 one MTConnect driver = one Device (existing multi-Device drivers fail + their next deploy). Not ScadaBridge-affecting: OtOpcUa's own Client.CLI/UI alarm filter selected `ActiveState/Id` as one + QualifiedName so every alarm read inactive (ScadaBridge's `RealOpcUaClient` builds the two-element path and was always right); + #630 re-Initialize releases prior device state in six drivers; #631 AdminUI modal backdrop; S7/OpcUaClient/AbLegacy/TwinCAT + driver-gap ports (#632-#637). FOCAS stays read-only (#268-#271 won't-port).