EQ Wave Data Access

Note

This guide covers data streams, protocols, and integration examples for the EQ Wave sensor.

Data Streams Overview

The EQ Wave provides two primary data streams via TCP sockets for monitoring:

1. PMon — Port 1535

Purpose: Processed power quality metrics

  • Parameters: RMS voltage/current, power, frequency, total harmonic distortion (THD)
  • Data Format: IEEE 754 float32 values
  • Update Rate: Every 12 cycles at 60 Hz or 10 cycles at 50 Hz (200 ms = 5 Hz update rate)
  • Bandwidth: ~1 kbps

Data includes:

  • RMS voltage and current per phase (total and fundamental)
  • Active power per phase (total and fundamental)
  • Fundamental reactive power per phase
  • Frequency
  • Derived metrics (THD, apparent power, power factor) computed by the gateway

Integration Options:

  • Python: Full support for power monitoring data
  • Rust: Enhanced performance libraries available under NDA
  • Other Languages: TCP socket compatibility

2. Waveform Data (CPOW) - Port 1534

Purpose: High-resolution continuous waveform data

  • Sample Rate: 32 ksps per channel
  • Channels: 7 channels per sample row
  • Channel Order: IA, VA, IB, VB, IC, VC, IN (current-voltage interleaved)
  • Data Format: 24-bit signed integers, little-endian
  • Update Rate: 2ms packets (500 packets/second)
  • Bandwidth: ~6 Mbps continuous (payload plus TCP/IP overhead)

Connection Protocol:

  1. Connect to IP:1534
  2. Send 0x01 to start streaming
  3. Receive continuous binary data
  4. Send 0x02 to stop streaming

Performance Requirements:

  • Compiled Language Required: Due to timing and buffer resource constraints, waveform data access requires compiled languages
  • Recommended: Rust (core libraries available under NDA)
  • Alternative: C/C++ (possible but less feature-rich)
  • Not Suitable: Python or other interpreted languages for real-time waveform processing

Data Format Specifications

Waveform Data Structure

Frame Size: 1344 bytes

  • 7 channels × 64 samples × 3 bytes per sample
  • 24-bit signed integers, little-endian
  • Channel order per sample row: IA, VA, IB, VB, IC, VC, IN
  • Sample rate: 32 ksps per channel

Power Monitoring Data Structure

Frame Size: 96 bytes

  • 1 × uint32 configuration word + 23 × float32 values
  • IEEE 754 float32 format, little-endian

Field order:

  • Configuration (uint32): system config (number of phases)
  • Frequency (1 float)
  • Voltage RMS (VA, VB, VC) — 3 floats
  • Current RMS (IA, IB, IC) — 3 floats
  • Neutral Current RMS (IN) — 1 float
  • Active Power (PA, PB, PC) — 3 floats
  • Fundamental Voltage RMS (VA1, VB1, VC1) — 3 floats
  • Fundamental Current RMS (IA1, IB1, IC1) — 3 floats
  • Fundamental Active Power (PA1, PB1, PC1) — 3 floats
  • Fundamental Reactive Power (QA1, QB1, QC1) — 3 floats

Note

Derived metrics such as THD, apparent power, and power factor can be computed from the streamed values. For example, voltage THD for phase A = √((VA² − VA1²) / VA1²). EQ Coherence computes and stores these derived metrics automatically.

Integration

Power Monitoring (PMon) — Python

The recommended way to access power monitoring data is through the equser Python package (GitHub · PyPI), which is pre-installed on every gateway.

# Acquire PMon data from the sensor and write Parquet files (uses a config file
# for the sensor address, data directory, and options)
equser pmon acquire -c config.yaml

# Convert previously captured Avro files to Parquet
equser pmon convert data/*.avro

The equser package also provides a Python API for programmatic access. Run equser --help on the gateway or see the GitHub README for details.

Waveform Data (CPOW) — Compiled Binaries

CPOW Data Access

Due to the high bandwidth (~6 Mbps continuous) and strict timing requirements of the CPOW stream, waveform data access requires compiled-language clients with careful buffer management. EQ Coherence includes pre-built binaries for CPOW acquisition (Debian packages available for multiple platforms). Contact [email protected] for integration options.

Other Languages and Environments

Any environment with TCP socket support can connect to the PMon stream on port 1535 (e.g., MATLAB, LabVIEW, Node.js). See the data format specifications above for the 96-byte frame structure. The open-source equser package serves as a reference implementation for parsing and framing.

Platform Integration

For enterprise deployments, EQ Coherence provides:

  • Long-term waveform and metrics storage
  • REST API and WebSocket access for custom applications

EQ Sight provides real-time visualization, event monitoring, and interactive investigation.

See the EQ Coherence API Reference for REST and WebSocket endpoint details.

Data Quality Considerations

Network Requirements

  • Minimum Bandwidth: ~6 Mbps for full waveform streaming
  • Latency: <10ms recommended for real-time applications
  • Packet Loss: <0.1% for optimal data quality
  • Buffer Management: Implement application-level buffering for network variations

Troubleshooting Data Integration

Connection Issues

  • Verify network connectivity to device IP
  • Ensure device is powered and LINK and ACT LEDs are solid green
  • Try connecting with simple TCP client (telnet, netcat)

Data Quality Issues

  • Monitor for missing data packets
  • Check network bandwidth and congestion
  • Verify data parsing matches protocol specification
  • Check for endianness issues in multi-byte values

Performance Issues

  • Increase TCP buffer sizes if possible
  • Implement application-level buffering
  • Use multiple threads for concurrent data streams
  • Consider data reduction techniques if bandwidth is limited


© 2026 EQ Systems Inc. • [email protected] • (415) 562–5251 • Updated March 2026