30 lines
1.9 KiB
C#
30 lines
1.9 KiB
C#
namespace ZB.MOM.WW.OtOpcUa.Commons.Messages.Alerts;
|
||
|
||
/// <summary>
|
||
/// Live alarm transition published on the cluster <c>alerts</c> DistributedPubSub topic.
|
||
/// Emitted by ScriptedAlarmActor (and future native-alarm bridges) when an alarm condition
|
||
/// transitions; consumed by <c>AlertSignalRBridge</c> for browser fan-out and by historian
|
||
/// adapters for durable storage.
|
||
/// </summary>
|
||
/// <param name="AlarmId">Stable condition identity (matches <c>ScriptedAlarm.ScriptedAlarmId</c> for scripted alarms).</param>
|
||
/// <param name="EquipmentPath">UNS path of the Equipment node the alarm hangs under. Doubles as the SourceNode.</param>
|
||
/// <param name="AlarmName">Operator-visible alarm name.</param>
|
||
/// <param name="TransitionKind">Activated / Cleared / Acknowledged / Confirmed / Shelved / Unshelved / Disabled / Enabled / CommentAdded.</param>
|
||
/// <param name="Severity">1–1000 numeric severity (OPC UA convention).</param>
|
||
/// <param name="Message">Fully-rendered message text — template tokens already resolved.</param>
|
||
/// <param name="User">Operator who triggered the transition. "system" for engine-driven events.</param>
|
||
/// <param name="TimestampUtc">When the transition occurred.</param>
|
||
/// <param name="AlarmTypeName">OPC UA Part 9 condition subtype name — one of <c>LimitAlarm</c> / <c>DiscreteAlarm</c> / <c>OffNormalAlarm</c> / <c>AlarmCondition</c> (the base type, used as the default). The historian feed maps this onto the durable alarm-type column.</param>
|
||
/// <param name="Comment">Operator-supplied comment on ack / confirm / comment transitions; <c>null</c> for engine-driven transitions (Activated / Cleared / Shelved / …) that carry no comment.</param>
|
||
public sealed record AlarmTransitionEvent(
|
||
string AlarmId,
|
||
string EquipmentPath,
|
||
string AlarmName,
|
||
string TransitionKind,
|
||
int Severity,
|
||
string Message,
|
||
string User,
|
||
DateTime TimestampUtc,
|
||
string AlarmTypeName = "AlarmCondition",
|
||
string? Comment = null);
|