Add more pids from hvac

This commit is contained in:
Carsten Schmiemann 2022-04-14 01:38:32 +02:00
parent 01df5e29bb
commit 1475aacf45
2 changed files with 30 additions and 14 deletions

View file

@ -101,7 +101,11 @@ static const OvmsVehicle::poll_pid_t renault_zoe_polls[] = {
{ 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x2004, { 0, 60, 3, 60 }, 0, ISOTP_EXTFRAME }, // Battery voltage sense
{ 0x18dadff1, 0x18daf1df, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x7049, { 0, 60, 3, 60 }, 0, ISOTP_EXTFRAME }, // Current voltage sense
//{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIISESSION, SESSION_EXTDIAG, { 60, 60, 60, 60 }, 0, ISOTP_EXTADR }, // OBD Extended Diagnostic Session
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4361, { 0, 3, 10, 10 }, 0, ISOTP_EXTADR }, // Cabin temp
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x4360, { 0, 3, 10, 10 }, 0, ISOTP_EXTADR }, // Cabin setpoint
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x436B, { 0, 3, 10, 10 }, 0, ISOTP_EXTADR }, // Cabin FAN speed
{ 0x744, 0x764, VEHICLE_POLL_TYPE_OBDIIEXTENDED, 0x43D8, { 0, 3, 10, 10 }, 0, ISOTP_EXTADR }, // Compressor speed
POLL_LIST_END
};
@ -151,6 +155,7 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
mt_inv_hv_voltage = MyMetrics.InitFloat("zph2.m.inverter.voltage", SM_STALE_MID, 0, Volts);
mt_inv_hv_current = MyMetrics.InitFloat("zph2.m.inverter.current", SM_STALE_MID, 0, Amps);
mt_bat_max_charge_power = MyMetrics.InitFloat("zph2.b.max.charge.power", SM_STALE_MID, 0, kW);
mt_hvac_compressor_speed = MyMetrics.InitFloat("zph2.h.compressor.speed", SM_STALE_MID, 0);
// init commands:
cmd_zoe = MyCommandApp.RegisterCommand("zoe-ph2", "Renault Zoe Ph2");
@ -234,9 +239,9 @@ void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uin
case 0x18daf1db:
IncomingLBC(type, pid, rxbuf.data(), rxbuf.size());
break;
// ****** UCH *****
case 0x765:
IncomingUCH(type, pid, rxbuf.data(), rxbuf.size());
// ****** HVAC *****
case 0x764:
IncomingHVAC(type, pid, rxbuf.data(), rxbuf.size());
break;
}
}
@ -518,18 +523,28 @@ void OvmsVehicleRenaultZoePh2::IncomingLBC(uint16_t type, uint16_t pid, const ch
}
/**
* Handle incoming polls from the UCH Computer
* Handle incoming polls from the ClimBox HVAC controller
*/
void OvmsVehicleRenaultZoePh2::IncomingUCH(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x4B7C: {
// Todo
// //+"7bc,28,39,1,4094,0,N·m,4B7C,624B7C,ff,Electric brake wheels torque request\n" // Brake Torque
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: %d", (CAN_UINT(0) - 40));
break;
}
case 0x4B7D: {
//"7bc,28,39,1,4094,0,N·m,4B7D,624B7D,ff,Total Hydraulic brake wheels torque request\n"
//m_v_hydraulic_brake_power->SetValue(float(CAN_12NIBL(28) -4094)*StdMetrics.ms_v_pos_speed->AsFloat()/3.6/1.28*2*3.141 );
case 0x4360: { //Cabin setpoint
StandardMetrics.ms_v_env_cabinsetpoint->SetValue(float(((CAN_UINT(0) + 32) / 2)), Celcius);
ESP_LOGD(TAG, "4360 HVAC ms_v_env_cabinsetpoint: %d", (CAN_UINT(0) + 32) / 2);
break;
}
case 0x436B: { //Cabin FAN speed
StandardMetrics.ms_v_env_cabinfan->SetValue(float(CAN_UINT(0)), Percentage);
ESP_LOGD(TAG, "436B HVAC ms_v_env_cabinfan: %d", CAN_UINT(0));
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));
break;
}
}

View file

@ -83,7 +83,7 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
void IncomingLBC(uint16_t type, uint16_t pid, const char* data, uint16_t len);
void IncomingUCH(uint16_t type, uint16_t pid, const char* data, uint16_t len);
void IncomingPEB(uint16_t type, uint16_t pid, const char* data, uint16_t len);
void IncomingUCC(uint16_t type, uint16_t pid, const char* data, uint16_t len);
void IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len);
void car_on(bool isOn);
virtual void Ticker1(uint32_t ticker);
virtual void Ticker10(uint32_t ticker);
@ -108,7 +108,8 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
OvmsMetricFloat *mt_inv_hv_voltage; //Battery voltage sense
OvmsMetricFloat *mt_inv_hv_current; //Battery current sense
OvmsMetricFloat *mt_bat_max_charge_power; //Battery max charge power
OvmsMetricFloat *mt_hvac_compressor_speed; //Compressor speed
public:
void WebInit();
void WebDeInit();