The Telemetry endpoint returns time-bucketed measurements for a single device stream. It is available on both the Partner and Customer APIs:
- Partner API:
GET /api/v1/devices/{synthId}/telemetry - Customer API:
GET /api/v1/devices/{synthId}/telemetry
Which ID to use
synthId (the path parameter) is the sensor ID from the site topology — not the top-level device ID.
On most installations the actual telemetry streams are keyed by derived sensor IDs such as:
| Sensor ID suffix | What it represents |
|---|---|
__GRID_METER_DERIVED | Grid import / export meter |
__bb_agg | Aggregated battery (all blocks combined) |
__PV_DERIVED | Aggregated PV generation |
__BATTERY_DERIVED | Battery (alternative naming on some device types) |
__dcm | Combined DC measurement (compact PV) |
__CONSUMPTION_METER_DERIVED | Estimated house consumption |
Querying the bare device ID (as returned by GET /api/v1/devices) for these installations returns an empty entries array because no stream is stored under that exact key.
Recommended workflow:
- Call
GET /api/v1/sites/{siteId}/topologyto get the site topology. - Walk the tree and collect every node with
"kind": "sensor". Read itsidandchannels. - Call
GET /api/v1/devices/{sensorId}/telemetryonce per sensor ID.
Parameters
| Parameter | Required | Description |
|---|---|---|
interval | Yes | ISO 8601 time interval. Accepts a start/end pair (2026-04-01T00:00:00Z/2026-04-02T00:00:00Z) or start-with-duration (2026-04-01T00:00:00Z/PT24H). Times must be UTC. |
resolution | No | ISO 8601 duration: PT15M (15 min, default on Customer API), PT1H, P1D. The Partner API also accepts other resolutions depending on account configuration. |
include | No | Comma-separated list: default (power, SoC, state, etc.) and/or energy (cumulative energy fields). Defaults to default. |
Channels
Each sensor exposes a set of channels. Common channels include:
| Channel | Unit | Devices |
|---|---|---|
power_W | W | BMS, PV array, meters |
power_AC_W | W | Inverter (AC side) |
power_DC_W | W | Inverter (DC side) |
soc | percent | BMS |
energy_Wh_increment | Wh | Inverter, BMS, connection point |
energy_Wh_decrement | Wh | Inverter, BMS, connection point |
state | — | Connection point (grid relay state) |
energy_Wh_increment and energy_Wh_decrement are only populated when include=energy (or include=default,energy) is specified. These are intended to be lifetime cumulative values:
energy_Wh_increment— total energy flowing into the device (positive).energy_Wh_decrement— total energy flowing out of the device (negative).
Energy direction is relative to the device. When a battery is charging from solar, the BMS receives energy_Wh_increment; the PV array's energy_Wh_decrement becomes more negative.
Example request
# Fetch 15-minute battery power and state-of-charge for the past day
curl -s \
-H "Authorization: Bearer ${access_token}" \
"https://${api_base_url}/api/v1/devices/${sensor_id}/telemetry?interval=P1D/2026-04-30T00:00:00Z&resolution=PT15M"Example response
{
"entries": [
{
"deviceKind": "battery_pack",
"deviceId": "lunar_hc-yyy-inv-1__bb_agg",
"interval": "2026-04-29T23:45:00Z/2026-04-30T00:00:00Z",
"power_W": -1200,
"soc": 0.78
},
{
"deviceKind": "battery_pack",
"deviceId": "lunar_hc-yyy-inv-1__bb_agg",
"interval": "2026-04-30T00:00:00Z/2026-04-30T00:15:00Z",
"power_W": -800,
"soc": 0.75
}
]
}A negative power_W value on a battery indicates discharging (energy flowing out of the battery to the home or grid).