From 9ae77a57403a1fbba6d3f4ca85d343bd6eaa60d5 Mon Sep 17 00:00:00 2001 From: premultiply <4681172+premultiply@users.noreply.github.com> Date: Thu, 4 Jan 2024 22:55:32 +0100 Subject: [PATCH] Solax: fix hold mode (#11488) --- templates/definition/meter/solax.yaml | 43 ++++++++++----------------- 1 file changed, 16 insertions(+), 27 deletions(-) diff --git a/templates/definition/meter/solax.yaml b/templates/definition/meter/solax.yaml index eff1c4f934..5d5ef3d688 100644 --- a/templates/definition/meter/solax.yaml +++ b/templates/definition/meter/solax.yaml @@ -81,46 +81,35 @@ render: | switch: - case: 1 # normal set: - source: sequence + source: const + value: 0 # self use mode set: - - source: const - value: 0 # self use mode - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 0x001F # SolarChargeUseMode - type: writesingle - decode: uint16 - - source: const - value: 0 # Stop force charge & discharge - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 0x0020 # Manual mode - type: writesingle - decode: uint16 + source: modbus + {{- include "modbus" . | indent 8 }} + register: + address: 0x001F # SolarChargeUseMode + type: writesingle + decode: uint16 - case: 2 # hold set: source: sequence set: - source: const - value: 2 # backup mode + value: 0 # Stop force charge & discharge set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 0x001F # SolarChargeUseMode + address: 0x0020 # Manual mode type: writesingle decode: uint16 - source: const - value: 0 # Stop force charge & discharge + value: 3 # manual mode set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 0x0020 # Manual mode + address: 0x001F # SolarChargeUseMode type: writesingle decode: uint16 - case: 3 # charge @@ -128,21 +117,21 @@ render: | source: sequence set: - source: const - value: 3 # manual mode + value: 1 # Force charge set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 0x001F # SolarChargeUseMode + address: 0x0020 # Manual mode type: writesingle decode: uint16 - source: const - value: 1 # Force charge + value: 3 # manual mode set: source: modbus {{- include "modbus" . | indent 10 }} register: - address: 0x0020 # Manual mode + address: 0x001F # SolarChargeUseMode type: writesingle decode: uint16 {{- if .capacity }}