fix minor issues

This commit is contained in:
Carsten Schmiemann 2022-04-18 23:31:52 +02:00
parent 9a01e75f02
commit 313ca651b4
5 changed files with 25 additions and 30 deletions

View File

@ -84,12 +84,12 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch
break;
}
case 0x2A09: { // Power consumption by consumer
mt_aux_power_consumer->SetValue((float) CAN_UINT(0) * 10, Watts);
//mt_aux_power_consumer->SetValue((float) CAN_UINT(0) * 10, Watts);
ESP_LOGD(TAG, "2A09 EVC mt_aux_power_consumer: %d", CAN_UINT(0) * 10);
break;
}
case 0x2191: { // Power consumption by ptc
mt_aux_power_ptc->SetValue((float) CAN_UINT(0) * 10, Watts);
//mt_aux_power_ptc->SetValue((float) CAN_UINT(0) * 10, Watts);
ESP_LOGD(TAG, "2191 EVC mt_aux_power_ptc: %d", CAN_UINT(0) * 10);
break;
}
@ -192,12 +192,12 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch
}
case 0x3064: { // Motor rpm
StandardMetrics.ms_v_mot_rpm->SetValue((float) (CAN_UINT(0)));
ESP_LOGD(TAG, "3064 EVC ms_v_mot_rpm: %d", (CAN_UINT(0)));
//ESP_LOGD(TAG, "3064 EVC ms_v_mot_rpm: %d", (CAN_UINT(0)));
break;
}
case 0x300F: { // AC charging power
StandardMetrics.ms_v_charge_power->SetValue((float) (CAN_UINT(0) * 0.025), kW);
ESP_LOGD(TAG, "300F EVC ms_v_charge_power: %f", (CAN_UINT(0) * 0.025));
//ESP_LOGD(TAG, "300F EVC ms_v_charge_power: %f", (CAN_UINT(0) * 0.025));
break;
}
case 0x300D: { // AC input current
@ -223,7 +223,7 @@ void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const ch
}
case 0x2B8A: { // AC mains voltage
StandardMetrics.ms_v_charge_voltage->SetValue((float) (CAN_UINT(0) * 0.5), Volts);
ESP_LOGD(TAG, "2B8A EVC ms_v_charge_voltage: %f", (CAN_UINT(0) * 0.5));
//ESP_LOGD(TAG, "2B8A EVC ms_v_charge_voltage: %f", (CAN_UINT(0) * 0.5));
break;
}

View File

