PI Developer Technologies
Welcome to the PI Developer Technologies feature suggestion box. This forum covers the PI AF SDK, PI Web API, PI OPC DA and HDA Servers, and the PI SQL family. We created this forum to hear your ideas, suggestions and feedback.
Please suggest your most important features and design change ideas on this site! Also vote for your favorite features now! We welcome your feedback.
- NOTE: for bugs, please report to OSIsoft Tech Support at https://techsupport.osisoft.com/My-Support/My-Cases/New/ rather than entering them on this site.
- NOTE: for documentation feedback and bugs, please report to Documentation@osisoft.com rather than entering them on this site.
-
Introduce a PI OPC UA Server
The OPC landscape is shifting away from DA/HDA and towards UA servers. A significant number of OPC client tools are being created that connect to OPC UA servers, and none of these are compatible with PI without the use of a third party UA wrapper since we only provide DA and HDA servers.
73 votesWe have been gathering use cases and information about OPC UA Server functionality as it pertains to OSIsoft products.
There are a number of different requirements to consider, and as such we’re changing the status back to “UNDER REVIEW / RESEARCHING” to more accurately reflect the current status of the work.
At this time, we are not committing to bringing this capability to market.
We will update this thread if the status changes.
-
Add Options for PI Web API Call Statistics
Add auditing or a view of statistics for the calls or requests done by each individual application. Allow a PI Admin to see which user or application is making a specific call and see how long it takes to complete to monitor performance and potentially resource intensive Web API calls.
28 votesWe are researching and evaluating opportunities to expose PI Web API health, diagnostic, and basic telemetry data.
-
Complete PI Web API documentation
As a PI Web API user I want to know exactly what kind of Body Parameters (their defaults and description) are supported by PI Web API methods. The current sample requests are not sufficient because they do not describe the values for body parameter, though many parameters have unique restrictions.
Here is an example of desired content:
https://developers.jivesoftware.com/api/v3/cloud/rest/StreamEntity.html25 votesWe have received a lot of feedback on this. We are looking at on-line help with better samples of queries and responses. We are looking at some web frameworks for offering a live “Try It” feature for PI Web API. We are also looking at comprehensive search within the PI Web API help system.
-
Expose methods to retrieve messages from the PI Message log to PI AF SDK
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.
16 votes -
Expose PI Network Manager Statistics via AF SDK
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.15 votes -
Backfill/Recalculate over future data
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.
12 votes -
Add DATEADD and DATEDIFF functions to PI SQL Commander
When any time related functions need to be performed against timestamp columns in PI SQL Commander, one needs to utilize a significant amount of conversions to make this work. For example, if one needs to round timestamps to the nearest minute or the nearest hour, a CASE statement with multiple CASTs needs to be done to get this to work.
If T-SQL DATEADD and DATEDIFF commands were implemented, this would simplify the query by a significant amount. Similarly, in PL/SQL, the ROUND function is able to round the datetime value directly, which would fit perfectly to this scenario.
12 votesWe are planning to add several functions that are equivalent to T-SQL functions. This will make it easier for the PI SQL products to integrate with the Linked Server in Microsoft SQL Server.
-
Implement a checkpoint system for index crawls
When the crawler fails on an incremental crawl, the index search must perform a complete rebuild of the index. It would be beneficial for there to be a way to revert to a previous built index just prior to the failed incremental crawl so that the index file is available. This is particularly useful for large data sources that take hours or days to crawl before they're usable again.
10 votes -
Add bulk delete methods in the Web API
As a PI Web API user, I would like a simple method to perform bulk deletes of a particular attribute or PI tag. Currently, a bulk delete requires 2 calls. One to retrieve the event I wish to delete and another to delete it.
9 votesWeb ID 2.0 should allow you to compute the WebID of a resource without needing to make a call to PI Web API. With that computed WebID, you can make the single call to PI Web API to delete the resource.
Does this solution meet your needs? Have I understood it correctly?
-
Allow parameters to be passed to a request body in the Batch Controller
I would like the ability to pass response values from one request into the body of a dependent request using the batch controller to avoid making 2 calls to the PI Web API.
Currently, I can only use Parameters in subsequent URLs, but not bodies.
9 votesThe idea still exists on our product backlog, but there are no plans in place to develop and release this functionality at this time.
-
OPC DA Server should periodically update its cache from the PI Server after the initial start
The OPC DA Server service uses %PIPC%\PI_OPCDA2\Data\SavedNamespace.xml to load the tags and does not update the cache until the service is stopped and started again. If any new tag is added to the PI Server, it is not picked by the OPC DA Server. The service should periodically update its cache from the PI Server after the initial start.
8 votes -
Add a PI Collective member info PI WebAPI controller
As an end-user, I want to be able to see to which PI Collective member I am connecting to. I also want to be able to toggle programmatically from one PI Collective member to the other so I can make sure the informaiton I am seeing is aligned and in synch accross all PI Collective members without going into thick PI clients or through log files.
8 votesThis is a novel idea for monitoring PI Collective health, but there are no plans to add this ability to PI Web API. What advantages do you see in using PI Web API here?
-
Time Context Value Retrieval
Example Scenario:
We want to know the Specific Electricity Consumption (kWh/mt) over a time period (selected by users).
Specific Electricity Consumption = (Electricity Consumption(kWh)) / (Raw Feed Consumed(mt))Where, Electricity Consumption (kWh) and Raw Feed Consumed (mt) are both attributes with PIPoint data reference, using value retrieval method: TimeMethod = Time Range; TimeRangeMethod = Total; EventWeighted
Then, Specific Electricity Consumption is attribute with Formula data reference, simply: A=Electricity Consumption; B=Raw Feed Consumed;[A/B]
So, on PI Vision, it can display the specific electricity consumption with the correct values. However, if we query through PI Web API for our own webpage, it…
7 votes -
Allow configuration of the PI OPC DA Server's ProgID
The ProgID of the 2015 PI OPC DA Server is OSISoft.OPCDA2.DA.1, while the ProgID of the 2010 PI OPC DA Server is OPC.DA.1.
Existing client tools that pointed to the 2010 PI OPC DA server will need to be reconfigured to point to the new ProgID after the PI OPC DA server is upgraded to 2015.
While this is done because of an architecture change between the 2010 and 2015 servers, potentially necessitating changes to be made to the client application, it is still desirable in some cases to point it to the new server without changing the ProgID.
7 votes -
AF SDK Async Data Methods for multiple AFAttributes
Expose interfaces for asynchronous data method calls (ex. InterpolatedValues, PlotValues, RecordedValues, Summaries) that:
1. Take an asynchronous enumerable of `AFAttribute`s as input
2. Output an asynchronous enumerable of results
3. Throttle the calls made to PI Data Archive so that it does not overwhelm itThe use case is to be able to make end-to-end asynchronous data method calls on a set of AFAttributes.
6 votes -
Tag Creation
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.
6 votes -
Expose Values with Duplicate Timestamps in Transpose Function
In the current implementation of the transpose archive in OLEDBEnt, a user is unable to retrieve data that may exist at the same timestamp as another piece of data. This is because the time column is treated as the primary key of the transpose table. I would like to be able to retrieve all data using the archive transpose function regardless if timestamps are duplicated.
5 votes -
Restrict Access to Web API Endpoint by User
As a PI Web API administrator, I would like to natively restrict which users can and cannot see particular URLs and controllers on my PI Web API endpoint.
5 votes -
Support attribute types referencing AF Elements and Attributes
We use attributes to reference elements and attributes extensively to model context and relationships in our AF models. Is this going to be supported in the future? Kind regards, Gregor
5 votesThis item is under review. Currently considering the following behavior for attributes links:
Current behavior:
Error returned: “Unsupported data type: ‘OSIsoft.AF.Asset.AFAttribute’.”
Similar error for AFElement.Change under consideration:
Value link for Attributes of value type “Attribute” returns the referenced attribute’s GET response (“/attributes/[webid]”)
Value link for Attributes of value type “Element” returns the referenced element’s GET response (“/elements/[webid]”) -
Allow PIOLEDB Enterprise to connect directly to a PI Data Archive
If PI OLEDB Provider is not going to be further developed, allow PI OLEDB Enterprise to connect directly to a PI Data Archive.
There are times when an SQL type query is needed, but the data structure has not been mapped to an AF server yet.5 votesWe have a new SQL query processing engine under construction. We call it the Real-Time Query Processing Engine, or RTQP Engine. We are targeting improved performance and scalability but we are also improving some of the table designs to make common queries a bit easier. We have talked to many customers about their use cases. It turns out that direct access to PI Data Archive tags is still very important. We also found several hybrid use cases such a summarizing values from a PI tag over the period of an Event Frame, and Kenneth Barber’s excellent example of aligning AF Attributes with PI Point attributes. So, we will be adding direct access to PI tags and data but not in the first release.
- Don't see your idea?