EQ Wave Data Access
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:
- Connect to IP:1534
- Send
0x01to start streaming - Receive continuous binary data
- Send
0x02to 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
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
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