Inverter Telemetry API
The Inverter Telemetry API provides high-resolution historical data and live streaming capabilities for solar inverters. Access is gated by API keys scoped to specific sites.
Base URL
https://af5jy5ob3e.execute-api.af-south-1.amazonaws.com/prod
Authentication
Authentication is handled via the x-api-key header.
x-api-key: YOUR_API_KEY
Data Discovery
Get Data Period
GET /telemetry/data-period
Always call this endpoint first to discover the time range for which data is actually available.
Parameters
| Parameter | Type | Required | Description |
|———–|——|———-|————-|
| site_id | string | Yes | Site identifier. |
| asset_id | string | No | Optional filter for a specific inverter. |
from ona_platform import OnaClient
client = OnaClient(inverter_telemetry_api_key="your_key")
period = client.inverter_telemetry.get_data_period(site_id="Sibaya")
print(f"Data from {period['first_record']} to {period['last_record']}")
Historical Telemetry
Get Inverter Telemetry
GET /telemetry/inverter
Retrieve historical records for a specific inverter.
Parameters
| Parameter | Type | Required | Description |
|———–|——|———-|————-|
| asset_id | string | Yes | Inverter identifier. |
| site_id | string | Yes | Site identifier. |
| start | string | Yes | ISO 8601 start timestamp. |
| end | string | Yes | ISO 8601 end timestamp. |
| resolution | string | No | Data resolution: 5min or daily. |
from ona_platform.models.telemetry import TimeRange
records = client.inverter_telemetry.get_inverter_telemetry(
asset_id="INV-123",
site_id="Sibaya",
time_range=TimeRange(start="2025-01-01T00:00:00", end="2025-01-01T12:00:00")
)
Live Streaming
Stream Inverter
The SDK will poll the API every few seconds and yield new records as they arrive.
for record in client.inverter_telemetry.stream_inverter(
asset_id="INV-123",
site_id="Sibaya",
polling_interval=30
):
print(f"{record.timestamp}: {record.power} kW")