From 745c080afe67943740d2a65a3eb0c6910eda847f Mon Sep 17 00:00:00 2001 From: rivengh <75251226+rivengh@users.noreply.github.com> Date: Wed, 8 Jan 2025 11:32:11 +0100 Subject: [PATCH 1/2] SonnenBatterie: add support for time-of-use operating mode --- templates/definition/meter/sonnenbatterie.yaml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/templates/definition/meter/sonnenbatterie.yaml b/templates/definition/meter/sonnenbatterie.yaml index 3e414f97e0..0c239fbba9 100644 --- a/templates/definition/meter/sonnenbatterie.yaml +++ b/templates/definition/meter/sonnenbatterie.yaml @@ -9,9 +9,11 @@ requirements: description: de: | Für die aktive Batteriesteuerung muss über das Webinterface der sonnenBatterie (unter Software-Integration) das "JSON Write API" aktiviert und das dort generierte API-Token in der Batteriekonfiguration unter `token` eingetragen werden. + Als Betriebsart der sonnenBatterie werden die beiden Modi "Eigenverbrauch" (Standard) und "Time-of-use" unterstützt. Der Modus kann über den Parameter `operatingmode` an die Konfiguration der sonnenBatterie angepasst werden. Die Leistung für das Netzladen kann an die Wechselrichterleistung der sonnenBatterie über den Parameter `chargepower` angepasst werden. en: | For active battery control, the "JSON Write API" must be activated via the sonnenBatterie web interface (under Software-Integration) and the API token generated there must be entered in the battery configuration under `token`. + The two operating modes supported for the sonnenBatterie are “self-consumption” (default) and “time-of-use”. The mode can be adapted to the configuration of the sonnenBatterie via the 'operatingmode' parameter. The power for grid charging can be adapted to the inverter power of the sonnenBatterie via the `chargepower` parameter. params: - name: usage @@ -28,6 +30,15 @@ params: de: API Token (benötigt für aktive Batteriesteuerung) en: API Token (required for active battery control) usages: ["battery"] + - name: operatingmode + type: choice + choice: ["self-consumption", "time-of-use"] + default: self-consumption + advanced: true + help: + de: Standardbetriebsart (self-consumption / time-of-use) + en: Default Operating Mode (self-consumption / time-of-use) + usages: ["battery"] - name: chargepower default: 3300 advanced: true @@ -66,7 +77,11 @@ render: | headers: - content-type: application/json - Auth-Token: {{ .token }} - body: '{"EM_OperatingMode":"2"}' # self consumption + {{- if eq .operatingmode "time-of-use" }} + body: '{"EM_OperatingMode":"10"}' # Time-of-use + {{- else }} + body: '{"EM_OperatingMode":"2"}' # Self-consumption + {{- end }} - case: 2 # hold set: source: sequence From 936bcae94d6ac80b2bfc4498f9d543f053f25f7e Mon Sep 17 00:00:00 2001 From: rivengh <75251226+rivengh@users.noreply.github.com> Date: Thu, 9 Jan 2025 10:06:44 +0100 Subject: [PATCH 2/2] sonnenbatterie: rename operatingmode to defaultmode to match default battery template --- templates/definition/meter/sonnenbatterie.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/templates/definition/meter/sonnenbatterie.yaml b/templates/definition/meter/sonnenbatterie.yaml index 0c239fbba9..b0322d5cfb 100644 --- a/templates/definition/meter/sonnenbatterie.yaml +++ b/templates/definition/meter/sonnenbatterie.yaml @@ -9,11 +9,11 @@ requirements: description: de: | Für die aktive Batteriesteuerung muss über das Webinterface der sonnenBatterie (unter Software-Integration) das "JSON Write API" aktiviert und das dort generierte API-Token in der Batteriekonfiguration unter `token` eingetragen werden. - Als Betriebsart der sonnenBatterie werden die beiden Modi "Eigenverbrauch" (Standard) und "Time-of-use" unterstützt. Der Modus kann über den Parameter `operatingmode` an die Konfiguration der sonnenBatterie angepasst werden. + Als Betriebsart der sonnenBatterie werden die beiden Modi "Eigenverbrauch" (Standard) und "Time-of-use" unterstützt. Der Modus kann über den Parameter `defaultmode` an die Konfiguration der sonnenBatterie angepasst werden. Die Leistung für das Netzladen kann an die Wechselrichterleistung der sonnenBatterie über den Parameter `chargepower` angepasst werden. en: | For active battery control, the "JSON Write API" must be activated via the sonnenBatterie web interface (under Software-Integration) and the API token generated there must be entered in the battery configuration under `token`. - The two operating modes supported for the sonnenBatterie are “self-consumption” (default) and “time-of-use”. The mode can be adapted to the configuration of the sonnenBatterie via the 'operatingmode' parameter. + The two operating modes supported for the sonnenBatterie are “self-consumption” (default) and “time-of-use”. The mode can be adapted to the configuration of the sonnenBatterie via the 'defaultmode' parameter. The power for grid charging can be adapted to the inverter power of the sonnenBatterie via the `chargepower` parameter. params: - name: usage @@ -30,14 +30,14 @@ params: de: API Token (benötigt für aktive Batteriesteuerung) en: API Token (required for active battery control) usages: ["battery"] - - name: operatingmode + - name: defaultmode type: choice choice: ["self-consumption", "time-of-use"] default: self-consumption advanced: true help: - de: Standardbetriebsart (self-consumption / time-of-use) - en: Default Operating Mode (self-consumption / time-of-use) + de: Standardmodus für die aktive Batteriesteuerung (self-consumption oder time-of-use) + en: Default mode for active battery control (self-consumption or time-of-use) usages: ["battery"] - name: chargepower default: 3300 @@ -77,7 +77,7 @@ render: | headers: - content-type: application/json - Auth-Token: {{ .token }} - {{- if eq .operatingmode "time-of-use" }} + {{- if eq .defaultmode "time-of-use" }} body: '{"EM_OperatingMode":"10"}' # Time-of-use {{- else }} body: '{"EM_OperatingMode":"2"}' # Self-consumption @@ -93,7 +93,7 @@ render: | headers: - content-type: application/json - Auth-Token: {{ .token }} - body: '{"EM_OperatingMode":"1"}' # manual + body: '{"EM_OperatingMode":"1"}' # Manual - source: http uri: http://{{ .host }}/api/v2/setpoint/discharge/0 insecure: true