fix cutoff a grid peak shaving register
Some checks failed
CI and deploy / migration-check (push) Failing after 13s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-04-29 13:36:38 +02:00
parent 2c884e2135
commit dede8d604d
12 changed files with 79 additions and 125 deletions

View File

@@ -9,7 +9,6 @@ from services.control.exporter_monolith import (
ControlSetpoints,
InverterConfig,
_deye_reg178_verify_with_double_read,
_deye_reg179_verify_match,
_deye_tou_params,
_deye_tou_power_verify_match,
_deye_zero_export_amps_for_passive,
@@ -55,11 +54,6 @@ class ModbusVerifyPolicyTests(unittest.TestCase):
self.assertTrue(ok)
self.assertEqual(v, 48)
def test_reg179_verify_match_only_bits_0_1(self) -> None:
# expected=3 (enable), actual can have other bits set but bits0-1 must match
self.assertTrue(_deye_reg179_verify_match(3, 0xFFFB))
self.assertFalse(_deye_reg179_verify_match(3, 0xFFFA)) # bits0-1=2
def test_reg178_not_critical_for_self_sustain(self) -> None:
self.assertFalse(deye_reg_triggers_self_sustain_after_verify_exhaust(178))

View File

@@ -20,27 +20,3 @@ def test_drop_registers_keeps_reg178_when_mask_differs():
assert out == registers
assert skipped == []
def test_drop_registers_keeps_reg179_when_mask_matches_but_not_clean():
registers = [(179, "control_board_special_1", 2)] # want cutoff ON (clean value)
last_verified = {179: 0x1236} # bits01 still == 2, but not a clean 2/3 value
out, skipped = _drop_registers_matching_last_verified(registers, last_verified)
assert out == registers
assert skipped == []
def test_drop_registers_skips_reg179_when_clean_value_matches():
registers = [(179, "control_board_special_1", 2)] # want cutoff ON (clean value)
last_verified = {179: 2} # already clean cutoff ON
out, skipped = _drop_registers_matching_last_verified(registers, last_verified)
assert out == []
assert skipped == [179]
def test_drop_registers_keeps_reg179_when_mask_differs():
registers = [(179, "control_board_special_1", 2)] # want cutoff ON
last_verified = {179: 0x1237} # ...0111b => bits01 == 3 (cutoff OFF)
out, skipped = _drop_registers_matching_last_verified(registers, last_verified)
assert out == registers
assert skipped == []