mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-06 12:00:13 +02:00
Add More Battery info for ZoePH2
This commit is contained in:
parent
da5b543ab2
commit
b8b99b5425
3 changed files with 139 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
||||||
#include "../include.h"
|
#include "../include.h"
|
||||||
#ifdef RENAULT_ZOE_GEN2_BATTERY
|
#ifdef RENAULT_ZOE_GEN2_BATTERY
|
||||||
#include "../datalayer/datalayer.h"
|
#include "../datalayer/datalayer.h"
|
||||||
|
#include "../datalayer/datalayer_extended.h" //For "More battery info" webpage
|
||||||
#include "../devboard/utils/events.h"
|
#include "../devboard/utils/events.h"
|
||||||
#include "RENAULT-ZOE-GEN2-BATTERY.h"
|
#include "RENAULT-ZOE-GEN2-BATTERY.h"
|
||||||
|
|
||||||
|
@ -158,6 +159,49 @@ void update_values_battery() { //This function maps all the values fetched via
|
||||||
|
|
||||||
datalayer.battery.status.cell_max_voltage_mV = battery_max_cell_voltage;
|
datalayer.battery.status.cell_max_voltage_mV = battery_max_cell_voltage;
|
||||||
|
|
||||||
|
// Update webserver datalayer
|
||||||
|
datalayer_extended.zoePH2.battery_soc = battery_soc;
|
||||||
|
datalayer_extended.zoePH2.battery_usable_soc = battery_usable_soc;
|
||||||
|
datalayer_extended.zoePH2.battery_soh = battery_soh;
|
||||||
|
datalayer_extended.zoePH2.battery_pack_voltage = battery_pack_voltage;
|
||||||
|
datalayer_extended.zoePH2.battery_max_cell_voltage = battery_max_cell_voltage;
|
||||||
|
datalayer_extended.zoePH2.battery_min_cell_voltage = battery_min_cell_voltage;
|
||||||
|
datalayer_extended.zoePH2.battery_12v = battery_12v;
|
||||||
|
datalayer_extended.zoePH2.battery_avg_temp = battery_avg_temp;
|
||||||
|
datalayer_extended.zoePH2.battery_min_temp = battery_min_temp;
|
||||||
|
datalayer_extended.zoePH2.battery_max_temp = battery_max_temp;
|
||||||
|
datalayer_extended.zoePH2.battery_max_power = battery_max_power;
|
||||||
|
datalayer_extended.zoePH2.battery_interlock = battery_interlock;
|
||||||
|
datalayer_extended.zoePH2.battery_kwh = battery_kwh;
|
||||||
|
datalayer_extended.zoePH2.battery_current = battery_current;
|
||||||
|
datalayer_extended.zoePH2.battery_current_offset = battery_current_offset;
|
||||||
|
datalayer_extended.zoePH2.battery_max_generated = battery_max_generated;
|
||||||
|
datalayer_extended.zoePH2.battery_max_available = battery_max_available;
|
||||||
|
datalayer_extended.zoePH2.battery_current_voltage = battery_current_voltage;
|
||||||
|
datalayer_extended.zoePH2.battery_charging_status = battery_charging_status;
|
||||||
|
datalayer_extended.zoePH2.battery_remaining_charge = battery_remaining_charge;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_capacity_total = battery_balance_capacity_total;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_time_total = battery_balance_time_total;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_capacity_sleep = battery_balance_capacity_sleep;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_time_sleep = battery_balance_time_sleep;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_capacity_wake = battery_balance_capacity_wake;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_time_wake = battery_balance_time_wake;
|
||||||
|
datalayer_extended.zoePH2.battery_bms_state = battery_bms_state;
|
||||||
|
datalayer_extended.zoePH2.battery_balance_switches = battery_balance_switches;
|
||||||
|
datalayer_extended.zoePH2.battery_energy_complete = battery_energy_complete;
|
||||||
|
datalayer_extended.zoePH2.battery_energy_partial = battery_energy_partial;
|
||||||
|
datalayer_extended.zoePH2.battery_slave_failures = battery_slave_failures;
|
||||||
|
datalayer_extended.zoePH2.battery_mileage = battery_mileage;
|
||||||
|
datalayer_extended.zoePH2.battery_fan_speed = battery_fan_speed;
|
||||||
|
datalayer_extended.zoePH2.battery_fan_period = battery_fan_period;
|
||||||
|
datalayer_extended.zoePH2.battery_fan_control = battery_fan_control;
|
||||||
|
datalayer_extended.zoePH2.battery_fan_duty = battery_fan_duty;
|
||||||
|
datalayer_extended.zoePH2.battery_temporisation = battery_temporisation;
|
||||||
|
datalayer_extended.zoePH2.battery_time = battery_time;
|
||||||
|
datalayer_extended.zoePH2.battery_pack_time = battery_pack_time;
|
||||||
|
datalayer_extended.zoePH2.battery_soc_min = battery_soc_min;
|
||||||
|
datalayer_extended.zoePH2.battery_soc_max = battery_soc_max;
|
||||||
|
|
||||||
#ifdef DEBUG_VIA_USB
|
#ifdef DEBUG_VIA_USB
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -135,12 +135,59 @@ typedef struct {
|
||||||
|
|
||||||
} DATALAYER_INFO_NISSAN_LEAF;
|
} DATALAYER_INFO_NISSAN_LEAF;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/** uint16_t */
|
||||||
|
/** Values WIP*/
|
||||||
|
uint16_t battery_soc = 0;
|
||||||
|
uint16_t battery_usable_soc = 0;
|
||||||
|
uint16_t battery_soh = 0;
|
||||||
|
uint16_t battery_pack_voltage = 0;
|
||||||
|
uint16_t battery_max_cell_voltage = 0;
|
||||||
|
uint16_t battery_min_cell_voltage = 0;
|
||||||
|
uint16_t battery_12v = 0;
|
||||||
|
uint16_t battery_avg_temp = 0;
|
||||||
|
uint16_t battery_min_temp = 0;
|
||||||
|
uint16_t battery_max_temp = 0;
|
||||||
|
uint16_t battery_max_power = 0;
|
||||||
|
uint16_t battery_interlock = 0;
|
||||||
|
uint16_t battery_kwh = 0;
|
||||||
|
uint16_t battery_current = 0;
|
||||||
|
uint16_t battery_current_offset = 0;
|
||||||
|
uint16_t battery_max_generated = 0;
|
||||||
|
uint16_t battery_max_available = 0;
|
||||||
|
uint16_t battery_current_voltage = 0;
|
||||||
|
uint16_t battery_charging_status = 0;
|
||||||
|
uint16_t battery_remaining_charge = 0;
|
||||||
|
uint16_t battery_balance_capacity_total = 0;
|
||||||
|
uint16_t battery_balance_time_total = 0;
|
||||||
|
uint16_t battery_balance_capacity_sleep = 0;
|
||||||
|
uint16_t battery_balance_time_sleep = 0;
|
||||||
|
uint16_t battery_balance_capacity_wake = 0;
|
||||||
|
uint16_t battery_balance_time_wake = 0;
|
||||||
|
uint16_t battery_bms_state = 0;
|
||||||
|
uint16_t battery_balance_switches = 0;
|
||||||
|
uint16_t battery_energy_complete = 0;
|
||||||
|
uint16_t battery_energy_partial = 0;
|
||||||
|
uint16_t battery_slave_failures = 0;
|
||||||
|
uint16_t battery_mileage = 0;
|
||||||
|
uint16_t battery_fan_speed = 0;
|
||||||
|
uint16_t battery_fan_period = 0;
|
||||||
|
uint16_t battery_fan_control = 0;
|
||||||
|
uint16_t battery_fan_duty = 0;
|
||||||
|
uint16_t battery_temporisation = 0;
|
||||||
|
uint16_t battery_time = 0;
|
||||||
|
uint16_t battery_pack_time = 0;
|
||||||
|
uint16_t battery_soc_min = 0;
|
||||||
|
uint16_t battery_soc_max = 0;
|
||||||
|
} DATALAYER_INFO_ZOE_PH2;
|
||||||
|
|
||||||
class DataLayerExtended {
|
class DataLayerExtended {
|
||||||
public:
|
public:
|
||||||
DATALAYER_INFO_BMWI3 bmwi3;
|
DATALAYER_INFO_BMWI3 bmwi3;
|
||||||
DATALAYER_INFO_BYDATTO3 bydAtto3;
|
DATALAYER_INFO_BYDATTO3 bydAtto3;
|
||||||
DATALAYER_INFO_TESLA tesla;
|
DATALAYER_INFO_TESLA tesla;
|
||||||
DATALAYER_INFO_NISSAN_LEAF nissanleaf;
|
DATALAYER_INFO_NISSAN_LEAF nissanleaf;
|
||||||
|
DATALAYER_INFO_ZOE_PH2 zoePH2;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern DataLayerExtended datalayer_extended;
|
extern DataLayerExtended datalayer_extended;
|
||||||
|
|
|
@ -159,8 +159,55 @@ String advanced_battery_processor(const String& var) {
|
||||||
content += "<h4>Heating requested: " + String(datalayer_extended.nissanleaf.HeaterSendRequest) + "</h4>";
|
content += "<h4>Heating requested: " + String(datalayer_extended.nissanleaf.HeaterSendRequest) + "</h4>";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef RENAULT_ZOE_GEN2_BATTERY
|
||||||
|
content += "<h4>soc: " + String(datalayer_extended.zoePH2.battery_soc) + "</h4>";
|
||||||
|
content += "<h4>usable soc: " + String(datalayer_extended.zoePH2.battery_usable_soc) + "</h4>";
|
||||||
|
content += "<h4>soh: " + String(datalayer_extended.zoePH2.battery_soh) + "</h4>";
|
||||||
|
content += "<h4>pack voltage: " + String(datalayer_extended.zoePH2.battery_pack_voltage) + "</h4>";
|
||||||
|
content += "<h4>max cell voltage: " + String(datalayer_extended.zoePH2.battery_max_cell_voltage) + "</h4>";
|
||||||
|
content += "<h4>min cell voltage: " + String(datalayer_extended.zoePH2.battery_min_cell_voltage) + "</h4>";
|
||||||
|
content += "<h4>12v: " + String(datalayer_extended.zoePH2.battery_12v) + "</h4>";
|
||||||
|
content += "<h4>avg temp: " + String(datalayer_extended.zoePH2.battery_avg_temp) + "</h4>";
|
||||||
|
content += "<h4>min temp: " + String(datalayer_extended.zoePH2.battery_min_temp) + "</h4>";
|
||||||
|
content += "<h4>max temp: " + String(datalayer_extended.zoePH2.battery_max_temp) + "</h4>";
|
||||||
|
content += "<h4>max power: " + String(datalayer_extended.zoePH2.battery_max_power) + "</h4>";
|
||||||
|
content += "<h4>interlock: " + String(datalayer_extended.zoePH2.battery_interlock) + "</h4>";
|
||||||
|
content += "<h4>kwh: " + String(datalayer_extended.zoePH2.battery_kwh) + "</h4>";
|
||||||
|
content += "<h4>current: " + String(datalayer_extended.zoePH2.battery_current) + "</h4>";
|
||||||
|
content += "<h4>current offset: " + String(datalayer_extended.zoePH2.battery_current_offset) + "</h4>";
|
||||||
|
content += "<h4>max generated: " + String(datalayer_extended.zoePH2.battery_max_generated) + "</h4>";
|
||||||
|
content += "<h4>max available: " + String(datalayer_extended.zoePH2.battery_max_available) + "</h4>";
|
||||||
|
content += "<h4>current voltage: " + String(datalayer_extended.zoePH2.battery_current_voltage) + "</h4>";
|
||||||
|
content += "<h4>charging status: " + String(datalayer_extended.zoePH2.battery_charging_status) + "</h4>";
|
||||||
|
content += "<h4>remaining charge: " + String(datalayer_extended.zoePH2.battery_remaining_charge) + "</h4>";
|
||||||
|
content +=
|
||||||
|
"<h4>balance capacity total: " + String(datalayer_extended.zoePH2.battery_balance_capacity_total) + "</h4>";
|
||||||
|
content += "<h4>balance time total: " + String(datalayer_extended.zoePH2.battery_balance_time_total) + "</h4>";
|
||||||
|
content +=
|
||||||
|
"<h4>balance capacity sleep: " + String(datalayer_extended.zoePH2.battery_balance_capacity_sleep) + "</h4>";
|
||||||
|
content += "<h4>balance time sleep: " + String(datalayer_extended.zoePH2.battery_balance_time_sleep) + "</h4>";
|
||||||
|
content +=
|
||||||
|
"<h4>balance capacity wake: " + String(datalayer_extended.zoePH2.battery_balance_capacity_wake) + "</h4>";
|
||||||
|
content += "<h4>balance time wake: " + String(datalayer_extended.zoePH2.battery_balance_time_wake) + "</h4>";
|
||||||
|
content += "<h4>bms state: " + String(datalayer_extended.zoePH2.battery_bms_state) + "</h4>";
|
||||||
|
content += "<h4>balance switches: " + String(datalayer_extended.zoePH2.battery_balance_switches) + "</h4>";
|
||||||
|
content += "<h4>energy complete: " + String(datalayer_extended.zoePH2.battery_energy_complete) + "</h4>";
|
||||||
|
content += "<h4>energy partial: " + String(datalayer_extended.zoePH2.battery_energy_partial) + "</h4>";
|
||||||
|
content += "<h4>slave failures: " + String(datalayer_extended.zoePH2.battery_slave_failures) + "</h4>";
|
||||||
|
content += "<h4>mileage: " + String(datalayer_extended.zoePH2.battery_mileage) + "</h4>";
|
||||||
|
content += "<h4>fan speed: " + String(datalayer_extended.zoePH2.battery_fan_speed) + "</h4>";
|
||||||
|
content += "<h4>fan period: " + String(datalayer_extended.zoePH2.battery_fan_period) + "</h4>";
|
||||||
|
content += "<h4>fan control: " + String(datalayer_extended.zoePH2.battery_fan_control) + "</h4>";
|
||||||
|
content += "<h4>fan duty: " + String(datalayer_extended.zoePH2.battery_fan_duty) + "</h4>";
|
||||||
|
content += "<h4>temporisation: " + String(datalayer_extended.zoePH2.battery_temporisation) + "</h4>";
|
||||||
|
content += "<h4>time: " + String(datalayer_extended.zoePH2.battery_time) + "</h4>";
|
||||||
|
content += "<h4>pack time: " + String(datalayer_extended.zoePH2.battery_pack_time) + "</h4>";
|
||||||
|
content += "<h4>soc min: " + String(datalayer_extended.zoePH2.battery_soc_min) + "</h4>";
|
||||||
|
content += "<h4>soc max: " + String(datalayer_extended.zoePH2.battery_soc_max) + "</h4>";
|
||||||
|
#endif //RENAULT_ZOE_GEN2_BATTERY
|
||||||
|
|
||||||
#if !defined(TESLA_BATTERY) && !defined(NISSAN_LEAF_BATTERY) && !defined(BMW_I3_BATTERY) && \
|
#if !defined(TESLA_BATTERY) && !defined(NISSAN_LEAF_BATTERY) && !defined(BMW_I3_BATTERY) && \
|
||||||
!defined(BYD_ATTO_3_BATTERY) //Only the listed types have extra info
|
!defined(BYD_ATTO_3_BATTERY) && !defined(RENAULT_ZOE_GEN2_BATTERY) //Only the listed types have extra info
|
||||||
content += "No extra information available for this battery type";
|
content += "No extra information available for this battery type";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue