Merge pull request #46 from bg6cq/main

This commit is contained in:
bohdan-s
2022-04-14 14:55:58 +10:00
committed by GitHub
+4 -2
View File
@@ -212,7 +212,7 @@ class SungrowInverter():
if register_value == 0xFFFF or register_value == 0x7FFF:
register_value = 0
if register_value >= 32767: # Anything greater than 32767 is a negative for 16bit
register_value = (register_value - 65535)
register_value = (register_value - 65536)
elif register.get('datatype') == "U32":
u32_value = rr.registers[num+1]
if register_value == 0xFFFF and u32_value == 0xFFFF:
@@ -223,8 +223,10 @@ class SungrowInverter():
u32_value = rr.registers[num+1]
if register_value == 0xFFFF and (u32_value == 0xFFFF or u32_value == 0x7FFF):
register_value = 0
elif u32_value >= 32767: # Anything greater than 32767 is a negative
register_value = (register_value + u32_value * 0x10000 - 0xffffffff -1)
else:
register_value = (register_value + u32_value * 0x10000 - 0xffffffff)
register_value = register_value + u32_value * 0x10000
# We convert a system response to a human value
if register.get('datarange'):