diff --git a/OVMS.V3/components/vehicle_renaultzoe_ph2_can/src/ph2_commands.cpp b/OVMS.V3/components/vehicle_renaultzoe_ph2_can/src/ph2_commands.cpp index 891ef49..a89fade 100644 --- a/OVMS.V3/components/vehicle_renaultzoe_ph2_can/src/ph2_commands.cpp +++ b/OVMS.V3/components/vehicle_renaultzoe_ph2_can/src/ph2_commands.cpp @@ -166,8 +166,46 @@ void OvmsVehicleRenaultZoePh2CAN::shell_can_request(int verbosity, OvmsWriter* w } OvmsVehicle::vehicle_command_t OvmsVehicleRenaultZoePh2CAN::CommandPreHeat(bool climatecontrolon) { - //ToDo: Sniff TCU packets for preheat/cool, OVMS is connected on TCU port - return NotImplemented; + + //Wake Up Packet + uint8_t data[8] = {0x83, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + + canbus *obd; + obd = m_can1; + + for (int i=0; i<40; i++) + { + obd->WriteStandard(0x55C, 8, data); + } + obd->WriteStandard(0x6f9, 8, data); + data[0] = 0x40; + data[1] = 0x80; + + vTaskDelay(50 / portTICK_PERIOD_MS); + obd->WriteStandard(0x43c, 8, data); + + data = {0xe4, 0x64, 0x70, 0x00, 0x28, 0x84, 0x07, 0x10}; + obd->WriteStandard(0x46f, 8, data); + + data = {0x84, 0xc7, 0x07, 0x55, 0xe0, 0x0d, 0x00, 0xc4}; + obd->WriteStandard(0x47d, 8, data); + + data = {0x03, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00}; + obd->WriteStandard(0x46a, 8, data); + + data = {0x03, 0x02, 0x04, 0x02, 0x06, 0x00, 0x20, 0x08}; + obd->WriteStandard(0x46c, 8, data); + + data = {0x10, 0xc9, 0x50, 0x21, 0x01, 0x20, 0x00, 0x00}; + obd->WriteStandard(0x482, 8, data); + + data = {0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00}; + obd->WriteStandard(0x5b1, 8, data); + + data = {0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00}; + obd->WriteStandard(0x5ba, 8, data); + + return Success; } OvmsVehicle::vehicle_command_t OvmsVehicleRenaultZoePh2CAN::CommandWakeup() {