kwindrem / GuiMods

VenusOS GUI enhancements and modifications
220 stars 29 forks source link

Display cell-voltage (min/max) and CCL/DCL #88

Closed WaldemarFech closed 1 year ago

WaldemarFech commented 2 years ago

I would love it to see the max and min cell voltages or (and?) at least the resulting current CCL and DCL (Charge Current Limit / Discharge Current Limit)

The CCL / DCL would be nice in the Main-View (Battery-Field) directly. The min/max cell-voltages could stay in detailed-view

andkirby commented 1 year ago

Hi @kwindrem,

I'd love to have it as well, and few things more :) Like Charge Current Limit, Charge Voltage Limit, etc. Probably, I'd extend the battery file, but I got no idea where you read about the API. I see there are references to the data, but where it's coming from?

For instance, how did you make this line?

VBusItem { id: batteryLife; bind: Utils.path(systemPrefix, "/SystemState/BatteryLife") }

I'll be appreciated for any advice. =)

kwindrem commented 1 year ago

I'm afraid real estate for additional parameters isn't available.

Things like battery life that are in com.victronenergy.system are likely calculated in dbus-systemcalc service.

Holiday43 commented 1 year ago

I'm afraid real estate for additional parameters isn't available.

Things like battery life that are in com.victronenergy.system are likely calculated in dbus-systemcalc service.

Hi @kwindrem,

Would it be possible to display the battery cell voltage from the BMS like the temp or tank level boxes at the bottom of the display? The BMS constantly displays the Lowest cell v and the highest cell v but it would be much more useful if it was not 3 menus deep on the device list.

Thanks very much for all your efforts.

larsenf commented 1 year ago

Hello @kwindrem I am also interested in a feature or way to view the min/max cell voltages easier. Also if there is a way to more easily view the remaining ah capacity of the battery that would be great, the ah used in the details screen isnt very useful when compared to the eh remaining in my opinion.

kwindrem commented 1 year ago

I'd be willing to look into possibilities but will need your help. I don't have a BMS that reports cell voltages etc. So I will need you to test potential changes and report back. I may need screen shots and/or logs and/or excerpts from dbus-spy. If you are up to this then let me know. The first thing I need is a screen shot of what dbus-spy shows for your BMS showing all parameters.

Calculation of remaining AH will be the consumed AH subtracted from capacity and would not take into account discharge inefficiencies. If that isn't good enough I'm afraid I wouldn't be able to make the necessary computation since it relies on discharge rate and it's history.

larsenf commented 1 year ago

Pages: image Battery detail: image Menu (Device list) -> SerialBattery -> Cell Voltages image Menu (Device list) -> SerialBattery -> Details image image

So all the info im interested in is already availible, its just several menus deep. I'm willing to help anyway i can, if you need a terminal output just tell me what to do.

As you can see "consumed ah" in battery detail is just rated ah - remaining ah. Which is a weird number to have up considering the BMS apps usually just show the remaining ah.

kwindrem commented 1 year ago

I have a beta version out for your review. Change the branch/tag for GuiMods to "beta". I await your comments. Thanks.

larsenf commented 1 year ago

This is the only difference i see: image

and just to make sure, he is the version im on: image

Im running venus 2.93

kwindrem commented 1 year ago

I need to see your dbus-spy dump of the services (first page) and also the parameter list for the battery service.

The GUI log might also be helpful

tail -50 /data/log/gui/current | tai64nlocal

larsenf commented 1 year ago

Services com.victronenergy.adc com.victronenergy.battery.ttyUSB1 SerialBattery(LLT/JBD) com.victronenergy.fronius com.victronenergy.generator.startstop0 com.victronenergy.logger com.victronenergy.modbusclient.tcp com.victronenergy.packageManager Package Manager com.victronenergy.platform com.victronenergy.qwacs com.victronenergy.settings com.victronenergy.shutdown ShutdownMonitor com.victronenergy.solarcharger.ttyUSB0 SmartSolar Charger MPPT 150/35 com.victronenergy.system com.victronenergy.vebus.ttyUSB2 MultiPlus-II 48/3000/35-50 120V

