evcc (self-hosted) · Schema

State

Complete system state as returned by /api/state and pushed via websocket and MQTT. This structure mirrors the internal UI state and carries no compatibility promise. Fields may change or disappear between releases.

CompanyEVSmartChargingOpenSourceEnergyManagementHomeAutomation

Properties

Name Type Description
telemetry boolean Telemetry is enabled.
experimental boolean Experimental UI features are enabled.
setupRequired boolean Initial setup is required.
onboarding object Setup wizard and checklist state.
startupCompleted boolean Startup has completed.
apiReady boolean HTTP API is ready to accept requests.
loadpoints array Charging locations. One entry per configured loadpoint.
forecast object Price, CO₂ and solar production forecasts.
currency object Configured currency for all monetary values.
country string Configured site country as ISO 3166-1 alpha-2 code. Empty when not set.
fatal array Fatal startup errors.
authProviders object Status of configured vehicle authentication providers, keyed by provider name.
version string Running evcc version.
availableVersion string Latest available evcc version.
system string Operating system and architecture.
timezone string Server time zone abbreviation and UTC offset.
battery object Aggregated home battery state.
batteryMode object Current operation mode of the home battery.
grid object Grid meter data.
gridConfigured boolean A grid meter is configured.
gridConnection object Grid connection, with or without neutral conductor.
voltage number Nominal grid voltage in V, line-to-line without neutral.
pv array Solar meters. One entry per configured meter.
pvPower number Total solar power in W. Sum of all solar meters.
pvEnergy number Total solar production in kWh.
aux array Auxiliary consumption meters. Their power is treated as available for charging.
auxPower number Total power of all auxiliary meters in W.
ext array Additional meters for monitoring purposes.
consumers array Consumption meters of individual devices for monitoring purposes.
homePower number Home consumption power in W.
residualPower number Configured grid operating point in W. Positive values maintain grid import.
gridExportLimit number Static grid export power limit in W used as optimizer constraint, 0 = disabled. An active HEMS curtailment takes precedence.
profilePercentile numbernull Percentile of the historic energy profiles used for demand prediction in %, e.g. 50 = median. Null uses the average.
greenShareHome number Share of green energy in home consumption, between 0 and 1.
greenShareLoadpoints number Share of green energy used for charging, between 0 and 1.
tariffs object Configured tariffs. Structure depends on configuration.
tariffGrid number Current grid energy price per kWh in the configured currency.
tariffFeedIn number Current grid export price per kWh in the configured currency.
tariffCo2 number Current grid CO₂ emissions in g/kWh.
tariffSolar number Current cost of solar production per kWh in the configured currency.
tariffPriceHome number Current energy price of home consumption per kWh, taking the green energy share into account.
tariffPriceLoadpoints number Current energy price of charging per kWh, taking the green energy share into account.
tariffCo2Home number Current CO₂ emissions of home consumption in g/kWh, taking the green energy share into account.
tariffCo2Loadpoints number Current CO₂ emissions of charging in g/kWh, taking the green energy share into account.
tariffTemperature number Current outside temperature in °C.
mqtt object MQTT integration configuration.
influx object InfluxDB integration configuration.
network object Network configuration.
hems object Home energy management system integration.
shm object SMA Home Manager configuration.
sponsor object Sponsorship status.
eebus object EEBUS integration configuration and status.
remote object Remote access configuration and connection status.
modbusproxy arraynull Modbus proxy configuration.
messaging object Messaging services configuration. Structure depends on configuration.
messagingEvents object Configured notification messages per event type.
interval number Update interval of the control loop in seconds.
circuits object Load management circuits, keyed by circuit name.
circuitsConfig object Load management configuration.
bufferSoc number Battery buffer SoC in %. Energy above this level may be used for charging in smart mode.
prioritySoc number Battery priority SoC in %. Home battery is charged first while below this level.
bufferStartSoc number Battery buffer start SoC in %. Solar charging starts automatically above this level.
batteryDischargeControl boolean Home battery discharge is prevented during fast charging and planned charging.
batteryGridDischarge boolean Home battery is allowed to discharge to the grid (experimental).
solarAdjusted boolean Solar forecast is adjusted to real production data (experimental).
batteryGridChargeLimit numbernull Price or emission limit for charging the home battery from grid.
batteryGridChargeActive boolean Home battery is currently charged from grid.
batteryGridDischargeLimit numbernull Grid export price limit for discharging the home battery to the grid (experimental).
batteryGridDischargeActive boolean Home battery is currently discharged to the grid.
smartCostAvailable boolean A dynamic grid price or CO₂ forecast is configured.
smartCostType object Type of the smart charging limit, price based or emission based.
smartFeedInPriorityAvailable boolean A grid export tariff with forecast is configured.
historyUpdated string Time of the last energy history update.
siteTitle string Configured site title.
deviceColors array Colors assigned to devices for consistent UI display.
vehicles object Configured vehicles, keyed by vehicle name.
statistics object Charging statistics over different time periods.
authDisabled boolean Authentication is disabled.
config string Path of the evcc configuration file.
database string Path of the evcc database.
ocpp object OCPP server configuration and connected stations.
ocppforwarder object OCPP forwarder rules and upstream connection status.
optimizer boolean Battery optimizer is enabled.
optimizerAutomatic object What the optimizer controls instead of only advising: nothing, the home battery, or battery and loadpoints.
optimizerChargingStrategy string Selected battery optimizer charging strategy.
optimizerChargingStrategies array Available battery optimizer charging strategies.
mcp boolean Built-in MCP server is enabled.
demoMode boolean Instance runs in demo mode.
View JSON Schema on GitHub

