AVEVA PI Connector Installation Guide (v0.2.0) [Beta]
Shows how to install and configure the AVEVA PI Connector v0.2.0 on a Tetra Hub, in the cloud, or as a Windows service (MSI), connect it to Tetra, and verify that data is flowing.
This guide shows how to deploy and configure the AVEVA PI Connector v0.2.0 and verify that PI data is flowing into the Tetra Data Lake. The connector supports two deployment modes: Windows MSI (runs as a Windows service) and Hub or Cloud (runs as a container on a Tetra Hub or in the Tetra cloud).
Choose a Deployment Mode
| Windows MSI | Hub or Cloud | |
|---|---|---|
| Authentication | Basic auth and Kerberos/SSPI | Basic auth only |
| Installation | MSI installer, runs as a Windows service | Standard Pluggable Connector deployment — no installer required |
| Kerberos support | Yes — uses Windows SSPI | No |
| When to use | PI Web API requires Windows-integrated (Kerberos) auth, or you prefer a Windows-native service | Basic auth is sufficient and you want to deploy the connector like other Pluggable Connectors |
Jump to your deployment mode:
The Configure PI Settings in Tetra step and everything after it applies to both deployment modes.
Hub or Cloud Deployment
Prerequisites
Network Requirements
The connector connects to your PI Web API server over HTTPS (port 443):
- Hub deployment: the Tetra Hub must have outbound HTTPS access to the PI Web API server.
- Cloud deployment: the PI Web API server must accept HTTPS connections from the Tetra cloud. Because most PI servers are on premises, a Hub deployment is usually the better fit.
PI Prerequisites
- PI Web API must be installed and accessible over HTTPS from the connector's host.
- The PI user account must have read access to the PI Asset Framework (AF) database you want to poll.
- SSL certificates: select Verify SSL Certificates to verify the PI Web API certificate (recommended for production). If the certificate is self-signed or issued by a private certificate authority, first upload it to Tetra, then restart the connector. Clear Verify SSL Certificates only in development and test environments.
Deploy the Connector
Create the connector by following Create a Pluggable Connector:
- In the Tetra UI, open the Connectors page and choose Create Connector.
- For HOST, select Hub and choose your Hub, or select Cloud.
- For CONNECTOR TYPE, select AVEVA PI. For CONNECTOR VERSION, select v0.2.0.
- Choose Create.
- On the connector's details page, select Set to Running.
Once deployed, proceed to Configure PI Settings in Tetra.
NOTEThe Hub or Cloud deployment supports basic authentication only. If you need Kerberos authentication to PI Web API, use the Windows MSI deployment instead.
Windows MSI Deployment
IMPORTANTYou must have local Administrator rights on the Windows host to install and configure the connector.
Step 1: Complete the Prerequisites
Hardware and Software Requirements
The following requirements are based on the connector's test environment (AWS t3.medium: 2 vCPU / 4 GB RAM). Formal sizing tests have not been performed; your requirements may vary with polling volume and AF hierarchy size.
- OS: Windows Server 2019 or 2022, 64-bit (x86-64). Windows 10 and Windows Server 2016 have not been formally tested and are not validated configurations.
- RAM: 4 GB minimum (validated on t3.medium-class hardware)
- Disk: approximately 500 MB free for the connector installation, plus additional space for log rotation (estimated; not formally measured)
- Domain membership: required for Kerberos authentication; not required for basic authentication
NOTENo additional runtime is required. The connector bundles all of its dependencies — .NET, Python, and all required libraries are included in the MSI installer.
Network Requirements
The connector requires outbound HTTPS access (port 443) to both your Tetra environment and your PI Web API server. No inbound connections are required.
| Destination | Purpose |
|---|---|
Tetra API endpoint (for example, https://api.tetrascience.com) | Connector registration, heartbeat, command queue |
AWS SQS endpoint (for example, https://sqs.us-east-1.amazonaws.com) | Outbound command queue |
| AWS S3 data lake bucket | Data upload |
| PI Web API server (port 443) | PI data retrieval |
Tetra Prerequisites
Before running the MSI installer, you must complete the following steps in Tetra:
- Create a connector of type AVEVA PI in the Tetra UI (open the Connectors page and choose Create Connector).
- Obtain the Connector ID from the connector's detail page.
- Generate a Connector Token by navigating to the connector's detail page → Install → Generate Token. Copy the token value — it is shown only once.
- Download the standalone installer from the connector's Install page. The downloaded archive contains a pre-filled configuration file with your AWS connection parameters (
AWS_REGION,DATALAKE_BUCKET,KMS_KEY_ID,OUTBOUND_COMMAND_QUEUE).
NOTEThe standalone installer download is the easiest way to obtain the AWS values. Keep the downloaded file open when you complete Step 3.
PI Prerequisites
- PI Web API must be installed and accessible over HTTPS from the Windows host.
- The PI user account must have read access to the PI Asset Framework (AF) database you want to poll.
- SSL certificates: select Verify SSL Certificates to verify the PI Web API certificate (recommended for production). If the certificate is self-signed or issued by a private certificate authority, first upload it to Tetra, then restart the connector. Clear Verify SSL Certificates only in development and test environments.
Step 2: Install the Connector
Obtain the MSI file (TetraScience.Connector.AVEVA-PI.0.2.0.msi) from TetraScience. Then install the connector using one of the following methods:
Interactive installation
- Right-click the MSI file and select Properties. On the General tab, click Unblock if the button is present, then click OK.
- Double-click the MSI file.
- Accept the UAC elevation prompt when prompted.
- Follow the guided installation wizard and click Finish when complete.
Silent installation
Open an elevated command prompt (Run as Administrator) and run:
msiexec /i "TetraScience.Connector.AVEVA-PI.0.2.0.msi" /qnDefault installation location
C:\Program Files\TetraScience\AVEVA PI Connector\
After installation, the Windows service TetraScience AVEVA PI Connector is registered and configured to start automatically, but it is not started immediately. Complete the configuration steps before starting the service.
Step 3: Configure the Tetra Connection
The connector reads its Tetra connection settings from a .env file in the installation directory. You must create this file before starting the service.
- Open an elevated PowerShell window (Run as Administrator).
- Copy the example file and open it for editing:
cd "C:\Program Files\TetraScience\AVEVA PI Connector"
Copy-Item .env.example .env
notepad .env- Fill in the required values using the table below:
| Variable | Description | Where to find it |
|---|---|---|
CONNECTOR_ID | Unique ID of this connector instance | Tetra UI → Connectors → select the connector |
ORG_SLUG | Your Tetra organization slug | Tetra UI → Organization settings |
TDP_ENDPOINT | Tetra API base URL (no trailing slash) | Tetra UI (for example, https://api.tetrascience.com) |
CONNECTOR_TOKEN | Auth token for this connector | Tetra UI → Connectors → Install → Generate Token |
AWS_REGION | AWS region for your Tetra deployment | Standalone installer download |
DATALAKE_BUCKET | S3 data lake bucket name | Standalone installer download |
KMS_KEY_ID | KMS key alias for data encryption | Standalone installer download |
OUTBOUND_COMMAND_QUEUE | SQS queue URL for connector commands | Standalone installer download |
NOTEThe AWS values (
AWS_REGION,DATALAKE_BUCKET,KMS_KEY_ID,OUTBOUND_COMMAND_QUEUE) are pre-filled in the configuration file included with the standalone installer download from the Tetra UI. If you downloaded that file, you can copy the values from it directly.
- Save and close the file.
Configure PI Settings in Tetra
NOTEThis step applies to both Windows MSI and Hub or Cloud deployments.
PI configuration is managed through the Tetra UI. Complete this step before starting the connector for the first time.
- In the Tetra UI, navigate to Connectors and select your AVEVA PI connector.
- Select Configuration.
- Set the required fields:
| Field | Description | Example |
|---|---|---|
| PI Web API Base URL | Full URL to your PI Web API endpoint. Must end with /piwebapi. | https://piserver.example.com/piwebapi |
| Authentication Mode | basic for username/password; kerberos for Windows-integrated auth (Windows MSI only). | basic |
| PI Web API Username | Required for basic auth. For Kerberos, leave blank to use the service account (or set to override). | svc_pi_reader |
| PI Web API Password | Required for basic auth. |
- Enable at least one data source:
IMPORTANTYou must enable at least one of the following data sources. Tetra won't save the configuration if none of them is set.
| Setting | How to enable | Example |
|---|---|---|
| Enable Event Frame Polling | Set to true to collect PI Asset Framework event frames. | true |
| Tag Query | Enter a PI Point name filter pattern to enable tag collection. | name:BA:* |
| AF Element Paths | Enter one or more AF element paths to enable element-based tag collection. Each path is relative to the configured AF server and database — do not include the server or database prefix. | Site\Reactor01 |
NOTETag Query and AF Element Paths can be used together. If they both resolve to the same underlying PI Point, that tag's data may appear twice in the output under different identifiers. To avoid duplicates, ensure the two modes cover non-overlapping tag sets.
- Optionally, configure additional fields:
| Field | Description | Default |
|---|---|---|
PI Asset Framework Server Name (af_server) | PI AF server name. Must match the exact name in PI Web API. | PI Asset Server |
AF Database Name (af_database) | PI AF database name. Must match the exact name in PI Web API. | PI Asset Database |
PI Data Archive Server Name (data_archive_server) | PI Data Archive server name. If not set, the first available data server is used. Only needed when multiple PI Data Archive servers are present. | First available |
Polling Interval (polling_interval) | Minutes between polls | 5 |
Verify SSL Certificates (verify_ssl) | Verify the PI Web API TLS certificate. Recommended for production. If the certificate is self-signed or issued by a private certificate authority, upload it to Tetra first. Clear this option only in development and test environments. | Not selected |
Windows AD Domain (domain) | Active Directory domain for Kerberos with explicit credentials (Option B in Configure Kerberos Authentication). Windows MSI only. |
NOTEIf you are using Kerberos authentication, also complete Configure Kerberos Authentication before starting the service.
Configure Kerberos Authentication (Windows MSI Only)
Skip this step if you are using basic authentication or a Hub or Cloud deployment.
The connector uses Windows SSPI for Kerberos — it authenticates to PI Web API as a Windows domain account, using the standard Windows Kerberos ticket infrastructure. No additional Kerberos libraries or keytab files are required.
There are two ways to supply the Kerberos identity:
Option A (recommended): Run the service as a domain service account
The Windows service itself runs under a domain account that has PI Web API read access. This is the most secure option because credentials are managed by Windows and never stored in the Tetra configuration.
- Work with your PI administrator to create a domain service account (for example,
DOMAIN\svc_pi_reader) and grant it read access to PI Web API. - Grant the account the Log on as a service right on the Windows host:
- Open Local Security Policy → Local Policies → User Rights Assignment.
- Double-click Log on as a service and add the service account.
- Grant the account write access to the connector's log directory:
# Run as Administrator
icacls "C:\Program Files\TetraScience\AVEVA PI Connector\logs" /grant "DOMAIN\svc_pi_reader:(OI)(CI)M"- Configure the Windows service to run as that account. The
nssm.exeexecutable is in the installation directory — use the full path:
# Run as Administrator
& "C:\Program Files\TetraScience\AVEVA PI Connector\nssm.exe" set "TetraScience AVEVA PI Connector" ObjectName "DOMAIN\svc_pi_reader" "password"Replace DOMAIN\svc_pi_reader and password with your actual service account name and password.
- Leave PI Web API Username, PI Web API Password, and Windows AD Domain blank in the Tetra configuration UI (the service account identity is used automatically).
NOTEService account password rotation: If the service account password expires or is rotated, the connector service will fail to start after the next restart. When you change the password, re-run the
nssm.exe setcommand above with the new password and then restart the service.
Option B: Explicit credentials in Tetra configuration
The service runs as LocalSystem, but explicit domain credentials are passed to PI Web API for Kerberos authentication. Use this option when you cannot change the service account (for example, in tightly managed environments).
- In the Tetra configuration UI, set Authentication Mode to
kerberos. - Set PI Web API Username to the domain account username (without the domain prefix).
- Set PI Web API Password to the account password.
- Set Windows AD Domain to the AD domain name (for example,
CORP).
NOTEWith Option B, the service continues to run as LocalSystem. The explicit credentials are used only for the PI Web API Kerberos exchange.
Start and Verify
Windows MSI: Start the Service
Open an elevated PowerShell window and run:
Start-Service "TetraScience AVEVA PI Connector"Verify the service is running:
Get-Service "TetraScience AVEVA PI Connector"
# Expected output:
# Status Name DisplayName
# ------ ---- -----------
# Running TetraScience AVEVA PI Co... TetraScience AVEVA PI ConnectorTail the connector log to confirm startup and PI connection:
Get-Content "C:\Program Files\TetraScience\AVEVA PI Connector\logs\connector.stderr.log" -Wait -Tail 50Look for log lines that confirm the connector has started, connected to Tetra, reached the PI Web API URL, and completed a first polling cycle.
In the Tetra UI, confirm the connector's status shows Running.
Windows Service States
| State | Meaning |
|---|---|
Running | Connector is active and polling PI. |
Paused | NSSM throttle — the connector process exited unexpectedly and NSSM is waiting before retrying. Check the log for the error. |
Stopped | Service has been manually stopped or has not yet been started. |
NOTEIf the service enters
Pausedstate immediately after starting, the most common cause is a configuration error. Checkconnector.stderr.logfor details.
Verify Data in Tetra (Both Deployments)
- Wait for the first polling cycle to complete (default interval: 5 minutes).
- In Tetra, navigate to Data Lake and search for files uploaded by this connector.
- Files should appear under the connector's source path in the data lake.
Upgrade from v0.1.0
v0.1.0 is Hub or Cloud only — there is no v0.1.0 MSI. To upgrade, change the connector's version to v0.2.0 by following Edit a Pluggable Connector's Information. Then update the configuration in the Tetra UI as described in Configuration Changes.
NOTEIf the version change option is not available for pre-release versions, contact TetraScience support.
Configuration Changes
IMPORTANTIn v0.1.0, the connector always polled event frames. In v0.2.0, Enable Event Frame Polling is off by default, and Tetra won't save a configuration that has no data source enabled. To keep collecting event frames after upgrading, select Enable Event Frame Polling when you update the configuration.
Authentication Mode is also new and required in v0.2.0 — there is no default. Set it to basic (or kerberos if you are moving to a Windows MSI deployment with Kerberos authentication).
Version 0.2.0 also renames the following configuration fields. After upgrading, enter your v0.1.0 values in the renamed fields in the Tetra UI:
| v0.1.0 field | v0.2.0 field |
|---|---|
PI Asset Server Name (asset_server) | PI Asset Framework Server Name (af_server) |
Asset Database Name (asset_database) | AF Database Name (af_database) |
Upgrade the Windows MSI
To upgrade an existing Windows MSI installation to a newer release:
- Stop the service:
Stop-Service "TetraScience AVEVA PI Connector"-
Run the new MSI installer. It installs over the existing installation. Your
.envfile andlogs\directory are preserved. -
If you are using Kerberos Option A (service account): the MSI reinstall resets the service identity to LocalSystem. Re-run the
nssm.exe setcommand to restore the domain account:
# Run as Administrator
& "C:\Program Files\TetraScience\AVEVA PI Connector\nssm.exe" set "TetraScience AVEVA PI Connector" ObjectName "DOMAIN\svc_pi_reader" "password"- Start the service:
Start-Service "TetraScience AVEVA PI Connector"Troubleshooting
| Symptom | Deployment | Likely cause | Fix |
|---|---|---|---|
Service status Paused immediately after start | Windows MSI | Configuration error | Check connector.stderr.log for the error message. Verify all required .env values and Tetra configuration UI fields. |
Tetra rejects the configuration on Save, or connector health shows Warning with NoEgressModeConfigured | Both | No data source enabled | Select Enable Event Frame Polling, enter a Tag Query, or enter AF Element Paths in the Tetra configuration UI. At least one must be set. |
401 Unauthorized from PI Web API | Both | Wrong credentials or wrong auth mode | Verify auth_mode, username, and password in the Tetra configuration UI. For Kerberos, verify that the service account has been granted PI Web API read access. |
| Cannot reach PI Web API (connection timeout or refused) | Both | Network or firewall block | Confirm the host has outbound HTTPS (port 443) access to the PI Web API server. Check that base_url in the Tetra configuration UI is correct and the PI Web API service is running. |
SSL certificate verify failed from PI Web API | Both | Self-signed or untrusted PI certificate | Upload the certificate to Tetra and restart the connector. In development and test environments only, you can clear Verify SSL Certificates instead. |
| No files appearing in Tetra after polling | Both | PI configuration mismatch or PI data issue | Check the log for polling output and errors. Verify that af_server, af_database, tag_query, or element_paths match your actual PI environment. |
Service enters Paused after changing Kerberos settings | Windows MSI | NSSM service account not updated | Run the nssm.exe set command again with the correct credentials and restart the service. |
Intermittent 401 errors from PI Web API after the connector has been idle | Windows MSI (Kerberos) | Kerberos constrained delegation not configured in AD | Some PI deployments require the PI Web API to delegate credentials to a backend AF server. If constrained delegation is not configured in AD, the backend connection can expire after an idle period (typically 10 minutes). The connector's default 5-minute polling interval normally keeps the connection alive, but if you see intermittent 401 errors after idle periods, ask your PI and AD administrators to verify that Kerberos constrained delegation is enabled for the PI Web API service account. |
Next Steps
After the connector is running and data is flowing, you may want to:
- Adjust polling configuration — tune
polling_interval,tag_data_lag_minutes, orelement_traversal_depththrough the Tetra connector configuration UI. - Backfill historical data — use the
RetrieveTagTimeWindowDataorRetrieveTimeWindowDatacustom command to pull data for time windows the connector missed. See Custom Commands. - Monitor the connector — set up Tetra alerts for files with
ERRORstatus to catch authentication failures and polling errors early.
Custom Commands
Send custom commands with the Create Command endpoint. Set targetId to the connector ID shown on the connector's details page. Both commands take the same time_windows payload and upload the results as one file per window.
| Command | Action | Retrieves |
|---|---|---|
RetrieveTimeWindowData | TetraScience.Connector.PI.RetrieveTimeWindowData.v1 | Event frame data |
RetrieveTagTimeWindowData | TetraScience.Connector.PI.RetrieveTagTimeWindowData.v1 | Tag data for the tags discovered from Tag Query and AF Element Paths. Requires at least one of them to be set. |
Example:
{
"targetId": "your-connector-id",
"action": "TetraScience.Connector.PI.RetrieveTagTimeWindowData.v1",
"expiresAt": "2026-11-01T00:00:00.000Z",
"payload": {
"time_windows": [
{
"start_time": "2026-10-15T00:00:00Z",
"end_time": "2026-10-15T23:59:59Z",
"window_name": "2026-10-15-backfill"
}
]
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
time_windows | Array | Yes | List of time windows to retrieve. Windows must not overlap each other. |
time_windows[].start_time | String (ISO 8601) | Yes | Start of the window. Times without a time zone are treated as UTC. |
time_windows[].end_time | String (ISO 8601) | Yes | End of the window; must be after start_time. |
time_windows[].window_name | String | No | Optional label for the window. |
Documentation Feedback
Do you have questions about our documentation or suggestions for how we can improve it? Start a discussion in TetraConnect Hub. For access, see Access the TetraConnect Hub.
NOTEFeedback isn't part of the official TetraScience product documentation. TetraScience doesn't warrant or make any guarantees about the feedback provided, including its accuracy, relevance, or reliability. All feedback is subject to the terms set forth in the TetraConnect Hub Community Guidelines.
Updated 1 day ago

