Skip to main content

How do I create custom symbols in PI Vision?

How do I create custom symbols in PI Vision?

PI Vision extensibility allows you to build custom visualization components using HTML, CSS, and JavaScript.

Symbol Structure

A PI Vision custom symbol consists of:

  • sym-<name>.js — symbol definition and logic
  • sym-<name>-template.html — HTML template
  • sym-<name>-config.html — configuration panel (optional)

Basic Symbol Example

// sym-simplegauge.js
(function (PV) {
    function symbolVis() { }
    PV.deriveVisualizationFromBase(symbolVis);

    symbolVis.prototype.init = function (scope, elem) {
        this.onDataUpdate = function (data) {
            if (data && data.Value) {
                scope.value = data.Value;
                scope.timestamp = data.Time;
            }
        };
    };

    var definition = {
        typeName: 'simplegauge',
        displayName: 'Simple Gauge',
        datasourceBehavior: PV.Extensibility.Enums.DatasourceBehaviors.Single,
        getDefaultConfig: function () {
            return {
                Height: 200,
                Width: 200,
                MinValue: 0,
                MaxValue: 100
            };
        },
        visObjectType: symbolVis
    };

    PV.symbolCatalog.register(definition);
})(window.PIVisualization);
<!-- sym-simplegauge-template.html -->
<div class="simple-gauge">
    <div class="value">{{value | number:2}}</div>
    <div class="timestamp">{{timestamp}}</div>
</div>

Deployment

  1. Place symbol files in %PIHOME64%\PIVision\Scripts\app\editor\symbols\ext\.
  2. Restart the PI Vision web application pool in IIS.
  3. The symbol appears in PI Vision's symbol palette.

Tips

  • Use the PI Vision extensibility guide from AVEVA documentation.
  • Test in a development PI Vision instance first.
  • Custom symbols survive PI Vision upgrades (they're in the ext folder).
  • For complex visualizations, consider using D3.js or Chart.js inside your symbol.

Want to ask a follow-up?

PiChat can help with your specific PI System use case. Ask follow-up questions, get code examples, and troubleshoot issues.

Related Questions

Dive Deeper

More Questions

How do I configure PI AF templates?How do I authenticate with PI Web API from Python?What's the difference between snapshot and archive values in PI?What's the difference between PI Vision and PI ProcessBook?How do I build effective PI Vision displays?What are PI Event Frames and how do I use them?How do I write PI AF Analytics expressions?How do I use PI DataLink in Excel?Should I use PI Web API or AF SDK for my application?How do I write data to PI Data Archive?What are the main components of PI System architecture?How do I optimize PI Data Archive performance?How do I set up the PI Interface for OPC DA?How do I use PI Connector for UFL to import file data?How do I set up PI Data Archive high availability with collectives?What are the security best practices for PI System?How do I migrate PI Data Archive to a new server?How do I connect Power BI to PI System?How do I manage units of measure in PI System?What's the best way to learn PI System?How does PI time syntax work?What are good PI tag naming conventions?How do I access PI System data from Java or Linux?How do I set up PI AF notification rules?How do I use batch requests in PI Web API?How do I connect to PI AF Server using AF SDK in C#?How do I write VBA macros in PI ProcessBook?How does PI data compression work?How do I get real-time streaming updates from PI Web API?How do I troubleshoot PI AF Analysis errors?How do I write SQL queries against PI using PI OLEDB?What is PI interface buffering and how do I configure it?How do I search and query PI Event Frames?What is PI Integrator for Business Analytics?How do I fix the 'Point does not exist' error in PI System?What is the difference between PI ACE and AF Analytics?How do I manually enter data into PI Data Archive?What are AF hierarchy design best practices?What is a WebID in PI Web API and how does it work?How do I configure Kerberos authentication for PI System?Can I deploy PI System in the cloud?How do I calculate summaries (average, total, min, max) in PI?What are PI digital states and how do I use them?How do I connect PI System data to Grafana?How do I backup and restore PI Data Archive?How do I automate PI System tasks with PowerShell?What is AVEVA Connect and how does it relate to PI System?How do I check and handle data quality in PI System?How do I handle pagination in PI Web API responses?How does AVEVA PI System licensing work?How do I plan a PI System upgrade?