Asoba Ona Documentation

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")