Authenticate to the SolarEdge Monitoring API at monitoring.solaredge.com using the site API key (obtained from the SolarEdge monitoring portal under Admin > Site Access > API Access); include it as the api_key query parameter on all requests
Retrieve site power and energy: GET https://monitoringapi.solaredge.com/site/{siteId}/currentPowerFlow?api_key=YOUR_KEY to get real-time active power for PV production, storage charge/discharge, and grid import/export
For storage state of charge, call GET /site/{siteId}/storageData?startTime=...&endTime=...&serials=... with the battery serial numbers; parse the storageData.batteries[].telemetries[].batteryPercentageState field
Aggregate the fleet: loop over all site IDs, collect currentPowerFlow responses, sum production_kw and battery_charge_kw, and POST the aggregated JSON telemetry payload to the DERMS ingest endpoint on a 5-minute schedule
Handle API rate limits: SolarEdge enforces 300 requests per API key per day for the standard tier; for fleets exceeding ~50 sites at 5-minute intervals, request a commercial API tier with higher limits through your SolarEdge account manager
Subscribe to SolarEdge site alerts via GET /site/{siteId}/alerts to detect offline inverters or grid disconnection events that would affect DER availability for dispatch
Known gotchas
The SolarEdge Monitoring API returns energy and power data on different polling cadences: currentPowerFlow updates every 5 minutes, but historical storageData is available only after a 15-minute delay — do not use historical endpoints for real-time dispatch decisions
SolarEdge API rate limits are shared across all API keys for a given site; if a site owner has multiple integrations (monitoring, DERMS, billing), the 300 req/day limit applies in aggregate and unexpected 429 errors appear under normal load
The currentPowerFlow response uses a unit field (W or kW) that varies by inverter firmware version; always parse the unit field rather than assuming kW to avoid 1000x magnitude errors in the aggregation
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp