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

MethodDescription
EQ SightBrowser-based real-time visualization and event monitoring
equser Python packageData loading, live acquisition, and API client
REST APIHTTP-based queries for stored data (see below)
WebSocketLive waveform and spectral streaming (see below)
Direct sensor accessTCP 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

EndpointMethodDescriptionResponse
/devicesGETList registered devicesJSON
/devices/{id}GETDevice details (paths, capabilities)JSON

Data Endpoints

EndpointMethodDescriptionResponse
/devices/{id}/pmon/dataGETPower monitoring dataArrow IPC
/devices/{id}/cpow/dataGETContinuous waveform dataArrow IPC
/devices/{id}/thumbnailPOSTMetric thumbnail for chartingArrow IPC
/query/sqlPOSTSQL queries (SELECT only, default limit 30)JSON

Event Endpoints

EndpointMethodDescriptionResponse
/eventsGETList power quality eventsJSON
/events/{id}GETEvent detailsJSON
/events/streamGETReal-time event notificationsSSE
/events/todayGETEvents from todayJSON
/events/last7daysGETEvents from past 7 daysJSON
/events/last30daysGETEvents from past 30 daysJSON

System Endpoints

EndpointMethodDescriptionResponse
/system/hostnameGETGateway hostnameJSON
/healthGETHealth checkJSON

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.

EndpointDescriptionFormat
ws://[gateway-ip]:8080/api/ws/cpow_streamLive CPOW waveform streamingArrow IPC batches
ws://[gateway-ip]:8080/api/ws/spectral?device_id={id}Real-time spectral analysisJSON 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.



© 2026 EQ Systems Inc. • support@eq.systems • (415) 562–5251 • Updated March 2026