---
title: Power Quality Events
description: Every voltage sag, swell and interruption your Acuvim 3 meters capture, as a searchable list with the waveform, the half-cycle RMS trend, per-phase statistics, the COMTRADE files and a PDF report.
source: https://documentation.controlcomtech.com/platform/reports/power-quality
---

# Power Quality Events

Power Quality Events keeps every disturbance your power meters record: a voltage sag, swell or interruption, a current inrush, sag or swell, a transient or a frequency excursion. Each capture becomes a row you can filter and open, with the waveform the meter recorded, the half-cycle RMS trend drawn against the trigger threshold, statistics for every phase, the original COMTRADE files and a generated PDF report.

> **Workflow Stage: Report**

## Overview

Open **Reports → Domain Specific** and click **View Events** on the **Power Quality Events** card. The list lives at `/reports/power-quality` and each event has its own page below it. Two other routes lead to the same pages: a row in [Alarm History](https://documentation.controlcomtech.com/platform/alarms#alarm-history) that was raised by a meter upload opens the event it belongs to, and the [AI Assistant](https://documentation.controlcomtech.com/platform/ai-assistant) links to an event whenever it cites one in an answer.

An event is one capture by one meter. The platform reads the meter's event files, works out what happened and how long it lasted, and keeps the result in a form you can query: how many sags a meter saw this quarter, which phase dipped the deepest, whether anyone acknowledged last night's interruption. The source today is the Acuvim 3 power meter, which posts its event files to a [pipeline](https://documentation.controlcomtech.com/platform/pipelines) in the Collect stage; the events page is where that data is read.

**Domain Specific** appears only for Organizations that have the advanced reports feature enabled, like the other generator reports on it.

## How Events Reach the Platform

The meter is set up to post each event it records to a pipeline endpoint over HTTPS, with a `datasource` field that names the meter (`MSB1_Events`, for example) and the file itself. One event arrives as two uploads. The **COMTRADE archive** (a `.tar.gz` holding a `.CFG` and a `.DAT` file) carries the sampled waveform: six analog channels, `Va`, `Vb`, `Vc`, `Ia`, `Ib` and `Ic`, typically 1.5 seconds at 3,840 samples per second around the trigger. The **fastlog `.csv`** is the meter's own RMS trend over the same window.

The archive is the event. When it arrives the platform parses the waveform, writes the event with its per-channel statistics and chart previews, renders the PDF report, records an alarm event and emails the meter's alarm group with the report attached. The CSV is stored and linked to the same event, nothing more: its column header does not reliably describe its columns, so no number on the page is taken from it. Whichever upload arrives first creates the row; the second completes it.

The filename tells the platform what the capture is. A name such as `MSB1_2026-10-24T18-14-58.827330-0400_Vabc_VOLT_INTRP.tar.gz` breaks down into the meter (`MSB1`), the trigger time with its UTC offset, the phases the meter flagged (`Vabc`) and the event token (`VOLT_INTRP`, a voltage interruption). The token is mapped to one of the event types below; a token the platform does not recognise is kept as the **Meter event code** and the event is filed as **Unknown** rather than dropped.

## Setting Up the Pipeline

Events are received by a pipeline of the **Acuvim 3 event report** type. Open **Settings → Pipelines**, click **New Pipeline**, pick **Acuvim 3 event report** in the **Create Pipeline** dialog and click **Continue**. The type is fixed once the pipeline is created. Instead of a code editor, the configuration is a form.

![The configuration page of an Acuvim 3 event report pipeline, showing the default alarm group and a meter card with its datasource, display name, alternate names, alarm group and asset](https://documentation.controlcomtech.com/images/power-quality/06-acuvim3-pipeline-configuration.png)

*An Acuvim 3 event report pipeline: one card per meter, each with its alarm group and asset*

**Pipeline name** and **Enable pipeline** behave as for any pipeline; a disabled pipeline rejects uploads. Under **Email notifications**, add one card in **Meters** for each meter that posts to this pipeline:

| Field               | What it does                                                                                                                                                                  |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Datasource**      | The name the meter posts with, for example `MSB1_Events`. It also names the folder the meter's files are stored in.                                                           |
| **Display name**    | The name events from this meter are labelled with on the list, the event page and the report.                                                                                 |
| **Alternate names** | Other names the meter writes into its filenames, separated by commas. Use it when a meter has been renamed, so its old captures and its new ones land under one display name. |
| **Alarm group**     | Who is emailed when the meter records an event.                                                                                                                               |
| **Asset**           | The Asset the meter's events are filed under; its Location sets the site on the report.                                                                                       |

A meter is matched by the name in its filename against each card's datasource, display name and alternate names, ignoring case. A match sets the meter name stored on the event and the alarm group that is notified. If no card matches the filename, the alarm group is taken from the card whose datasource equals the one the request carried, then from the **Default alarm group**; with neither, the event is recorded without an email. Names and alternate names must be unique across the cards.

**File directory** is the folder under which raw uploads and reports are stored on the [Files](https://documentation.controlcomtech.com/platform/files) page, one subfolder per meter. Leave it empty to use `Energy-PQM`.

The meter itself is pointed at the pipeline's endpoint. The URL and the authentication are the same as for any pipeline; see [Sending Data to a Pipeline](https://documentation.controlcomtech.com/platform/pipelines#sending-data-to-a-pipeline).

## The Events List

The list shows every event in the Organization, newest first.

![The Power Quality Events list showing six events from two utility meters with their fired time, event type, asset, duration, largest excursion and report status](https://documentation.controlcomtech.com/images/power-quality/01-power-quality-events-list.png)

*Power quality events for two utility meters, with the duration class on each voltage event*

Each row carries **Fired At** (the trigger time), the **Meter**, the **Event Type**, the **Asset**, the **Duration** with its duration class badge for voltage events, the **Largest Excursion** (the phase with the widest peak-to-peak swing among the channels of the event's own quantity, so a current event names a current phase) and whether a **Report** is available. Clicking a row opens the event.

The search box matches the meter, the asset or the source file name. The filter row narrows the list by **Meter**, **Type**, duration **Class**, **Asset** and the **Fired** date range, and **Clear all** resets them together. Hovering an event type or asset tag offers **Filter events like this**, and the asset tag also offers **Open asset**. The toolbar has the usual column and density toggles and an export button that writes the current page to CSV, including the source file name and whether the duration was clipped.

## Event Types and Duration

The event type comes from the meter's filename token. For voltage events and current inrush the platform also measures how long the disturbance lasted, using the band IEEE 1159 defines for that type relative to the RMS before the trigger.

| Event type           | Meter token                    | Measured band                             |
| -------------------- | ------------------------------ | ----------------------------------------- |
| Voltage Sag          | `VOLT_SAG`                     | Voltage below 90% of the pre-trigger RMS  |
| Voltage Swell        | `VOLT_SWELL`                   | Voltage above 110%                        |
| Voltage Interruption | `VOLT_INTRP`, `VOLT_INTERRUPT` | Voltage below 10%                         |
| Current Inrush       | `CURR_INRUSH`                  | Current above 110% of the pre-trigger RMS |
| Current Sag          | `CUR_SAG`                      | No duration                               |
| Current Swell        | `CUR_SWELL`                    | No duration                               |
| Transient            | `TRANSIENT`                    | No duration                               |
| Frequency Event      | `FREQ_EVENT`                   | No duration                               |
| Manual Trigger       | `MANUAL_TRIGGER`               | No duration                               |
| Manual Fast Log      | `MANUAL_FASTLOG`               | No duration                               |
| Unknown              | anything else                  | No duration                               |

The duration is measured from the waveform, not from the meter's own event log. The platform computes a one-cycle RMS along the capture for each phase the filename names (`Vabc` means all three voltages, `Ib` means one current), finds where that RMS crosses the band, and reports the span from the earliest crossing out to the latest crossing back. The **Capture** card keeps the full window the meter recorded; the duration is the disturbance inside it. When the disturbance is still outside the band at the end of the capture (or already outside at its start), the true duration is longer than the capture shows, and the value is printed as a lower bound such as **≥ 1.02 s**.

Current sags and swells get no duration because the meter triggers them against its configured nominal current, which the capture does not carry; the platform shows the statistics and the chart but leaves the duration blank rather than guess a nominal.

Voltage events are also given their IEEE 1159 **duration class**: **Instantaneous** under 0.5 s, **Momentary** from 0.5 s to 3 s, **Temporary** from 3 s to one minute, and **Sustained** beyond that. An interruption has no instantaneous class, so a short interruption is momentary. The class appears as a badge next to the duration and is a filter on the list. Current events have no class.

## Reading an Event

The event page answers four questions in the order an engineer asks them: how long, how deep, which phase, and whether anyone has handled it.

![A voltage interruption event page with the duration, residual RMS and alarm cards above the RMS chart, which shows all three phase voltages collapsing below the trigger threshold lines](https://documentation.controlcomtech.com/images/power-quality/03-event-rms-view.png)

*A momentary voltage interruption: the RMS of all three phases drops to near zero for 0.9 seconds*

The header names the event type, the meter, the trigger time and the linked Asset. **Older** and **Newer** step through the same meter's events in time order, and **Open Alarm Event** opens the alarm event this capture raised.

Three cards lead the page. **Duration** repeats the measured span with its class and lists each phase's own duration. **Residual RMS** (for sags and interruptions) or **Peak RMS** (for swells and inrush) gives the worst phase as a percentage of its pre-trigger RMS, with every measured phase underneath: a residual of 0.05% means the voltage was effectively gone. **Alarm** shows the state of the alarm event the upload raised: **Acknowledged** and when, **Awaiting acknowledgement**, **Cleared without acknowledgement**, or **No alarm event** when the pipeline did not raise one, with an **Open** button to the alarm event itself.

The chart opens on the **RMS** view: the half-cycle RMS of every channel against time from the start of the window, volts on the left axis and amps on the right. Dashed **threshold lines** mark the band for each phase the meter named (90% of that phase's pre-trigger RMS for a sag, 10% for an interruption, 110% for a swell or inrush), and the shaded span is the measured disturbance. Hover for the values at a point, drag or scroll inside the plot to zoom, and use the slider underneath to move the window.

![The same event switched to the Waveform view, showing the instantaneous voltage and current samples with the interruption shaded](https://documentation.controlcomtech.com/images/power-quality/04-event-waveform-view.png)

*The Waveform view: the sampled voltages and currents, with the same shaded span*

**Waveform** switches to the sampled values themselves, downsampled for the browser, with the same shading and zoom. The RMS view is drawn from data the platform now stores with every archive; an event captured before that view existed shows only the waveform until its archive is uploaded again.

## Capture, Files and Channel Statistics

![The Capture card listing the window, samples, event start and end, sample rate, source and meter event code, the Files card with the raw CSV, the COMTRADE waveform and the PDF report, and the Channel statistics table below them](https://documentation.controlcomtech.com/images/power-quality/05-event-capture-files-and-channels.png)

*The capture facts, the three files behind the event, and the per-phase statistics*

**Capture** records the window the meter captured: **Window start** and **Window end**, the number of **Samples**, the **Sample interval** and **Sample rate**, the measured **Event start** and **Event end**, the **Source** (Acuvim 3), the **Meter event code** as it appeared in the filename, and the **Source file** itself.

**Files** holds the three files tied to the event. **Raw capture (CSV)** is the fastlog, **Waveform (COMTRADE)** is the archive the statistics and charts were built from, and **Event report (PDF)** is the generated report. Each has a **Download** button; the report can also be opened in a new tab with **Open**. When one of them was never received, the row says so instead.

**Channel statistics** has one row per channel, with the phases that crossed the band sorted first. The default columns are the comparison an engineer reaches for: **Pre-trigger RMS**, **Min RMS**, **Max RMS**, the **Residual** (minimum RMS as a percentage of pre-trigger), the phase's own **Duration**, and the **RMS** over the whole capture. The columns toggle adds the plain sample statistics: **Min**, **Max**, **Average**, **Std Dev**, **Peak-to-Peak**, **First** and **Last**.

## Uploading Event Files by Hand

A meter that was offline during an event, or an event exported by hand from the meter's own web interface, never reached the pipeline. **Upload events** at the top of the list sends such files through the pipeline after the fact, so they get the same row, report, alarm event and email as a meter upload.

![The Upload Events dialog with the pipeline, meter datasource and asset fields, the email checkbox and the file drop zone](https://documentation.controlcomtech.com/images/power-quality/02-upload-events-dialog.png)

*Uploading event files through the Acuvim 3 pipeline*

Pick the **Pipeline** (preselected when the Organization has one Acuvim 3 pipeline) and the **Meter datasource**, either one of the datasources configured on that pipeline or a name typed in. When the first file you add names a configured meter, the datasource is filled in for you. The datasource applies to every file in the upload. **Asset** files the events under an Asset. **Email the alarm group for each event** is on by default; turn it off for a backfill so the group does not receive one email per file. Alarm events are written either way.

Drop or select one or more **Event files** from the same meter. A COMTRADE archive (`.zip`, `.tar.gz` or `.tgz`) produces the event, the report and the alarm event; a fastlog `.csv` is stored and linked only. Files are processed one after another, each with its own progress ring, and a file that fails stays in the list with its error so it can be retried. Uploading an archive for an event that already exists refreshes that event rather than creating a second one. The dialog remembers the pipeline, datasource and asset from the last successful upload until you leave the page, so a folder of captures only needs the files.

If the Organization has no enabled Acuvim 3 pipeline, the dialog explains that and offers **Open pipelines**.

## Alarms, the Digest and the Assistant

Every archive upload also writes a manually raised event into [Alarm History](https://documentation.controlcomtech.com/platform/alarms#alarm-history), worded like "Utility Meter MSB-1 event file for Voltage Interruption", filed under the meter's Asset and bound to the PDF report. The meter's alarm group receives the email with the report attached. Acknowledging that event in Alarm History is what the **Alarm** card on the event page reflects, and clicking the row in Alarm History opens the power quality event rather than the generic event page.

When the Organization recorded power quality events during the week, the [Weekly Digest](https://documentation.controlcomtech.com/platform/reports#weekly-digest) email adds a **Power Quality** section with the number of events by type and the meters that recorded the most.

The [AI Assistant](https://documentation.controlcomtech.com/platform/ai-assistant) reads the same events. Ask it "did we have a sag last night?" or "how deep was the dip on MSB-1?" and it lists the matching events with their duration, class and residual RMS, cites them, and offers a button to the event page.

## Permissions

The list and the event pages are part of the Reports area and follow its access. **Upload events** is shown to users who can read pipelines, because the dialog lists the Organization's Acuvim 3 pipelines; the pipeline itself is configured under **Settings → Pipelines**. The **Open** button on the Alarm card and **Open Alarm Event** in the header need permission to read active alarms or alarm history.

## Related Workflow Stages

The events themselves are collected in the Collect stage: a [pipeline](https://documentation.controlcomtech.com/platform/pipelines) receives the meter's uploads, and the Edge Server plays no part. The stored captures and reports sit on the [Files](https://documentation.controlcomtech.com/platform/files) page, and the alarm events they raise are worked in [Alarms](https://documentation.controlcomtech.com/platform/alarms) like any other. The other documents in the Report stage are described on the [Reports](https://documentation.controlcomtech.com/platform/reports) page.
