Compare commits

...

2 commits

23 changed files with 151 additions and 146 deletions

View file

@ -752,6 +752,8 @@ void OvmsLocations::UpdatedVehicleOn(OvmsMetric* metric)
void OvmsLocations::UpdateParkPosition()
{
OvmsRecMutexLock lock(&m_park_lock);
bool caron = StdMetrics.ms_v_env_on->AsBool();
if (caron)
{
@ -843,6 +845,8 @@ void OvmsLocations::CheckTheft()
{
static int last_dist = 0;
OvmsRecMutexLock lock(&m_park_lock);
if ((m_park_latitude == 0) && (m_park_longitude == 0)) return;
if (StandardMetrics.ms_v_env_on->AsBool()) return;

View file

@ -104,6 +104,7 @@ class OvmsLocations
float m_park_longitude;
float m_park_distance;
bool m_park_invalid;
OvmsRecMutex m_park_lock;
uint32_t m_last_alarm;
LocationMap m_locations;

View file

@ -7,7 +7,7 @@
# please read the ESP-IDF documents if you need to do this.
#
ifdef CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2
ifdef CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD
COMPONENT_ADD_INCLUDEDIRS:=src
COMPONENT_SRCDIRS:=src
COMPONENT_ADD_LDFLAGS = -Wl,--whole-archive -l$(COMPONENT_NAME) -Wl,--no-whole-archive

View file

@ -1,8 +1,8 @@
=======================
Renault Zoe Phase 2
Renault Zoe Phase 2 (OBD port)
=======================
Vehicle Type: **RZ2**
Vehicle Type: **RZ2O**
This vehicle type supports the Renault Zoe(PH2) through OBD connection.
All values are read-only, no control possible because of CAN Gateway.

View file

@ -23,9 +23,9 @@
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingBCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingBCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x6300: { // TPMS pressure - front left
if ((CAN_UINT(0) * 7.5) < 7672) {

View file

@ -23,9 +23,9 @@
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingEVC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingEVC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x2006: { //Odometer (Total Vehicle Distance)
StandardMetrics.ms_v_pos_odometer->SetValue((float) CAN_UINT24(0), Kilometers);

View file

@ -22,9 +22,9 @@
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingHVAC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x4009: { //Cabin temperature
StandardMetrics.ms_v_env_cabintemp->SetValue(float((CAN_UINT(0) - 400) / 10), Celcius);

View file

@ -23,9 +23,9 @@
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingINV(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingINV(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x700C: { // Inverter temperature
StandardMetrics.ms_v_inv_temp->SetValue(float((CAN_UINT24(0) * 0.001953125) - 40), Celcius);

View file

@ -23,9 +23,9 @@
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingLBC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingLBC(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x9005: { //Battery voltage
StandardMetrics.ms_v_bat_voltage->SetValue((float) (CAN_UINT(0) * 0.1), Volts);

View file

@ -24,9 +24,9 @@
*/
/*
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingCLUSTER(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingCLUSTER(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x2101: { // Cluster - trip counter
mt_pos_car_trip->SetValue(CAN_UINT32(0), Kilometers);

View file

@ -22,9 +22,9 @@
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
; THE SOFTWARE.
*/
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
void OvmsVehicleRenaultZoePh2::IncomingUCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
void OvmsVehicleRenaultZoePh2OBD::IncomingUCM(uint16_t type, uint16_t pid, const char* data, uint16_t len) {
switch (pid) {
case 0x6079: { //12V Battery Current
StandardMetrics.ms_v_charge_12v_current->SetValue((float) (CAN_UINT(0) * 0.1), Amps);

View file

@ -36,14 +36,14 @@
#include "ovms_notify.h"
#include "ovms_webserver.h"
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
using namespace std;
#define _attr(text) (c.encode_html(text).c_str())
#define _html(text) (c.encode_html(text).c_str())
void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
void OvmsVehicleRenaultZoePh2OBD::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
{
std::string error, rangeideal, battcapacity;
bool UseBMScalculation, UseBMSsoc;
@ -62,11 +62,11 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
}
if (error == "") {
// store:
MyConfig.SetParamValue("xrz2", "rangeideal", rangeideal);
MyConfig.SetParamValue("xrz2", "battcapacity", battcapacity);
//MyConfig.SetParamValueBool("xrz2", "UseCarTrip", UseCarTrip);
MyConfig.SetParamValueBool("xrz2", "UseBMScalculation", UseBMScalculation);
MyConfig.SetParamValueBool("xrz2", "UseBMSsoc", UseBMSsoc);
MyConfig.SetParamValue("xrz2o", "rangeideal", rangeideal);
MyConfig.SetParamValue("xrz2o", "battcapacity", battcapacity);
//MyConfig.SetParamValueBool("xrz2o", "UseCarTrip", UseCarTrip);
MyConfig.SetParamValueBool("xrz2o", "UseBMScalculation", UseBMScalculation);
MyConfig.SetParamValueBool("xrz2o", "UseBMSsoc", UseBMSsoc);
c.head(200);
c.alert("success", "<p class=\"lead\">Renault Zoe Ph2 battery setup saved.</p>");
@ -81,11 +81,11 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
}
else {
// read configuration:
rangeideal = MyConfig.GetParamValue("xrz2", "rangeideal", "350");
battcapacity = MyConfig.GetParamValue("xrz2", "battcapacity", "52000");
//UseCarTrip = MyConfig.GetParamValueBool("xrz2", "UseCarTrip", false);
UseBMScalculation = MyConfig.GetParamValueBool("xrz2", "UseBMScalculation", false);
UseBMSsoc = MyConfig.GetParamValueBool("xrz2", "UseBMSsoc", false);
rangeideal = MyConfig.GetParamValue("xrz2o", "rangeideal", "350");
battcapacity = MyConfig.GetParamValue("xrz2o", "battcapacity", "52000");
//UseCarTrip = MyConfig.GetParamValueBool("xrz2o", "UseCarTrip", false);
UseBMScalculation = MyConfig.GetParamValueBool("xrz2o", "UseBMScalculation", false);
UseBMSsoc = MyConfig.GetParamValueBool("xrz2o", "UseBMSsoc", false);
c.head(200);
}
@ -135,19 +135,19 @@ void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
/**
* WebInit: register pages
*/
void OvmsVehicleRenaultZoePh2::WebInit()
void OvmsVehicleRenaultZoePh2OBD::WebInit()
{
MyWebServer.RegisterPage("/xrz2/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
MyWebServer.RegisterPage("/xrz2/settings", "Setup", WebCfgCommon, PageMenu_Vehicle, PageAuth_Cookie);
MyWebServer.RegisterPage("/xrz2o/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
MyWebServer.RegisterPage("/xrz2o/settings", "Setup", WebCfgCommon, PageMenu_Vehicle, PageAuth_Cookie);
}
/**
* WebDeInit: deregister pages
*/
void OvmsVehicleRenaultZoePh2::WebDeInit()
void OvmsVehicleRenaultZoePh2OBD::WebDeInit()
{
MyWebServer.DeregisterPage("/xrz2/battmon");
MyWebServer.DeregisterPage("/xrz2/battery");
MyWebServer.DeregisterPage("/xrz2o/battmon");
MyWebServer.DeregisterPage("/xrz2o/battery");
}

View file

@ -39,11 +39,11 @@
#include "ovms_peripherals.h"
#include "ovms_netmanager.h"
#include "vehicle_renaultzoe_ph2.h"
#include "vehicle_renaultzoe_ph2_obd.h"
#include "ph2_poller.h"
OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
ESP_LOGI(TAG, "Start Renault Zoe Ph2 vehicle module");
OvmsVehicleRenaultZoePh2OBD::OvmsVehicleRenaultZoePh2OBD() {
ESP_LOGI(TAG, "Start Renault Zoe Ph2 (OBD) vehicle module");
//Init variables supressing push on boot up
StandardMetrics.ms_v_type->SetValue("RZ2");
@ -53,7 +53,7 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
StandardMetrics.ms_v_charge_substate->SetValue("stopped");
StandardMetrics.ms_v_env_on->SetValue(false);
MyConfig.RegisterParam("xrz2", "Renault Zoe Ph2 configuration", true, true);
MyConfig.RegisterParam("xrz2o", "Renault Zoe Ph2 (OBD) configuration", true, true);
ConfigChanged(NULL);
// Init Zoe Ph2 OBD Connection (CAN Gateway)
@ -106,20 +106,20 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
#endif
}
OvmsVehicleRenaultZoePh2::~OvmsVehicleRenaultZoePh2() {
ESP_LOGI(TAG, "Stop Renault Zoe Ph2 vehicle module");
OvmsVehicleRenaultZoePh2OBD::~OvmsVehicleRenaultZoePh2OBD() {
ESP_LOGI(TAG, "Stop Renault Zoe Ph2 (OBD) vehicle module");
}
void OvmsVehicleRenaultZoePh2::ConfigChanged(OvmsConfigParam* param) {
if (param && param->GetName() != "xrz2")
void OvmsVehicleRenaultZoePh2OBD::ConfigChanged(OvmsConfigParam* param) {
if (param && param->GetName() != "xrz2o")
return;
// get values from config store
m_range_ideal = MyConfig.GetParamValueInt("xrz2", "rangeideal", 350);
m_battery_capacity = MyConfig.GetParamValueInt("xrz2", "battcapacity", 52000);
m_UseCarTrip = MyConfig.GetParamValueBool("xrz2", "UseCarTrip", false);
m_UseBMScalculation = MyConfig.GetParamValueBool("xrz2", "UseBMScalculation", false);
m_UseBMSsoc = MyConfig.GetParamValueBool("xrz2", "UseBMSsoc", false);
m_range_ideal = MyConfig.GetParamValueInt("xrz2o", "rangeideal", 350);
m_battery_capacity = MyConfig.GetParamValueInt("xrz2o", "battcapacity", 52000);
m_UseCarTrip = MyConfig.GetParamValueBool("xrz2o", "UseCarTrip", false);
m_UseBMScalculation = MyConfig.GetParamValueBool("xrz2o", "UseBMScalculation", false);
m_UseBMSsoc = MyConfig.GetParamValueBool("xrz2o", "UseBMSsoc", false);
StandardMetrics.ms_v_bat_range_ideal->SetValue(m_range_ideal, Kilometers);
if (m_battery_capacity == 52000) {
Bat_cell_capacity = 78.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
@ -130,10 +130,10 @@ void OvmsVehicleRenaultZoePh2::ConfigChanged(OvmsConfigParam* param) {
if (m_battery_capacity == 22000) {
Bat_cell_capacity = 36.0 * 2 * (StandardMetrics.ms_v_bat_soh->AsFloat() / 100.0);
}
ESP_LOGI(TAG, "Renault Zoe Ph2 reload configuration: Range ideal: %d, Battery capacity: %d, Use Car trip counter: %s, Use BMS as energy counter: %s, Use BMS for SOC: %s", m_range_ideal, m_battery_capacity, m_UseCarTrip ? "Yes" : "No", m_UseBMScalculation ? "yes" : "no", m_UseBMSsoc ? "yes" : "no");
ESP_LOGI(TAG, "Renault Zoe Ph2 (OBD) reload configuration: Range ideal: %d, Battery capacity: %d, Use Car trip counter: %s, Use BMS as energy counter: %s, Use BMS for SOC: %s", m_range_ideal, m_battery_capacity, m_UseCarTrip ? "Yes" : "No", m_UseBMScalculation ? "yes" : "no", m_UseBMSsoc ? "yes" : "no");
}
void OvmsVehicleRenaultZoePh2::ZoeWakeUp() {
void OvmsVehicleRenaultZoePh2OBD::ZoeWakeUp() {
ESP_LOGI(TAG,"Zoe woke up (CAN Bus activity detected)");
mt_bus_awake->SetValue(true);;
StandardMetrics.ms_v_env_charging12v->SetValue(true);
@ -144,7 +144,7 @@ void OvmsVehicleRenaultZoePh2::ZoeWakeUp() {
/**
* Handles incoming CAN-frames on bus 1
*/
void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) {
void OvmsVehicleRenaultZoePh2OBD::IncomingFrameCan1(CAN_frame_t* p_frame) {
uint8_t *data = p_frame->data.u8;
//ESP_LOGI(TAG, "PID:%x DATA: %02x %02x %02x %02x %02x %02x %02x %02x", p_frame->MsgID, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]);
//ESP_LOGD(TAG, "Status CAN Bus: %s", mt_bus_awake->AsBool() ? "true" : "false");
@ -177,7 +177,7 @@ void OvmsVehicleRenaultZoePh2::IncomingFrameCan1(CAN_frame_t* p_frame) {
/**
* Handles incoming poll results
*/
void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain) {
void OvmsVehicleRenaultZoePh2OBD::IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain) {
string& rxbuf = zoe_obd_rxbuf;
//ESP_LOGV(TAG, "pid: %04x length: %d m_poll_ml_remain: %d m_poll_ml_frame: %d", pid, length, m_poll_ml_remain, m_poll_ml_frame);
@ -224,7 +224,7 @@ void OvmsVehicleRenaultZoePh2::IncomingPollReply(canbus* bus, uint16_t type, uin
}
}
int OvmsVehicleRenaultZoePh2::calcMinutesRemaining(float charge_voltage, float charge_current) {
int OvmsVehicleRenaultZoePh2OBD::calcMinutesRemaining(float charge_voltage, float charge_current) {
float bat_soc = mt_bat_lbc_soc->AsFloat(100);
float remaining_wh = m_battery_capacity - (m_battery_capacity * bat_soc / 100.0);
@ -235,7 +235,7 @@ int OvmsVehicleRenaultZoePh2::calcMinutesRemaining(float charge_voltage, float c
}
//Handle Charging values
void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
void OvmsVehicleRenaultZoePh2OBD::ChargeStatistics() {
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 = fabs(StandardMetrics.ms_v_bat_power->AsFloat(0, kW));
@ -287,7 +287,7 @@ void OvmsVehicleRenaultZoePh2::ChargeStatistics() {
}
}
void OvmsVehicleRenaultZoePh2::EnergyStatisticsOVMS() {
void OvmsVehicleRenaultZoePh2OBD::EnergyStatisticsOVMS() {
float voltage = StandardMetrics.ms_v_bat_voltage->AsFloat(0, Volts);
float current = StandardMetrics.ms_v_bat_current->AsFloat(0, Amps);
@ -302,12 +302,12 @@ void OvmsVehicleRenaultZoePh2::EnergyStatisticsOVMS() {
}
}
void OvmsVehicleRenaultZoePh2::EnergyStatisticsBMS() {
void OvmsVehicleRenaultZoePh2OBD::EnergyStatisticsBMS() {
StandardMetrics.ms_v_bat_energy_used->SetValue(StandardMetrics.ms_v_bat_energy_used_total->AsFloat() - mt_bat_used_start->AsFloat());
StandardMetrics.ms_v_bat_energy_recd->SetValue(StandardMetrics.ms_v_bat_energy_recd_total->AsFloat() - mt_bat_recd_start->AsFloat());
}
void OvmsVehicleRenaultZoePh2::Ticker10(uint32_t ticker) {
void OvmsVehicleRenaultZoePh2OBD::Ticker10(uint32_t ticker) {
if (StandardMetrics.ms_v_charge_pilot->AsBool() && !StandardMetrics.ms_v_env_on->AsBool()) {
ChargeStatistics();
} else {
@ -319,7 +319,7 @@ void OvmsVehicleRenaultZoePh2::Ticker10(uint32_t ticker) {
}
}
void OvmsVehicleRenaultZoePh2::Ticker1(uint32_t ticker) {
void OvmsVehicleRenaultZoePh2OBD::Ticker1(uint32_t ticker) {
if (StandardMetrics.ms_v_env_on->AsBool() && !CarIsDriving && !m_UseCarTrip) {
CarIsDriving = true;
//Start trip after power on
@ -379,13 +379,13 @@ void OvmsVehicleRenaultZoePh2::Ticker1(uint32_t ticker) {
}
}
class OvmsVehicleRenaultZoePh2Init {
public: OvmsVehicleRenaultZoePh2Init();
} MyOvmsVehicleRenaultZoePh2Init __attribute__ ((init_priority (9000)));
class OvmsVehicleRenaultZoePh2OBDInit {
public: OvmsVehicleRenaultZoePh2OBDInit();
} MyOvmsVehicleRenaultZoePh2OBDInit __attribute__ ((init_priority (9000)));
OvmsVehicleRenaultZoePh2Init::OvmsVehicleRenaultZoePh2Init()
OvmsVehicleRenaultZoePh2OBDInit::OvmsVehicleRenaultZoePh2OBDInit()
{
ESP_LOGI(TAG, "Registering Vehicle: Renault Zoe Ph2 (9000)");
MyVehicleFactory.RegisterVehicle<OvmsVehicleRenaultZoePh2>("RZ2","Renault Zoe Ph2");
ESP_LOGI(TAG, "Registering Vehicle: Renault Zoe Ph2 (OBD) (9000)");
MyVehicleFactory.RegisterVehicle<OvmsVehicleRenaultZoePh2OBD>("RZ2","Renault Zoe Ph2 (OBD)");
}

View file

@ -23,10 +23,10 @@
; THE SOFTWARE.
*/
#ifndef __VEHICLE_RENAULTZOE_PH2_H__
#define __VEHICLE_RENAULTZOE_PH2_H__
#ifndef __VEHICLE_RENAULTZOE_PH2_OBD_H__
#define __VEHICLE_RENAULTZOE_PH2_OBD_H__
static const char *TAG = "v-zoe-ph2";
static const char *TAG = "v-zoe-ph2-obd";
#include <atomic>
@ -58,11 +58,11 @@ static const char *TAG = "v-zoe-ph2";
using namespace std;
class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
class OvmsVehicleRenaultZoePh2OBD : public OvmsVehicle {
public:
OvmsVehicleRenaultZoePh2();
~OvmsVehicleRenaultZoePh2();
OvmsVehicleRenaultZoePh2OBD();
~OvmsVehicleRenaultZoePh2OBD();
static void WebCfgCommon(PageEntry_t& p, PageContext_t& c);
void ConfigChanged(OvmsConfigParam* param);
void ZoeWakeUp();
@ -133,4 +133,4 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
string zoe_obd_rxbuf;
};
#endif //#ifndef __VEHICLE_RENAULTZOE_PH2_H__
#endif //#ifndef __VEHICLE_RENAULTZOE_PH2_OBD_H__

View file

@ -353,12 +353,12 @@ config OVMS_VEHICLE_CAN_RX_QUEUE_SIZE
help
The size of the CAN bus RX queue (at the vehicle component).
config OVMS_VEHICLE_RENAULTZOE_PH2
bool "Include support for Renault Zoe PH2 vehicles"
config OVMS_VEHICLE_RENAULTZOE_PH2_OBD
bool "Include support for Renault Zoe PH2 vehicles via OBD port (read-only)"
default y
depends on OVMS
help
Enable to include support for Renault Zoe Ph2 vehicles.
Enable to include support for Renault Zoe Ph2 vehicles via OBD port (read-only).
endmenu # Vehicle Support

View file

@ -689,7 +689,7 @@ CONFIG_OVMS_SC_GPL_WOLF=y
# Vehicle Support
#
CONFIG_OVMS_VEHICLE_NONE=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60

View file

@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
# Vehicle Support
#
CONFIG_OVMS_VEHICLE_NONE=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60

View file

@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
# Vehicle Support
#
CONFIG_OVMS_VEHICLE_NONE=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60

View file

@ -660,7 +660,7 @@ CONFIG_OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE=32
# Vehicle Support
#
CONFIG_OVMS_VEHICLE_NONE=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2=y
CONFIG_OVMS_VEHICLE_RENAULTZOE_PH2_OBD=y
CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60

View file

@ -3,36 +3,36 @@ open the door.
No polling was active at this state. Interesting....
Try1:
I (19658504) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5c 9a
I (19658504) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5c 9a
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
Data: 0x00325c9a --> 3300506 x 0.001 -> 3300,506 kWh
I (19659104) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
I (19659104) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
0x9245 Cumulated energy in discharge:CD mode(Zxx_kwh_dch_cd)
Data: 0x00365f6b --> 3563371 x 0.001 -> 3563,371 kWh
I (19659704) v-zoe-ph2: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
I (19659704) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
0x91cf Battery mileage(Zxx_dist_pack_mem)
Data: 0x902993ff --> -1876323329 x 0.03125 --> -58635104,0312 + 67108864 --> 8473759,96875 (Implausible, calculation error or something)
I (19660304) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1b f8 aa aa
I (19660904) v-zoe-ph2: PID:18daf1db DATA: 06 62 91 c1 0c 86 30 aa
I (19660304) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1b f8 aa aa
I (19660904) v-zoe-ph2-obd: PID:18daf1db DATA: 06 62 91 c1 0c 86 30 aa
I (19661504) v-zoe-ph2: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35 - Long ISOTP/UDS Frame 1
I (19661614) v-zoe-ph2: PID:18daf1db DATA: 21 31 30 35 39 32 38 52 - Long ISOTP/UDS Frame 2
I (19661724) v-zoe-ph2: PID:18daf1db DATA: 22 54 46 30 38 38 33 39 - Long ISOTP/UDS Frame 3
I (19661834) v-zoe-ph2: PID:18daf1db DATA: 23 34 46 46 46 46 46 46 - Long ISOTP/UDS Frame 4
I (19661504) v-zoe-ph2-obd: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35 - Long ISOTP/UDS Frame 1
I (19661614) v-zoe-ph2-obd: PID:18daf1db DATA: 21 31 30 35 39 32 38 52 - Long ISOTP/UDS Frame 2
I (19661724) v-zoe-ph2-obd: PID:18daf1db DATA: 22 54 46 30 38 38 33 39 - Long ISOTP/UDS Frame 3
I (19661834) v-zoe-ph2-obd: PID:18daf1db DATA: 23 34 46 46 46 46 46 46 - Long ISOTP/UDS Frame 4
0x901b DataRead.Battery Identification Number (BIN)
0x32393531303539323852544630383833393446464646464646 -- Bytes to ASCII --> 295105928RTF088394FFFFFFF
I (19661944) v-zoe-ph2: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
I (19661944) v-zoe-ph2-obd: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
Try2:
I (20789504) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
I (20789504) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
I (20790104) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
I (20790704) v-zoe-ph2: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
I (20791304) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2f aa aa
I (20791904) v-zoe-ph2: PID:18daf1db DATA: 06 62 91 c1 0c 87 85 aa
I (20792504) v-zoe-ph2: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35
I (20792614) v-zoe-ph2: PID:18daf1db DATA: 21 31 30 35 39 32 38 52
I (20792724) v-zoe-ph2: PID:18daf1db DATA: 22 54 46 30 38 38 33 39
I (20792834) v-zoe-ph2: PID:18daf1db DATA: 23 34 46 46 46 46 46 46
I (20792944) v-zoe-ph2: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa
I (20790104) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 45 00 36 5f 6b
I (20790704) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 91 cf 90 29 93 ff
I (20791304) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2f aa aa
I (20791904) v-zoe-ph2-obd: PID:18daf1db DATA: 06 62 91 c1 0c 87 85 aa
I (20792504) v-zoe-ph2-obd: PID:18daf1db DATA: 10 1c 62 90 1b 32 39 35
I (20792614) v-zoe-ph2-obd: PID:18daf1db DATA: 21 31 30 35 39 32 38 52
I (20792724) v-zoe-ph2-obd: PID:18daf1db DATA: 22 54 46 30 38 38 33 39
I (20792834) v-zoe-ph2-obd: PID:18daf1db DATA: 23 34 46 46 46 46 46 46
I (20792944) v-zoe-ph2-obd: PID:18daf1db DATA: 24 46 aa aa aa aa aa aa

View file

@ -3,48 +3,48 @@ Wallbox (openWB, CP disconnect).
No polling was active at this state. Interesting....
Try1:
I (19804504) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
I (19804504) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
0x9210 Overall number of complete charge(Zxx_full_chg_ctr)
Data: 0x006d --> 109
I (19805104) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 15 00 87 aa aa
I (19805704) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
I (19805804) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (19805914) v-zoe-ph2: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
I (19806024) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
I (19806134) v-zoe-ph2: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
I (19806244) v-zoe-ph2: PID:18daf1db DATA: 25 78 02 9e 03 b6 00 44
I (19806354) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
I (19806464) v-zoe-ph2: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
I (19806904) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
I (19807004) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (19807114) v-zoe-ph2: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
I (19807224) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
I (19807334) v-zoe-ph2: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
I (19807454) v-zoe-ph2: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
I (19807554) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
I (19807664) v-zoe-ph2: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
I (19808104) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1b f7 aa aa
I (19805104) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 15 00 87 aa aa
I (19805704) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
I (19805804) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (19805914) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
I (19806024) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
I (19806134) v-zoe-ph2-obd: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
I (19806244) v-zoe-ph2-obd: PID:18daf1db DATA: 25 78 02 9e 03 b6 00 44
I (19806354) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
I (19806464) v-zoe-ph2-obd: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
I (19806904) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
I (19807004) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (19807114) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
I (19807224) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
I (19807334) v-zoe-ph2-obd: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
I (19807454) v-zoe-ph2-obd: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
I (19807554) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
I (19807664) v-zoe-ph2-obd: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
I (19808104) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1b f7 aa aa
Try2:
I (21284064) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
I (21284664) v-zoe-ph2: PID:18daf1db DATA: 05 62 92 15 00 88 aa aa
I (21285264) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
I (21285374) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (21285484) v-zoe-ph2: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
I (21285594) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
I (21285704) v-zoe-ph2: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
I (21285814) v-zoe-ph2: PID:18daf1db DATA: 25 78 02 9e 03 b7 00 44
I (21285924) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
I (21286034) v-zoe-ph2: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
I (21286474) v-zoe-ph2: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
I (21286574) v-zoe-ph2: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (21286684) v-zoe-ph2: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
I (21286794) v-zoe-ph2: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
I (21286904) v-zoe-ph2: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
I (21287014) v-zoe-ph2: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
I (21287124) v-zoe-ph2: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
I (21287234) v-zoe-ph2: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
I (21287674) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2e aa aa
I (21284064) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 10 00 6d aa aa
I (21284664) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 92 15 00 88 aa aa
I (21285264) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d1 00 00 00
I (21285374) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (21285484) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 0d 00 1e 00 13 00
I (21285594) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 02 01 16 01 86
I (21285704) v-zoe-ph2-obd: PID:18daf1db DATA: 24 02 19 00 31 00 00 01
I (21285814) v-zoe-ph2-obd: PID:18daf1db DATA: 25 78 02 9e 03 b7 00 44
I (21285924) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 02 00 32 00
I (21286034) v-zoe-ph2-obd: PID:18daf1db DATA: 27 13 00 01 00 00 aa aa
I (21286474) v-zoe-ph2-obd: PID:18daf1db DATA: 10 35 62 91 d2 00 00 00
I (21286574) v-zoe-ph2-obd: PID:18daf1db DATA: 21 00 00 00 00 00 00 00
I (21286684) v-zoe-ph2-obd: PID:18daf1db DATA: 22 00 02 00 04 00 02 00
I (21286794) v-zoe-ph2-obd: PID:18daf1db DATA: 23 00 00 00 00 5b 00 a1
I (21286904) v-zoe-ph2-obd: PID:18daf1db DATA: 24 00 b0 00 1d 00 00 00
I (21287014) v-zoe-ph2-obd: PID:18daf1db DATA: 25 bd 01 58 01 ba 00 68
I (21287124) v-zoe-ph2-obd: PID:18daf1db DATA: 26 00 00 00 01 00 0d 00
I (21287234) v-zoe-ph2-obd: PID:18daf1db DATA: 27 02 00 02 00 00 aa aa
I (21287674) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2e aa aa
Wirehshark Dump with ISOTP and UDS decoding:

View file

@ -2,22 +2,22 @@ Zoe was charging while locked and I stopped charging with my wallbox.
No polling was active at this state. Interesting....
Try1:
I (20114294) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
I (20114294) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
0x9243 Cumulated energy in charge (Zxx_kwh_chg)
Data: 0x00325dc9 --> 3300809 x 0.001 -> 3300,809 kWh
I (20114894) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 30 aa aa
I (20114894) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 30 aa aa
0x9001 Battery SOC(Zxx_bsoc_avg)
Data: 0x1c30 --> 7216 --> 72,16%
I (20115494) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
I (20116094) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
I (20150984) v-zoe-ph2: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
I (20115494) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
I (20116094) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
I (20150984) v-zoe-ph2-obd: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
Try2:
I (21594984) v-zoe-ph2: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
I (21634064) v-zoe-ph2: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
I (21634664) v-zoe-ph2: PID:18daf1db DATA: 05 62 90 01 1c 2b aa aa
I (21635264) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
I (21635864) v-zoe-ph2: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
I (21594984) v-zoe-ph2-obd: PID:18daf1da DATA: 06 62 20 06 00 4d d4 aa
I (21634064) v-zoe-ph2-obd: PID:18daf1db DATA: 07 62 92 43 00 32 5d c9
I (21634664) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 90 01 1c 2b aa aa
I (21635264) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bc 03 e8 aa aa
I (21635864) v-zoe-ph2-obd: PID:18daf1db DATA: 05 62 91 bd 03 e8 aa aa
Wirehshark Dump with ISOTP and UDS decoding: