Back to App

Inverter Drivers

SETI AI ships with six inverter-brand drivers so a customer can connect the hardware they already own — Victron, SMA, Sol-Ark, Enphase, SolarEdge, or Schneider — and see live production, consumption, grid, and battery data in the Inverter Hub and across the Dashboard Widgets. The same drivers back the solar-inverter energy node in the visual workflow editor — see Energy Nodes.

A single dispatcher routes each request to the right brand driver. Configuration is read from the node/widget form first, then environment variables, then the saved settings table — so an installer can test with on-screen fields and an operator can persist credentials once in Setup.

No fake data. A driver returns real readings when it can reach the hardware or cloud API, and an explicit driver_pending notice (with a clear "what to set" message) when it can't. It never substitutes another brand's data or a random value.

Related: Inverter Hub & Power Analytics · Dashboard Widgets · Energy Nodes


At a glance

Brand Connection method Status
Victron VRM Cloud API (live MQTT cache) Live
SMA Sunny Portal API + Modbus TCP / SunSpec (ennexOS local fallback) Driver-ready
Sol-Ark Modbus TCP, port 8899 Driver-ready
Enphase Local IQ Gateway API + Enlighten cloud API v4 Driver-ready
SolarEdge Monitoring API (cloud) Driver-ready
Schneider Modbus TCP (SunSpec) + EcoStruxure cloud API Driver-ready
  • Live — actively running in production against real SETI Power hardware today (Victron, via the VRM cache that feeds the whole dashboard).
  • Driver-ready — the integration is built, tested, and selectable in the UI; it goes live the moment a customer enters their connection details and clicks Test.

Victron — VRM Cloud API · Live

Connection. Victron is the reference integration and the source for the live SoC, solar, load, grid, and battery feeds across SETI AI. A Cerbo GX (or equivalent GX device) publishes telemetry to Victron's VRM Cloud; SETI AI maintains a live cache of that stream and serves it at /api/victron.

What it surfaces.

  • Battery: voltage, current, SoC, power, temperature, time-to-go, capacity (Ah), consumed Ah, charging/discharging state.
  • Solar: PV power, PV current, PV string voltage, yield today / yesterday.
  • Grid: per-phase power (L1/L2/L3) and L1 voltage; net import/export is computed as L1 + L2 + L3.
  • System: total DC load power.

This is the only brand with full historical charting and a clickable production calendar in the Inverter Hub, because the VRM cache is continuously archived.

What a customer needs to connect it.

  • A Victron VRM API token and the Installation ID of their site.
  • Enter both in the Inverter Hub setup (VRM Token / Install ID) or Setup; click Test.

SMA — Sunny Portal + Modbus TCP / SunSpec · Driver-ready

Connection. The SMA driver tries the Sunny Portal / ennexOS cloud API first (Bearer token, by plant). If the cloud is unreachable and a local host is provided, it falls back to the ennexOS local API over the LAN (Modbus TCP / SunSpec inverters).

What it surfaces. PV power, AC power (grid feed-in), yield today, and lifetime yield — parsed flexibly from either the Sunny Portal response or the local measurements endpoint.

What a customer needs to connect it.

  • An SMA Sunny Portal developer API key and their Plant ID, and/or
  • The inverter's LAN IP for the local Modbus / ennexOS path.
  • Enter IP (Modbus), API Key, and Plant ID in the Hub; Test confirms the link.

Sol-Ark — Modbus TCP (port 8899) · Driver-ready

Connection. Sol-Ark 12K/15K hybrid inverters expose Modbus TCP on their LAN port, default 8899. The driver opens a raw Modbus TCP connection and reads the holding-register block directly — no cloud account, no gateway, fully local.

What it surfaces (read straight from the documented registers, with sign and scaling handled):

  • Battery voltage, current, power, SoC, and temperature.
  • PV1 and PV2 power and combined total PV.
  • Grid power (signed import/export) and load power.
  • Inverter temperature.