com.victronenergy.battery.ttyUSB1 Alarms/CellImbalance - Alarms/HighCellVoltage - Alarms/HighChargeCurrent 0 Alarms/HighChargeTemperature 0 Alarms/HighDischargeCurrent 0 Alarms/HighTemperature 0 Alarms/HighVoltage 0 Alarms/InternalFailure - Alarms/LowCellVoltage - Alarms/LowChargeTemperature 0 Alarms/LowSoc 0 Alarms/LowTemperature 0 Alarms/LowVoltage 0 Balances/Cell1 0 Balances/Cell10 0 Balances/Cell11 0 Balances/Cell12 0 Balances/Cell13 0 Balances/Cell14 0 Balances/Cell15 0 Balances/Cell16 0 Balances/Cell17 0 Balances/Cell18 0 Balances/Cell2 0 Balances/Cell3 0 Balances/Cell4 0 Balances/Cell5 0 Balances/Cell6 0 Balances/Cell7 0 Balances/Cell8 0 Balances/Cell9 0 Balancing 0 Capacity 259.17 Connected 1 ConsumedAmphours 10.83 CustomName SerialBattery(LLT/JBD) Dc/0/Current -1.57 Dc/0/MidVoltage - Dc/0/MidVoltageDeviation - Dc/0/Power -93.27 Dc/0/Temperature 30.95 Dc/0/Voltage 59.42 DeviceInstance 2 FirmwareVersion 0.14.3 HardwareVersion JBD-AP21S001-L21S-200A-B Info/BatteryLowVoltage 52.2 Info/MaxChargeCurrent 60 Info/MaxChargeVoltage 63.9 Info/MaxDischargeCurrent 40 InstalledCapacity 270 Io/AllowToCharge 1 Io/AllowToDischarge 1 Mgmt/Connection Serial /dev/ttyUSB1 Mgmt/ProcessName /opt/victronenergy/dbus-serialbattery/dbushelper.py Mgmt/ProcessVersion Python 3.8.13 ProductId 0 ProductName SerialBattery(LLT/JBD) Soc 96 System/MaxCellTemperature 31.2 System/MaxCellVoltage 3.305 System/MaxVoltageCellId C1 System/MinCellTemperature 30.7 System/MinCellVoltage 3.299 System/MinVoltageCellId C5 System/NrOfCellsPerBattery 18 System/NrOfModulesBlockingCharge 0 System/NrOfModulesBlockingDischarge 0 System/NrOfModulesOffline 0 System/NrOfModulesOnline 1 Voltages/Cell1 3.305 Voltages/Cell10 3.302 Voltages/Cell11 3.3 Voltages/Cell12 3.301 Voltages/Cell13 3.301 Voltages/Cell14 3.303 Voltages/Cell15 3.301 Voltages/Cell16 3.303 Voltages/Cell17 3.301 Voltages/Cell18 3.3 Voltages/Cell2 3.301 Voltages/Cell3 3.3 Voltages/Cell4 3.303 Voltages/Cell5 3.299 Voltages/Cell6 3.3 Voltages/Cell7 3.3 Voltages/Cell8 3.303 Voltages/Cell9 3.299 Voltages/Diff 0.006 Voltages/Sum 59.422

