From bb41d6f4fe9284bd1bb1481ed645dc9cc502b637 Mon Sep 17 00:00:00 2001 From: VallahDieWaldfee <164005630+VallahDieWaldfee@users.noreply.github.com> Date: Thu, 5 Feb 2026 09:34:50 +0100 Subject: [PATCH] Nibe-S-Series: fix mode and power envelope (#27224) --- .../definition/charger/nibe-s-series.yaml | 113 ++++++++++++------ 1 file changed, 78 insertions(+), 35 deletions(-) diff --git a/templates/definition/charger/nibe-s-series.yaml b/templates/definition/charger/nibe-s-series.yaml index 92a25dedd..c76ac8917 100644 --- a/templates/definition/charger/nibe-s-series.yaml +++ b/templates/definition/charger/nibe-s-series.yaml @@ -45,12 +45,77 @@ render: | 2: 1 3: 3 set: - source: modbus - {{- include "modbus" . | indent 4 }} - register: - address: 6008 - type: writeholding - encoding: int16 + source: switch + switch: + - case: 0 + set: + source: sequence + set: + {{- if eq .powercontrol "true" }} + - source: const + value: 1 + set: + source: modbus + {{- include "modbus" . | indent 16 }} + register: + address: 2741 + type: writeholding + encoding: int16 + - source: sleep + duration: 10000ms + {{- end }} + - source: modbus + {{- include "modbus" . | indent 14 }} + register: + address: 6008 + type: writeholding + encoding: int16 + - case: 1 + set: + source: sequence + set: + {{- if eq .powercontrol "true" }} + - source: const + value: 0 + set: + source: modbus + {{- include "modbus" . | indent 16 }} + register: + address: 2741 + type: writeholding + encoding: int16 + - source: sleep + duration: 10000ms + {{- end }} + - source: modbus + {{- include "modbus" . | indent 14 }} + register: + address: 6008 + type: writeholding + encoding: int16 + - case: 3 + set: + source: sequence + set: + {{- if eq .powercontrol "true" }} + - source: const + value: 1 + set: + source: modbus + {{- include "modbus" . | indent 16 }} + register: + address: 2741 + type: writeholding + encoding: int16 + - source: sleep + duration: 10000ms + {{- end }} + - source: modbus + {{- include "modbus" . | indent 14 }} + register: + address: 6008 + type: writeholding + encoding: int16 getmode: # operation mode (1: reduced, 2: normal, 3 boost) source: map values: @@ -91,33 +156,11 @@ render: | scale: 0.1 {{- if eq .powercontrol "true" }} setmaxpower: - source: switch - default: - source: sequence - set: - - source: const - value: 1 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 2741 - type: holding - encoding: int16 - - source: modbus - {{- include "modbus" . | indent 8 }} - register: - address: 6007 - type: holding - encoding: int16 - scale: 0.01 - switch: - - case: 0 # disable limitation - set: - source: modbus - {{- include "modbus" . | indent 8 }} - register: - address: 2741 - type: holding - encoding: int16 + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 6007 + type: writeholding + encoding: int16 + scale: 0.01 {{- end }}