dohertj2 dohertj2
  • Joined on 2026-02-20
dohertj2 commented on issue dohertj2/lmxopcua#679 2026-10-12 14:21:07 -04:00
Gateway historian: Count and Average mapped to AVEVA modes with different semantics (Counter delta, time-weighted average)

Live AVEVA leg (2026-10-12, VPN). TimeAverage → AVEVA TimeWeightedAverage: magnitude PASS — AVEVA's TWA on a Float tag is sloped (trapezoidal; 22.5 where stepped would be 17.5),…

dohertj2 commented on issue dohertj2/lmxopcua#681 2026-10-12 14:21:07 -04:00
Gateway historian: compute per-sample aggregates (Average, Count, Start/End, Delta, PercentGood...) from raw reads

Live AVEVA leg PASSED (2026-10-12, VPN, local HistorianGateway → wonder-sql-vd03, new known-value tag HistGW.LiveTest.Gate681).

dohertj2 closed issue dohertj2/lmxopcua#681 2026-10-12 14:21:07 -04:00
Gateway historian: compute per-sample aggregates (Average, Count, Start/End, Delta, PercentGood...) from raw reads
dohertj2 commented on issue dohertj2/lmxopcua#675 2026-10-12 14:21:06 -04:00
HistoryRead paging (#669) follow-ups: reverse capped read, events end-only, Gateway year-9999 bound

Live AVEVA leg PASSED (2026-10-12, VPN, local HistorianGateway → wonder-sql-vd03). The year-9999 end bound (OtOpcUaNodeManager maps an unset EndTime to DateTime.MaxValue): raw start-only…

dohertj2 closed issue dohertj2/lmxopcua#675 2026-10-12 14:21:06 -04:00
HistoryRead paging (#669) follow-ups: reverse capped read, events end-only, Gateway year-9999 bound
dohertj2 commented on issue dohertj2/lmxopcua#677 2026-10-12 14:21:06 -04:00
Time-weighted aggregates (#671) follow-ups: reverse anchoring, Partial bit, integral unit, AggregateConfiguration, CLI list

Live AVEVA leg (2026-10-12, VPN). Integral units with IntegralDivisor=1: PASS at the AVEVA level — a constant 1 over 1 s integrates to 1 (value·seconds; constant 1 over 20 s ⇒ 20; a…

dohertj2 closed issue dohertj2/lmxopcua#677 2026-10-12 14:21:06 -04:00
Time-weighted aggregates (#671) follow-ups: reverse anchoring, Partial bit, integral unit, AggregateConfiguration, CLI list
dohertj2 opened issue dohertj2/lmxopcua#687 2026-10-12 14:20:50 -04:00
Gateway historian: raw HistoryRead returns AVEVA synthetic boundary row as a stored sample
dohertj2 opened issue dohertj2/lmxopcua#688 2026-10-12 14:20:50 -04:00
Gateway historian: default MaxTimeWeightedRawRows + 18 exceeds the gateway default ceiling
dohertj2 opened issue dohertj2/lmxopcua#685 2026-10-12 14:20:49 -04:00
Gateway historian: native TimeAverage/Total rows — leading pre-window row passed through, Uncertain rows lose their value
dohertj2 opened issue dohertj2/lmxopcua#686 2026-10-12 14:20:49 -04:00
Gateway historian: reverse and end-only capped raw HistoryReads fail (start > end sent to the gateway)
dohertj2 pushed to main at dohertj2/scadaproj 2026-10-12 13:59:37 -04:00
681606dad0 docs(index): OtOpcUa batch #681–#684 — Gateway per-sample from raw, advertised aggregates, QuestDB tag index, Good-only aggregates
dohertj2 commented on issue dohertj2/lmxopcua#684 2026-10-12 13:59:26 -04:00
Historian aggregates: Average/Minimum/Maximum include Uncertain samples (Part 13 / SDK use Good only)

Fixed (aligned) — merged dbdf29c8. Part 13 defines Average/Minimum/Maximum/Range (and *ActualTime) over Good raw values; §4.2.1.2's TreatUncertainAsBad=false applies "unless the…

dohertj2 closed issue dohertj2/lmxopcua#682 2026-10-12 13:59:26 -04:00
Advertise only the aggregates the configured historian backend serves (HistoryServerCapabilities/AggregateFunctions)
dohertj2 closed issue dohertj2/lmxopcua#683 2026-10-12 13:59:26 -04:00
Historian processed reads: bound the data-range lookup cost on QuestDB; trim the SqlServer Start/End query
dohertj2 pushed to master at dohertj2/lmxopcua 2026-10-12 13:59:26 -04:00
70fb1f1fda Merge fix/683-joinback-plan: FORCESEEK exact-key StartEnd picks (#683 live gate 9 F1)
ce3369ebca fix(historian): #683 live gate 9 F1 — force an exact-key seek for every StartEnd pick
fe644d7eda Merge perf/683-data-range: QuestDB tag index, data range read first, SqlServer StartEnd window-bounded PK join-back (#683)
4a3b12564a fix(historian): #683 review — bound the StartEnd pick joins to the window; usable picks re-check usability
910befc84c perf(historian): #683 SqlServer StartEnd join-back on PK
Compare 18 commits »
dohertj2 closed issue dohertj2/lmxopcua#684 2026-10-12 13:59:26 -04:00
Historian aggregates: Average/Minimum/Maximum include Uncertain samples (Part 13 / SDK use Good only)
dohertj2 commented on issue dohertj2/lmxopcua#681 2026-10-12 13:59:25 -04:00
Gateway historian: compute per-sample aggregates (Average, Count, Start/End, Delta, PercentGood...) from raw reads

Implemented — merged 197246c3. The Gateway backend now serves the ten per-sample aggregates (Average, Count, Minimum, Maximum, Range, Start, End, Delta, MinimumActualTime, MaximumActualTime)…

dohertj2 commented on issue dohertj2/lmxopcua#682 2026-10-12 13:59:25 -04:00
Advertise only the aggregates the configured historian backend serves (HistoryServerCapabilities/AggregateFunctions)

Fixed — merged 113f1eaf (+ Gateway set from #681 197246c3). Each backend declares IHistorianDataSource.SupportedAggregates (SqlServer/QuestDB 17 from AggregateFamilies.Served; Gateway…

dohertj2 commented on issue dohertj2/lmxopcua#683 2026-10-12 13:59:25 -04:00
Historian processed reads: bound the data-range lookup cost on QuestDB; trim the SqlServer Start/End query

Fixed — merged fe644d7e + 70fb1f1f.

QuestDB: the sample table's tag SYMBOL is now INDEXed (new tables created indexed; the bootstrapper adds the index to an existing table once…