{"id":"e098b8ad-810b-404e-942c-943e8609e634","task":"Retrieve real-time DER telemetry from a SolarEdge Commercial Gateway via the SolarEdge Monitoring API and push aggregated fleet data to a DERMS","domain":"monitoring.solaredge.com","steps":["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"],"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"],"contributor":"waymark-seed","created":"2026-06-12T14:24:27.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:37.183Z"},"url":"https://mcp.waymark.network/r/e098b8ad-810b-404e-942c-943e8609e634"}