From e5b2dcca67c8285b04f25c5fa65712111843ac4d Mon Sep 17 00:00:00 2001 From: Paul Warren Date: Wed, 9 Oct 2024 10:03:29 +1100 Subject: [PATCH] First pass of VK2TTY's API change --- examples/read_regs.py | 2 +- froniusreg/froniusreg.py | 39 +++++++++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/examples/read_regs.py b/examples/read_regs.py index 98b9f3b..8796b6e 100755 --- a/examples/read_regs.py +++ b/examples/read_regs.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import FroniusReg +from froniusreg import froniusreg from pymodbus.client.tcp import ModbusTcpClient diff --git a/froniusreg/froniusreg.py b/froniusreg/froniusreg.py index 152a2c3..250d47b 100644 --- a/froniusreg/froniusreg.py +++ b/froniusreg/froniusreg.py @@ -92,6 +92,17 @@ class DataType(Enum): else: return encoder.add_bits(value).build() +# Constants +string8 = DataType.String8 +string16 = DataType.String16 +string32 = DataType.String32 +int16 = DataType.Int16 +uint16 = DataType.UInt16 +int32 = DataType.Int32 +uint32 = DataType.UInt32 +float32 = DataType.Float32 +uint64 = DataType.UInt64 + class registerReadError(Exception): @@ -143,27 +154,27 @@ class ScaledFroniusReg: -MaxChaRte = FroniusReg(40155, DataType.UInt16, 1, "Max Charge Rate") -MaxChaRte_SF = FroniusReg(40156, DataType.Int16, 1, "Max Charge Rate SF") +MaxChaRte = FroniusReg(40155, uint16, 1, "Max Charge Rate") +MaxChaRte_SF = FroniusReg(40156, int16, 1, "Max Charge Rate SF") -wChaGra = FroniusReg(40357, DataType.UInt16, 1, "Max Charge Power") -storageStateOfCharge = FroniusReg(40362, DataType.UInt16, 1, "Storage State of Charge") -storageStateOfChargeSF = FroniusReg(40376, DataType.Int16, 1, "Storage State of Charge Scaling Factor") +wChaGra = FroniusReg(40357, uint16, 1, "Max Charge Power") +storageStateOfCharge = FroniusReg(40362, uint16, 1, "Storage State of Charge") +storageStateOfChargeSF = FroniusReg(40376, int16, 1, "Storage State of Charge Scaling Factor") scaledStateOfCharge = ScaledFroniusReg(storageStateOfCharge, storageStateOfChargeSF) -OutWRte = FroniusReg(40366, DataType.Int16, 1, "DischargeRate") -InWRte = FroniusReg(40367, DataType.Int16, 1, "ChargeRate") -WRteSF = FroniusReg(40379, DataType.Int16, 1, "ScalingFactor for storage Watts") +OutWRte = FroniusReg(40366, int16, 1, "DischargeRate") +InWRte = FroniusReg(40367, int16, 1, "ChargeRate") +WRteSF = FroniusReg(40379, int16, 1, "ScalingFactor for storage Watts") -StorCtl_Mode = FroniusReg(40359, DataType.UInt16, 1, "Hold/Charge/Discharge enable") -MinRsvPct = FroniusReg(40361, DataType.UInt16, 1, "Reserve Percentage") +StorCtl_Mode = FroniusReg(40359, uint16, 1, "Hold/Charge/Discharge enable") +MinRsvPct = FroniusReg(40361, uint16, 1, "Reserve Percentage") -InOutWRte_RvrtTms = FroniusReg(40369, DataType.UInt16, 1, "Revert timer for charge settings") +InOutWRte_RvrtTms = FroniusReg(40369, uint16, 1, "Revert timer for charge settings") -ChaGriSet = FroniusReg(40371, DataType.UInt16, 1, "enum16, 0 = PV only, 1 = Grid enabled") -WChaDisChaGra_SF = FroniusReg(40373, DataType.Int16, 1, "Charge/Discharge Power SF") +ChaGriSet = FroniusReg(40371, uint16, 1, "enum16, 0 = PV only, 1 = Grid enabled") +WChaDisChaGra_SF = FroniusReg(40373, int16, 1, "Charge/Discharge Power SF") -MinRsvPct_SF = FroniusReg(40375, DataType.Int16, 1, "Reserve Percentage Scaling") +MinRsvPct_SF = FroniusReg(40375, int16, 1, "Reserve Percentage Scaling") scaledOutWRte = ScaledFroniusReg(OutWRte, WRteSF) scaledInWRte = ScaledFroniusReg(InWRte, WRteSF)