Reference · built on requestConnectorEnergy, EV & distributed resources

SMA API

Plant, device, measurement, and log data from Sunny Portal and ennexOS through the SMA Monitoring API, with GridControl schedule commands.

About

SMA Solar Technology AG runs Sunny Portal and Sunny Portal powered by ennexOS, the portals that hold master data, measurements, and logs for SMA inverters, Sunny Home Manager systems, and Data Manager plants. Four APIs sit on top: the Monitoring API for plants, devices, measurement sets, and logs; the GridControl API for schedule commands that limit active power or change settings; the Live API for near-time EnergyBalance data; and the SmartHome API for consumers such as PowerPlugs, SEMP devices, and EV chargers.

Through Fibric, an operator reads a portfolio's status and EnergyBalance sets, and when a feed-in constraint or a price window calls for it, proposes a GenerationLimit or ExportLimit command with a start time and duration. You approve, the command is scheduled once, and a receipt records what changed and when the fallback returns.

This is a reference listing. It documents what Fibric would read from SMA API and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Plants, plant groups, sub-plants, and devices through GET /v1/plants, /v1/plantGroups, /v1/subPlants/{subPlantId}/devices, and /v1/plants/{plantId}/devices
  • Measurement sets EnergyBalance, GridSettings, Sensor, and EnergyAndPowerPv for periods Recent, Day, Week, Month, Year, or Total, in W or Wh by period
  • Plant, sub-plant, and device status, event logs, notifications, communication times, and the ennexOS battery operation state
  • Near-time EnergyBalance for Sunny Home Manager and WebConnect systems through the Live API, for on-screen views rather than constant polling
  • Configured schedules, plant settings, schedule behaviour, and the commands a plant is eligible for through the GridControl API
  • Plant location, installation details, stakeholders, and capabilities

Proposed actions

  • Target capability: propose a schedule command through POST /v2/plants/{plantId}/schedules/{behaviour}, such as GenerationLimit or ExportLimit with a start time and duration
  • Target capability: propose replacing a planned or running command with its fallback through DELETE /v2/plants/{plantId}/schedules/{commandId}
  • Target capability: propose a plant settings update through PATCH /v2/plants/{plantId}/settings/{settingsType}, such as ActivePowerRampSettings or ActivePowerFixedLimitSettings
  • Target capability: propose steering a household consumer or EV charger through the SmartHome API

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Limit generation during negative prices

    When the market signal turns negative for a delivery hour, the operator proposes a GenerationLimit command for the affected plants with that hour's start time and duration. You approve before it is scheduled.

    With Price Shift, Export Limit

  • Ramp a plant for a grid event

    For a demand-response call, the operator checks each plant's eligible commands, then proposes an ExportLimit schedule and records which plants were not eligible and why.

    With Event Response, Peak Demand

  • Flag a plant that stopped communicating

    Communication times and status per plant show which sites have gone quiet. The operator drafts a check with the last event log entries attached.

    With Sensor Health, Array Yield

Requirements

  • Client credentials from SMA; the sandbox is free, and production use runs under an SMA API plan
  • Owner consent per plant: the system-owner flag on Sunny Portal systems, or the owner role on ennexOS plants
  • The custom back-channel grant flow for GridControl, which is the only flow that permits control commands
  • Your logo, terms of service, and privacy policy URLs, which SMA shows on the consent screen
  • For ennexOS plants with a Data Manager, the direct-selling interface labeled SPOT activated before active-power limitation works
Authentication
OAuth 2.0 with a client_id and client_secret issued by SMA: the authorization code grant for on-screen users, or the custom back-channel flow in which the plant owner approves your request by email.

Limits

  • Since 1 July 2025 each credential is rate limited within a 5 minute window; exceeding it returns 429 with no Retry-After header
  • GridControl v1 is deprecated; v2 introduces GenerationLimit and ExportLimit, and battery commands ChargeStorage, DisChargeStorage, and StorageMode have no backend function yet
  • The Live API is not allowed for constant monitoring and supports only Home Manager and WebConnect systems, not Webbox or Cluster Controller
  • A back-channel authorization request stays open for 7 days awaiting the owner's consent, and the API does not allow CORS

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request SMA API ↗

Questions and answers

Which command limits export on which system?
SMA states that a Sunny Home Manager supports only ExportLimit, a WebConnect system only GenerationLimit, and an ennexOS system one or the other depending on open-loop or closed-loop mode. The eligibilityCheck endpoint reports which commands a plant accepts before a schedule is proposed.
Does the plant owner have to do anything?
Yes. Reading or controlling a plant needs the owner's consent. In the back-channel flow SMA emails the owner, who logs in to the portal and approves. The request stays valid for 7 days. Owners must hold the system-owner flag in Sunny Portal or the owner role in ennexOS.
Is there a sandbox?
Yes. SMA provides a cost-free sandbox at sandbox.smaapis.de with its own auth and token endpoints and Swagger documentation for each API. Production resource servers are monitoring.smaapis.de, gridcontrol.smaapis.de, and live.smaapis.de, and production access runs under an SMA API plan.
Ask about SMA API

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.