@ -26,9 +26,9 @@
void OvmsVehicleRenaultZoePh2::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x4361: { //Cabin temperature
StandardMetrics.ms_v_env_cabintemp->SetValue(float(CAN_UINT(0) - 40), Celcius);
ESP_LOGD(TAG, "4361 HVAC ms_v_env_cabintemp: %f", (float(CAN_UINT(0) - 40)));
case 0x4009: { //Cabin temperature
StandardMetrics.ms_v_env_cabintemp->SetValue(float((CAN_UINT(0) - 400) / 10), Celcius);
ESP_LOGD(TAG, "4361 HVAC ms_v_env_cabintemp: %f", float((CAN_UINT(0) - 400) / 10));
break;
}
case 0x4360: { //Cabin setpoint
@ -36,11 +36,6 @@ void OvmsVehicleRenaultZoePh2::IncomingHVAC(uint16_t type, uint16_t pid, const c
ESP_LOGD(TAG, "4360 HVAC ms_v_env_cabinsetpoint: %d", (CAN_NIBL(0) + 32) / 2);
break;
}
case 0x436B: { //Cabin FAN speed
StandardMetrics.ms_v_env_cabinfan->SetValue(float(CAN_UINT(0) * 0.5 * 0.1), Percentage);
ESP_LOGD(TAG, "436B HVAC ms_v_env_cabinfan: %f", CAN_UINT(0) * 0.5 * 0.1);
break;
}
case 0x43D8: { //Compressor speed
mt_hvac_compressor_speed->SetValue(float(CAN_UINT(0)));
ESP_LOGD(TAG, "43D8 HVAC mt_hvac_compressor_speed: %d", CAN_UINT(0));

View File

@ -215,9 +215,8 @@ static const OvmsVehicle::poll_pid_t renault_zoe_polls[] = {
//HVAC
//{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIISESSION, SESSION_EXTDIAG, { 0, 60, 60, 60 }, 0, ISOTP_STD }, // OBD Extended Diagnostic Session
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4361, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Cabin temp
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4009, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Cabin temp
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4360, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Cabin setpoint
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x436B, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Cabin FAN speed
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x43D8, { 0, 10, 10, 5 }, 0, ISOTP_STD }, // Compressor speed
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4402, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Compressor state
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4369, { 0, 10, 10, 10 }, 0, ISOTP_STD }, // Compressor pressure

View File

@ -45,10 +45,13 @@ using namespace std;
void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
{
std::string error, rangeideal, battcapacity, UseCarTrip;
std::string error, rangeideal, battcapacity;
bool UseCarTrip;
if (c.method == "POST") {
rangeideal = c.getvar("rangeideal");
battcapacity = c.getvar("battcapacity");
UseCarTrip = (c.getvar("UseCarTrip") == "internal");
if (!rangeideal.empty()) {
int v = atoi(rangeideal.c_str());
@ -59,7 +62,7 @@ void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
// store:
MyConfig.SetParamValue("xrz2", "rangeideal", rangeideal);
MyConfig.SetParamValue("xrz2", "battcapacity", battcapacity);
MyConfig.SetParamValue("xrz2", "UseCarTrip", UseCarTrip);
MyConfig.SetParamValueBool("xrz2", "UseCarTrip", UseCarTrip);
c.head(200);
c.alert("success", "<p class=\"lead\">Renault Zoe Ph2 battery setup saved.</p>");
@ -76,7 +79,7 @@ void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
// read configuration:
rangeideal = MyConfig.GetParamValue("xrz2", "rangeideal", "350");
battcapacity = MyConfig.GetParamValue("xrz2", "battcapacity", "52000");
UseCarTrip = MyConfig.GetParamValue("xrz2", "UseCarTrip", "false");
UseCarTrip = MyConfig.GetParamValueBool("xrz2", "UseCarTrip", false);
c.head(200);
}
@ -97,9 +100,9 @@ void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
c.fieldset_start("Trip counter settings");
c.input_radio_start("Which tripcounter to use", "UseCarTrip");
c.input_radio_option("UseCarTrip", "Internal (New trip everytime car starts)", "false", UseCarTrip == "false");
c.input_radio_option("UseCarTrip", "Car trip counter from Cluster", "true", UseCarTrip == "true");
c.input_radio_option("UseCarTrip", "Internal (New trip everytime car starts)", "internal", UseCarTrip == false);
c.input_radio_option("UseCarTrip", "Car trip counter from Cluster", "Car trip", UseCarTrip == true);
c.input_radio_end("");
c.fieldset_end();

View File

@ -193,9 +193,9 @@ int OvmsVehicleRenaultZoePh2::calcMinutesRemaining(float charge_voltage, float c
//Handle Charging values
void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
float charge_current = StandardMetrics.ms_v_bat_current->AsFloat(0, Amps);
float charge_current = fabs(StandardMetrics.ms_v_bat_current->AsFloat(0, Amps));
float charge_voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
float battery_power = StandardMetrics.ms_v_bat_power->AsFloat(0, kW);
float battery_power = fabs(StandardMetrics.ms_v_bat_power->AsFloat(0, kW));
float charger_power = StandardMetrics.ms_v_charge_power->AsFloat(0, kW);
float ac_current = StandardMetrics.ms_v_charge_current->AsFloat(0, Amps);
string ac_phases = mt_main_phases->AsString();
@ -210,12 +210,12 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
}
CarLastCharging = CarIsCharging;
if (!StandardMetrics.ms_v_charge_pilot->AsBool() || !StandardMetrics.ms_v_charge_inprogress->AsBool() || (charge_current >= 0.0) ) {
if (!StandardMetrics.ms_v_charge_pilot->AsBool() || !StandardMetrics.ms_v_charge_inprogress->AsBool() || (charge_current <= 0.0) ) {
return;
}
if (charge_voltage > 0 && charge_current < 0) {
float power = fabs(charge_voltage * charge_current / 1000.0f);
if (charge_voltage > 0 && charge_current > 0) {
float power = charge_voltage * charge_current / 1000.0;
float energy = power / 3600.0 * 10.0;
StandardMetrics.ms_v_charge_kwh->SetValue( StandardMetrics.ms_v_charge_kwh->AsFloat() + energy);
@ -224,7 +224,7 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
StandardMetrics.ms_v_charge_duration_range->SetValue(minsremaining / 10, Minutes);
ESP_LOGV(TAG, "Charge time remaining: %d mins at %f kW, AC current: %f A with %s", minsremaining / 10, charger_power, ac_current, ac_phases.c_str());
StandardMetrics.ms_v_charge_efficiency->SetValue(fabs(battery_power / charger_power) * 100.0);
StandardMetrics.ms_v_charge_efficiency->SetValue((battery_power / charger_power) * 100.0);
ESP_LOGD(TAG, "Charger efficiency %f", StandardMetrics.ms_v_charge_efficiency->AsFloat(100));
}
}
@ -235,8 +235,6 @@ void OvmsVehicleRenaultZoePh2::EnergyStatistics() {
float power = voltage * current / 1000.0;
StandardMetrics.ms_v_bat_power->SetValue(power * -1.0f);
if (power != 0.0 && StandardMetrics.ms_v_env_on->AsBool()) {
float energy = power / 3600.0;
if (energy < 0.0f)
@ -269,7 +267,7 @@ void OvmsVehicleRenaultZoePh2::Ticker1(uint32_t ticker) {
if (m_UseCarTrip) {
StandardMetrics.ms_v_pos_trip->SetValue(mt_pos_car_trip->AsFloat());
}
StandardMetrics.ms_v_bat_range_est->SetValue((m_range_ideal / (StandardMetrics.ms_v_bat_soc->AsFloat(1) * 0.01)), Kilometers);
StandardMetrics.ms_v_bat_range_est->SetValue((m_range_ideal / StandardMetrics.ms_v_bat_soc->AsFloat(1) * 0.01), Kilometers);
}
class OvmsVehicleRenaultZoePh2Init {