Compare commits

..

No commits in common. "28e5f9d59d3ae6a5667e2db56ebb0f424dd7f453" and "3929da604d8e24e339b325b6f697d90660d6e13b" have entirely different histories.

3 changed files with 7 additions and 17 deletions

View file

@ -30,23 +30,17 @@ class DataType():
# helper functions for DataType constructors # helper functions for DataType constructors
def decode_string8(decoder): def decode_string8(decoder):
try: return str(decoder.decode_string(8).decode('utf-8'))
return str(decoder.decode_string(8).decode('utf-8'))
except UnicodeDecodeError:
return decoder.decode_string(8)
def decode_string16(decoder): def decode_string16(decoder):
try: try:
return str(decoder.decode_string(16).decode('utf-8')) return str(decoder.decode_string(16).decode('utf-8'))
except UnicodeDecodeError: except UnicodeDecodeError:
return decoder.decode_string(16) return str(decoder.decode_string(16))
def decode_string32(decoder): def decode_string32(decoder):
try: return str(decoder.decode_string(32).decode('utf-8'))
return str(decoder.decode_string(32).decode('utf-8'))
except UnicodeDecodeError:
return decoder.decode_string(32)
def encode_16bit_int(encoder, value): def encode_16bit_int(encoder, value):
return encoder.add_16bit_int(int(value)) return encoder.add_16bit_int(int(value))

View file

@ -16,9 +16,6 @@ Vr = froniusreg.FroniusReg(40045, froniusreg.string8, 1, "SW version")
SN = froniusreg.FroniusReg(40068, froniusreg.string16, 1, "Serial Number") SN = froniusreg.FroniusReg(40068, froniusreg.string16, 1, "Serial Number")
DA = froniusreg.FroniusReg(40069, froniusreg.uint16, 1, "Modbus Device Address") DA = froniusreg.FroniusReg(40069, froniusreg.uint16, 1, "Modbus Device Address")
InputID = froniusreg.FroniusReg(40304, froniusreg.uint16, 1, "Input ID")
InputIDString = froniusreg.FroniusReg(40305, froniusreg.string8, 1, "Input ID String")
OutWRte = froniusreg.FroniusReg(40366, froniusreg.int16, 1, "DischargeRate") OutWRte = froniusreg.FroniusReg(40366, froniusreg.int16, 1, "DischargeRate")
InWRte = froniusreg.FroniusReg(40367, froniusreg.int16, 1, "ChargeRate") InWRte = froniusreg.FroniusReg(40367, froniusreg.int16, 1, "ChargeRate")
WRteSF = froniusreg.FroniusReg(40379, froniusreg.int16, 1, "ScalingFactor for storage Watts") WRteSF = froniusreg.FroniusReg(40379, froniusreg.int16, 1, "ScalingFactor for storage Watts")

View file

@ -31,10 +31,9 @@ class TestRead(unittest.TestCase):
Md = gen24_registers.Md.getValue(fronius1) Md = gen24_registers.Md.getValue(fronius1)
assert Md == "Primo GEN24 5.0\x00" assert Md == "Primo GEN24 5.0\x00"
# def test_read_sn(self): def test_read_sn(self):
# This doesn't seem to return anything useful SN = gen24_registers.SN.getValue(fronius1)
# SN = gen24_registers.SN.getValue(fronius1) assert SN == "12345567"
# assert SN == "12345567"
def test_write_direct(self): def test_write_direct(self):
current = gen24_registers.OutWRte.getValue(fronius1) current = gen24_registers.OutWRte.getValue(fronius1)