SIEGate v1.5
Official stable release of version 1.5 of SIEGate (v1.5.2).
See full change log since last release.
Note: the PMU Connection Tester is no longer automatically included with the installer package and will need to be installed separately:
https://github.com/GridProtectionAlliance/PMUConnectionTester/releases
New Features and Improvements
- GSF.TimeSeries.UI.WPF: Modified the Measurement Groups Page to automatically issue a
ReloadConfig
command to update the security context in SIEGate's data publisher so that group based changes get automatically applied to data subscribers. - GrafanaAdapters: Added full set of aggregation and operational functions that operate on a per-series or per-set for all data sources that implement Grafana interfaces. See documentation.
- LogFileViewer: Added new enhanced general logging capabilities along with a new application, Log File Viewer, that is used to analyze logs.
- PowerCalculations: Added calculators for wrapping angle difference and line impedance with resistance, reactance, conductance and susceptance results - includes both rectangular and polar based outputs.
- PowerCalculations: Updated average frequency calculator to (1) exclude NaN values from average results, (2) allow definable unreasonable thresholds, (3) improve flat-line value detection to throw out repeating values, and (4) added flag to AverageFrequency calculator to allow unreasonable results, e.g., zero, to be reported as NaN.
- GSF.PhasorProtocols.UI: Updated OutputStream data model to accommodate auto-assignment of "auto public config frame flag" based on current channel definitions
- GSF.TimeSeries: Added up-time statistics for system, subscriber, publisher, input streams and output streams.
- GSF.TimeSeries: Added a new enhanced version of the time-series special compression algorithm, automatically enabled for new connections, used with the Gateway Exchange Protocol that uses much less bandwidth. Add
; compression=true
to connection string of existing GEP subscriptions to enable. - GSF.TimeSeries: Created a lookup cache for the main adapter meta-data using dictionary based lookups. This improved load times for input adapters on large systems (e.g., from 160 seconds to less than 1 second in some cases).
- GSF.TimeSeries: Updated measurement definitions to carry meta-data as part of measurement key with an internal reference inside measurement implementations to reduce total memory footprint requirements for new measurements.
- GSF.Core: Added a static timer class to allow many hundreds of scheduled events that run at the same interval to be associated with a single wait event instead of creating a new timer for each event (e.g., as hundreds of devices needing to check statistics every second) - this alleviates thread pool exhaustion that can occur when hundreds of timer events get executed at the same time.
Important Fixes
- PhasorProtocolAdapters: Fixed issue in custom IEEE C37.118 concentrator output streams where phasors were being reordered if a cell had 10 or more phasors.
- PhasorProtocolAdapters: Updated IEEE C37.118 concentrator to allow an explicit config frame 1 to be returned when requested instead of defaulting to config frame 2 - this corrects issues with SEL RTAC devices connecting to openPDC.
- PhasorProtocolAdapters: Corrected issue for output stream mappings when using PMU source device acronyms that are longer than 16 characters.
- DataSubscriber: Updated measurements received with GEP to apply any linear adjustments defined in the local configuration.
- GSF.Core: Added code to ensure that log files won't become deadlocked if an error occurs during rollover.
- GSF.TimeSeries: Updated DataSubscriber meta-data synchronization to exclude calculation and alarm signals from the device measurement removal processing such that if a local subscription creates new calculations associated with a subscribed device, the locally created measurements will not get automatically removed at the next synchronization.