Catalog/elec-solar-string-sizing

Electrical

Solar string sizing API

Determines max and min PV panels per series string within the inverter/MPPT voltage window, applying cold-Voc and hot-Vmp temperature corrections. Answers 'How many solar panels can I put in series for this inverter?', 'Is my string voltage within the MPPT window at temperature extremes?'.

Price$0.08per request
MethodPOST
Route/v1/electrical/solar-string-sizing
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
electricalsolarpvstringmpptinvertervoctemperature
API URLhttps://x402.hexl.dev/v1/electrical/solar-string-sizing
Integration docs
Example request
{
  "panelVoc": 40,
  "panelVmp": 33,
  "panelWatts": 400,
  "mpptMinV": 120,
  "mpptMaxV": 500,
  "inverterMaxV": 600,
  "recordLowC": -10,
  "recordHighC": 65
}
Example response
{
  "panelVoc": 40,
  "panelVmp": 33,
  "mpptMinV": 120,
  "mpptMaxV": 500,
  "inverterMaxV": 600,
  "recordLowC": -10,
  "recordHighC": 65,
  "tempCoeffVocPctPerC": -0.3,
  "vocAtColdV": 44.2,
  "vmpAtHotV": 29.04,
  "maxPanelsInSeries": 13,
  "minPanelsInSeries": 5,
  "feasible": true,
  "formula": "maxSeries = floor(Vinv_max / Voc_cold); minSeries = ceil(Vmppt_min / Vmp_hot)",
  "panelWatts": 400,
  "stringWattsAtMax": 5200
}
Input schema
{
  "type": "object",
  "required": [
    "panelVoc",
    "panelVmp",
    "mpptMinV",
    "mpptMaxV"
  ],
  "properties": {
    "panelVoc": {
      "type": "number",
      "examples": [
        40
      ]
    },
    "panelVmp": {
      "type": "number",
      "examples": [
        33
      ]
    },
    "panelWatts": {
      "type": "number",
      "examples": [
        400
      ]
    },
    "mpptMinV": {
      "type": "number",
      "examples": [
        120
      ]
    },
    "mpptMaxV": {
      "type": "number",
      "examples": [
        500
      ]
    },
    "inverterMaxV": {
      "type": "number",
      "examples": [
        600
      ]
    },
    "recordLowC": {
      "type": "number",
      "examples": [
        -10
      ]
    },
    "recordHighC": {
      "type": "number",
      "examples": [
        65
      ]
    },
    "tempCoeffVocPctPerC": {
      "type": "number",
      "examples": [
        -0.3
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}