What a customer needs to connect it.

  • The Sol-Ark's IP address on the LAN (and port, default 8899; unit/slave ID if changed from 1).
  • Enter IP Address and Port in the Hub; Test reads live registers and reports PV watts on success.
  • Network note: the inverter must be reachable from the SETI AI host — for off-LAN deployments this means a route/VPN to the inverter's network.

Enphase — Local IQ Gateway + Enlighten API v4 · Driver-ready

Connection. Two paths, local preferred:

  1. Local IQ Gateway (formerly Envoy) — http://<gateway-ip>/api/v1/production and /production/inverters. On most firmware this needs no auth and gives the fastest, LAN-local read, including per-microinverter count.
  2. Enlighten cloud API v4https://api.enphaseenergy.com/api/v4/…/summary, used as a fallback when only cloud access is available (Bearer token or API key).

What it surfaces. Current PV power, today's production, lifetime production, grid power, total consumption (load), inverter/module count, and system status.

What a customer needs to connect it.

  • For local: the IQ Gateway IP address.
  • For cloud: an Enlighten API key, System ID, and (for v4) an OAuth token.
  • Enter Gateway IP, API Key, and System ID in the Hub; Test confirms.

SolarEdge — Monitoring API · Driver-ready

Connection. The SolarEdge driver uses the official Monitoring API (monitoringapi.solaredge.com). It reads the site's current power flow and the day's energy total, with values normalized from kW to W.

What it surfaces. PV power, grid power, load power, battery power and battery SoC (chargeLevel) and status when storage is present, and today's yield (kWh).

What a customer needs to connect it.

  • A SolarEdge Monitoring API key (from the monitoring portal) and the Site ID.
  • Enter API Key and Site ID in the Hub; Test pulls the live power flow.
  • Note: SolarEdge enforces API rate limits per site — SETI AI polls conservatively.

Schneider — Modbus TCP + EcoStruxure API · Driver-ready

Connection. For Schneider Conext inverters (XW+, CL, RL series), two paths, local preferred:

  1. Local Modbus TCP via the Conext ComBox / InsightHome gateway (default port 502), reading the SunSpec register block (base 40000) for AC power, DC/PV power, and PV voltage; battery SoC/voltage/current registers are mapped for Conext MPPT systems.
  2. EcoStruxure cloud API (api.exchange.se.com) as a fallback — Bearer token by site, returning solar production, consumption, and grid power.

What it surfaces. AC power, PV power and PV voltage (Modbus path); solar production, load, and grid power (EcoStruxure path).

What a customer needs to connect it.

  • For local: the ComBox / Insight gateway IP (and port 502 / unit ID).
  • For cloud: an EcoStruxure API key and Site ID.
  • Enter ComBox IP, API Key, and Site ID in the Hub; Test confirms the link.

How connecting works (any brand)

  1. Open the Inverter Hub widget and pick your brand.
  2. Fill the brand-specific fields (the form changes per brand: VRM token, Modbus IP/port, API key, plant/site/system ID, or gateway IP).
  3. Click Save to persist the settings, then Test to run the live driver.
    • Success shows green with the live PV reading and lights the panel's LIVE badge.
    • If something's missing, the driver returns a plain-language note (for example, "Set SolarEdge API key and site ID in Setup or node config") instead of failing silently or faking data.
  4. Once connected, the brand's data flows into the Hub's KPIs, mini-widgets, and — for Victron — historical charts and the production calendar.

Credentials can also be supplied via environment variables or saved once in Setup, so they persist across restarts without re-entering them in the widget.


Beyond inverters

The solar-inverter driver is one of fourteen energy node types. Batteries, grid meters, power walls, forecasting, CO₂ tracking, UPS monitoring, energy cost, and load control are covered by their own real-data handlers — see Energy Nodes for the full set and which are live versus pending a driver.