diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp index 1566398..e00db9d 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.cpp @@ -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; } } diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h index 747a2b3..e332b02 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2/src/vehicle_renaultzoe_ph2.h @@ -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();