Skip to main content
Technical Preview
This connector uses the SolarEdge Monitoring API V2. SolarEdge plans to switch off the legacy V1 API (/site/{id}/... with ?api_key= in the URL) on November 3, 2026. V1 keys do not work on V2. Create a new key in the SolarEdge developer console.

Overview

SolarEdge inverters, meters and batteries report to the SolarEdge cloud monitoring platform. The SolarEdge Monitoring API V2 (https://monitoringapi.solaredge.com/v2) gives read access to that data. It is documented on the SolarEdge developer docs, with official OpenAPI specs for the Basic Monitoring API (every tier) and the Advanced Monitoring API (Business Pro and Enterprise). The SolarEdgeMonitoringApi connector maps 23 MQTT topics onto that API: 17 Basic Monitoring events and 6 Advanced Monitoring events. Typical uses are putting PV production, self-consumption and battery state of charge on the broker next to plant data, feeding energy KPIs (specific yield, performance ratio) to dashboards, and turning SolarEdge alerts into broker alarms. Each event publishes the SolarEdge reply on <topic>/response. The API is read-only. StartLivePowerFlow is the only POST. It starts a one-minute live power flow session and changes no site data. Weather Guard and backup reserve settings can only be read here; SolarEdge says changing them will be part of a separate Fleet Management API.
For local, sub-minute inverter data without the cloud, read the inverter over Modbus TCP (SunSpec) with a native Modbus connector instead. This connector is for cloud fleet data.

Prerequisites

  • A SolarEdge developer account at developer.solaredge.com. The Free tier starts automatically (2,000 credits per month, 10 calls per minute). Installer account admins can add developer access to their existing installer account.
  • A Fleet Access application with its App API Key. Choose My Fleet for sites in your own installer account, or External Fleet to request access to another company’s fleet through a consent link. The key is shown only once, and you set its expiry (3, 6 or 12 months, or a custom date).
  • The site id of each site you want to read (from site/list) and, for device telemetry, the device serial numbers (from device/list).
  • For the Advanced events: a Business Pro or Enterprise subscription. Lower tiers get 403.
  • Outbound HTTPS from the broker to monitoringapi.solaredge.com.

Authentication

Every event sends X-API-Key: {value.json.api_key}. Store the App API Key as a Hub secret, for example SOLAREDGE_API_KEY, and read it with GET SECRET in the action that publishes to the connector. V2 does not accept the key as a URL parameter. Homeowner sites (Site Access, OAuth 2.0). If the system owner, not your installer account, must grant access, SolarEdge uses an OAuth 2.0 authorization code flow (https://connect.solaredge.com/authorize, scopes SITE_DATA and DEVICE_DATA). Access tokens last 2 hours. To use OAuth, fork the connector and replace the X-API-Key header with ADD "Authorization" "{value.json.authorization}", then publish Bearer <access_token> in the authorization field. Refresh tokens on your backend, because the refresh call needs the client secret. site/list and fleet-alert/list accept only the API key.

Configuration

Query parameters: Maximum window between from and to: A longer window returns 400 with an RFC 7807 problem body (title, status, detail). Time series come back as {"period": {"from", "to"}, "unit", "resolution", "values": [{"timestamp", "value"}]}, and each timestamp marks the start of its bucket.

Basic Syntax

Examples

Publish directly to a connector topic:
to energy/solaredge/site-energy/get, then read energy/solaredge/site-energy/get/response for the daily PV energy of the last four days. Actions that poll the connector on a schedule that fits the Free tier (one site):
Restrict who can publish to energy/solaredge/# with a rule, because these payloads carry the API key.

Quotas and polling

Every call costs 1 credit. Credits and the calls-per-minute limit are shared by every application in your developer account. Device telemetry arrives about every 5 minutes, the finest resolution is 15 minutes, and SolarEdge refreshes the site overview about every 15 minutes. Polling faster than every 15 minutes only spends credits. Prefer the bulk *-telemetry/get events over many single calls: one call returns a whole window for every device of a type. Pricing is from the SolarEdge tiers page and may change; the developer console has the current values.

Coming from V1

V2 renames startTime/endTime/startDate/endDate to from/to, and timeUnit to resolution. Bulk multi-site paths (/sites/1,4/...) are gone, so call each site separately. V2 inverter telemetry has no per-phase values, DC voltage, temperature or inverter mode, and storage telemetry has no battery temperature or numeric battery state. Use the alert events for fault detection.

Notes

  • Live power flow: GetPowerFlow returns the last sample (refreshRate 300 seconds) unless a live session is active. StartLivePowerFlow starts a session that lasts one minute. It needs a supported firmware version and an Ethernet, Wi-Fi or LTE (US only) connection. SolarEdge’s reference says this call may need an OAuth token with SITE_DATA.
  • Display rules: SolarEdge’s API terms ask apps that display this data to show the SolarEdge logo, linked to solaredge.com.
  • Key rotation: regenerating an App API Key invalidates the old key at once. Update the Hub secret right after you regenerate it.
  • Errors come back on the response topic: 400 invalid parameter or window, 401 missing or bad key, 403 no access or tier too low, 404 unknown site or device, 429 rate or credit limit.

Testing

The connector passes static checks against the official V2 OpenAPI specs and a local contract mock that covers all 23 events. It was also probed against the real API without a valid key. Every event returns 401 Unauthorized for a fake X-API-Key. The gateway checks the key before it looks at the path, so these probes confirm the host and the auth scheme, not each path. A live run needs a SolarEdge App API Key (see the factory TEST.md).

Not covered

The 21 per-metric endpoints (for example /inverters/{serial}/voltage or /storage/{serial}/state-of-energy). The bulk telemetry events return the same metrics in one call. Also not covered: the OAuth token exchange (run it on your backend), the legacy V1 API, and the forthcoming Fleet Management API.
Last modified on October 21, 2026