evcc-io/server/openapi.state.yaml
andig c3f3384bfc
API: generate /api/state documentation from UI types (#32431)
Co-authored-by: Michael Geers <michael@geers.tv>
2026-08-03 11:06:37 +00:00

1829 lines
59 KiB
YAML

# GENERATED FILE - DO NOT EDIT (source: assets/js/types/evcc.ts, update: make openapi)
components:
schemas:
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.
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
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: "#/components/schemas/Loadpoint"
forecast:
$ref: "#/components/schemas/Forecast"
description: Price, CO₂ and solar production forecasts.
currency:
$ref: "#/components/schemas/Currency"
description: Configured currency for all monetary values.
fatal:
description: Fatal startup errors.
type: array
items:
$ref: "#/components/schemas/FatalError"
authProviders:
$ref: "#/components/schemas/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
example: linux/amd64
timezone:
description: Server time zone abbreviation and UTC offset.
type: string
example: CEST +02:00
battery:
$ref: "#/components/schemas/Battery"
description: Aggregated home battery state.
batteryMode:
$ref: "#/components/schemas/BatteryMode"
description: Current operation mode of the home battery.
grid:
$ref: "#/components/schemas/Meter"
description: Grid meter data.
gridConfigured:
description: A grid meter is configured.
type: boolean
pv:
description: Solar generation meters. One entry per configured pv meter.
type: array
items:
$ref: "#/components/schemas/Meter"
pvPower:
description: Total solar generation power in W. Sum of all pv meters.
type: number
pvEnergy:
description: Total solar generation energy in kWh.
type: number
aux:
description: Auxiliary consumption meters. Their power is treated as available for charging.
type: array
items:
$ref: "#/components/schemas/Meter"
auxPower:
description: Total power of all auxiliary meters in W.
type: number
ext:
description: Additional meters for monitoring purposes.
type: array
items:
$ref: "#/components/schemas/Meter"
consumers:
description: Consumption meters of individual devices for monitoring purposes.
type: array
items:
$ref: "#/components/schemas/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
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: "#/components/schemas/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 feed-in rate 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 generation 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: "#/components/schemas/MqttConfig"
description: MQTT integration configuration.
influx:
$ref: "#/components/schemas/InfluxConfig"
description: InfluxDB integration configuration.
network:
$ref: "#/components/schemas/Network"
description: Network configuration.
hems:
$ref: "#/components/schemas/Hems"
description: Home energy management system integration.
shm:
$ref: "#/components/schemas/ShmConfig"
description: SMA Home Manager configuration.
sponsor:
$ref: "#/components/schemas/Sponsor"
description: Sponsorship status.
eebus:
$ref: "#/components/schemas/Eebus"
description: EEBus integration configuration and status.
remote:
$ref: "#/components/schemas/Remote"
description: Remote access configuration and connection status.
modbusproxy:
description: Modbus proxy configuration.
type: array
nullable: true
items:
$ref: "#/components/schemas/ModbusProxy"
messaging:
$ref: "#/components/schemas/GenericConfigStatus"
description: Messaging services configuration. Structure depends on configuration.
messagingEvents:
description: Configured notification messages per event type.
nullable: true
allOf:
- $ref: "#/components/schemas/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: "#/components/schemas/Circuit"
bufferSoc:
description: Battery buffer SoC in %. Energy above this level may be used for charging in solar 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
nullable: true
batteryGridChargeActive:
description: Home battery is currently charged from grid.
type: boolean
smartCostAvailable:
description: A dynamic grid price or CO₂ forecast is configured.
type: boolean
smartCostType:
$ref: "#/components/schemas/SmartCostType"
description: Type of the smart charging limit, price based or emission based.
smartFeedInPriorityAvailable:
description: A feed-in 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: "#/components/schemas/DeviceColorEntry"
vehicles:
description: Configured vehicles, keyed by vehicle name.
type: object
additionalProperties:
$ref: "#/components/schemas/Vehicle"
statistics:
$ref: "#/components/schemas/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: "#/components/schemas/Ocpp"
description: OCPP server configuration and connected stations.
ocppforwarder:
$ref: "#/components/schemas/OcppForwarder"
description: OCPP forwarder rules and upstream connection status.
optimizer:
description: Battery optimizer is enabled.
type: boolean
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
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 battery energy in kWh.
type: number
devices:
description: Measurement data per battery meter.
type: array
items:
$ref: "#/components/schemas/BatteryMeter"
forecast:
$ref: "#/components/schemas/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: "#/components/schemas/BatteryForecastPoint"
description: Projected highest charge level.
lowest:
$ref: "#/components/schemas/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
capacity:
description: Battery capacity in kWh. Zero when not specified.
type: number
suggestion:
$ref: "#/components/schemas/BatterySuggestion"
description: Battery optimizer suggestion.
required:
- capacity
- controllable
- power
- soc
BatteryMode:
description: Battery operation mode.
type: string
enum:
- unknown
- normal
- hold
- charge
- holdcharge
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
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
- now
- minpv
- pv
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:
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
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: "#/components/schemas/EebusConfig"
description: Static configuration.
status:
$ref: "#/components/schemas/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: "#/components/schemas/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: "#/components/schemas/ForecastSlot"
co2:
description: CO₂ emission forecast in g/kWh per time slot.
type: array
items:
$ref: "#/components/schemas/ForecastSlot"
solar:
$ref: "#/components/schemas/SolarDetails"
description: Solar production forecast.
planner:
description: Charging cost forecast used by the plan optimizer per time slot.
type: array
items:
$ref: "#/components/schemas/ForecastSlot"
feedin:
description: Feed-in rate forecast. Rate per kWh in the configured currency per time slot.
type: array
items:
$ref: "#/components/schemas/ForecastSlot"
temperature:
description: Temperature forecast in °C per time slot.
type: array
items:
$ref: "#/components/schemas/ForecastSlot"
ForecastSlot:
description: A forecast value for a time slot.
type: object
properties:
start:
description: Start of the time slot.
type: string
format: date-time
end:
description: End of the time slot.
type: string
format: date-time
value:
description: Forecast value of the time slot. Unit depends on the forecast type.
type: number
required:
- start
- end
- value
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: "#/components/schemas/HemsConfig"
description: Static configuration.
status:
$ref: "#/components/schemas/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 feed-in 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
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: boolean
chargerFeatureAverage:
description: Values are averaged.
type: boolean
chargerFeatureCacheable:
description: Values are cached.
type: boolean
chargerFeatureClimaterDisabled:
description: The climater state of the connected vehicle is ignored for charge control.
type: boolean
chargerFeatureCoarseCurrent:
description: Charger only supports full ampere steps for current control.
type: boolean
chargerFeatureContinuous:
description: Charger is a heating device where disabled means normal operation.
type: boolean
chargerFeatureHeating:
description: Charger is a heating device. SoC values represent temperature in degrees.
type: boolean
chargerFeatureIntegratedDevice:
description: Charger is an always-connected device without vehicles and charging sessions, like a heat pump.
type: boolean
chargerFeatureOffline:
description: The connected vehicle only provides data while charging.
type: boolean
chargerFeatureRetryable:
description: Vehicle API calls are retried on failure.
type: boolean
chargerFeatureStreaming:
description: The connected vehicle pushes data updates instead of being polled.
type: boolean
chargerFeatureSwitchDevice:
description: Charger is a switchable device without current control, like a heat pump or switch socket.
type: boolean
chargerFeatureWakeUpDisabled:
description: No wake-up calls are sent to the connected vehicle.
type: boolean
chargerFeatureWelcomeCharge:
description: The connected vehicle may need a short welcome charge to start communicating.
type: boolean
chargerIcon:
description: Charger icon name for UI display.
type: string
nullable: true
chargerPhases1p3p:
description: Charger supports automatic switching between 1-phase and 3-phase charging.
type: boolean
chargerSinglePhase:
description: Charger is physically connected with a single phase.
type: boolean
chargerStatusReason:
description: Reason why the charger is waiting, like a pending authorization or a required disconnect.
nullable: true
allOf:
- $ref: "#/components/schemas/ChargerStatusReason"
charging:
description: A vehicle is connected and charging.
type: boolean
connected:
description: A vehicle is connected to the charger.
type: boolean
connectedDuration:
description: Duration since the vehicle was connected, in seconds.
type: number
disableDelay:
description: Delay before charging stops in solar mode, in seconds.
type: number
disableThreshold:
description: Grid draw power above which charging stops in solar mode, in W.
type: number
effectiveLimitSoc:
description: Currently applied SoC limit in %.
type: number
effectiveMaxCurrent:
description: Currently applied maximum charging current in A.
type: number
effectiveMinCurrent:
description: Currently applied minimum charging current in A.
type: number
effectiveMinSoc:
description: Currently applied minimum SoC in %.
type: number
effectivePlanId:
description: Id of the currently applied charging plan. Zero if no plan is active.
type: number
effectivePlanSoc:
description: SoC goal in % of the currently applied charging plan.
type: number
effectivePlanTime:
description: Target time of the currently applied charging plan.
type: string
nullable: true
format: date-time
effectivePlanStrategy:
$ref: "#/components/schemas/PlanStrategy"
description: Currently applied charging plan strategy.
effectivePriority:
description: Currently applied priority.
type: number
enableDelay:
description: Delay before charging starts in solar mode, in seconds.
type: number
enableThreshold:
description: Available surplus power above which charging starts in solar mode, in W.
type: number
enabled:
description: Charger is currently allowed to charge.
type: boolean
limitEnergy:
description: Session energy limit in kWh. Zero means no limit.
type: number
limitSoc:
description: Session SoC limit in %. Zero means no limit.
type: number
maxCurrent:
description: Maximum charging current in A.
type: number
minCurrent:
description: Minimum charging current in A.
type: number
minSoc:
description: Minimum SoC in %. Vehicle is fast-charged until this level is reached.
type: number
minSocNotReached:
description: Vehicle SoC is below the configured minimum SoC.
type: boolean
mode:
$ref: "#/components/schemas/ChargeMode"
description: Charging behavior.
offeredCurrent:
description: Current offered to the vehicle in A.
type: number
phaseAction:
$ref: "#/components/schemas/PhaseAction"
description: Pending phase switching action in solar mode.
phaseRemaining:
description: Remaining time until the pending phase switching action executes, in seconds.
type: number
phasesActive:
description: Number of phases expected to be used for charging.
type: number
phasesConfigured:
description: Configured phase mode. 0 is automatic switching, 1 and 3 select a fixed phase count.
type: number
plan:
description: Time slots of the current charging plan.
type: array
nullable: true
items:
$ref: "#/components/schemas/Rate"
planActive:
description: The current time slot is an active charging slot of the plan.
type: boolean
planEnergy:
description: Energy goal of the charging plan in kWh.
type: number
planOverrun:
description: Duration in seconds the charging plan is projected to miss its target time.
type: number
planStrategy:
$ref: "#/components/schemas/PlanStrategy"
description: Charging plan strategy.
planProjectedEnd:
description: Projected end of the charging plan. End of the last planned slot.
type: string
nullable: true
format: date-time
planProjectedStart:
description: Projected start of the charging plan. Start of the earliest planned slot.
type: string
nullable: true
format: date-time
planTime:
description: Target time of the charging plan.
type: string
nullable: true
format: date-time
priority:
description: Priority for surplus distribution. Higher number means higher priority.
type: number
pvAction:
$ref: "#/components/schemas/PvAction"
description: Pending charge start or stop action in solar mode.
pvRemaining:
description: Remaining time until the pending charge start or stop action executes, in seconds.
type: number
last24hEnergy:
description: Energy used in the last 24 hours in kWh.
type: number
last7dEnergy:
description: Energy used in the last 7 days in kWh.
type: number
sessionCo2PerKWh:
description: Average CO₂ emissions of the current charging session in g/kWh.
type: number
nullable: true
sessionEnergy:
description: Energy charged in the current charging session in kWh.
type: number
sessionPrice:
description: Total cost of the current charging session in the configured currency.
type: number
nullable: true
sessionPricePerKWh:
description: Average energy price of the current charging session per kWh in the configured currency.
type: number
nullable: true
sessionSolarPercentage:
description: Share of solar energy in the current charging session in %.
type: number
smartCostActive:
description: Fast charging with cheap or clean grid energy is currently active.
type: boolean
smartCostLimit:
description: Price or emission limit for fast charging with grid energy.
type: number
nullable: true
smartCostNextStart:
description: Start of the next fast charging period with cheap or clean grid energy.
type: string
nullable: true
format: date-time
smartFeedInPriorityActive:
description: Charging pause for prioritized feed-in is currently active.
type: boolean
smartFeedInPriorityLimit:
description: Feed-in rate limit above which charging is paused.
type: number
nullable: true
smartFeedInPriorityNextStart:
description: Start of the next charging pause for prioritized feed-in.
type: string
nullable: true
format: date-time
suggestion:
description: Charging suggestion from the battery optimizer.
nullable: true
allOf:
- $ref: "#/components/schemas/LoadpointSuggestion"
title:
description: Loadpoint title for UI display.
type: string
todayEnergy:
description: Energy used since midnight in kWh.
type: number
vehicleClimaterActive:
description: Climater of the connected vehicle is active.
type: boolean
nullable: true
vehicleDetectionActive:
description: Automatic vehicle detection is running.
type: boolean
vehicleLimitSoc:
description: SoC limit configured in the vehicle itself, in %.
type: number
vehicleName:
description: Unique name of the connected vehicle. Empty for guest vehicles.
type: string
vehicleOdometer:
description: Odometer reading of the connected vehicle in km.
type: number
vehicleRange:
description: Range of the connected vehicle in km.
type: number
vehicleSoc:
description: Charge level of the connected vehicle in %. Temperature in degrees for heating devices.
type: number
vehicleTitle:
description: Title of the connected vehicle for UI display.
type: string
vehicleWelcomeActive:
description: A short welcome charge is active to enable vehicle communication.
type: boolean
batteryBoostLimit:
description: SoC limit for battery boost in %.
type: number
ui:
$ref: "#/components/schemas/LoadpointUi"
description: Display-only UI settings.
required:
- name
- batteryBoost
- chargeDuration
- chargePower
- chargedEnergy
- chargerFeatureAutodetectDisabled
- chargerFeatureAverage
- chargerFeatureCacheable
- chargerFeatureClimaterDisabled
- chargerFeatureCoarseCurrent
- chargerFeatureContinuous
- chargerFeatureHeating
- chargerFeatureIntegratedDevice
- chargerFeatureOffline
- chargerFeatureRetryable
- chargerFeatureStreaming
- chargerFeatureSwitchDevice
- chargerFeatureWakeUpDisabled
- chargerFeatureWelcomeCharge
- chargerIcon
- chargerPhases1p3p
- chargerSinglePhase
- charging
- connected
- connectedDuration
- disableDelay
- disableThreshold
- effectiveLimitSoc
- effectiveMaxCurrent
- effectiveMinCurrent
- effectiveMinSoc
- effectivePlanId
- effectivePlanSoc
- effectivePlanTime
- effectivePlanStrategy
- effectivePriority
- enableDelay
- enableThreshold
- enabled
- limitEnergy
- limitSoc
- maxCurrent
- minCurrent
- minSoc
- minSocNotReached
- mode
- offeredCurrent
- phaseAction
- phaseRemaining
- phasesActive
- phasesConfigured
- plan
- planActive
- planEnergy
- planOverrun
- planStrategy
- planProjectedEnd
- planProjectedStart
- planTime
- priority
- pvAction
- pvRemaining
- sessionCo2PerKWh
- sessionEnergy
- sessionPrice
- sessionPricePerKWh
- sessionSolarPercentage
- smartCostActive
- smartCostLimit
- smartCostNextStart
- smartFeedInPriorityActive
- smartFeedInPriorityLimit
- smartFeedInPriorityNextStart
- title
- vehicleClimaterActive
- vehicleDetectionActive
- vehicleLimitSoc
- vehicleName
- vehicleOdometer
- vehicleRange
- vehicleSoc
- vehicleTitle
- vehicleWelcomeActive
- batteryBoostLimit
LoadpointSuggestion:
description: Battery optimizer suggestion for a loadpoint.
type: object
properties:
action:
description: Suggested charging action.
type: string
enum:
- charge
- stop
charge:
description: Recommended charge power in W.
type: number
discharge:
description: Recommended discharge power in W.
type: number
actionable:
description: Suggestion differs from the current operating mode.
type: boolean
required:
- action
LoadpointUi:
description: Display-only UI settings of a loadpoint.
type: object
properties:
minTemp:
description: Lower bound of the temperature scale for heating devices, in degrees.
type: number
maxTemp:
description: Upper bound of the temperature scale for heating devices, in degrees.
type: number
required:
- minTemp
- maxTemp
MessagingEvent:
description: A configured notification message.
type: object
properties:
title:
description: Message title template.
type: string
msg:
description: Message body template.
type: string
disabled:
description: Notifications for this event are disabled.
type: boolean
required:
- title
- msg
- disabled
MessagingEvents:
description: Configured notification messages, keyed by event type.
type: object
properties:
start:
$ref: "#/components/schemas/MessagingEvent"
stop:
$ref: "#/components/schemas/MessagingEvent"
connect:
$ref: "#/components/schemas/MessagingEvent"
disconnect:
$ref: "#/components/schemas/MessagingEvent"
soc:
$ref: "#/components/schemas/MessagingEvent"
guest:
$ref: "#/components/schemas/MessagingEvent"
asleep:
$ref: "#/components/schemas/MessagingEvent"
planoverrun:
$ref: "#/components/schemas/MessagingEvent"
suggestion:
$ref: "#/components/schemas/MessagingEvent"
required:
- start
- stop
- connect
- disconnect
- soc
- guest
- asleep
- planoverrun
- suggestion
additionalProperties: false
Meter:
description: Measurement data of a single 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
required:
- power
ModbusBaudrate:
description: Serial baud rate.
type: number
enum:
- 1200
- 9600
- 19200
- 38400
- 57600
- 115200
ModbusComset:
description: Serial communication parameters.
type: string
enum:
- 8N1
- "8E1"
- 8N2
ModbusProxy:
description: A Modbus proxy forwarding requests to a physical device.
type: object
properties:
port:
description: Port the proxy listens on.
type: number
readonly:
$ref: "#/components/schemas/ModbusProxyReadonly"
description: How write requests are handled.
settings:
$ref: "#/components/schemas/ModbusProxySettings"
description: Connection settings of the physical device.
required:
- port
- readonly
- settings
ModbusProxyReadonly:
description: How the Modbus proxy handles write requests.
type: string
enum:
- "false"
- "true"
- deny
ModbusProxySettings:
description: Connection settings of a Modbus device.
type: object
properties:
uri:
description: Device address for TCP connections.
type: string
rtu:
description: Use RTU protocol over TCP.
type: boolean
device:
description: Serial device path.
type: string
baudrate:
$ref: "#/components/schemas/ModbusBaudrate"
description: Serial baud rate.
comset:
$ref: "#/components/schemas/ModbusComset"
description: Serial communication parameters.
MqttConfig:
description: MQTT integration configuration.
type: object
properties:
broker:
description: Broker address.
type: string
topic:
description: Root topic all values are published under.
type: string
user:
description: Broker username.
type: string
password:
description: Broker password. Redacted.
type: string
clientID:
description: MQTT client id.
type: string
insecure:
description: Skip TLS certificate verification.
type: boolean
caCert:
description: CA certificate for TLS connections.
type: string
clientCert:
description: Client certificate for TLS connections.
type: string
clientKey:
description: Client key for TLS connections.
type: string
required:
- broker
- topic
Network:
description: Network configuration.
type: object
properties:
schema:
description: URL schema, http or https.
type: string
host:
description: Hostname.
type: string
port:
description: HTTP port.
type: number
externalUrl:
description: Externally reachable URL.
type: string
internalUrl:
description: URL in the local network.
type: string
required:
- host
- port
Ocpp:
description: OCPP server configuration and status.
type: object
properties:
config:
$ref: "#/components/schemas/OcppConfig"
description: OCPP server configuration.
status:
$ref: "#/components/schemas/OcppStatus"
description: OCPP server status.
required:
- config
- status
OcppConfig:
description: OCPP server configuration.
type: object
properties:
port:
description: Port the OCPP server listens on.
type: number
required:
- port
OcppConnectionStatus:
description: Connection status of an OCPP station.
type: string
enum:
- unknown
- configured
- connected
OcppForwarder:
description: OCPP forwarder rules and upstream connection status.
type: object
properties:
config:
description: Static configuration.
type: array
items:
$ref: "#/components/schemas/OcppForwarderRule"
status:
description: Runtime status.
type: array
items:
$ref: "#/components/schemas/OcppForwarderSession"
yamlSource:
description: Source of the configuration, evcc.yaml file or database.
type: string
enum:
- file
- db
OcppForwarderRule:
description: A rule forwarding an OCPP station to an upstream backend.
type: object
properties:
stationId:
description: Station id to forward.
type: string
upstreamUrl:
description: URL of the upstream OCPP backend.
type: string
password:
description: Password for upstream authentication. Redacted.
type: string
upstreamStationId:
description: Station id used towards the upstream backend.
type: string
username:
description: Username for upstream authentication.
type: string
insecure:
description: Skip TLS certificate verification.
type: boolean
caCert:
description: CA certificate for TLS connections.
type: string
readOnly:
description: Only forward read operations to the station.
type: boolean
required:
- stationId
- upstreamUrl
OcppForwarderSession:
description: Connection status of an OCPP forwarder rule.
type: object
properties:
chargerId:
description: Charger id.
type: string
upstreamUrl:
description: URL of the upstream OCPP backend.
type: string
upstreamConnected:
description: Connection to the upstream backend is established.
type: boolean
error:
description: Last connection error.
type: string
required:
- chargerId
- upstreamUrl
- upstreamConnected
OcppStationStatus:
description: Connection status of an OCPP station.
type: object
properties:
id:
description: Station id.
type: string
status:
$ref: "#/components/schemas/OcppConnectionStatus"
description: Connection status.
required:
- id
- status
OcppStatus:
description: OCPP server status.
type: object
properties:
externalUrl:
description: Externally reachable URL of the OCPP server.
type: string
stations:
description: Connection status per configured station.
type: array
items:
$ref: "#/components/schemas/OcppStationStatus"
required:
- stations
PhaseAction:
description: Pending phase switching action in solar mode.
type: string
enum:
- inactive
- scale1p
- scale3p
PlanStrategy:
description: Charging plan strategy.
type: object
properties:
continuous:
description: Force continuous charging without gaps.
type: boolean
precondition:
description: Duration of uninterrupted charging directly before the target time, in seconds.
type: number
required:
- continuous
- precondition
PvAction:
description: Pending charge start or stop action in solar mode.
type: string
enum:
- inactive
- enable
- disable
Rate:
description: A time slot with an associated price or emission value.
type: object
properties:
start:
description: Start of the time slot.
type: string
format: date-time
end:
description: End of the time slot.
type: string
format: date-time
value:
description: Price per kWh in the configured currency or emissions in g/kWh.
type: number
required:
- start
- end
- value
Remote:
description: Remote access configuration and connection status.
type: object
properties:
config:
$ref: "#/components/schemas/RemoteConfig"
description: Static configuration.
status:
$ref: "#/components/schemas/RemoteStatus"
description: Runtime status.
yamlSource:
description: Source of the configuration, evcc.yaml file or database.
type: string
enum:
- file
- db
RemoteConfig:
description: Remote access configuration.
type: object
properties:
enabled:
description: Remote access is enabled.
type: boolean
required:
- enabled
RemoteStatus:
description: Remote access connection status.
type: object
properties:
connected:
description: Connection to the remote access server is established.
type: boolean
url:
description: Remote access URL.
type: string
loginBlocked:
description: Remote login attempts are currently blocked by the rate limiter.
type: boolean
lastSeen:
description: Last remote activity per client, keyed by username. RFC3339 timestamps.
type: object
additionalProperties:
type: string
required:
- connected
- loginBlocked
RepeatingPlan:
description: A repeating charging plan.
type: object
properties:
weekdays:
description: Weekdays the plan is active. 0 is Sunday, 6 is Saturday.
type: array
items:
type: number
time:
description: Target time in HH:MM format.
type: string
tz:
description: Time zone of the target time, like Europe/Berlin.
type: string
soc:
description: SoC goal in %.
type: number
active:
description: Plan is active.
type: boolean
required:
- weekdays
- time
- tz
- soc
- active
ShmConfig:
description: SMA Home Manager configuration.
type: object
properties:
vendorId:
description: SMA vendor id.
type: string
deviceId:
description: SMA device id.
type: string
deviceSerial:
description: SMA device serial.
type: string
required:
- vendorId
- deviceId
SmartCostType:
description: Type of the smart charging limit.
type: string
enum:
- co2
- pricedynamic
- priceforecast
SolarDetails:
description: Solar production forecast.
type: object
properties:
scale:
description: Correction factor applied to the forecast based on past production.
type: number
today:
$ref: "#/components/schemas/EnergyByDay"
description: Expected production today.
tomorrow:
$ref: "#/components/schemas/EnergyByDay"
description: Expected production tomorrow.
dayAfterTomorrow:
$ref: "#/components/schemas/EnergyByDay"
description: Expected production the day after tomorrow.
timeseries:
description: Expected production power over time.
type: array
items:
$ref: "#/components/schemas/TimeseriesEntry"
Sponsor:
description: Sponsorship status.
type: object
properties:
config:
description: Static configuration.
status:
$ref: "#/components/schemas/SponsorStatus"
description: Runtime status.
yamlSource:
description: Source of the configuration, evcc.yaml file or database.
type: string
enum:
- file
- db
SponsorStatus:
description: Sponsorship status.
type: object
properties:
name:
description: Name of the sponsor.
type: string
expiresAt:
description: Expiry time of the sponsor token.
type: string
format: date-time
expiresSoon:
description: Sponsor token expires soon.
type: boolean
token:
description: Sponsor token. Redacted.
type: string
StaticEnergyPlan:
description: Charging plan with an energy goal.
type: object
properties:
energy:
description: Energy goal in kWh.
type: number
time:
description: Target time.
type: string
format: date-time
required:
- energy
- time
StaticPlan:
description: Charging plan with a fixed target time and a SoC or energy goal.
anyOf:
- $ref: "#/components/schemas/StaticSocPlan"
- $ref: "#/components/schemas/StaticEnergyPlan"
StaticSocPlan:
description: Charging plan with a SoC goal.
type: object
properties:
soc:
description: SoC goal in %.
type: number
time:
description: Target time.
type: string
format: date-time
required:
- soc
- time
Statistics:
description: Charging statistics, keyed by time period.
type: object
properties:
30d:
$ref: "#/components/schemas/StatisticsData"
365d:
$ref: "#/components/schemas/StatisticsData"
thisYear:
$ref: "#/components/schemas/StatisticsData"
total:
$ref: "#/components/schemas/StatisticsData"
required:
- 30d
- 365d
- thisYear
- total
StatisticsData:
description: Aggregated charging statistics for a time period.
type: object
properties:
avgCo2:
description: Average CO₂ emissions in g/kWh.
type: number
avgPrice:
description: Average energy price per kWh in the configured currency.
type: number
chargedKWh:
description: Total charged energy in kWh.
type: number
solarPercentage:
description: Share of solar energy in %.
type: number
required:
- avgCo2
- avgPrice
- chargedKWh
- solarPercentage
TimeseriesEntry:
description: A forecast value at a point in time.
type: object
properties:
val:
description: Forecast power in W.
type: number
ts:
description: Time of the forecast value.
type: string
format: date-time
required:
- val
- ts
Vehicle:
description: A configured vehicle.
type: object
properties:
name:
description: Unique vehicle name used in API routes and configuration.
type: string
mode:
description: Charge mode applied when the vehicle connects.
anyOf:
- $ref: "#/components/schemas/ChargeMode"
- type: string
enum:
- ""
minSoc:
description: Minimum SoC in %. Vehicle is fast-charged until this level is reached.
type: number
limitSoc:
description: SoC limit in %. Charging stops when reached.
type: number
plan:
$ref: "#/components/schemas/StaticPlan"
description: Charging plan with a fixed target time and SoC or energy goal.
repeatingPlans:
description: Repeating charging plans.
type: array
nullable: true
items:
$ref: "#/components/schemas/RepeatingPlan"
planStrategy:
$ref: "#/components/schemas/PlanStrategy"
description: Charging plan strategy.
title:
description: Vehicle title for UI display.
type: string
features:
description: Feature flags of the vehicle implementation.
type: array
items:
type: string
capacity:
description: Usable battery capacity in kWh.
type: number
icon:
description: Vehicle icon name for UI display.
type: string
required:
- repeatingPlans
- planStrategy
- title