JSON Schema

evcc-state-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/evcc/json-schema/evcc-state-schema.json",
  "title": "State",
  "description": "Complete system state as returned by /api/state and pushed via websocket and MQTT. This structure mirrors the internal UI state and carries no compatibility promise. Fields may change or disappear between releases.",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/evcc-openapi.yaml#/components/schemas/State",
  "type": "object",
  "properties": {
    "telemetry": {
      "description": "Telemetry is enabled.",
      "type": "boolean"
    },
    "experimental": {
      "description": "Experimental UI features are enabled.",
      "type": "boolean"
    },
    "setupRequired": {
      "description": "Initial setup is required.",
      "type": "boolean"
    },
    "onboarding": {
      "$ref": "#/$defs/OnboardingState",
      "description": "Setup wizard and checklist state."
    },
    "startupCompleted": {
      "description": "Startup has completed.",
      "type": "boolean"
    },
    "apiReady": {
      "description": "HTTP API is ready to accept requests.",
      "type": "boolean"
    },
    "loadpoints": {
      "description": "Charging locations. One entry per configured loadpoint.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Loadpoint"
      }
    },
    "forecast": {
      "$ref": "#/$defs/Forecast",
      "description": "Price, CO₂ and solar production forecasts."
    },
    "currency": {
      "$ref": "#/$defs/Currency",
      "description": "Configured currency for all monetary values."
    },
    "country": {
      "description": "Configured site country as ISO 3166-1 alpha-2 code. Empty when not set.",
      "type": "string"
    },
    "fatal": {
      "description": "Fatal startup errors.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/FatalError"
      }
    },
    "authProviders": {
      "$ref": "#/$defs/AuthProviders",
      "description": "Status of configured vehicle authentication providers, keyed by provider name."
    },
    "version": {
      "description": "Running evcc version.",
      "type": "string"
    },
    "availableVersion": {
      "description": "Latest available evcc version.",
      "type": "string"
    },
    "system": {
      "description": "Operating system and architecture.",
      "type": "string"
    },
    "timezone": {
      "description": "Server time zone abbreviation and UTC offset.",
      "type": "string"
    },
    "battery": {
      "$ref": "#/$defs/Battery",
      "description": "Aggregated home battery state."
    },
    "batteryMode": {
      "$ref": "#/$defs/BatteryMode",
      "description": "Current operation mode of the home battery."
    },
    "grid": {
      "$ref": "#/$defs/Meter",
      "description": "Grid meter data."
    },
    "gridConfigured": {
      "description": "A grid meter is configured.",
      "type": "boolean"
    },
    "gridConnection": {
      "$ref": "#/$defs/GRID_CONNECTION",
      "description": "Grid connection, with or without neutral conductor."
    },
    "voltage": {
      "description": "Nominal grid voltage in V, line-to-line without neutral.",
      "type": "number"
    },
    "pv": {
      "description": "Solar meters. One entry per configured meter.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Meter"
      }
    },
    "pvPower": {
      "description": "Total solar power in W. Sum of all solar meters.",
      "type": "number"
    },
    "pvEnergy": {
      "description": "Total solar production in kWh.",
      "type": "number"
    },
    "aux": {
      "description": "Auxiliary consumption meters. Their power is treated as available for charging.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Meter"
      }
    },
    "auxPower": {
      "description": "Total power of all auxiliary meters in W.",
      "type": "number"
    },
    "ext": {
      "description": "Additional meters for monitoring purposes.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Meter"
      }
    },
    "consumers": {
      "description": "Consumption meters of individual devices for monitoring purposes.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/Meter"
      }
    },
    "homePower": {
      "description": "Home consumption power in W.",
      "type": "number"
    },
    "residualPower": {
      "description": "Configured grid operating point in W. Positive values maintain grid import.",
      "type": "number"
    },
    "gridExportLimit": {
      "description": "Static grid export power limit in W used as optimizer constraint, 0 = disabled. An active HEMS curtailment takes precedence.",
      "type": "number"
    },
    "profilePercentile": {
      "description": "Percentile of the historic energy profiles used for demand prediction in %, e.g. 50 = median. Null uses the average.",
      "type": [
        "number",
        "null"
      ]
    },
    "greenShareHome": {
      "description": "Share of green energy in home consumption, between 0 and 1.",
      "type": "number"
    },
    "greenShareLoadpoints": {
      "description": "Share of green energy used for charging, between 0 and 1.",
      "type": "number"
    },
    "tariffs": {
      "$ref": "#/$defs/GenericConfigStatus",
      "description": "Configured tariffs. Structure depends on configuration."
    },
    "tariffGrid": {
      "description": "Current grid energy price per kWh in the configured currency.",
      "type": "number"
    },
    "tariffFeedIn": {
      "description": "Current grid export price per kWh in the configured currency.",
      "type": "number"
    },
    "tariffCo2": {
      "description": "Current grid CO₂ emissions in g/kWh.",
      "type": "number"
    },
    "tariffSolar": {
      "description": "Current cost of solar production per kWh in the configured currency.",
      "type": "number"
    },
    "tariffPriceHome": {
      "description": "Current energy price of home consumption per kWh, taking the green energy share into account.",
      "type": "number"
    },
    "tariffPriceLoadpoints": {
      "description": "Current energy price of charging per kWh, taking the green energy share into account.",
      "type": "number"
    },
    "tariffCo2Home": {
      "description": "Current CO₂ emissions of home consumption in g/kWh, taking the green energy share into account.",
      "type": "number"
    },
    "tariffCo2Loadpoints": {
      "description": "Current CO₂ emissions of charging in g/kWh, taking the green energy share into account.",
      "type": "number"
    },
    "tariffTemperature": {
      "description": "Current outside temperature in °C.",
      "type": "number"
    },
    "mqtt": {
      "$ref": "#/$defs/MqttConfig",
      "description": "MQTT integration configuration."
    },
    "influx": {
      "$ref": "#/$defs/InfluxConfig",
      "description": "InfluxDB integration configuration."
    },
    "network": {
      "$ref": "#/$defs/Network",
      "description": "Network configuration."
    },
    "hems": {
      "$ref": "#/$defs/Hems",
      "description": "Home energy management system integration."
    },
    "shm": {
      "$ref": "#/$defs/ShmConfig",
      "description": "SMA Home Manager configuration."
    },
    "sponsor": {
      "$ref": "#/$defs/Sponsor",
      "description": "Sponsorship status."
    },
    "eebus": {
      "$ref": "#/$defs/Eebus",
      "description": "EEBUS integration configuration and status."
    },
    "remote": {
      "$ref": "#/$defs/Remote",
      "description": "Remote access configuration and connection status."
    },
    "modbusproxy": {
      "description": "Modbus proxy configuration.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/ModbusProxy"
      }
    },
    "messaging": {
      "$ref": "#/$defs/GenericConfigStatus",
      "description": "Messaging services configuration. Structure depends on configuration."
    },
    "messagingEvents": {
      "description": "Configured notification messages per event type.",
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/MessagingEvents"
        }
      ]
    },
    "interval": {
      "description": "Update interval of the control loop in seconds.",
      "type": "number"
    },
    "circuits": {
      "description": "Load management circuits, keyed by circuit name.",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Circuit"
      }
    },
    "circuitsConfig": {
      "$ref": "#/$defs/GenericConfigStatus",
      "description": "Load management configuration."
    },
    "bufferSoc": {
      "description": "Battery buffer SoC in %. Energy above this level may be used for charging in smart mode.",
      "type": "number"
    },
    "prioritySoc": {
      "description": "Battery priority SoC in %. Home battery is charged first while below this level.",
      "type": "number"
    },
    "bufferStartSoc": {
      "description": "Battery buffer start SoC in %. Solar charging starts automatically above this level.",
      "type": "number"
    },
    "batteryDischargeControl": {
      "description": "Home battery discharge is prevented during fast charging and planned charging.",
      "type": "boolean"
    },
    "batteryGridDischarge": {
      "description": "Home battery is allowed to discharge to the grid (experimental).",
      "type": "boolean"
    },
    "solarAdjusted": {
      "description": "Solar forecast is adjusted to real production data (experimental).",
      "type": "boolean"
    },
    "batteryGridChargeLimit": {
      "description": "Price or emission limit for charging the home battery from grid.",
      "type": [
        "number",
        "null"
      ]
    },
    "batteryGridChargeActive": {
      "description": "Home battery is currently charged from grid.",
      "type": "boolean"
    },
    "batteryGridDischargeLimit": {
      "description": "Grid export price limit for discharging the home battery to the grid (experimental).",
      "type": [
        "number",
        "null"
      ]
    },
    "batteryGridDischargeActive": {
      "description": "Home battery is currently discharged to the grid.",
      "type": "boolean"
    },
    "smartCostAvailable": {
      "description": "A dynamic grid price or CO₂ forecast is configured.",
      "type": "boolean"
    },
    "smartCostType": {
      "$ref": "#/$defs/SmartCostType",
      "description": "Type of the smart charging limit, price based or emission based."
    },
    "smartFeedInPriorityAvailable": {
      "description": "A grid export tariff with forecast is configured.",
      "type": "boolean"
    },
    "historyUpdated": {
      "description": "Time of the last energy history update.",
      "type": "string",
      "format": "date-time"
    },
    "siteTitle": {
      "description": "Configured site title.",
      "type": "string"
    },
    "deviceColors": {
      "description": "Colors assigned to devices for consistent UI display.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/DeviceColorEntry"
      }
    },
    "vehicles": {
      "description": "Configured vehicles, keyed by vehicle name.",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/Vehicle"
      }
    },
    "statistics": {
      "$ref": "#/$defs/Statistics",
      "description": "Charging statistics over different time periods."
    },
    "authDisabled": {
      "description": "Authentication is disabled.",
      "type": "boolean"
    },
    "config": {
      "description": "Path of the evcc configuration file.",
      "type": "string"
    },
    "database": {
      "description": "Path of the evcc database.",
      "type": "string"
    },
    "ocpp": {
      "$ref": "#/$defs/Ocpp",
      "description": "OCPP server configuration and connected stations."
    },
    "ocppforwarder": {
      "$ref": "#/$defs/OcppForwarder",
      "description": "OCPP forwarder rules and upstream connection status."
    },
    "optimizer": {
      "description": "Battery optimizer is enabled.",
      "type": "boolean"
    },
    "optimizerAutomatic": {
      "$ref": "#/$defs/OptimizerAutomatic",
      "description": "What the optimizer controls instead of only advising: nothing, the home battery, or battery and loadpoints."
    },
    "optimizerChargingStrategy": {
      "description": "Selected battery optimizer charging strategy.",
      "type": "string"
    },
    "optimizerChargingStrategies": {
      "description": "Available battery optimizer charging strategies.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "mcp": {
      "description": "Built-in MCP server is enabled.",
      "type": "boolean"
    },
    "demoMode": {
      "description": "Instance runs in demo mode.",
      "type": "boolean"
    }
  },
  "required": [
    "loadpoints",
    "forecast",
    "vehicles"
  ],
  "$defs": {
    "AlwaysCharge": {
      "description": "Always charge state. Smart mode charges continuously at least at minimum power.",
      "type": "string",
      "enum": [
        "off",
        "on",
        "once"
      ]
    },
    "AuthProviders": {
      "description": "Status of configured vehicle authentication providers, keyed by provider name.",
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "authenticated": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "authenticated"
        ]
      }
    },
    "Battery": {
      "description": "Home battery state. Aggregated across all battery meters.",
      "type": "object",
      "properties": {
        "power": {
          "description": "Current battery power in W. Positive means discharging, negative means charging.",
          "type": "number"
        },
        "capacity": {
          "description": "Total battery capacity in kWh.",
          "type": "number"
        },
        "soc": {
          "description": "Charge level in %. Weighted by capacity across all batteries.",
          "type": "number"
        },
        "energy": {
          "description": "Total discharged energy in kWh.",
          "type": "number"
        },
        "returnEnergy": {
          "description": "Total charged energy in kWh.",
          "type": "number"
        },
        "devices": {
          "description": "Measurement data per battery meter.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/BatteryMeter"
          }
        },
        "forecast": {
          "$ref": "#/$defs/BatteryForecast",
          "description": "Projected charge levels based on the solar and price forecast."
        }
      },
      "required": [
        "power",
        "capacity",
        "soc"
      ]
    },
    "BatteryForecast": {
      "description": "Projected home battery charge levels based on the solar and price forecast.",
      "type": "object",
      "properties": {
        "highest": {
          "$ref": "#/$defs/BatteryForecastPoint",
          "description": "Projected highest charge level."
        },
        "lowest": {
          "$ref": "#/$defs/BatteryForecastPoint",
          "description": "Projected lowest charge level."
        }
      }
    },
    "BatteryForecastPoint": {
      "description": "A projected home battery charge level at a point in time.",
      "type": "object",
      "properties": {
        "soc": {
          "description": "Projected charge level in %.",
          "type": "number"
        },
        "time": {
          "description": "Time of the projected charge level.",
          "type": "string",
          "format": "date-time"
        },
        "limit": {
          "description": "The projection hits the upper or lower battery limit.",
          "type": "boolean"
        }
      },
      "required": [
        "soc",
        "time"
      ]
    },
    "BatteryMeter": {
      "description": "Measurement data of a single home battery meter.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Unique device name of the meter.",
          "type": "string"
        },
        "power": {
          "description": "Current power in W.",
          "type": "number"
        },
        "title": {
          "description": "Meter title for UI display.",
          "type": "string"
        },
        "icon": {
          "description": "Meter icon name for UI display.",
          "type": "string"
        },
        "energy": {
          "description": "Total energy in kWh.",
          "type": "number"
        },
        "returnEnergy": {
          "description": "Total exported energy in kWh.",
          "type": "number"
        },
        "powers": {
          "description": "Power per phase in W.",
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "currents": {
          "description": "Current per phase in A.",
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "soc": {
          "description": "Charge level in %.",
          "type": "number"
        },
        "controllable": {
          "description": "Battery supports external control of its operation mode.",
          "type": "boolean"
        },
        "modes": {
          "description": "Battery modes supported by the device.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "capacity": {
          "description": "Battery capacity in kWh. Zero when not specified.",
          "type": "number"
        },
        "minSoc": {
          "description": "Minimum soc (reserve) in % as configured on the device.",
          "type": "number"
        },
        "maxSoc": {
          "description": "Maximum soc (charge limit) in % as configured on the device.",
          "type": "number"
        },
        "suggestion": {
          "$ref": "#/$defs/BatterySuggestion",
          "description": "Battery optimizer suggestion."
        }
      },
      "required": [
        "capacity",
        "controllable",
        "power",
        "soc"
      ]
    },
    "BatteryMode": {
      "description": "Battery operation mode.",
      "type": "string",
      "enum": [
        "unknown",
        "normal",
        "hold",
        "charge",
        "holdcharge",
        "discharge"
      ]
    },
    "BatterySuggestion": {
      "description": "Battery optimizer suggestion for a home battery.",
      "type": "object",
      "properties": {
        "action": {
          "description": "Suggested operation mode.",
          "type": "string",
          "enum": [
            "normal",
            "hold",
            "charge",
            "holdcharge",
            "discharge"
          ]
        },
        "charge": {
          "description": "Recommended charge power in W.",
          "type": "number"
        },
        "discharge": {
          "description": "Recommended discharge power in W.",
          "type": "number"
        },
        "grid": {
          "description": "Planned site grid flow of the slot in W, positive means import.",
          "type": "number"
        },
        "actionable": {
          "description": "Suggestion differs from the current operating mode.",
          "type": "boolean"
        }
      },
      "required": [
        "action"
      ]
    },
    "Certificate": {
      "description": "A TLS certificate key pair.",
      "type": "object",
      "properties": {
        "public": {
          "description": "Public certificate in PEM format.",
          "type": "string"
        },
        "private": {
          "description": "Private key in PEM format. Redacted.",
          "type": "string"
        }
      },
      "required": [
        "public",
        "private"
      ]
    },
    "ChargeMode": {
      "description": "Charging mode.",
      "type": "string",
      "enum": [
        "off",
        "smart",
        "now"
      ]
    },
    "ChargerStatusReason": {
      "description": "Reason why the charger is waiting.",
      "type": "string",
      "enum": [
        "unknown",
        "waitingforauthorization",
        "disconnectrequired"
      ]
    },
    "Circuit": {
      "description": "A load management circuit limiting power and current of its assigned loadpoints.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Circuit name used as configuration reference.",
          "type": "string"
        },
        "title": {
          "description": "Circuit title for UI display.",
          "type": "string"
        },
        "icon": {
          "description": "Circuit icon name for UI display.",
          "type": "string"
        },
        "parent": {
          "description": "Name of the parent circuit.",
          "type": "string"
        },
        "power": {
          "description": "Current power in W.",
          "type": "number"
        },
        "current": {
          "description": "Current in A.",
          "type": "number"
        },
        "maxPower": {
          "description": "Maximum allowed power in W.",
          "type": "number"
        },
        "maxCurrent": {
          "description": "Maximum allowed current in A.",
          "type": "number"
        }
      },
      "required": [
        "power"
      ]
    },
    "Currency": {
      "description": "Currency in ISO 4217 format.",
      "type": "string",
      "enum": [
        "AUD",
        "BGN",
        "BRL",
        "CAD",
        "CHF",
        "CNY",
        "CZK",
        "EUR",
        "GBP",
        "HUF",
        "ILS",
        "JPY",
        "NZD",
        "NOK",
        "PLN",
        "RON",
        "USD",
        "DKK",
        "SEK",
        "ZAR",
        "TRY",
        "MYR",
        "THB",
        "BYN",
        "UAH",
        "RUB",
        "KZT"
      ]
    },
    "DeviceColorEntry": {
      "description": "Color assigned to a device for consistent UI display.",
      "type": "object",
      "properties": {
        "title": {
          "description": "Device title the color is assigned to.",
          "type": "string"
        },
        "color": {
          "description": "Assigned color as CSS value.",
          "type": "string"
        }
      },
      "required": [
        "title",
        "color"
      ]
    },
    "Eebus": {
      "description": "EEBUS integration configuration and status.",
      "type": "object",
      "properties": {
        "config": {
          "$ref": "#/$defs/EebusConfig",
          "description": "Static configuration."
        },
        "status": {
          "$ref": "#/$defs/EebusStatus",
          "description": "Runtime status."
        },
        "yamlSource": {
          "description": "Source of the configuration, evcc.yaml file or database.",
          "type": "string",
          "enum": [
            "file",
            "db"
          ]
        }
      }
    },
    "EebusConfig": {
      "description": "EEBUS integration configuration.",
      "type": "object",
      "properties": {
        "uri": {
          "description": "URI the EEBUS service listens on.",
          "type": "string"
        },
        "port": {
          "description": "Port the EEBUS service listens on.",
          "type": "number"
        },
        "shipid": {
          "description": "SHIP id.",
          "type": "string"
        },
        "interfaces": {
          "description": "Network interfaces the EEBUS service uses.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "certificate": {
          "$ref": "#/$defs/Certificate",
          "description": "TLS certificate."
        }
      },
      "required": [
        "port",
        "shipid"
      ]
    },
    "EebusStatus": {
      "description": "EEBUS runtime status.",
      "type": "object",
      "properties": {
        "ski": {
          "description": "SKI (subject key identifier) used for pairing.",
          "type": "string"
        },
        "qr": {
          "description": "QR code payload for pairing.",
          "type": "string"
        }
      },
      "required": [
        "ski"
      ]
    },
    "EnergyByDay": {
      "description": "Expected solar production energy of a day.",
      "type": "object",
      "properties": {
        "energy": {
          "description": "Expected production energy in kWh.",
          "type": "number"
        },
        "complete": {
          "description": "Forecast data covers the whole day.",
          "type": "boolean"
        }
      },
      "required": [
        "energy",
        "complete"
      ]
    },
    "FatalError": {
      "description": "A fatal startup error.",
      "type": "object",
      "properties": {
        "error": {
          "description": "Error message.",
          "type": "string"
        },
        "class": {
          "description": "Device class the error originates from, like meter or charger.",
          "type": "string"
        },
        "device": {
          "description": "Name of the device that caused the error.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ]
    },
    "Forecast": {
      "description": "Price, CO₂ and solar production forecasts.",
      "type": "object",
      "properties": {
        "grid": {
          "description": "Grid price forecast. Price per kWh in the configured currency per time slot.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ForecastSlot"
          }
        },
        "co2": {
          "description": "CO₂ emission forecast in g/kWh per time slot.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ForecastSlot"
          }
        },
        "solar": {
          "$ref": "#/$defs/SolarDetails",
          "description": "Solar production forecast."
        },
        "planner": {
          "description": "Charging cost forecast used by the plan optimizer per time slot.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ForecastSlot"
          }
        },
        "feedin": {
          "description": "Grid export price forecast. Price per kWh in the configured currency per time slot.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ForecastSlot"
          }
        },
        "temperature": {
          "description": "Temperature forecast in °C per time slot.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ForecastSlot"
          }
        }
      }
    },
    "ForecastSlot": {
      "description": "A forecast time slot as [start, end, value] array. Start and end are unix seconds. Value unit depends on the forecast type.",
      "type": "array",
      "items": {
        "type": "number"
      },
      "minItems": 3,
      "maxItems": 3
    },
    "GRID_CONNECTION": {
      "description": "Grid connection, with or without neutral conductor.",
      "type": "string",
      "enum": [
        "3p4w",
        "3p3w"
      ]
    },
    "GenericConfigStatus": {
      "description": "Configuration and runtime status of an integration. Structure depends on configuration.",
      "type": "object",
      "properties": {
        "config": {
          "description": "Static configuration."
        },
        "status": {
          "description": "Runtime status."
        },
        "yamlSource": {
          "description": "Source of the configuration, evcc.yaml file or database.",
          "type": "string",
          "enum": [
            "file",
            "db"
          ]
        }
      }
    },
    "Hems": {
      "description": "Home energy management system integration.",
      "type": "object",
      "properties": {
        "config": {
          "$ref": "#/$defs/HemsConfig",
          "description": "Static configuration."
        },
        "status": {
          "$ref": "#/$defs/HemsStatus",
          "description": "Runtime status."
        },
        "yamlSource": {
          "description": "Source of the configuration, evcc.yaml file or database.",
          "type": "string",
          "enum": [
            "file",
            "db"
          ]
        }
      }
    },
    "HemsConfig": {
      "description": "Home energy management system configuration.",
      "type": "object",
      "properties": {
        "configured": {
          "description": "A home energy management system is configured.",
          "type": "boolean"
        }
      },
      "required": [
        "configured"
      ]
    },
    "HemsStatus": {
      "description": "Current external limits imposed by the home energy management system.",
      "type": "object",
      "properties": {
        "dimmed": {
          "description": "Consumption is currently limited.",
          "type": "boolean"
        },
        "curtailed": {
          "description": "Allowed grid export in %. Values below 100 mean production is curtailed.",
          "type": "number"
        },
        "maxConsumptionPower": {
          "description": "Maximum allowed consumption power in W.",
          "type": "number"
        },
        "maxProductionPower": {
          "description": "Maximum allowed production power in W.",
          "type": "number"
        }
      }
    },
    "InfluxConfig": {
      "description": "InfluxDB integration configuration.",
      "type": "object",
      "properties": {
        "url": {
          "description": "InfluxDB server URL.",
          "type": "string"
        },
        "database": {
          "description": "Database name (InfluxDB 1.x) or bucket (InfluxDB 2.x).",
          "type": "string"
        },
        "org": {
          "description": "Organization (InfluxDB 2.x).",
          "type": "string"
        },
        "token": {
          "description": "Access token (InfluxDB 2.x). Redacted.",
          "type": "string"
        },
        "user": {
          "description": "Username (InfluxDB 1.x).",
          "type": "string"
        },
        "password": {
          "description": "Password (InfluxDB 1.x). Redacted.",
          "type": "string"
        },
        "insecure": {
          "description": "Skip TLS certificate verification.",
          "type": "boolean"
        }
      },
      "required": [
        "url",
        "database",
        "org"
      ]
    },
    "Loadpoint": {
      "description": "A charging location with a charger, an optional dedicated meter and an optional vehicle.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Unique loadpoint identifier used in API routes and configuration.",
          "type": "string"
        },
        "alwaysCharge": {
          "$ref": "#/$defs/AlwaysCharge",
          "description": "Always charge state. Smart mode charges continuously at least at minimum power."
        },
        "batteryBoost": {
          "description": "Battery boost is active. When enabled, home battery power is used for fast charging.",
          "type": "boolean"
        },
        "chargeCurrents": {
          "description": "Charging current per phase in A.",
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "chargeDuration": {
          "description": "Duration of the current charging session in seconds.",
          "type": "number"
        },
        "chargePower": {
          "description": "Current charging power in W.",
          "type": "number"
        },
        "chargeRemainingDuration": {
          "description": "Estimated remaining charging time in seconds.",
          "type": "number"
        },
        "chargeRemainingEnergy": {
          "description": "Estimated remaining energy in kWh.",
          "type": "number"
        },
        "chargeTotalImport": {
          "description": "Total energy imported by the charge meter in kWh.",
          "type": "number"
        },
        "chargeVoltages": {
          "description": "Charging voltage per phase in V.",
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "chargedEnergy": {
          "description": "Energy charged in the current charging session in kWh.",
          "type": "number"
        },
        "chargerFeatureAutodetectDisabled": {
          "description": "The connected vehicle is not identified automatically by its status.",
          "type":

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://artifacts.apis.io/evcc/json-schema/evcc-state-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/evcc-state"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.