Limits & errors
Bounded requests make results easier to review and protect the connected SolarSENS services.
Request limits
| Query type | Maximum window |
|---|---|
| Daily performance data | 366 days |
| Returned rows | 1,000 |
| Serialized response | 1 MB |
get_plant_daily_performance reads daily values only. It has no interval
input. Use get_plant_chart for a one-day chart or query_plant_5min for
stored five-minute Plant values.
If a result is truncated, the response says so. Ask for a smaller date range.
Common errors
| Error | Meaning | What to do |
|---|---|---|
| Authentication required | The Public API rejected the signed-in identity. | Reconnect the assistant and sign in again. |
| Authentication not configured | The connector's backend identity link is not set up, or your account has no recorded Plant scope. | Contact AVA Asia. Retrying will not fix this. |
| Forbidden | The Plant ID is outside the connected account's access, or it does not exist. | Confirm the Plant ID from a discovery call, or ask AVA Asia to review access. |
| Invalid query | A date, interval, ID, or search text is not valid. This includes a 5min interval request, which is not supported. | Give a complete daily date range, a valid Plant ID, and a non-empty search query. |
| Query limit exceeded | The result would exceed 1,000 rows or 1 MB of serialized data. | Ask for a smaller date range. |
| Unavailable | The SolarSENS Public API could not be reached or rejected the request. | Retry later or narrow the request. |
| Upstream invalid response | The Public API returned data the connector could not parse. | Retry later. Contact AVA Asia if it persists. |
Coverage and warnings
Every successful response sets metadata.coverage and metadata.warnings.
The server sets them from the returned values only:
| Result | Coverage | Warning |
|---|---|---|
| Daily performance, with no rows for the window | unavailable | NO_DATA_FOR_WINDOW |
Daily performance, where a measured value is null in any row | partial | MISSING_VALUES |
| Daily performance, with every measured value present | complete | none |
| Daily performance or Plant values, where a value exceeds its unit's limit (a percent above 100, daily irradiation above 12 kWh/m² or 12,000 Wh/m²) | unchanged | IMPLAUSIBLE_VALUES |
| Monitoring screen data (dashboard, chart, device, and string views) | complete | COVERAGE_NOT_ASSESSED |
A null value is missing, not zero. unavailable means no data for the
window, not zero production. Monitoring screen data is passed through as
SolarSENS returned it, and the server does not check it. The complete
value on those responses is not a claim that the data is complete. Read
COVERAGE_NOT_ASSESSED as "not checked". Each warning code is a stable
string; a new code is a contract change. IMPLAUSIBLE_VALUES marks a value
that is mislabelled or wrong upstream; the server does not correct it.
Cloudflare Error 1010
Some HTTP libraries send a default User-Agent that Cloudflare blocks with
"Error 1010", for example Python's urllib. This replaces the normal MCP
error response with a Cloudflare block page. Not every non-browser client is
affected: curl and Node's default client reach the MCP endpoint normally.
Set a descriptive User-Agent, or use an MCP client, to avoid the block. See
Connection help for the fix.