From 8ddab6f2b22bfe38f672d0b02a61fb69c67318a9 Mon Sep 17 00:00:00 2001 From: Paul Warren Date: Wed, 16 Oct 2024 16:50:16 +1100 Subject: [PATCH] Start of peak check script --- examples/check_peak.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 examples/check_peak.py diff --git a/examples/check_peak.py b/examples/check_peak.py new file mode 100755 index 0000000..0972290 --- /dev/null +++ b/examples/check_peak.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +import statistics + +from pyfroniusreg import gen24_registers +from pyfroniusreg.froniusreg import RegisterReadError + +from datetime import datetime + +from pymodbus.client.tcp import ModbusTcpClient + +fronius1 = ModbusTcpClient("172.19.107.211", port=502, timeout=10) +fronius1.connect() + +current_time = datetime.now() + +soc = gen24_registers.scaledStateOfCharge.get(fronius1) + +charge_data = [] +discharge_data = [] + +print("Gathering 20 second average of battery Charge") +while( (datetime.now() - current_time).seconds < 20): + charge_data.append(gen24_registers.scaledToBattery.get(fronius1)) + discharge_data.append(gen24_registers.scaledFromBattery.get(fronius1)) + +avg_charge = statistics.mean(charge_data) +avg_discharge = statistics.mean(discharge_data) +print(" Charge: %.2f" % avg_charge) +print("DisCharge: %.2f" % avg_discharge) +print(" SOC: %.2f" % soc) + +