EQ Watch API Reference
EQ Watch exposes REST and WebSocket APIs for programmatic access to power quality data. All API endpoints are served from the gateway.
Integration Methods
| Method | Description |
|---|---|
| EQ Sight | Browser-based real-time visualization and event monitoring |
| equser Python package | Data loading, live acquisition, and API client |
| REST API | HTTP-based queries for stored data (see below) |
| WebSocket | Live waveform and spectral streaming (see below) |
| Direct sensor access | TCP socket connections to EQ Wave sensor (advanced) |
Additional protocol support (Modbus TCP, MQTT, DNP3) is available upon request for SCADA/BMS integration. Contact support@eq.systems for details.
REST API
Base URL: http://[gateway-ip]:8080/api/v1/
Data query parameters: start_time (ISO 8601), end_time (ISO 8601), metrics (comma-separated), limit.
Data endpoints return Apache Arrow IPC binary format for efficient transfer. Use Arrow libraries in Python, JavaScript, Rust, or other languages to deserialize.
Device Endpoints
| Endpoint | Method | Description | Response |
|---|---|---|---|
/devices | GET | List registered devices | JSON |
/devices/{id} | GET | Device details (paths, capabilities) | JSON |
Data Endpoints
| Endpoint | Method | Description | Response |
|---|---|---|---|
/devices/{id}/pmon/data | GET | Power monitoring data | Arrow IPC |
/devices/{id}/cpow/data | GET | Continuous waveform data | Arrow IPC |
/devices/{id}/thumbnail | POST | Metric thumbnail for charting | Arrow IPC |
/query/sql | POST | SQL queries (SELECT only, default limit 30) | JSON |
Event Endpoints
| Endpoint | Method | Description | Response |
|---|---|---|---|
/events | GET | List power quality events | JSON |
/events/{id} | GET | Event details | JSON |
/events/stream | GET | Real-time event notifications | SSE |
/events/today | GET | Events from today | JSON |
/events/last7days | GET | Events from past 7 days | JSON |
/events/last30days | GET | Events from past 30 days | JSON |
System Endpoints
| Endpoint | Method | Description | Response |
|---|---|---|---|
/system/hostname | GET | Gateway hostname | JSON |
/health | GET | Health check | JSON |
Example: Python with Arrow
import pyarrow.ipc as ipc
import requests
# Fetch power monitoring data
url = "http://192.168.1.100:8080/api/v1/devices/wave-001/pmon/data"
resp = requests.get(url, params={"start_time": "2025-06-15T12:00:00Z"})
reader = ipc.open_stream(resp.content)
table = reader.read_all()
df = table.to_pandas()
WebSocket Endpoints
For live streaming data from EQ Watch.
| Endpoint | Description | Format |
|---|---|---|
ws://[gateway-ip]:8080/api/ws/cpow_stream | Live CPOW waveform streaming | Arrow IPC batches |
ws://[gateway-ip]:8080/api/ws/spectral?device_id={id} | Real-time spectral analysis | JSON frames |
Spectral WebSocket parameters: device_id (required), fft_size (default 4096), update_rate (default 10 Hz), phase (default “va”), freq_min (default 0), freq_max (default 3000).
Custom Integration
For integration requirements beyond what is documented here, contact support@eq.systems.