diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/BCM_pids.cpp b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/BCM_pids.cpp index b49a1d3..298f1ea 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/BCM_pids.cpp +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/BCM_pids.cpp @@ -56,27 +56,31 @@ void OvmsVehicleRenaultZoePh2::IncomingBCM(uint16_t type, uint16_t pid, const ch break; } case 0x6310: { // TPMS temp - front left - StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_FL, (float)(CAN_UINT(0) * 0.001) - 30, Celcius); - ESP_LOGD(TAG, "6310 BCM tpms temp FL RAW: %d", CAN_UINT(0)); - ESP_LOGD(TAG, "6310 BCM tpms temp FL: %f", (CAN_UINT(0) * 0.001) - 30); + if (CAN_UINT(0) < 32512) { + StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_FL, fabs((CAN_UINT(0) * 0.001) - 30.0f), Celcius); + } + ESP_LOGD(TAG, "6310 BCM tpms temp FL: %f", fabs((CAN_UINT(0) * 0.001) - 30.0f)); break; } case 0x6311: { // TPMS temp - front right - StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_FR, (float)(CAN_UINT(0) * 0.001) - 30, Celcius); - ESP_LOGD(TAG, "6311 BCM tpms temp FR RAW: %d", CAN_UINT(0)); - ESP_LOGD(TAG, "6311 BCM tpms temp FR: %f", (CAN_UINT(0) * 0.001) - 30); + if (CAN_UINT(0) < 32512) { + StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_FR, fabs((CAN_UINT(0) * 0.001) - 30.0f), Celcius); + } + ESP_LOGD(TAG, "6311 BCM tpms temp FR: %f", fabs((CAN_UINT(0) * 0.001) - 30.0f)); break; } case 0x6312: { // TPMS temp - rear left - StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_RL, (float)(CAN_UINT(0) * 0.001) - 30, Celcius); - ESP_LOGD(TAG, "6312 BCM tpms temp RL RAW: %d", CAN_UINT(0)); - ESP_LOGD(TAG, "6312 BCM tpms temp RL: %f", (CAN_UINT(0) * 0.001) - 30); + if (CAN_UINT(0) < 32512) { + StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_RL, fabs((CAN_UINT(0) * 0.001) - 30.0f), Celcius); + } + ESP_LOGD(TAG, "6312 BCM tpms temp RL: %f", fabs((CAN_UINT(0) * 0.001) - 30.0f)); break; } case 0x6313: { // TPMS temp - rear right - StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_RR, (float)(CAN_UINT(0) * 0.001) - 30, Celcius); - ESP_LOGD(TAG, "6313 BCM tpms temp RR RAW: %d", CAN_UINT(0)); - ESP_LOGD(TAG, "6313 BCM tpms temp RR: %f", (CAN_UINT(0) * 0.001) - 30); + if (CAN_UINT(0) < 32512) { + StandardMetrics.ms_v_tpms_temp->SetElemValue(MS_V_TPMS_IDX_RR, fabs((CAN_UINT(0) * 0.001) - 30.0f), Celcius); + } + ESP_LOGD(TAG, "6313 BCM tpms temp RR: %f", fabs((CAN_UINT(0) * 0.001) - 30.0f)); break; } case 0x4109: { // TPMS alert - front left diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/ph2_poller.h b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/ph2_poller.h index 4892ff1..6b6fa2d 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/ph2_poller.h +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/ph2_poller.h @@ -84,7 +84,7 @@ static const OvmsVehicle::poll_pid_t renault_zoe_polls[] = { { 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4186, { 0, 3, 3, 3 }, 0, ISOTP_STD }, // Low beam lights //{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4187, { 0, 5, 5, 5 }, 0, ISOTP_STD }, // Position lights (Tagfahrlicht), working but no actual usecase for //{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x6179, { 0, 5, 5, 5 }, 0, ISOTP_STD }, // Rear fog lights, working but no actual usecase for -{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x60C6, { 0, 3, 3, 3 }, 0, ISOTP_STD }, // Ignition relay (switch), working but behavior on CHARING testing needed +{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x60C6, { 0, 3, 6, 60 }, 0, ISOTP_STD }, // Ignition relay (switch), working but behavior on CHARING testing needed //{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x6164, { 0, 5, 5, 5 }, 0, ISOTP_STD }, // Interior front roof light, working but no actual usecase for //{ 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x6166, { 0, 5, 5, 5 }, 0, ISOTP_STD }, // Interior tailgate light, working but no actual usecase for { 0x745, 0x765, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x6098, { 0, 5, 5, 5 }, 0, ISOTP_STD }, // Light sensor reading, working but no actual usecase for