Site: add experimental battery grid discharge setting (#32086)

This commit is contained in:
andig 2026-07-23 14:17:45 +02:00 • committed by GitHub
parent f7af0bbe6a
commit 177ca558c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 189 additions and 0 deletions

View file

@ -144,6 +144,7 @@ func (s *HTTPd) RegisterSiteHandlers(site site.API) {
"buffersoc": {"POST", "/buffersoc/{value:[0-9.]+}", floatHandler(site.SetBufferSoc, site.GetBufferSoc)},
"bufferstartsoc": {"POST", "/bufferstartsoc/{value:[0-9.]+}", floatHandler(site.SetBufferStartSoc, site.GetBufferStartSoc)},
"batterydischargecontrol": {"POST", "/batterydischargecontrol/{value:[01truefalse]+}", boolHandler(site.SetBatteryDischargeControl, site.GetBatteryDischargeControl)},
"batterygriddischarge": {"POST", "/batterygriddischarge/{value:[01truefalse]+}", boolHandler(site.SetBatteryGridDischarge, site.GetBatteryGridDischarge)},
"batterygridcharge": {"POST", "/batterygridchargelimit/{value:-?[0-9.]+}", floatPtrHandler(site.SetBatteryGridChargeLimit, site.GetBatteryGridChargeLimit)},
"batterygridchargedelete": {"DELETE", "/batterygridchargelimit", floatPtrHandler(site.SetBatteryGridChargeLimit, site.GetBatteryGridChargeLimit)},
"batterymode": {"POST", "/batterymode/{value:[a-z]+}", updateBatteryMode(site)},

View file

@ -283,6 +283,29 @@
}
}
},
"/batterygriddischarge/{enable}": {
"post": {
"operationId": "setBatteryGridDischarge",
"summary": "Control battery grid discharge",
"description": "Allow the home battery to discharge to the grid (experimental).",
"externalDocs": {
"url": "https://docs.evcc.io/en/features/battery"
},
"tags": [
"battery"
],
"parameters": [
{
"$ref": "#/components/parameters/enable"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BooleanResult"
}
}
}
},
"/batterygridchargelimit": {
"delete": {
"operationId": "removeBatteryGridChargeLimit",
@ -4958,6 +4981,10 @@
"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": {
"type": "boolean"
},

View file

@ -146,6 +146,26 @@ call setBatteryGridChargeLimit {
}
```
## setBatteryGridDischarge
Allow the home battery to discharge to the grid (experimental).
**Tags:** battery
**Arguments:**
| Name | Type | Description |
|------|------|-------------|
| enable | string | Charging mode. |
**Example call:**
```json
call setBatteryGridDischarge {
"enable": "true"
}
```
## setBufferSoc
Set battery buffer SoC.

View file

@ -215,6 +215,7 @@ func (m *MQTT) listenSiteSetters(topic string, site site.API) error {
{"bufferSoc", floatSetter(site.SetBufferSoc)},
{"bufferStartSoc", floatSetter(site.SetBufferStartSoc)},
{"batteryDischargeControl", boolSetter(site.SetBatteryDischargeControl)},
{"batteryGridDischarge", boolSetter(site.SetBatteryGridDischarge)},
{"prioritySoc", floatSetter(site.SetPrioritySoc)},
{"residualPower", floatSetter(site.SetResidualPower)},
{"solarAdjusted", boolSetter(pass(site.SetSolarAdjusted))},

View file

@ -193,6 +193,9 @@ components:
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:
type: boolean
batteryGridChargeLimit:

View file

@ -181,6 +181,20 @@ paths:
responses:
"200":
$ref: "#/components/responses/BooleanResult"
/batterygriddischarge/{enable}:
post:
operationId: setBatteryGridDischarge
summary: Control battery grid discharge
description: "Allow the home battery to discharge to the grid (experimental)."
externalDocs:
url: https://docs.evcc.io/en/features/battery
tags:
- battery
parameters:
- $ref: "#/components/parameters/enable"
responses:
"200":
$ref: "#/components/responses/BooleanResult"
/batterygridchargelimit:
delete:
operationId: removeBatteryGridChargeLimit