Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alpha ESS: add battery control #16280

Merged
merged 6 commits into from
Sep 27, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions templates/definition/meter/alpha-ess-smile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ products:
- brand: Alpha ESS
description:
generic: Storion SMILE
capabilities: ["battery-control"]
requirements:
description:
de: |
softcat marked this conversation as resolved.
Show resolved Hide resolved
Um die aktive Ladesteuerung zu nutzen muss einmalig über das Webinterface oder App Zeiten für das Netzladen definiert werden. (Einstellungen->Funktionseinstellungen->Netzladen/Entladen) Hier sollte ein durchgehender Zeitraum (z.B: Ladezeit 1 00:00-23:00, Ladezeit 2 23:00-00:00) eingetragen werden. Den Schalter "Netzladen" aber deaktivieren. Die eigentliche Steuerung erfolgt über evcc. Der Entladestopp wird über eine geplante Netzladung mit einem Ziel-SoC von 10% realisiert. Alternativ können die Zeiten auch über Modbus konfiguriert werden. Dafür die Register `2134,2142,2135,2136,2144,2137,2175` auf die Werte `0,0,23,0,23,0,0,0` setzen.
en: |
To use active battery control, times for grid charging must be defined once via the web interface or app. (Settings->Function settings->Grid charging/discharging) A continuous time period should be entered here (e.g.: Charging time 1 00:00-23:00, Charging time 2 23:00-00:00). However, deactivate the "Grid charging" switch. The actual control takes place via evcc. Discharge stop is realized via a scheduled grid charge with a target SoC of 10%. Alternatively, it can also be configured via Modbus. To do this, set the registers `2134,2142,2135,2136,2144,2137,2175` to the values `0,0,23,0,23,0,0,0,0`.
params:
- name: usage
choice: ["grid", "pv", "battery"]
Expand All @@ -13,6 +20,14 @@ params:
id: 85
- name: capacity
advanced: true
- name: minsoc
default: 10
type: number
advanced: true
- name: maxsoc
default: 100
type: number
advanced: true
render: |
type: custom
{{- if eq .usage "grid" }}
Expand Down Expand Up @@ -134,4 +149,62 @@ render: |
decode: uint16
scale: 0.1
capacity: {{ .capacity }} # kWh
batterymode:
source: switch
switch:
- case: 1 # normal
set:
source: const
value: 0
set:
source: modbus
{{- include "modbus" . | indent 8 }}
register:
address: 2127 # 0x84F Time period control flag
type: writemultiple
decode: uint16
- case: 2 # hold -> Enable grid charging with 10% (default) target soc -> will not start charging but will prevent uncharging of battery
set:
source: sequence
set:
- source: const
value: 1
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 2127 # 0x84F Time period control flag
type: writemultiple
decode: uint16
- source: const
value: {{ .minsoc }}
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 2133 # 0x855 Charge Cut Soc
type: writemultiple
decode: uint16
- case: 3 # charge -> Enable grid charging with 100% target soc (will be stopped by evcc)
set:
source: sequence
set:
- source: const
value: 1
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 2127 # 0x84F Time period control flag
type: writemultiple
decode: uint16
- source: const
softcat marked this conversation as resolved.
Show resolved Hide resolved
value: {{ .maxsoc }}
set:
source: modbus
{{- include "modbus" . | indent 10 }}
register:
address: 2133 # 0x855 Charge Cut Soc
type: writemultiple
decode: uint16
{{- end }}