First pass of VK2TTY's API change

This commit is contained in:
Paul Warren 2024-10-09 10:03:29 +11:00
parent 9f56f258ee
commit e5b2dcca67
2 changed files with 26 additions and 15 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import FroniusReg from froniusreg import froniusreg
from pymodbus.client.tcp import ModbusTcpClient from pymodbus.client.tcp import ModbusTcpClient

View file

@ -92,6 +92,17 @@ class DataType(Enum):
else: else:
return encoder.add_bits(value).build() 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): class registerReadError(Exception):
@ -143,27 +154,27 @@ class ScaledFroniusReg:
MaxChaRte = FroniusReg(40155, DataType.UInt16, 1, "Max Charge Rate") MaxChaRte = FroniusReg(40155, uint16, 1, "Max Charge Rate")
MaxChaRte_SF = FroniusReg(40156, DataType.Int16, 1, "Max Charge Rate SF") MaxChaRte_SF = FroniusReg(40156, int16, 1, "Max Charge Rate SF")
wChaGra = FroniusReg(40357, DataType.UInt16, 1, "Max Charge Power") wChaGra = FroniusReg(40357, uint16, 1, "Max Charge Power")
storageStateOfCharge = FroniusReg(40362, DataType.UInt16, 1, "Storage State of Charge") storageStateOfCharge = FroniusReg(40362, uint16, 1, "Storage State of Charge")
storageStateOfChargeSF = FroniusReg(40376, DataType.Int16, 1, "Storage State of Charge Scaling Factor") storageStateOfChargeSF = FroniusReg(40376, int16, 1, "Storage State of Charge Scaling Factor")
scaledStateOfCharge = ScaledFroniusReg(storageStateOfCharge, storageStateOfChargeSF) scaledStateOfCharge = ScaledFroniusReg(storageStateOfCharge, storageStateOfChargeSF)
OutWRte = FroniusReg(40366, DataType.Int16, 1, "DischargeRate") OutWRte = FroniusReg(40366, int16, 1, "DischargeRate")
InWRte = FroniusReg(40367, DataType.Int16, 1, "ChargeRate") InWRte = FroniusReg(40367, int16, 1, "ChargeRate")
WRteSF = FroniusReg(40379, DataType.Int16, 1, "ScalingFactor for storage Watts") WRteSF = FroniusReg(40379, int16, 1, "ScalingFactor for storage Watts")
StorCtl_Mode = FroniusReg(40359, DataType.UInt16, 1, "Hold/Charge/Discharge enable") StorCtl_Mode = FroniusReg(40359, uint16, 1, "Hold/Charge/Discharge enable")
MinRsvPct = FroniusReg(40361, DataType.UInt16, 1, "Reserve Percentage") 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") ChaGriSet = FroniusReg(40371, uint16, 1, "enum16, 0 = PV only, 1 = Grid enabled")
WChaDisChaGra_SF = FroniusReg(40373, DataType.Int16, 1, "Charge/Discharge Power SF") 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) scaledOutWRte = ScaledFroniusReg(OutWRte, WRteSF)
scaledInWRte = ScaledFroniusReg(InWRte, WRteSF) scaledInWRte = ScaledFroniusReg(InWRte, WRteSF)