From 48aecbfecdd3d34e737fb4020293ffa0a1379416 Mon Sep 17 00:00:00 2001 From: CiNcH83 Date: Tue, 11 Aug 2026 17:41:31 +0200 Subject: [PATCH] Huawei SmartLogger: add curtailment (#32585) --- .../definition/meter/huawei-smartlogger.yaml | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/templates/definition/meter/huawei-smartlogger.yaml b/templates/definition/meter/huawei-smartlogger.yaml index cf40df6a1..ad0a0b20a 100644 --- a/templates/definition/meter/huawei-smartlogger.yaml +++ b/templates/definition/meter/huawei-smartlogger.yaml @@ -3,7 +3,7 @@ products: - brand: Huawei description: generic: SmartLogger -capabilities: ["battery-control"] +capabilities: ["battery-control", "curtail"] params: - name: usage choice: ["grid", "pv", "battery"] @@ -84,6 +84,33 @@ render: | decode: int64 scale: 0.01 maxacpower: {{ .maxacpower }} + curtail: + source: modbus + {{- include "modbus" . | indent 2 }} + register: + address: 40428 # Active power [–100%, 100%] - a negative value indicates the limit for active power supplied from the grid to the ESS + type: writesingle + encoding: int16 + scale: 10 + curtailed: + source: go + in: + - name: limit + type: int + config: + source: modbus + {{- include "modbus" . | indent 6 }} + register: + address: 40428 # Active power [–100%, 100%] - a negative value indicates the limit for active power supplied from the grid to the ESS + type: holding + decode: int16 + scale: 0.1 + script: | + percent := int(limit) + if percent < 0 || percent > 100 { + percent = 100 + } + percent {{- end }} {{- if eq .usage "battery" }} power: