Fix charge efficiency over 100% on balancing

This commit is contained in:
Carsten Schmiemann 2022-05-07 01:26:48 +02:00
parent c0896e209a
commit 150338320b

View file

@ -259,6 +259,7 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
if (charge_voltage > 0 && charge_current > 0) {
float power = charge_voltage * charge_current / 1000.0;
float energy = power / 3600.0 * 10.0;
float c_efficiency;
if (m_UseBMScalculation) {
StandardMetrics.ms_v_charge_kwh->SetValue(StandardMetrics.ms_v_charge_kwh_grid_total->AsFloat() - mt_bat_chg_start->AsFloat());
@ -270,7 +271,10 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
StandardMetrics.ms_v_charge_duration_full->SetValue(minsremaining, Minutes);
if (StandardMetrics.ms_v_charge_type->AsString() == "type2") {
StandardMetrics.ms_v_charge_efficiency->SetValue((battery_power / charger_power) * 100.0);
c_efficiency = (battery_power / charger_power) * 100.0;
if (c_efficiency < 100.0) {
StandardMetrics.ms_v_charge_efficiency->SetValue(c_efficiency);
}
ESP_LOGI(TAG, "Charge time remaining: %d mins, AC Charge at %.2f kW with %.1f amps, %s at %.1f efficiency, %.2f powerfactor", minsremaining, charger_power, ac_current, ac_phases.c_str(), StandardMetrics.ms_v_charge_efficiency->AsFloat(100), ACInputPowerFactor);
} else if (StandardMetrics.ms_v_charge_type->AsString() == "ccs" || StandardMetrics.ms_v_charge_type->AsString() == "chademo") {
StandardMetrics.ms_v_charge_power->SetValue(battery_power);