Add methods to retrieve messages from the local and remote PI Message Logs where remote can refer a PI Data Archive node or any remote PINS.
Because the EventLog Class in .NET Framework provides access to local and remote Event Logs, offering the AF (Server) Event Log through PI AF SDK is not necesarry.24 votes
As of now, we can get PINetMgr statistics via PowerShell command Get-PIConnectionStatistics. # of users familiar with AF SDK are more than with PowerShell.
It will be nice feature addition in AF SDK, and usability will also increased.19 votes
The ability to backfill an analysis using an end time in the future. This would read data from future inputs and write the results as future values.15 votes
Please add support for .NET Core to the AF SDK. Currently only full .NET Framework is supported.11 votes
With Microsoft supporting .NET Core on Linux operating systems such as RHEL, SLES Ubuntu, CentOS, and Debian.
They are even supporting SQL Server on Linux OS'es.
I don't know the dependencies of the AF SDK nor the Web API, but if they can use .NET Core; it would be nice to have the AF SDK and Web API available for Linux based OS'es.10 votes
To help with quicker deployment, having AF SDK as a nuget package would speed up development and lower barrier to developing against a PI System.10 votes
As a developer of custom applications that use the PI AF SDK, I'd like to be able to easily determine if an attribute based of an attribute template is configured for tag creation. Currently the AF Attribute Template class does not have this property. The current work around is to look at the configuration string which is less efficient.9 votes
Expose interfaces for asynchronous data method calls (ex. InterpolatedValues, PlotValues, RecordedValues, Summaries) that:
1. Take an asynchronous enumerable of
AFAttributes as input
2. Output an asynchronous enumerable of results
3. Throttle the calls made to PI Data Archive so that it does not overwhelm it
The use case is to be able to make end-to-end asynchronous data method calls on a set of AFAttributes.7 votes
af sdk PIPointQuery should allow multiple use of filter name per AND condition, so ranges can be searched
Currently the PIPointQuery cannot contain a filter condition with same filter name twice per AND condition of the query string.
PointId:>5 AND PointId:<10.
This would cause an error.
Therefore filtering for a certain range is annoying as both result lists then have to be compared for common elements, workaround for the AND in above condition.
Introduce a "BETWEEN" operator for the filter condition.
Allow multiple use of filter names in the same AND condition.4 votes
Mention in the AF SDK reference documentation that exception is not applied by the UpdateValues method
The UpdateValues method does not implement by itself the exception mechanism. Exception is applied on the client side, for instance by UniInt interfaces.
As a developer, I would like this fact to be mentioned in the documentation to avoid confusion:
Documentation for methods PIPoint.UpdateValue(s) and PIServer UpdateValues will contain this note in 2017 R2.
PI AF SDK - Search Query Syntax - Filters
Allow results to be ORed. Currently Results can only be ANDed.4 votes
This is planned for the 2018 R2 release for AF based searches. Note that while the user interface in PSE will allow OR clauses to be typed in, there will not yet be a user interface in 2018 R2 to help you build OR clauses.
statement re: not currently supported: https://pisquare.osisoft.com/message/138235-is-there-a-way-to-create-an-afsdk-docker-container3 votes
As we know there are 2 major competitor for cloud technologies that is Microsoft and Linux destros. If we want to use Linux docker image or PCF Linux image to connect AF SDK, we don't have any provision for this as of now because AF SDK does not support Linux OS. If we support this then most of cloud customer attracts to use AF SDK in their organization.3 votes
Have an option for the PIPointList.RecordedValues Method to exclude the current value if now (*) is specified as the end time
With the PIPointList.RecordedValues Method, using an end time of * will include the current value. This is unexpected when the method "Returns a list of compressed values for the requested time range from PI."2 votes
Provide ability to specify ID (Guid) when creating elements or attributes in AF via the AF SDK.
When replicating data from an external system to AF, we need to be able to use the same GUID that has already been established. This will allow us to easily query data from PI Web API because the GUIDs can be directly translated into WebIDs without having to perform lookup queries first.2 votes
AF SDK Calls using the AFValues.GetValues should include an index of result events, this is to allow direct location of replacement events
The PIPoint.ReplaceValues method requires a replacement of every event in the timerange, however it also may reorder or miss events with the same time stamp. The issue is that if the client wants to replace only a certain event, but must find that event - the replacement is for all the events at that timestamp and the method doesn't seem to allow for precise replacement of a value.
The use case is programmatic correction of operator manual entry error, where multiple events have the same timestamp.2 votes
Several customers have asked for ability to search on multiple categories. I understand from developers that a generic OR in AFSearch can be quite expensive, but allowing for search filter Category to support Equal or IN should not be expensive.2 votes
As a programmer, I would like to search for and return elements with attributes that contain bad values using the AFElementSearch Class in the AF SDK.2 votes
I would like to aggregate multiple tag values in a server side operation using naturally scheduled or sampled intervals in some form similar or extending FilteredSummaries.
Most common case is finding the maximum aggregate of two or more tags.
It's not practical to rely on Analysis for adhoc use cases.2 votes
Maybe I'm missing it, but after performing an AFAttributeSearch I would like to use the binning extensions for summaries or aggregate periods, much like the EventFrame examples. However the fields exposed by AFAttributeSearch do not include the actual event timestamp.
Can OSIsoft either update examples on how this is possible (sadly all examples are across eventframes whose search does expose datetime fields in StartTime/EndTime), or enable retrieval of Timestamp as a field for AFAttributeSearch?1 vote
- Don't see your idea?