PI Developer Technologies

Welcome to the PI Developer Technologies feedback page!  

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, feature suggestions and feedback. Please suggest your most important features and design change ideas on this site, and vote for your favorite ideas.

Please note that your ideas and comments posted here are visible to all other users.

  • For bugs, please open a case with OSIsoft Tech Support through myOSIsoft Customer Portal  (https://my.osisoft.com) instead of sharing them on this site.
  • For documentation feedback and bugs, please report to documentation@osisoft.com instead of sharing them on this site.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Writing to AF Table through PI Web API

    Currently PI WebAPI provides only the method UpdateData /Put Tables (https://techsupport.osisoft.com/Documentation/PI-Web-API/help/controllers/table/actions/updatedata.html) to insert data into an AF table and this method requires the entire table data to be sent in the request and it is not currently possible to simply append new rows. It is inconvenient to update the entire table content always as you have GET the current data from the table, add in new content and then use the UpdateData / Put method to save the entire table. As the AF tables get larger, this would cause more network traffic and more error prone. We would…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI Web API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add support for nested SELECT statements in PI SQL (RTQP)

    The current version of PI DAS (RTQP Engine) does not support nested SELECT statements. This is a rather dire oversight, given that the older PI OLEDB Enterprise query engine does support nested SELECT statements.

    A very useful application of nested SELECT could be to centralise some arguments in SQL Views of their own, such as calculated start and end dates of time ranges.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add support for local variables in PI SQL (RTQP)

    The current version of PI DAS (RTQP Engine) does not support local variables. It causes rather clumsy constructs in some instances.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  4. Add RTQP PI SQL support for default value of function parameter

    The current version of PI DAS (RTQP Engine) does not support the definition of default values for table-valued function parameters. This is a rather bleak omission, in my view. For example, the following will fail to create the table-valued function:

    CREATE FUNCTION [MOMS].[fact].[getInstrumentOperationalDataSummaries]
    (

    @StartTime DateTime,
    
    @EndTime DateTime,
    @TimeStep TimePeriod,
    @TimeType String = 'MostRecentValue'

    )
    AS
    SELECT i.*

        ,s.Value
    

    FROM MOMS.dim.InstrumentsBase i

    CROSS APPLY [MOMS].[fact].[Instrument Base Template_GetSummaries]
    (

    i.ElementID,  --Element ID
    
    @StartTime, --Start Time
    @EndTime, --End Time
    @TimeStep, --Time Step
    @TimeType --Time Type

    ) s

    It should not. It is most reasonable to wish to provide a default value for…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  5. Add RTQP PI SQL support for parameter type cast

    PI DAS (RTQP Engine) 2018 SP3 Patch 1 lacks support for type casting input parameters of a table valued function. For example. this simple example fails to create a table valued function:

    CREATE FUNCTION [MOMS].[fact].[getInstrumentOperationalDataStringOverload]
    (

    @StartTimeIn String, 
    
    @EndTimeIn String,
    @TimeStepIn String

    )
    AS
    SELECT * FROM MOMS.fact.getInstrumentOperationalData(

    CAST(@StartTimeIn As DateTime) 
    
    ,CAST(@EndTimeIn As DateTime)
    ,CAST(@TimeStepIn As TimePeriod)
    )

    The following example fails in similar fashion:

    CREATE FUNCTION [MOMS].[fact].[getInstrumentOperationalDataStringOverload]
    (

    @StartTimeIn String, 
    
    @EndTimeIn String,
    @TimeStepIn String

    )
    AS
    SELECT * FROM MOMS.fact.getInstrumentOperationalData(

    DateTime(@StartTime)
    
    DateTime(@EndTime)
    TimePeriod(@TimeStep)
    )

    Error message: The table-valued function definition is not supported.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add support for unit conversion

    Please add a "Canonical UOM Per UOM" or "UOM Per Canonical UOM" column (not necessarily with those exact names) to the UnitOfMeasure table. This column would contain the conversion factor needed to convert between the UOM and the canonical UOM, similar to the "Canonical" column in PI System Explorer when you are viewing a UOM class.

    With this in place, a user can easily convert a value to any unit by first converting from the value's default UOM to the canonical UOM of the value's UOM class, and then convert from the canonical UOM to the desired UOM. This would…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  7. PI Web API should cache Windows Identities when making multiple requests with Claims Based Authentication

    As a PI Web API client, I would like bearer authentication to be more performant. So that I can write secure, responsive client applications

    BearerAuthenticationProvider should cache WindowsIdentity. Currently ClaimsPrincipal is cached and WindowsIdentity is retrieved for each request from C2WTS.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI Web API  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow adding one AFEnumerationSet to a different PIServer

    If you run

    pIServer.StateSets.Add(aFEnumerationSet);
    afEnumerationSet.CheckIn();

    The set will not be checked in if the PIServer of the AFEnumerationSet is not the same as the PIServer you are checking into.

    Instead you have to do:

    AFEnumerationSet newSet = new AFEnumerationSet(setToCopy.Name);
    foreach (AFEnumerationValue aFEnumerationValue in setToCopy) newSet.Add(aFEnumerationValue); destinationSets.Add(newSet);
    setToCopy.CheckIn();

    Please automate that functionality.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI AF SDK  ·  Flag idea as inappropriate…  ·  Admin →
  9. Implement Attribute Trait filtering for AFSearch

    I would like to perform AF Searches that return results based on Attribute trait filtering. More specifically, I would like to search for Elements that contain Location trait Attributes, so I can query more easily for assets that have a Location trait. I currently rely on Element Categories or Element Template filtering, but those filters do not always match the search results I am looking for.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI AF SDK  ·  Flag idea as inappropriate…  ·  Admin →
  10. Allow to change Connection Default Preference for all AF SDK applications

    If the user wants his custom applications running on a particular client machine to connect to the secondary server of a collective, he could of course hard-code that. But that becomes impractical if there are a lot of custom programs or they are deployed on several client machines, some of which he might prefer to connect to the primary. It would be more flexible if there was some global setting to control this.

    The first thing to do is to change priorities for the primary and secondary by assigning the former a bigger number. This can already be done in…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI AF SDK  ·  Flag idea as inappropriate…  ·  Admin →
  11. OSIsoft Python Library for data science

    As a data scientist, I would like to be able to use a fully supported OSIsoft Python library without having to directly interface my Python script with a middleware. This OSIsoft Python library would be able to perform the same operations as PI DataLink, but directly in Python. Having this OSIsoft Python library would be beneficial for me because it would greatly improve the time needed to create data analysis scripts and make it a lot easier to interface with 3rd party Python libraries like Pandas for data analysis.

    11 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  12. Get AF Server Name and AF Database Name in PI SQL DAS (RTQP)

    As a PI Applications Developer, I need to be able to retrieve the name of the current AF Server and Current AF Database in the PI SQL DAS (RTQP). This information was available in PI OLEDB Enterprise’s [System].[Connection].[ConnectionProperty] and [System].[Connection].[ConnectionStatus] tables. I would like it to be in PI SQL DAS (RTQP) as well.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  13. 1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  14. Improve error logging when PI Web API fails to load attributes that are not marked as configuration items

    As a PI Web API administrator, I would like to see errors logged when PI Web API fails to load any attributes because they are not marked as configuration items. This will decrease required troubleshooting for these issues.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI Web API  ·  Flag idea as inappropriate…  ·  Admin →
  15. Sort list of tags returned by AF SDK's FindPIPoints() method

    Add a method that can be used to sort the IEnumerable<PIPoints> returned by AFSDK's FindPIPoints() method. This method should allow the option of sorting on any desired PI Point Attribute.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI AF SDK  ·  Flag idea as inappropriate…  ·  Admin →
  16. Provide a PI SQL Commander Lite Standalone Download

    Currently, PI SQL Commander Lite is bundled with PI SQL Client, PI OLEDB Enterprise, and PI ODBC Driver.

    It is a very useful tool for PI OLEDB Provider, which does not bundle it. To use it, another provider needs to be installed to obtain PI SQL Commander Lite indirectly.

    The version of PI SQL Commander Lite that is bundled with each provider is the latest version of PI SQL Commander Lite at the time of the provider's release. This means that the latest versions of each provider could have different versions of PI SQL Commander Lite bundled with them.

    Manageability…

    6 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  PI SQL Client  ·  Flag idea as inappropriate…  ·  Admin →
  17. 3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
  18. PI Web API Joined should use a format which can be used in PowerBI

    Currently the PI Web Api Joined, delivers the data in a json format which is not really "Power BI" friendly , it would be helpful to have a format where all the datavalues from the subordinated are in the same json object of the base.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI Web API  ·  Flag idea as inappropriate…  ·  Admin →
  19. Support importing multiple aliases using the KST.INI file during setup

    As a PI System Admin, I would like to be able to specify multiple aliases for one PI Server in a KST.INI file that will be used to create a predefined set of PI Servers during a silent install of the PI SDK so that I can ensure that all users have the same KST that includes multiple servers with multiple aliases for each server. This is more efficient than installing the PI SDK and then having to push a registry update.

    3 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  20. Add an action to StreamSets controller to register for updates at element or event frame

    Adding another action in the StreamSets Controller to Register for StreamSet updates in the form POST streamsets/{WebId}/updates with WebId referring a parent object like an Element or EventFrame would be really helpful to get updates for all attributes that belong to an element, similar to Channel controller behavior.

    2 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PI Web API  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3
  • Don't see your idea?

Feedback and Knowledge Base

Posted ideas will have one of the following statuses.
Full definition of these statuses can be found on the Home Page.
No status
TELL US MORE
EVALUATING
PLANNED
IN DEVELOPMENT
COMPLETED
DECLINED