Packaging structure

This commit is contained in:
Paul Warren 2024-10-08 16:32:55 +11:00
parent 619e4e09ad
commit da9f1f0079
5 changed files with 113 additions and 0 deletions

37
examples/force_charge.py Executable file
View file

@ -0,0 +1,37 @@
#!/usr/bin/env python3
import FroniusReg
from pymodbus.client.tcp import ModbusTcpClient
fronius1 = ModbusTcpClient("172.19.107.211", port=502, timeout=10)
fronius1.connect()
soc = FroniusReg.scaledStateOfCharge.getValue(fronius1)
print(" SOC: %s%%" % soc)
discharge = FroniusReg.scaledOutWRte.getValue(fronius1)
print("Pre DRate: %d%%" % discharge)
charge = FroniusReg.scaledInWRte.getValue(fronius1)
print("Pre CRate: %d%%" % charge)
mode = FroniusReg.StorCtl_Mode.getValue(fronius1)
print("Pre Mode: %d" % mode)
# This should be 'limit discharge' mode
err = FroniusReg.StorCtl_Mode.setValue(fronius1, 2)
# Charge battery at a rate from -2% discharge to 100% charge
# as a percentage of the MaxChaRte, which in our case is 25600W
err = FroniusReg.scaledOutWRte.setValue(fronius1, -10)
err = FroniusReg.scaledInWRte.setValue(fronius1, 100)
discharge = FroniusReg.scaledOutWRte.getValue(fronius1)
print("Post DRate: %d%%" % discharge)
charge = FroniusReg.scaledInWRte.getValue(fronius1)
print("Post CRate: %d%%" % charge)
mode = FroniusReg.StorCtl_Mode.getValue(fronius1)
print("Post Mode: %d" % mode)

32
examples/read_regs.py Executable file
View file

@ -0,0 +1,32 @@
#!/usr/bin/env python3
import FroniusReg
from pymodbus.client.tcp import ModbusTcpClient
fronius1 = ModbusTcpClient("172.19.107.211", port=502, timeout=10)
fronius1.connect()
soc = FroniusReg.scaledStateOfCharge.getValue(fronius1)
print(" SOC: %s%%" % soc)
discharge = FroniusReg.scaledOutWRte.getValue(fronius1)
print("Pre DRate: %d%%" % discharge)
charge = FroniusReg.scaledInWRte.getValue(fronius1)
print("Pre CRate: %d%%" % charge)
mode = FroniusReg.StorCtl_Mode.getValue(fronius1)
print("Pre Mode: %d" % mode)
reserve = FroniusReg.scaledReserve.getValue(fronius1)
print("Pre Res: %d" % reserve)
rate = FroniusReg.scaledMaxChaRte.getValue(fronius1)
print("Pre rate: %d" % rate)
rate = FroniusReg.scaledMaxWChaGra.getValue(fronius1)
print("Pre WGra rate: %d" % rate)
revert = FroniusReg.InOutWRte_RvrtTms.getValue(fronius1)
print("Timer: %d" % revert)

44
examples/reset_charge.py Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env python3
import FroniusReg
from pymodbus.client.tcp import ModbusTcpClient
fronius1 = ModbusTcpClient("172.19.107.211", port=502, timeout=10)
fronius1.connect()
soc = FroniusReg.scaledStateOfCharge.getValue(fronius1)
print(" SOC: %s%%" % soc)
discharge = FroniusReg.scaledOutWRte.getValue(fronius1)
print("Pre DRate: %d%%" % discharge)
charge = FroniusReg.scaledInWRte.getValue(fronius1)
print("Pre CRate: %d%%" % charge)
mode = FroniusReg.StorCtl_Mode.getValue(fronius1)
print("Pre Mode: %d" % mode)
reserve = FroniusReg.scaledReserve.getValue(fronius1)
print("Pre Res: %d" % reserve)
# This should be 'no limits' mode
err = FroniusReg.StorCtl_Mode.setValue(fronius1, 0)
# discharge at 100% allowed charge rate
err = FroniusReg.scaledOutWRte.setValue(fronius1, 100)
err = FroniusReg.scaledInWRte.setValue(fronius1, 100)
# charge to 7%
err = FroniusReg.scaledReserve.setValue(fronius1, 7)
discharge = FroniusReg.scaledOutWRte.getValue(fronius1)
print("Post DRate: %d%%" % discharge)
charge = FroniusReg.scaledInWRte.getValue(fronius1)
print("Post CRate: %d%%" % charge)
mode = FroniusReg.StorCtl_Mode.getValue(fronius1)
print("Post Mode: %d" % mode)
reserve = FroniusReg.scaledReserve.getValue(fronius1)
print("Post Res: %d" % reserve)

0
src/__init__.py Normal file
View file