2023-03-12 00:51:53.623882500 accessLevelChanged: 2 2023-03-12 00:51:53.623888500 setAccessLevel: 2 2023-03-12 00:51:53.656297500 LocalThemeDaemonClient: Looking for assets in "/opt/victronenergy/themes/ccgx" 2023-03-12 00:51:53.656303500 Screen: 800x480 282x169mm 72x72dpi 2023-03-12 00:51:53.872013500 [Qwacs::qwacsRegisterd] "com.victronenergy.qwacs" 2023-03-12 00:51:54.465993500 TimeZone::valueChanged: "America/New_York" 2023-03-12 00:51:54.536714500 ScreenSaver::dbusDisplayOffTimeChanged: 60 2023-03-12 00:51:54.536720500 ScreenSaver::enable 2023-03-12 00:51:54.536722500 ScreenSaver::screenOn 2023-03-12 00:51:54.536724500 Buzzer::setBuzzer: false 2023-03-12 00:51:54.536726500 ignoring request for "dbus/com.victronenergy.system/Buzzer/State" to set value QVariant(bool, false) (not online) 2023-03-12 00:51:58.744874500 Get Items failed "com.victronenergy.qwacs" 2023-03-12 00:51:58.833324500 [Service] DBus service "/service/websockify-c" changed: "VncLocal" - "1" 2023-03-12 00:51:58.833333500 [Service] installing "/service/websockify-c" 2023-03-12 00:51:58.875964500 Get Items failed "com.victronenergy.shutdown" 2023-03-12 00:51:58.875973500 [Service] DBus service "/service/websockify-c" changed: "VncLocal" - "" 2023-03-12 00:52:56.511693500 file:///opt/victronenergy/gui/qml/OverviewGeneratorEnhanced.qml:316:4: QML OverviewAcValuesEnhanced: Binding loop detected for property "height" 2023-03-12 00:54:07.285287500 ScreenSaver::timer 2023-03-12 00:54:07.285439500 ScreenSaver::screenOff 2023-03-12 00:54:53.462015500 QVNCServer new incoming connection from "127.0.0.1" 2023-03-12 00:54:53.543406500 QVNCServer Client protocol version RFB 003.003 2023-03-12 00:54:53.543413500 2023-03-12 00:54:53.545328500 QVNCServer No password configured, accepting connection 2023-03-12 00:55:01.026510500 VePlatformVenus::wakeupEvent 2023-03-12 00:55:01.026515500 ScreenSaver::enable 2023-03-12 00:55:01.026518500 ScreenSaver::screenOn 2023-03-12 00:55:01.026988500 VeQuickView::mousePressEvent: wakeupEvent 2023-03-12 00:56:25.600072500 ScreenSaver::timer 2023-03-12 00:56:25.600079500 ScreenSaver::screenOff 2023-03-12 00:56:58.190788500 VePlatformVenus::wakeupEvent 2023-03-12 00:56:58.190794500 ScreenSaver::enable 2023-03-12 00:56:58.190945500 ScreenSaver::screenOn 2023-03-12 00:56:58.191529500 VeQuickView::keyPressEvent: wakeupEvent 2023-03-12 00:57:02.312112500 ColorControl::updateAvailableChanged: status 1 - version "" offline version "" 2023-03-12 00:57:03.131471500 ColorControl::updateAvailableChanged: status 0 - version "v2.93" offline version "" 2023-03-12 00:57:03.132938500 ColorControl::updateAvailableChanged: status 0 - version "v2.93" offline version "" 2023-03-12 00:59:26.168416500 file:///opt/victronenergy/gui/qml/MbRowSmall.qml:37: Unable to assign [undefined] to float rightMargin 2023-03-12 01:00:31.778330500 ScreenSaver::timer 2023-03-12 01:00:31.778336500 ScreenSaver::screenOff 2023-03-12 01:21:28.925744500 QVNCServer disconnected from "127.0.0.1" 2023-03-12 01:37:10.008017500 QVNCServer new incoming connection from "127.0.0.1" 2023-03-12 01:37:10.080468500 QVNCServer Client protocol version RFB 003.003 2023-03-12 01:37:10.080488500 2023-03-12 01:37:10.080650500 QVNCServer No password configured, accepting connection 2023-03-12 01:39:10.642567500 service "/net/connman/service/wifi_b827eba0a9e4_hidden_none" was removed but was not found in the services list 2023-03-12 01:39:42.540364500 QVNCServer disconnected from "127.0.0.1" 2023-03-12 01:39:42.540519500 QVNCServer new incoming connection from "127.0.0.1" 2023-03-12 01:39:42.812915500 QVNCServer Client protocol version RFB 003.003 2023-03-12 01:39:42.812922500 2023-03-12 01:39:42.813111500 QVNCServer No password configured, accepting connection root@raspberrypi2:~#

kwindrem commented 1 year ago

Made a change. See if that works.

larsenf commented 1 year ago

Yes! However thousandths of a volt detail on the cell voltage would be ideal image

kwindrem commented 1 year ago

I've increased the voltage precision as you suggested.

Also added max charge/discharge currents. These fields change to "disabled" if the value is zero.

larsenf commented 1 year ago

image image

kwindrem commented 1 year ago

Another fix to try

larsenf commented 1 year ago

Love your work! image

kwindrem commented 1 year ago

incorporated in v7.18.

Please reset the branch/tag to "latest".

larsenf commented 1 year ago

Hi, this never seemed to get incorporated, on 7.18 or the 7.19 I'm on now

kwindrem commented 1 year ago

You are correct. Apparently my beta branch didn't get merged into main. I'll work on this ASAP.

And the beta branch no longer exists so resetting branch/tag to "beta" won't do anything.

kwindrem commented 1 year ago

I just pushed v7.20 to hopefully fix the bad merge. Please check to see if it's working. Thanks.

larsenf commented 1 year ago

looks like we lost the values for charge/discharge limit image

kwindrem commented 1 year ago

OK I think it's fixed again

Sorry for the issues. The merge from v7.18 beta branch to main got messed up somehow and all my changes were lost including my file backups.

GuiMods v7.21 should have all the fixes

andkirby commented 1 year ago

Awesome job guys! It's great to have it! Cheers