From ba159992fd7ab73b91fc747eff4833dac5cc11e9 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 1 Mar 2026 11:21:57 +0100 Subject: [PATCH] Revert "fox-ess-h3-smart: fix grid charging and discharge lock behavior (#27752)" This reverts commit 140331659eb7c3b7fa4050910ce18302a165ea1c. --- .../definition/meter/fox-ess-h3-smart.yaml | 198 +----------------- 1 file changed, 11 insertions(+), 187 deletions(-) diff --git a/templates/definition/meter/fox-ess-h3-smart.yaml b/templates/definition/meter/fox-ess-h3-smart.yaml index fecbb94fe..d0ee8e6c8 100644 --- a/templates/definition/meter/fox-ess-h3-smart.yaml +++ b/templates/definition/meter/fox-ess-h3-smart.yaml @@ -102,194 +102,18 @@ render: | source: modbus {{- include "modbus" . | indent 2 }} register: - address: 37612 # BatSoC + address: 37612 # Soc type: holding decode: int16 - batterymode: - source: switch - switch: - - case: 1 # normal — Self Use, restore default SoC limits - set: - source: sequence - set: - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48010 # Group 1 Disable - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48000 # Time Period Disable - type: writesingle - decode: uint16 - - source: const - value: {{ .maxsoc }} - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 46620 # MaxSoC FromGrid (V1.24+, must be written before 46611) - type: writesingle - decode: uint16 - - source: const - value: 500 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 46608 # Battery max discharge current = 50A (restore) - type: writesingle - decode: uint16 - - case: 2 # hold — Battery Lock (prevent discharge) - set: - source: sequence - set: - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48010 # Group 1 Disable - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48000 # Time Period Disable - type: writesingle - decode: uint16 - - source: const - value: 100 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 46620 # MaxSoC FromGrid = 100% (must be written before 46611) - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 46608 # Battery max discharge current = 0A (lock) - type: writesingle - decode: uint16 - - case: 3 # charge — Force Charge via Time Period System - set: - source: sequence - set: - - source: const - value: 1 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48000 # Time Period Enable - type: writesingle - decode: uint16 - - source: const - value: 1 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48010 # Group 1 Enable - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48011 # Start Time 00:00 - type: writesingle - decode: uint16 - - source: const - value: 5947 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48012 # End Time 23:59 (0x173B) - type: writesingle - decode: uint16 - - source: const - value: 6 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48013 # Work Mode = Force Charge - type: writesingle - decode: uint16 - - source: const - value: {{ add (mul .maxsoc 256) .minsoc }} - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48014 # (maxsoc<<8)|minsoc - type: writesingle - decode: uint16 - - source: const - value: {{ .maxsoc }} - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48015 # FDSOC = maxsoc - type: writesingle - decode: uint16 - - source: const - value: {{ .maxchargepower }} - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48016 # FDPWR — charge power in watts - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48017 # Reserve - type: writesingle - decode: uint16 - - source: const - value: 0 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48018 # Reserve - type: writesingle - decode: uint16 - - source: const - value: 1 - set: - source: modbus - {{- include "modbus" . | indent 10 }} - register: - address: 48019 # Enable Flag (undocumented, required!) - type: writesingle - decode: uint16 + limitsoc: + source: convert + convert: float2int + set: + source: modbus + {{- include "modbus" . | indent 4 }} + register: + address: 46611 # Minimum SoC OnGrid + type: writesingle + decode: uint16 {{- include "battery-params" . }} {{- end }}