Wire DCL to Instance Actors for OPC UA tag value flow

- Add TagValueUpdate/ConnectionQualityChanged handlers to InstanceActor
- InstanceActor subscribes to DCL on PreStart based on DataSourceReference
- DeploymentManagerActor creates DCL connections on deploy and passes DCL ref
- AkkaHostedService creates DCL Manager Actor for tag subscriptions
- Move CreateConnectionCommand to Commons for cross-project access
- Add ConnectionConfig to FlattenedConfiguration for deployment packaging
This commit is contained in:
Joseph Doherty
2026-03-17 11:21:11 -04:00
parent 2798b91fe1
commit dfb809a909
6 changed files with 175 additions and 12 deletions

View File

@@ -17,6 +17,22 @@ public sealed record FlattenedConfiguration
public IReadOnlyList<ResolvedAlarm> Alarms { get; init; } = [];
public IReadOnlyList<ResolvedScript> Scripts { get; init; } = [];
public DateTimeOffset GeneratedAtUtc { get; init; } = DateTimeOffset.UtcNow;
/// <summary>
/// Connection configurations keyed by connection name, each containing the
/// protocol-specific settings (e.g. OPC UA endpoint, publish interval).
/// Populated during flattening from the instance's connection bindings.
/// </summary>
public IReadOnlyDictionary<string, ConnectionConfig>? Connections { get; init; }
}
/// <summary>
/// Connection configuration included in the flattened deployment package.
/// </summary>
public sealed record ConnectionConfig
{
public string Protocol { get; init; } = string.Empty;
public string? ConfigurationJson { get; init; }
}
/// <summary>