Skip to content

Commit

Permalink
Merge pull request #175 from reserve85/HOY_BATTERY_THRESHOLD_NORMAL_L…
Browse files Browse the repository at this point in the history
…IMIT_IN_V

Fix battery threshold normal limit in v
  • Loading branch information
reserve85 authored Apr 2, 2024
2 parents dec2145 + d582bfd commit ecafa67
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## V1.90
### script
* fix HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V, see https://github.com/reserve85/HoymilesZeroExport/issues/174

## V1.89
### script
* Auto-retry failed requests
Expand Down
16 changes: 6 additions & 10 deletions HoymilesZeroExport.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

__author__ = "Tobias Kraft"
__version__ = "1.89"
__version__ = "1.90"

import requests
import time
Expand Down Expand Up @@ -459,11 +459,13 @@ def GetCheckBattery():
DTU.WaitForAck(i, SET_LIMIT_TIMEOUT_SECONDS)
SetLimit.LastLimit = -1
HOY_BATTERY_GOOD_VOLTAGE[i] = True
HOY_MAX_WATT[i] = GetBatteryNormalWatt(i)
if (minVoltage >= HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V[i]) and (HOY_MAX_WATT[i] != CONFIG_PROVIDER.get_normal_wattage(i)):
HOY_MAX_WATT[i] = CONFIG_PROVIDER.get_normal_wattage(i)
SetLimit.LastLimit = -1

elif minVoltage >= HOY_BATTERY_THRESHOLD_NORMAL_LIMIT_IN_V[i]:
if HOY_MAX_WATT[i] != GetBatteryNormalWatt(i):
HOY_MAX_WATT[i] = GetBatteryNormalWatt(i)
if HOY_MAX_WATT[i] != CONFIG_PROVIDER.get_normal_wattage(i):
HOY_MAX_WATT[i] = CONFIG_PROVIDER.get_normal_wattage(i)
SetLimit.LastLimit = -1

if HOY_BATTERY_GOOD_VOLTAGE[i]:
Expand Down Expand Up @@ -522,12 +524,6 @@ def GetMinWatt(pInverter: int):
min_watt_percent = CONFIG_PROVIDER.get_min_wattage_in_percent(pInverter)
return int(HOY_INVERTER_WATT[pInverter] * min_watt_percent / 100)

def GetBatteryNormalWatt(pInverter: int):
normal_watt = CONFIG_PROVIDER.get_normal_wattage(pInverter)
if normal_watt > HOY_MAX_WATT[pInverter]:
normal_watt = HOY_MAX_WATT[pInverter]
return normal_watt

def CutLimitToProduction(pSetpoint):
if pSetpoint != GetMaxWattFromAllInverters():
ActualPower = GetHoymilesActualPower()
Expand Down

0 comments on commit ecafa67

Please sign in to comment.