namespace ZB.MOM.WW.OtOpcUa.Host.Configuration { /// /// OPC UA server configuration. (SVC-003, OPC-001, OPC-012, OPC-013) /// public class OpcUaConfiguration { /// /// Gets or sets the IP address or hostname the OPC UA server binds to. /// Defaults to 0.0.0.0 (all interfaces). Set to a specific IP or hostname to restrict listening. /// public string BindAddress { get; set; } = "0.0.0.0"; /// /// Gets or sets the TCP port on which the OPC UA server listens for client sessions. /// public int Port { get; set; } = 4840; /// /// Gets or sets the endpoint path appended to the host URI for the LMX OPC UA server. /// public string EndpointPath { get; set; } = "/LmxOpcUa"; /// /// Gets or sets the server name presented to OPC UA clients and used in diagnostics. /// public string ServerName { get; set; } = "LmxOpcUa"; /// /// Gets or sets the Galaxy name represented by the published OPC UA namespace. /// public string GalaxyName { get; set; } = "ZB"; /// /// Gets or sets the explicit application URI for this server instance. /// When , defaults to urn:{GalaxyName}:LmxOpcUa. /// Must be set to a unique value per instance when redundancy is enabled. /// public string? ApplicationUri { get; set; } /// /// Gets or sets the maximum number of simultaneous OPC UA sessions accepted by the host. /// public int MaxSessions { get; set; } = 100; /// /// Gets or sets the session timeout, in minutes, before idle client sessions are closed. /// public int SessionTimeoutMinutes { get; set; } = 30; /// /// Gets or sets a value indicating whether alarm tracking is enabled. /// When enabled, AlarmConditionState nodes are created for alarm attributes and InAlarm transitions are monitored. /// public bool AlarmTrackingEnabled { get; set; } = false; /// /// Gets or sets the template-based alarm object filter. When /// is empty, all alarm-bearing objects are monitored (current behavior). When patterns are supplied, only /// objects whose template derivation chain matches a pattern (and their descendants) have alarms monitored. /// public AlarmFilterConfiguration AlarmFilter { get; set; } = new(); } }