Fix web settings

This commit is contained in:
Carsten Schmiemann 2022-04-19 23:34:11 +02:00
parent 449874caa7
commit 0323fc19fe
3 changed files with 22 additions and 12 deletions

View File

@ -43,7 +43,7 @@ using namespace std;
#define _attr(text) (c.encode_html(text).c_str())
#define _html(text) (c.encode_html(text).c_str())
void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
void OvmsVehicleRenaultZoePh2::WebCfgCommon(PageEntry_t& p, PageContext_t& c)
{
std::string error, rangeideal, battcapacity;
bool UseCarTrip;
@ -118,9 +118,8 @@ void OvmsVehicleRenaultZoePh2::WebCfgBattery(PageEntry_t& p, PageContext_t& c)
*/
void OvmsVehicleRenaultZoePh2::WebInit()
{
MyWebServer.RegisterPage("/xrz2/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
MyWebServer.RegisterPage("/xrz2/battery", "Battery config", WebCfgBattery, PageMenu_Vehicle, PageAuth_Cookie);
ESP_LOGI(TAG, "Register BMS Web Page");
MyWebServer.RegisterPage("/xrz2/battmon", "BMS View", OvmsWebServer::HandleBmsCellMonitor, PageMenu_Vehicle, PageAuth_Cookie);
MyWebServer.RegisterPage("/xrz2/settings", "Setup", WebCfgCommon, PageMenu_Vehicle, PageAuth_Cookie);
}
/**
@ -130,7 +129,6 @@ void OvmsVehicleRenaultZoePh2::WebDeInit()
{
MyWebServer.DeregisterPage("/xrz2/battmon");
MyWebServer.DeregisterPage("/xrz2/battery");
ESP_LOGI(TAG, "De-Register BMS Web Page");
}

View File

@ -53,6 +53,11 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
StandardMetrics.ms_v_charge_substate->SetValue("stopped");
StandardMetrics.ms_v_env_on->SetValue(false);
MyConfig.RegisterParam("xrz2", "rangeideal", true, true);
MyConfig.RegisterParam("xrz2", "battcapacity", true, true);
MyConfig.RegisterParam("xrz2", "UseCarTrip", true, true);
WebCfgParams(NULL);
// Init Zoe Ph2 OBD Connection (CAN Gateway)
RegisterCanBus(1, CAN_MODE_ACTIVE, CAN_SPEED_500KBPS);
@ -84,12 +89,6 @@ OvmsVehicleRenaultZoePh2::OvmsVehicleRenaultZoePh2() {
mt_hvac_compressor_mode = MyMetrics.InitString("zph2.h.compressor.mode", SM_STALE_MID, 0);
mt_pos_car_trip = MyMetrics.InitFloat("zph2.v.pos.car.trip", SM_STALE_NONE, 0, Kilometers);
// 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);
StandardMetrics.ms_v_bat_range_ideal->SetValue(m_range_ideal, Kilometers);
// BMS configuration:
BmsSetCellArrangementVoltage(96, 1);
BmsSetCellArrangementTemperature(12, 1);
@ -107,6 +106,18 @@ OvmsVehicleRenaultZoePh2::~OvmsVehicleRenaultZoePh2() {
ESP_LOGI(TAG, "Stop Renault Zoe Ph2 vehicle module");
}
void OvmsVehicleRenaultZoePh2::WebCfgParams(OvmsConfigParam* param) {
if (param && param->GetName() != "xrz2")
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);
StandardMetrics.ms_v_bat_range_ideal->SetValue(m_range_ideal, Kilometers);
ESP_LOGI(TAG, "Renault Zoe Ph2 reload configuration: Range ideal: %d, Battery capacity: %d", m_range_ideal, m_battery_capacity);
}
/**
* Handles incoming CAN-frames on bus 1
*/

View File

@ -63,7 +63,8 @@ class OvmsVehicleRenaultZoePh2 : public OvmsVehicle {
public:
OvmsVehicleRenaultZoePh2();
~OvmsVehicleRenaultZoePh2();
static void WebCfgBattery(PageEntry_t& p, PageContext_t& c);
static void WebCfgCommon(PageEntry_t& p, PageContext_t& c);
void WebCfgParams(OvmsConfigParam* param);
void IncomingFrameCan1(CAN_frame_t* p_frame);
void IncomingPollReply(canbus* bus, uint16_t type, uint16_t pid, uint8_t* data, uint8_t length, uint16_t remain);
void WebInit();