John_Bennion I think you have an AC-coupled inverter ? I see three different charge soc registers in the map - I think it must move around between revisions ? (Possibly when they introduced multiple charging slots ?)
"charge_soc": Def((C.duint8, 0), None, HR(43)),
"charge_target_soc": Def(C.uint16, None, HR(116), valid=(4, 100)),
"charge_target_soc_1": Def(C.uint16, None, HR(242), valid=(4, 100)),
with an additional related comment elsewhere:
# gen-1 defines HR(31)/HR(32) as charge_slot_2, but later generations
# define it at HR(243)/HR(244) instead.
# It doesn't seem to work on gen-1 anyway (changes get overwritten),
Rather than using 'direct control', does it work if you use 'timed charge' in the 'inverter settings' section ? (Or is that premium ?) Maybe it has a better idea of what works on your inverter ?