Comment out TimeToLastFull, Save TCV if restart at 100SOC

This commit is contained in:
Carsten Schmiemann 2023-06-12 14:23:03 +02:00
parent 43d1398d9e
commit 724d96bc43
1 changed files with 10 additions and 5 deletions

View File

@ -99,6 +99,7 @@ class DbusBatteryService:
'TimeLastFull': ['/Settings/Batrium/TimeLastFull', 0.0,0,0],
'MinCellVoltage': ['/Settings/Batrium/MinCellVoltage', 0.0,0.0,0.0],
'MaxCellVoltage': ['/Settings/Batrium/MaxCellVoltage', 0.0,0.0,0.0],
'TargetChargeVoltage': ['/Settings/Batrium/TargetChargeVoltage', 0.0,0.0,0.0],
'interval': ['/Settings/Batrium/Interval', 200, 200, 200]
},
eventCallback=handle_changed_setting)
@ -139,14 +140,15 @@ class DbusBatteryService:
self._dbusservice['/Soh'] = 100
self._dbusservice['/Status'] = 0
self._dbusservice['/ConsumedAmphours'] = 0
self._dbusservice['/Info/MaxChargeCurrent'] = 1
logging.info("History cell voltage min: %.3f, max: %.3f, totalAhDrawn: %d", self._settings['MinCellVoltage'], self._settings['MaxCellVoltage'], self._settings['TotalAhDrawn'])
if self._bat.soc <= 99:
self._dbusservice['/Soc'] = self._bat.soc
elif self._bat.soc > 100:
else:
self._dbusservice['/Soc'] = 100
GLib.timeout_add( self._settings['interval'], exit_on_error, self._update)
def _gettext(self, path, value):
@ -165,6 +167,7 @@ class DbusBatteryService:
self._settings['TotalAhDrawn'] = self._dbusservice['/History/TotalAhDrawn']
self._settings['MinCellVoltage'] = self._dbusservice['/History/MinCellVoltage']
self._settings['MaxCellVoltage'] = self._dbusservice['/History/MaxCellVoltage']
self._settings['TargetChargeVoltage'] = self._dbusservice['/Info/MaxChargeVoltage']
def _daily_stats(self):
if (self._dbusservice['/History/DischargedEnergy'] == 0): return
@ -222,8 +225,8 @@ class DbusBatteryService:
self._dbusservice['/Soc'] = 100
self._dbusservice['/ConsumedAmphours'] = 0
# set timestamp last full charge
if datetime.fromtimestamp(time()).day != datetime.fromtimestamp(float(self._settings['TimeLastFull'])).day:
self._settings['TimeLastFull'] = time()
#if datetime.fromtimestamp(time()).day != datetime.fromtimestamp(float(self._settings['TimeLastFull'])).day:
# self._settings['TimeLastFull'] = time()
if self._bat.NumberInBypass != 0:
self._dbusservice['/Balancing'] = 1
@ -247,6 +250,8 @@ class DbusBatteryService:
# Workaround lower charge voltage a bit, because Batrium sends TCL 0V if charge is disabled
elif self.maxChargeVoltage != 0:
self._dbusservice['/Info/MaxChargeVoltage'] = self.maxChargeVoltage - 0.1
elif self.maxChargeVoltage == 0 and self._bat.maxChargeVoltage == 0:
self._dbusservice['/Info/MaxChargeVoltage'] = self._settings['TargetChargeVoltage']
self._dbusservice['/System/NrOfModulesOnline'] = self._bat.numberOfModules
self._dbusservice['/System/NrOfBatteriesBalancing'] = self._bat.NumberInBypass