OVMS3/OVMS.V3/components/vehicle_bmwi3/ecu_definitions/ecu_sme_code.cpp

10011 lines
750 KiB
C++

//
// Warning: don't edit - generated by generate_ecu_code.pl processing ../dev/sme_i1.json: SME 07: Battery management electronics
// This generated code makes it easier to process CANBUS messages from the SME ecu in a BMW i3
//
case I3_PID_SME_ALTERUNG_INNENWIDERSTAND_TS: { // 0x6334
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_INNENWIDERSTAND_TS", 4);
break;
}
unsigned long STAT_ALTERUNG_INNENWIDERSTAND_WERT = (RXBUF_UINT32(0));
// Aging of the internal resistance in percent: Internal resistance of the storage tank when new is related to
// the current value of the internal resistance (R_neu / R_akt) * 100 (100% = new condition, decreases with
// aging) / Alterung des Innenwiderstands in Prozent: Innenwiderstand des Speichers im Neuzustand auf den
// aktuellen Wert des Innenwiderstands bezogen (R_neu /R_akt) *100 (100% = Neuzustand, sinkt mit Alterung)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_INNENWIDERSTAND_TS", "STAT_ALTERUNG_INNENWIDERSTAND_WERT", STAT_ALTERUNG_INNENWIDERSTAND_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_KAPAZITAET_TS: { // 0x6335
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_KAPAZITAET_TS", 4);
break;
}
unsigned long STAT_ALTERUNG_KAPAZITAET_WERT = (RXBUF_UINT32(0));
// Remaining capacity of the memory / Restkapazitaet des Speichers
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_TS", "STAT_ALTERUNG_KAPAZITAET_WERT", STAT_ALTERUNG_KAPAZITAET_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME__ST_SYM_MODUS: { // 0x6516
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME__ST_SYM_MODUS", 1);
break;
}
unsigned char STAT_SYM_MODUS = (RXBUF_UCHAR(0));
// Status of the balancing / Status der Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "_ST_SYM_MODUS", "STAT_SYM_MODUS", STAT_SYM_MODUS, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME__UEBERLAST_ZAHELER: { // 0x651D
if (datalen < 16) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME__UEBERLAST_ZAHELER", 16);
break;
}
unsigned short STAT_OVERLOAD_K1_WERT = (RXBUF_UINT(0));
// Overload counter contactor K1 / Überlastzähler Schütz K1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_K1_WERT", STAT_OVERLOAD_K1_WERT, "");
unsigned short STAT_OVERLOAD_K2_WERT = (RXBUF_UINT(2));
// Overload counter contactor K2 / Überlastzähler Schütz K2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_K2_WERT", STAT_OVERLOAD_K2_WERT, "");
unsigned short STAT_OVERLOAD_K3_WERT = (RXBUF_UINT(4));
// Overload counter contactor K3 / Überlastzähler Schütz K3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_K3_WERT", STAT_OVERLOAD_K3_WERT, "");
unsigned short STAT_OVERLOAD_COOLING_VALVE_WERT = (RXBUF_UINT(6));
// Overload counter cooling valve / Überlastzähler Kühlventil
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_COOLING_VALVE_WERT", STAT_OVERLOAD_COOLING_VALVE_WERT, "");
unsigned short STAT_OVERLOAD_CSC_SUPPLY_WERT = (RXBUF_UINT(8));
// Overload counter CSC supply / Überlastzähler CSC Versorgung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_CSC_SUPPLY_WERT", STAT_OVERLOAD_CSC_SUPPLY_WERT, "");
unsigned short STAT_OVERLOAD_ISENS_WERT = (RXBUF_UINT(10));
// Overload counter current sensor / Überlastzähler Stromsensor
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_ISENS_WERT", STAT_OVERLOAD_ISENS_WERT, "");
unsigned short STAT_OVERLOAD_COOLING_PUMP_WERT = (RXBUF_UINT(12));
// Coolant pump overload counter / Überlastzähler Kühlmittelpumpe
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_COOLING_PUMP_WERT", STAT_OVERLOAD_COOLING_PUMP_WERT, "");
unsigned short STAT_OVERLOAD_HEATING_WERT = (RXBUF_UINT(14));
// Overload counter heating / Überlastzähler Heizung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "_UEBERLAST_ZAHELER", "STAT_OVERLOAD_HEATING_WERT", STAT_OVERLOAD_HEATING_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME__STATUS_UEBERNAHME_KAPATEST_NV: { // 0x6526
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME__STATUS_UEBERNAHME_KAPATEST_NV", 1);
break;
}
unsigned char STAT_UEBERNAHME_KAPATEST_NV = (RXBUF_UCHAR(0));
// Current setting of the transfer of the results of a capacity test to the SoH_C estimator (0: no transfer, 1:
// transfer (standard)) / Aktuelle Einstellung der Ergebnisübertragung eines Kapazitätstests in den
// SoH_C-Schätzer (0: keine Übernahme, 1: Übernahme (standard))
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "_STATUS_UEBERNAHME_KAPATEST_NV", "STAT_UEBERNAHME_KAPATEST_NV", STAT_UEBERNAHME_KAPATEST_NV, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISOLATIONSWIDERSTAND_KOMMUNIKATION: { // 0xAD5E
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISOLATIONSWIDERSTAND_KOMMUNIKATION", 1);
break;
}
unsigned char STAT_KOMMUNIKATION_AVL_ISRE = (RXBUF_UCHAR(0));
// Current send status AVL_ISRE (0 = signal is not sent, 1 = signal is sent on the vehicle bus) / Aktueller
// Sendestatus AVL_ISRE (0 = Signal wird nicht gesendet, 1 = Signal wird auf Fahrzeugbus gesendet)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATIONSWIDERSTAND_KOMMUNIKATION", "STAT_KOMMUNIKATION_AVL_ISRE", STAT_KOMMUNIKATION_AVL_ISRE, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISOLATION: { // 0xAD61
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISOLATION", 2);
break;
}
unsigned char STAT_MESSUNG_ERFOLGREICH = (RXBUF_UCHAR(0));
// Current state of insulation measurement / aktueller Zustand Isolationsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATION", "STAT_MESSUNG_ERFOLGREICH", STAT_MESSUNG_ERFOLGREICH, "\"0-n\"");
unsigned char STAT_MESSUNG_ISOLATIONSFEHLER = (RXBUF_UCHAR(1));
// current state of the insulation fault / aktueller Zustand des Isolationsfehlers
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATION", "STAT_MESSUNG_ISOLATIONSFEHLER", STAT_MESSUNG_ISOLATIONSFEHLER, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KAPAZITAET_BESTIMMUNG: { // 0xAD66
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KAPAZITAET_BESTIMMUNG", 2);
break;
}
unsigned char STAT_KAPAZITAET_WERT = (RXBUF_UCHAR(0));
// Estimated capacity value in% (value range 0-100%) based on nominal capacity / Kapazitätsschätzwert in %
// (Wertebereich 0-100%) bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KAPAZITAET_BESTIMMUNG", "STAT_KAPAZITAET_WERT", STAT_KAPAZITAET_WERT, "\"%\"");
unsigned char STAT_AKTUELLER_ZUSTAND_NR = (RXBUF_UCHAR(1));
// Return Determination is running, successful or ended with an error / Rückgabe Ermittlung läuft, erfolgreich
// oder mit Fehler beendet
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KAPAZITAET_BESTIMMUNG", "STAT_AKTUELLER_ZUSTAND_NR", STAT_AKTUELLER_ZUSTAND_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HEIZUNG: { // 0xAD6A
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HEIZUNG", 1);
break;
}
unsigned char STAT_HEIZUNG_AKTIV_NR = (RXBUF_UCHAR(0));
// State of the heating / Zustand der Heizung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HEIZUNG", "STAT_HEIZUNG_AKTIV_NR", STAT_HEIZUNG_AKTIV_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SYMMETRIERUNG: { // 0xAD6B
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SYMMETRIERUNG", 1);
break;
}
unsigned char STAT_SYM = (RXBUF_UCHAR(0));
// Status of the balancing / Status der Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SYMMETRIERUNG", "STAT_SYM", STAT_SYM, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HEIZUNG_FUNKTION: { // 0xAD73
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HEIZUNG_FUNKTION", 1);
break;
}
unsigned char STAT_HEIZUNG_FUNKTION_NR = (RXBUF_UCHAR(0));
// Result of the functional heating diagnosis / Ergebniss der funktionalen Heizungsdiagnose
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HEIZUNG_FUNKTION", "STAT_HEIZUNG_FUNKTION_NR", STAT_HEIZUNG_FUNKTION_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_SOC_REKALIBRIERUNG: { // 0xD4C5
if (datalen < 255) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_SOC_REKALIBRIERUNG", 255);
break;
}
unsigned char STAT_GRUND_REKAL_1 = (RXBUF_UCHAR(0));
// Reason for SOC recalibration-1 / Grund der SOC Rekaibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_GRUND_REKAL_1", STAT_GRUND_REKAL_1, "\"0-n\"");
unsigned long STAT_ZEITPUNKT_REKAL_1_WERT = (RXBUF_UINT32(1));
// Time (SME time) of recalibration-1 / Zeitpunkt (SME-Zeit) der Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_ZEITPUNKT_REKAL_1_WERT", STAT_ZEITPUNKT_REKAL_1_WERT, "\"s\"");
unsigned long STAT_HVOFFTIME_REKAL_1_WERT = (RXBUF_UINT32(5));
// Duration during which the shooters were last open-1 / Dauer, während die Schütze letzmalig geöffnet waren-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_HVOFFTIME_REKAL_1_WERT", STAT_HVOFFTIME_REKAL_1_WERT, "\"s\"");
char STAT_TEMP_MESS_MEAN_VOR_1_WERT = (RXBUF_SCHAR(9));
// Average measuring temperature at HVS level BEFORE recalibration-1 / Mittlere Messtemperatur auf HVS-Ebene VOR
// Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_VOR_1_WERT", STAT_TEMP_MESS_MEAN_VOR_1_WERT, "\"°C\"");
char STAT_TEMP_MESS_MEAN_NACH_1_WERT = (RXBUF_SCHAR(10));
// Mean measurement temperature at HVS level AFTER recalibration-1 / Mittlere Messtemperatur auf HVS-Ebene NACH
// Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_NACH_1_WERT", STAT_TEMP_MESS_MEAN_NACH_1_WERT, "\"°C\"");
float STAT_UCEL_MIN_1_WERT = (RXBUF_UINT(11)/1000.0f);
// Minimum measured cell voltage. If OCV reached == U_init SONST == Uakt-1 / Minimale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MIN_1_WERT", STAT_UCEL_MIN_1_WERT, "\"V\"");
float STAT_UCEL_MAX_1_WERT = (RXBUF_UINT(13)/1000.0f);
// Maximum measured cell voltage. If OCV reached == U_init SONST == Uakt-1 / Maximale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MAX_1_WERT", STAT_UCEL_MAX_1_WERT, "\"V\"");
float STAT_UCEL_MEAN_1_WERT = (RXBUF_UINT(15)/1000.0f);
// Mean measured cell voltage. If OCV reached == U_init SONST == Uakt-1 / Mittlere gemessene Zellspannung. Wenn
// OCV reached == U_init SONST == Uakt-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MEAN_1_WERT", STAT_UCEL_MEAN_1_WERT, "\"V\"");
float STAT_SOC_MIN_NENN_VOR_1_WERT = (RXBUF_UINT(17)/100.0f);
// Minimum nominal SOC BEFORE recalibration-1 / Minimaler NennSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_VOR_1_WERT", STAT_SOC_MIN_NENN_VOR_1_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_VOR_1_WERT = (RXBUF_UINT(19)/100.0f);
// Maximum nominal SOC BEFORE recalibration-1 / Maximaler NennSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_VOR_1_WERT", STAT_SOC_MAX_NENN_VOR_1_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_VOR_1_WERT = (RXBUF_UINT(21)/100.0f);
// Average nominal SOC BEFORE recalibration -1 / Mittlerer NennSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_VOR_1_WERT", STAT_SOC_MEAN_NENN_VOR_1_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_NACH_1_WERT = (RXBUF_UINT(23)/100.0f);
// Minimum nominal SOC AFTER recalibration-1 / Minimaler NennSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_NACH_1_WERT", STAT_SOC_MIN_NENN_NACH_1_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_NACH_1_WERT = (RXBUF_UINT(25)/100.0f);
// Maximum nominal SOC AFTER recalibration-1 / Maximaler NennSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_NACH_1_WERT", STAT_SOC_MAX_NENN_NACH_1_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_NACH_1_WERT = (RXBUF_UINT(27)/100.0f);
// Average nominal SOC AFTER recalibration -1 / Mittlerer NennSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_NACH_1_WERT", STAT_SOC_MEAN_NENN_NACH_1_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_VOR_1_WERT = (RXBUF_UINT(29)/100.0f);
// Minimum AktSOC BEFORE recalibration-1 / Minimaler AktSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_VOR_1_WERT", STAT_SOC_MIN_AKT_VOR_1_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_VOR_1_WERT = (RXBUF_UINT(31)/100.0f);
// Maximum AktSOC BEFORE recalibration-1 / Maximaler AktSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_VOR_1_WERT", STAT_SOC_MAX_AKT_VOR_1_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_VOR_1_WERT = (RXBUF_UINT(33)/100.0f);
// Mean ActSOC BEFORE recalibration-1 / Mittlerer AktSOC VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_VOR_1_WERT", STAT_SOC_MEAN_AKT_VOR_1_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_NACH_1_WERT = (RXBUF_UINT(35)/100.0f);
// Minimum AktSOC AFTER recalibration-1 / Minimaler AktSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_NACH_1_WERT", STAT_SOC_MIN_AKT_NACH_1_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_NACH_1_WERT = (RXBUF_UINT(37)/100.0f);
// Maximum AktSOC AFTER recalibration-1 / Maximaler AktSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_NACH_1_WERT", STAT_SOC_MAX_AKT_NACH_1_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_NACH_1_WERT = (RXBUF_UINT(39)/100.0f);
// Mean ActSOC AFTER recalibration -1 / Mittlerer AktSOC NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_NACH_1_WERT", STAT_SOC_MEAN_AKT_NACH_1_WERT, "\"%\"");
float STAT_SOH_MIN_1_WERT = (RXBUF_UINT(41)/100.0f);
// Minimum SOH at the time of recalibration-1 / Minimaler SOH zum Zeitpunkt der Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MIN_1_WERT", STAT_SOH_MIN_1_WERT, "\"%\"");
float STAT_SOH_MAX_1_WERT = (RXBUF_UINT(43)/100.0f);
// Maximum SOH at the time of recalibration-1 / Maximaler SOH zum Zeitpunkt der Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MAX_1_WERT", STAT_SOH_MAX_1_WERT, "\"%\"");
float STAT_SOH_MEAN_1_WERT = (RXBUF_UINT(45)/100.0f);
// Mean SOH at the time of recalibration-1 / Mittlerer SOH zum Zeitpunkt der Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MEAN_1_WERT", STAT_SOH_MEAN_1_WERT, "\"%\"");
float STAT_SOC_BAND_VOR_1_WERT = (RXBUF_UINT(47)/100.0f);
// SOC bandwidth BEFORE recalibration-1 / SOC Bandbreite VOR Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_VOR_1_WERT", STAT_SOC_BAND_VOR_1_WERT, "\"%\"");
float STAT_SOC_BAND_NACH_1_WERT = (RXBUF_UINT(49)/100.0f);
// SOC bandwidth AFTER recalibration-1 / SOC Bandbreite NACH Rekalibrierung-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_NACH_1_WERT", STAT_SOC_BAND_NACH_1_WERT, "\"%\"");
unsigned char STAT_GRUND_REKAL_2 = (RXBUF_UCHAR(51));
// Reason for SOC recalibration-2 / Grund der SOC Rekaibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_GRUND_REKAL_2", STAT_GRUND_REKAL_2, "\"0-n\"");
unsigned long STAT_ZEITPUNKT_REKAL_2_WERT = (RXBUF_UINT32(52));
// Time (SME time) of recalibration-2 / Zeitpunkt (SME-Zeit) der Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_ZEITPUNKT_REKAL_2_WERT", STAT_ZEITPUNKT_REKAL_2_WERT, "\"s\"");
unsigned long STAT_HVOFFTIME_REKAL_2_WERT = (RXBUF_UINT32(56));
// Duration while the shooters were open for the last time-2 / Dauer, während die Schütze letzmalig geöffnet
// waren-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_HVOFFTIME_REKAL_2_WERT", STAT_HVOFFTIME_REKAL_2_WERT, "\"s\"");
char STAT_TEMP_MESS_MEAN_VOR_2_WERT = (RXBUF_SCHAR(60));
// Average measuring temperature at HVS level BEFORE recalibration-2 / Mittlere Messtemperatur auf HVS-Ebene VOR
// Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_VOR_2_WERT", STAT_TEMP_MESS_MEAN_VOR_2_WERT, "\"°C\"");
char STAT_TEMP_MESS_MEAN_NACH_2_WERT = (RXBUF_SCHAR(61));
// Mean measurement temperature at HVS level AFTER recalibration-2 / Mittlere Messtemperatur auf HVS-Ebene NACH
// Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_NACH_2_WERT", STAT_TEMP_MESS_MEAN_NACH_2_WERT, "\"°C\"");
float STAT_UCEL_MIN_2_WERT = (RXBUF_UINT(62)/1000.0f);
// Minimum measured cell voltage. If OCV reached == U_init SONST == Uakt-2 / Minimale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MIN_2_WERT", STAT_UCEL_MIN_2_WERT, "\"V\"");
float STAT_UCEL_MAX_2_WERT = (RXBUF_UINT(64)/1000.0f);
// Maximum measured cell voltage. If OCV reached == U_init SONST == Uakt-2 / Maximale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MAX_2_WERT", STAT_UCEL_MAX_2_WERT, "\"V\"");
float STAT_UCEL_MEAN_2_WERT = (RXBUF_UINT(66)/1000.0f);
// Mean measured cell voltage. If OCV reached == U_init SONST == Uakt-2 / Mittlere gemessene Zellspannung. Wenn
// OCV reached == U_init SONST == Uakt-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MEAN_2_WERT", STAT_UCEL_MEAN_2_WERT, "\"V\"");
float STAT_SOC_MIN_NENN_VOR_2_WERT = (RXBUF_UINT(68)/100.0f);
// Minimum nominal SOC BEFORE recalibration-2 / Minimaler NennSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_VOR_2_WERT", STAT_SOC_MIN_NENN_VOR_2_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_VOR_2_WERT = (RXBUF_UINT(70)/100.0f);
// Maximum nominal SOC BEFORE recalibration-2 / Maximaler NennSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_VOR_2_WERT", STAT_SOC_MAX_NENN_VOR_2_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_VOR_2_WERT = (RXBUF_UINT(72)/100.0f);
// Average nominal SOC BEFORE recalibration-2 / Mittlerer NennSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_VOR_2_WERT", STAT_SOC_MEAN_NENN_VOR_2_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_NACH_2_WERT = (RXBUF_UINT(74)/100.0f);
// Minimum nominal SOC AFTER recalibration-2 / Minimaler NennSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_NACH_2_WERT", STAT_SOC_MIN_NENN_NACH_2_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_NACH_2_WERT = (RXBUF_UINT(76)/100.0f);
// Maximum nominal SOC AFTER recalibration-2 / Maximaler NennSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_NACH_2_WERT", STAT_SOC_MAX_NENN_NACH_2_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_NACH_2_WERT = (RXBUF_UINT(78)/100.0f);
// Average nominal SOC AFTER recalibration-2 / Mittlerer NennSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_NACH_2_WERT", STAT_SOC_MEAN_NENN_NACH_2_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_VOR_2_WERT = (RXBUF_UINT(80)/100.0f);
// Minimum AktSOC BEFORE recalibration-2 / Minimaler AktSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_VOR_2_WERT", STAT_SOC_MIN_AKT_VOR_2_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_VOR_2_WERT = (RXBUF_UINT(82)/100.0f);
// Maximum AktSOC BEFORE recalibration-2 / Maximaler AktSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_VOR_2_WERT", STAT_SOC_MAX_AKT_VOR_2_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_VOR_2_WERT = (RXBUF_UINT(84)/100.0f);
// Mean ActSOC BEFORE recalibration-2 / Mittlerer AktSOC VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_VOR_2_WERT", STAT_SOC_MEAN_AKT_VOR_2_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_NACH_2_WERT = (RXBUF_UINT(86)/100.0f);
// Minimum AktSOC AFTER recalibration-2 / Minimaler AktSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_NACH_2_WERT", STAT_SOC_MIN_AKT_NACH_2_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_NACH_2_WERT = (RXBUF_UINT(88)/100.0f);
// Maximum AktSOC AFTER recalibration-2 / Maximaler AktSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_NACH_2_WERT", STAT_SOC_MAX_AKT_NACH_2_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_NACH_2_WERT = (RXBUF_UINT(90)/100.0f);
// Mean ActSOC AFTER recalibration-2 / Mittlerer AktSOC NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_NACH_2_WERT", STAT_SOC_MEAN_AKT_NACH_2_WERT, "\"%\"");
float STAT_SOH_MIN_2_WERT = (RXBUF_UINT(92)/100.0f);
// Minimum SOH at the time of recalibration-2 / Minimaler SOH zum Zeitpunkt der Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MIN_2_WERT", STAT_SOH_MIN_2_WERT, "\"%\"");
float STAT_SOH_MAX_2_WERT = (RXBUF_UINT(94)/100.0f);
// Maximum SOH at the time of recalibration-2 / Maximaler SOH zum Zeitpunkt der Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MAX_2_WERT", STAT_SOH_MAX_2_WERT, "\"%\"");
float STAT_SOH_MEAN_2_WERT = (RXBUF_UINT(96)/100.0f);
// Mean SOH at the time of recalibration-2 / Mittlerer SOH zum Zeitpunkt der Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MEAN_2_WERT", STAT_SOH_MEAN_2_WERT, "\"%\"");
float STAT_SOC_BAND_VOR_2_WERT = (RXBUF_UINT(98)/100.0f);
// SOC bandwidth BEFORE recalibration-2 / SOC Bandbreite VOR Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_VOR_2_WERT", STAT_SOC_BAND_VOR_2_WERT, "\"%\"");
float STAT_SOC_BAND_NACH_2_WERT = (RXBUF_UINT(100)/100.0f);
// SOC bandwidth AFTER recalibration-2 / SOC Bandbreite NACH Rekalibrierung-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_NACH_2_WERT", STAT_SOC_BAND_NACH_2_WERT, "\"%\"");
unsigned char STAT_GRUND_REKAL_3 = (RXBUF_UCHAR(102));
// Reason for SOC recalibration-3 / Grund der SOC Rekaibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_GRUND_REKAL_3", STAT_GRUND_REKAL_3, "\"0-n\"");
unsigned long STAT_ZEITPUNKT_REKAL_3_WERT = (RXBUF_UINT32(103));
// Time (SME time) of recalibration-3 / Zeitpunkt (SME-Zeit) der Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_ZEITPUNKT_REKAL_3_WERT", STAT_ZEITPUNKT_REKAL_3_WERT, "\"s\"");
unsigned long STAT_HVOFFTIME_REKAL_3_WERT = (RXBUF_UINT32(107));
// Duration while the shooters were open for the last time -3 / Dauer, während die Schütze letzmalig geöffnet
// waren-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_HVOFFTIME_REKAL_3_WERT", STAT_HVOFFTIME_REKAL_3_WERT, "\"s\"");
char STAT_TEMP_MESS_MEAN_VOR_3_WERT = (RXBUF_SCHAR(111));
// Average measuring temperature at HVS level BEFORE recalibration-3 / Mittlere Messtemperatur auf HVS-Ebene VOR
// Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_VOR_3_WERT", STAT_TEMP_MESS_MEAN_VOR_3_WERT, "\"°C\"");
char STAT_TEMP_MESS_MEAN_NACH_3_WERT = (RXBUF_SCHAR(112));
// Average measurement temperature at HVS level AFTER recalibration-3 / Mittlere Messtemperatur auf HVS-Ebene
// NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_NACH_3_WERT", STAT_TEMP_MESS_MEAN_NACH_3_WERT, "\"°C\"");
float STAT_UCEL_MIN_3_WERT = (RXBUF_UINT(113)/1000.0f);
// Minimum measured cell voltage. If OCV reached == U_init SONST == Uakt-3 / Minimale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MIN_3_WERT", STAT_UCEL_MIN_3_WERT, "\"V\"");
float STAT_UCEL_MAX_3_WERT = (RXBUF_UINT(115)/1000.0f);
// Maximum measured cell voltage. If OCV reached == U_init SONST == Uakt-3 / Maximale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MAX_3_WERT", STAT_UCEL_MAX_3_WERT, "\"V\"");
float STAT_UCEL_MEAN_3_WERT = (RXBUF_UINT(117)/1000.0f);
// Mean measured cell voltage. If OCV reached == U_init SONST == Uakt-3 / Mittlere gemessene Zellspannung. Wenn
// OCV reached == U_init SONST == Uakt-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MEAN_3_WERT", STAT_UCEL_MEAN_3_WERT, "\"V\"");
float STAT_SOC_MIN_NENN_VOR_3_WERT = (RXBUF_UINT(119)/100.0f);
// Minimum nominal SOC BEFORE recalibration -3 / Minimaler NennSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_VOR_3_WERT", STAT_SOC_MIN_NENN_VOR_3_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_VOR_3_WERT = (RXBUF_UINT(121)/100.0f);
// Maximum nominal SOC BEFORE recalibration -3 / Maximaler NennSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_VOR_3_WERT", STAT_SOC_MAX_NENN_VOR_3_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_VOR_3_WERT = (RXBUF_UINT(123)/100.0f);
// Average nominal SOC BEFORE recalibration -3 / Mittlerer NennSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_VOR_3_WERT", STAT_SOC_MEAN_NENN_VOR_3_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_NACH_3_WERT = (RXBUF_UINT(125)/100.0f);
// Minimum nominal SOC AFTER recalibration -3 / Minimaler NennSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_NACH_3_WERT", STAT_SOC_MIN_NENN_NACH_3_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_NACH_3_WERT = (RXBUF_UINT(127)/100.0f);
// Maximum nominal SOC AFTER recalibration -3 / Maximaler NennSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_NACH_3_WERT", STAT_SOC_MAX_NENN_NACH_3_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_NACH_3_WERT = (RXBUF_UINT(129)/100.0f);
// Average nominal SOC AFTER recalibration -3 / Mittlerer NennSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_NACH_3_WERT", STAT_SOC_MEAN_NENN_NACH_3_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_VOR_3_WERT = (RXBUF_UINT(131)/100.0f);
// Minimum AktSOC BEFORE recalibration-3 / Minimaler AktSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_VOR_3_WERT", STAT_SOC_MIN_AKT_VOR_3_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_VOR_3_WERT = (RXBUF_UINT(133)/100.0f);
// Maximum AktSOC BEFORE recalibration -3 / Maximaler AktSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_VOR_3_WERT", STAT_SOC_MAX_AKT_VOR_3_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_VOR_3_WERT = (RXBUF_UINT(135)/100.0f);
// Mean ActSOC BEFORE recalibration -3 / Mittlerer AktSOC VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_VOR_3_WERT", STAT_SOC_MEAN_AKT_VOR_3_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_NACH_3_WERT = (RXBUF_UINT(137)/100.0f);
// Minimum AktSOC AFTER recalibration-3 / Minimaler AktSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_NACH_3_WERT", STAT_SOC_MIN_AKT_NACH_3_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_NACH_3_WERT = (RXBUF_UINT(139)/100.0f);
// Maximum AktSOC AFTER recalibration -3 / Maximaler AktSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_NACH_3_WERT", STAT_SOC_MAX_AKT_NACH_3_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_NACH_3_WERT = (RXBUF_UINT(141)/100.0f);
// Mean ActSOC AFTER recalibration -3 / Mittlerer AktSOC NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_NACH_3_WERT", STAT_SOC_MEAN_AKT_NACH_3_WERT, "\"%\"");
float STAT_SOH_MIN_3_WERT = (RXBUF_UINT(143)/100.0f);
// Minimum SOH at the time of recalibration -3 / Minimaler SOH zum Zeitpunkt der Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MIN_3_WERT", STAT_SOH_MIN_3_WERT, "\"%\"");
float STAT_SOH_MAX_3_WERT = (RXBUF_UINT(145)/100.0f);
// Maximum SOH at the time of recalibration -3 / Maximaler SOH zum Zeitpunkt der Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MAX_3_WERT", STAT_SOH_MAX_3_WERT, "\"%\"");
float STAT_SOH_MEAN_3_WERT = (RXBUF_UINT(147)/100.0f);
// Mean SOH at the time of recalibration -3 / Mittlerer SOH zum Zeitpunkt der Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MEAN_3_WERT", STAT_SOH_MEAN_3_WERT, "\"%\"");
float STAT_SOC_BAND_VOR_3_WERT = (RXBUF_UINT(149)/100.0f);
// SOC bandwidth BEFORE recalibration-3 / SOC Bandbreite VOR Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_VOR_3_WERT", STAT_SOC_BAND_VOR_3_WERT, "\"%\"");
float STAT_SOC_BAND_NACH_3_WERT = (RXBUF_UINT(151)/100.0f);
// SOC bandwidth AFTER recalibration-3 / SOC Bandbreite NACH Rekalibrierung-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_NACH_3_WERT", STAT_SOC_BAND_NACH_3_WERT, "\"%\"");
unsigned char STAT_GRUND_REKAL_4 = (RXBUF_UCHAR(153));
// Reason for SOC recalibration-4 / Grund der SOC Rekaibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_GRUND_REKAL_4", STAT_GRUND_REKAL_4, "\"0-n\"");
unsigned long STAT_ZEITPUNKT_REKAL_4_WERT = (RXBUF_UINT32(154));
// Time (SME time) of recalibration-4 / Zeitpunkt (SME-Zeit) der Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_ZEITPUNKT_REKAL_4_WERT", STAT_ZEITPUNKT_REKAL_4_WERT, "\"s\"");
unsigned long STAT_HVOFFTIME_REKAL_4_WERT = (RXBUF_UINT32(158));
// Duration while the shooters were open for the last time-4 / Dauer, während die Schütze letzmalig geöffnet
// waren-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_HVOFFTIME_REKAL_4_WERT", STAT_HVOFFTIME_REKAL_4_WERT, "\"s\"");
char STAT_TEMP_MESS_MEAN_VOR_4_WERT = (RXBUF_SCHAR(162));
// Average measuring temperature at HVS level BEFORE recalibration-4 / Mittlere Messtemperatur auf HVS-Ebene VOR
// Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_VOR_4_WERT", STAT_TEMP_MESS_MEAN_VOR_4_WERT, "\"°C\"");
char STAT_TEMP_MESS_MEAN_NACH_4_WERT = (RXBUF_SCHAR(163));
// Mean measurement temperature at HVS level AFTER recalibration-4 / Mittlere Messtemperatur auf HVS-Ebene NACH
// Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_NACH_4_WERT", STAT_TEMP_MESS_MEAN_NACH_4_WERT, "\"°C\"");
float STAT_UCEL_MIN_4_WERT = (RXBUF_UINT(164)/1000.0f);
// Minimum measured cell voltage. If OCV reached == U_init SONST == Uakt-4 / Minimale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MIN_4_WERT", STAT_UCEL_MIN_4_WERT, "\"V\"");
float STAT_UCEL_MAX_4_WERT = (RXBUF_UINT(166)/1000.0f);
// Maximum measured cell voltage. If OCV reached == U_init SONST == Uakt-4 / Maximale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MAX_4_WERT", STAT_UCEL_MAX_4_WERT, "\"V\"");
float STAT_UCEL_MEAN_4_WERT = (RXBUF_UINT(168)/1000.0f);
// Mean measured cell voltage. If OCV reached == U_init SONST == Uakt-4 / Mittlere gemessene Zellspannung. Wenn
// OCV reached == U_init SONST == Uakt-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MEAN_4_WERT", STAT_UCEL_MEAN_4_WERT, "\"V\"");
float STAT_SOC_MIN_NENN_VOR_4_WERT = (RXBUF_UINT(170)/100.0f);
// Minimum nominal SOC BEFORE recalibration-4 / Minimaler NennSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_VOR_4_WERT", STAT_SOC_MIN_NENN_VOR_4_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_VOR_4_WERT = (RXBUF_UINT(172)/100.0f);
// Maximum nominal SOC BEFORE recalibration -4 / Maximaler NennSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_VOR_4_WERT", STAT_SOC_MAX_NENN_VOR_4_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_VOR_4_WERT = (RXBUF_UINT(174)/100.0f);
// Average nominal SOC BEFORE recalibration-4 / Mittlerer NennSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_VOR_4_WERT", STAT_SOC_MEAN_NENN_VOR_4_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_NACH_4_WERT = (RXBUF_UINT(176)/100.0f);
// Minimum nominal SOC AFTER recalibration-4 / Minimaler NennSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_NACH_4_WERT", STAT_SOC_MIN_NENN_NACH_4_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_NACH_4_WERT = (RXBUF_UINT(178)/100.0f);
// Maximum nominal SOC AFTER recalibration -4 / Maximaler NennSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_NACH_4_WERT", STAT_SOC_MAX_NENN_NACH_4_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_NACH_4_WERT = (RXBUF_UINT(180)/100.0f);
// Average nominal SOC AFTER recalibration -4 / Mittlerer NennSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_NACH_4_WERT", STAT_SOC_MEAN_NENN_NACH_4_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_VOR_4_WERT = (RXBUF_UINT(182)/100.0f);
// Minimum AktSOC BEFORE recalibration-4 / Minimaler AktSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_VOR_4_WERT", STAT_SOC_MIN_AKT_VOR_4_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_VOR_4_WERT = (RXBUF_UINT(184)/100.0f);
// Maximum AktSOC BEFORE recalibration -4 / Maximaler AktSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_VOR_4_WERT", STAT_SOC_MAX_AKT_VOR_4_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_VOR_4_WERT = (RXBUF_UINT(186)/100.0f);
// Mean ActSOC BEFORE recalibration -4 / Mittlerer AktSOC VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_VOR_4_WERT", STAT_SOC_MEAN_AKT_VOR_4_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_NACH_4_WERT = (RXBUF_UINT(188)/100.0f);
// Minimum AktSOC AFTER recalibration-4 / Minimaler AktSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_NACH_4_WERT", STAT_SOC_MIN_AKT_NACH_4_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_NACH_4_WERT = (RXBUF_UINT(190)/100.0f);
// Maximum AktSOC AFTER recalibration -4 / Maximaler AktSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_NACH_4_WERT", STAT_SOC_MAX_AKT_NACH_4_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_NACH_4_WERT = (RXBUF_UINT(192)/100.0f);
// Mean ActSOC AFTER recalibration -4 / Mittlerer AktSOC NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_NACH_4_WERT", STAT_SOC_MEAN_AKT_NACH_4_WERT, "\"%\"");
float STAT_SOH_MIN_4_WERT = (RXBUF_UINT(194)/100.0f);
// Minimum SOH at the time of recalibration -4 / Minimaler SOH zum Zeitpunkt der Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MIN_4_WERT", STAT_SOH_MIN_4_WERT, "\"%\"");
float STAT_SOH_MAX_4_WERT = (RXBUF_UINT(196)/100.0f);
// Maximum SOH at the time of recalibration-4 / Maximaler SOH zum Zeitpunkt der Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MAX_4_WERT", STAT_SOH_MAX_4_WERT, "\"%\"");
float STAT_SOH_MEAN_4_WERT = (RXBUF_UINT(198)/100.0f);
// Mean SOH at the time of recalibration -4 / Mittlerer SOH zum Zeitpunkt der Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MEAN_4_WERT", STAT_SOH_MEAN_4_WERT, "\"%\"");
float STAT_SOC_BAND_VOR_4_WERT = (RXBUF_UINT(200)/100.0f);
// SOC bandwidth BEFORE recalibration-4 / SOC Bandbreite VOR Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_VOR_4_WERT", STAT_SOC_BAND_VOR_4_WERT, "\"%\"");
float STAT_SOC_BAND_NACH_4_WERT = (RXBUF_UINT(202)/100.0f);
// SOC bandwidth AFTER recalibration-4 / SOC Bandbreite NACH Rekalibrierung-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_NACH_4_WERT", STAT_SOC_BAND_NACH_4_WERT, "\"%\"");
unsigned char STAT_GRUND_REKAL_5 = (RXBUF_UCHAR(204));
// Reason for SOC recalibration-5 / Grund der SOC Rekaibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_GRUND_REKAL_5", STAT_GRUND_REKAL_5, "\"0-n\"");
unsigned long STAT_ZEITPUNKT_REKAL_5_WERT = (RXBUF_UINT32(205));
// Time (SME time) of the recalibration-5 / Zeitpunkt (SME-Zeit) der Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_ZEITPUNKT_REKAL_5_WERT", STAT_ZEITPUNKT_REKAL_5_WERT, "\"s\"");
unsigned long STAT_HVOFFTIME_REKAL_5_WERT = (RXBUF_UINT32(209));
// Duration while the shooters were open for the last time -5 / Dauer, während die Schütze letzmalig geöffnet
// waren-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_HVOFFTIME_REKAL_5_WERT", STAT_HVOFFTIME_REKAL_5_WERT, "\"s\"");
char STAT_TEMP_MESS_MEAN_VOR_5_WERT = (RXBUF_SCHAR(213));
// Average measuring temperature at HVS level BEFORE recalibration-5 / Mittlere Messtemperatur auf HVS-Ebene VOR
// Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_VOR_5_WERT", STAT_TEMP_MESS_MEAN_VOR_5_WERT, "\"°C\"");
char STAT_TEMP_MESS_MEAN_NACH_5_WERT = (RXBUF_SCHAR(214));
// Mean measurement temperature at HVS level AFTER recalibration-5 / Mittlere Messtemperatur auf HVS-Ebene NACH
// Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_TEMP_MESS_MEAN_NACH_5_WERT", STAT_TEMP_MESS_MEAN_NACH_5_WERT, "\"°C\"");
float STAT_UCEL_MIN_5_WERT = (RXBUF_UINT(215)/1000.0f);
// Minimum measured cell voltage. If OCV reached == U_init SONST == Uakt-5 / Minimale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MIN_5_WERT", STAT_UCEL_MIN_5_WERT, "\"V\"");
float STAT_UCEL_MAX_5_WERT = (RXBUF_UINT(217)/1000.0f);
// Maximum measured cell voltage. If OCV reached == U_init SONST == Uakt-5 / Maximale gemessene Zellspannung.
// Wenn OCV reached == U_init SONST == Uakt-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MAX_5_WERT", STAT_UCEL_MAX_5_WERT, "\"V\"");
float STAT_UCEL_MEAN_5_WERT = (RXBUF_UINT(219)/1000.0f);
// Mean measured cell voltage. If OCV reached == U_init SONST == Uakt-5 / Mittlere gemessene Zellspannung. Wenn
// OCV reached == U_init SONST == Uakt-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_UCEL_MEAN_5_WERT", STAT_UCEL_MEAN_5_WERT, "\"V\"");
float STAT_SOC_MIN_NENN_VOR_5_WERT = (RXBUF_UINT(221)/100.0f);
// Minimum nominal SOC BEFORE recalibration -5 / Minimaler NennSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_VOR_5_WERT", STAT_SOC_MIN_NENN_VOR_5_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_VOR_5_WERT = (RXBUF_UINT(223)/100.0f);
// Maximum nominal SOC BEFORE recalibration -5 / Maximaler NennSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_VOR_5_WERT", STAT_SOC_MAX_NENN_VOR_5_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_VOR_5_WERT = (RXBUF_UINT(225)/100.0f);
// Average nominal SOC BEFORE recalibration -5 / Mittlerer NennSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_VOR_5_WERT", STAT_SOC_MEAN_NENN_VOR_5_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_NACH_5_WERT = (RXBUF_UINT(227)/100.0f);
// Minimum nominal SOC AFTER recalibration -5 / Minimaler NennSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_NENN_NACH_5_WERT", STAT_SOC_MIN_NENN_NACH_5_WERT, "\"%\"");
float STAT_SOC_MAX_NENN_NACH_5_WERT = (RXBUF_UINT(229)/100.0f);
// Maximum nominal SOC AFTER recalibration -5 / Maximaler NennSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_NENN_NACH_5_WERT", STAT_SOC_MAX_NENN_NACH_5_WERT, "\"%\"");
float STAT_SOC_MEAN_NENN_NACH_5_WERT = (RXBUF_UINT(231)/100.0f);
// Average nominal SOC AFTER recalibration -5 / Mittlerer NennSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_NENN_NACH_5_WERT", STAT_SOC_MEAN_NENN_NACH_5_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_VOR_5_WERT = (RXBUF_UINT(233)/100.0f);
// Minimum AktSOC BEFORE recalibration -5 / Minimaler AktSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_VOR_5_WERT", STAT_SOC_MIN_AKT_VOR_5_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_VOR_5_WERT = (RXBUF_UINT(235)/100.0f);
// Maximum AktSOC BEFORE recalibration -5 / Maximaler AktSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_VOR_5_WERT", STAT_SOC_MAX_AKT_VOR_5_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_VOR_5_WERT = (RXBUF_UINT(237)/100.0f);
// Mean ActSOC BEFORE recalibration -5 / Mittlerer AktSOC VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_VOR_5_WERT", STAT_SOC_MEAN_AKT_VOR_5_WERT, "\"%\"");
float STAT_SOC_MIN_AKT_NACH_5_WERT = (RXBUF_UINT(239)/100.0f);
// Minimum AktSOC AFTER recalibration -5 / Minimaler AktSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MIN_AKT_NACH_5_WERT", STAT_SOC_MIN_AKT_NACH_5_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_NACH_5_WERT = (RXBUF_UINT(241)/100.0f);
// Maximum AktSOC AFTER recalibration -5 / Maximaler AktSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MAX_AKT_NACH_5_WERT", STAT_SOC_MAX_AKT_NACH_5_WERT, "\"%\"");
float STAT_SOC_MEAN_AKT_NACH_5_WERT = (RXBUF_UINT(243)/100.0f);
// Mean ActSOC AFTER recalibration -5 / Mittlerer AktSOC NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_MEAN_AKT_NACH_5_WERT", STAT_SOC_MEAN_AKT_NACH_5_WERT, "\"%\"");
float STAT_SOH_MIN_5_WERT = (RXBUF_UINT(245)/100.0f);
// Minimum SOH at the time of recalibration -5 / Minimaler SOH zum Zeitpunkt der Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MIN_5_WERT", STAT_SOH_MIN_5_WERT, "\"%\"");
float STAT_SOH_MAX_5_WERT = (RXBUF_UINT(247)/100.0f);
// Maximum SOH at the time of recalibration -5 / Maximaler SOH zum Zeitpunkt der Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MAX_5_WERT", STAT_SOH_MAX_5_WERT, "\"%\"");
float STAT_SOH_MEAN_5_WERT = (RXBUF_UINT(249)/100.0f);
// Mean SOH at the time of recalibration -5 / Mittlerer SOH zum Zeitpunkt der Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOH_MEAN_5_WERT", STAT_SOH_MEAN_5_WERT, "\"%\"");
float STAT_SOC_BAND_VOR_5_WERT = (RXBUF_UINT(251)/100.0f);
// SOC bandwidth BEFORE recalibration -5 / SOC Bandbreite VOR Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_VOR_5_WERT", STAT_SOC_BAND_VOR_5_WERT, "\"%\"");
float STAT_SOC_BAND_NACH_5_WERT = (RXBUF_UINT(253)/100.0f);
// SOC bandwidth AFTER recalibration-5 / SOC Bandbreite NACH Rekalibrierung-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_REKALIBRIERUNG", "STAT_SOC_BAND_NACH_5_WERT", STAT_SOC_BAND_NACH_5_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SOC_GUETE: { // 0xD4C7
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SOC_GUETE", 1);
break;
}
unsigned char STAT_SOC_GUETE_WERT = (RXBUF_UCHAR(0));
// Reading out the current SOC quality value based on the SOC estimate (1 == best quality,> 30 == worst quality)
// / Auslesen des aktuellen SOC Gütewertes auf Basis der SOC Schätzung (1 == beste Güte, >30 == schlechteste
// Güte )
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_GUETE", "STAT_SOC_GUETE_WERT", STAT_SOC_GUETE_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_SOC_GUETE: { // 0xD4C8
if (datalen < 20) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_SOC_GUETE", 20);
break;
}
unsigned long STAT_HIS_SOC_GUETE_1_WERT = (RXBUF_UINT32(0));
// Length of stay of the SOC quality value in the class: 0 <= GW <3 / Aufenthaltsdauer des SOC Gütewertes in der
// Klasse: 0 <= GW < 3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_GUETE", "STAT_HIS_SOC_GUETE_1_WERT", STAT_HIS_SOC_GUETE_1_WERT, "");
unsigned long STAT_HIS_SOC_GUETE_2_WERT = (RXBUF_UINT32(4));
// Duration of the SOC quality value in the class: 3 <= GW <7 / Aufenthaltsdauer des SOC Gütewertes in der
// Klasse: 3 <= GW < 7
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_GUETE", "STAT_HIS_SOC_GUETE_2_WERT", STAT_HIS_SOC_GUETE_2_WERT, "");
unsigned long STAT_HIS_SOC_GUETE_3_WERT = (RXBUF_UINT32(8));
// Duration of the SOC quality value in the class: 7 <= GW <20 / Aufenthaltsdauer des SOC Gütewertes in der
// Klasse: 7 <= GW < 20
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_GUETE", "STAT_HIS_SOC_GUETE_3_WERT", STAT_HIS_SOC_GUETE_3_WERT, "");
unsigned long STAT_HIS_SOC_GUETE_4_WERT = (RXBUF_UINT32(12));
// Duration of the SOC quality value in the class: 20 <= GW <30 / Aufenthaltsdauer des SOC Gütewertes in der
// Klasse: 20 <= GW < 30
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_GUETE", "STAT_HIS_SOC_GUETE_4_WERT", STAT_HIS_SOC_GUETE_4_WERT, "");
unsigned long STAT_HIS_SOC_GUETE_5_WERT = (RXBUF_UINT32(16));
// Duration of the SOC quality value in the class: GW> 30 / Aufenthaltsdauer des SOC Gütewertes in der Klasse:
// GW > 30
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_GUETE", "STAT_HIS_SOC_GUETE_5_WERT", STAT_HIS_SOC_GUETE_5_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ANZAHL_OCV_SOC_REKAL: { // 0xD4C9
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ANZAHL_OCV_SOC_REKAL", 4);
break;
}
unsigned long STAT_ANZAHL_OCV_SOC_REKAL_WERT = (RXBUF_UINT32(0));
// Number of OCV-SOC recalibrations / Anzahl der OCV-SOC Rekalibrierungen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ANZAHL_OCV_SOC_REKAL", "STAT_ANZAHL_OCV_SOC_REKAL_WERT", STAT_ANZAHL_OCV_SOC_REKAL_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ANZAHL_LADEENDE_REKAL: { // 0xD4CA
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ANZAHL_LADEENDE_REKAL", 4);
break;
}
unsigned long STAT_ANZAHL_LADEENDE_REKAL_WERT = (RXBUF_UINT32(0));
// Number of SoC recalibrations at the end of charging / Anzahl der SoC Rekalibrierungen am Ladeende
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ANZAHL_LADEENDE_REKAL", "STAT_ANZAHL_LADEENDE_REKAL_WERT", STAT_ANZAHL_LADEENDE_REKAL_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_SOC_VOLLADEENDE: { // 0xD4CB
if (datalen < 50) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_SOC_VOLLADEENDE", 50);
break;
}
float STAT_SOC_MIN_NENN_1_WERT = (RXBUF_UINT(0)/100.0f);
// Minimum nominal SOC after U / I full charge end-1 / Minimaler NennSOC nach U/I Vollladeende-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_1_WERT", STAT_SOC_MIN_NENN_1_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_WENN_VOLL_1_WERT = (RXBUF_UINT(2)/100.0f);
// Forecast value of the minimum nominal SOC after U / I full charge end-1 / Prognosewert des minimalen NennSOC
// nach U/I Vollladeende-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_WENN_VOLL_1_WERT", STAT_SOC_MIN_NENN_WENN_VOLL_1_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_1_WERT = (RXBUF_UINT(4)/100.0f);
// Maximum AktSOC after U / I full charge end-1 / Maximaler AktSOC nach U/I Vollladeende-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_1_WERT", STAT_SOC_MAX_AKT_1_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_WENN_VOLL_1_WERT = (RXBUF_UINT(6)/100.0f);
// Forecast value of the maximum AktSOC after U / I full charge end-1 / Prognosewert des maximalen AktSOC nach
// U/I Vollladeende-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_WENN_VOLL_1_WERT", STAT_SOC_MAX_AKT_WENN_VOLL_1_WERT, "\"%\"");
char STAT_TEMP_LADEBEGINN_1_WERT = (RXBUF_SCHAR(8));
// Average measurement temperature at HVS level at start of charging -1 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladebeginn-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEBEGINN_1_WERT", STAT_TEMP_LADEBEGINN_1_WERT, "\"°C\"");
char STAT_TEMP_LADEENDE_1_WERT = (RXBUF_SCHAR(9));
// Average measurement temperature at HVS level at the end of charging-1 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladeende-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEENDE_1_WERT", STAT_TEMP_LADEENDE_1_WERT, "\"°C\"");
float STAT_SOC_MIN_NENN_2_WERT = (RXBUF_UINT(10)/100.0f);
// Minimum nominal SOC after U / I full charge end-2 / Minimaler NennSOC nach U/I Vollladeende-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_2_WERT", STAT_SOC_MIN_NENN_2_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_WENN_VOLL_2_WERT = (RXBUF_UINT(12)/100.0f);
// Forecast value of the minimum nominal SOC after U / I full charge end-2 / Prognosewert des minimalen NennSOC
// nach U/I Vollladeende-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_WENN_VOLL_2_WERT", STAT_SOC_MIN_NENN_WENN_VOLL_2_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_2_WERT = (RXBUF_UINT(14)/100.0f);
// Maximum AktSOC after U / I full charge end-2 / Maximaler AktSOC nach U/I Vollladeende-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_2_WERT", STAT_SOC_MAX_AKT_2_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_WENN_VOLL_2_WERT = (RXBUF_UINT(16)/100.0f);
// Forecast value of the maximum AktSOC after U / I full charge end-2 / Prognosewert des maximalen AktSOC nach
// U/I Vollladeende-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_WENN_VOLL_2_WERT", STAT_SOC_MAX_AKT_WENN_VOLL_2_WERT, "\"%\"");
char STAT_TEMP_LADEBEGINN_2_WERT = (RXBUF_SCHAR(18));
// Average measurement temperature at HVS level at the start of charging-2 / Mittlere Messtemperatur auf
// HVS-Ebene zu Ladebeginn-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEBEGINN_2_WERT", STAT_TEMP_LADEBEGINN_2_WERT, "\"°C\"");
char STAT_TEMP_LADEENDE_2_WERT = (RXBUF_SCHAR(19));
// Average measurement temperature at HVS level at the end of charging-2 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladeende-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEENDE_2_WERT", STAT_TEMP_LADEENDE_2_WERT, "\"°C\"");
float STAT_SOC_MIN_NENN_3_WERT = (RXBUF_UINT(20)/100.0f);
// Minimum nominal SOC after U / I full charge end-3 / Minimaler NennSOC nach U/I Vollladeende-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_3_WERT", STAT_SOC_MIN_NENN_3_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_WENN_VOLL_3_WERT = (RXBUF_UINT(22)/100.0f);
// Forecast value of the minimum nominal SOC after U / I full charge end-3 / Prognosewert des minimalen NennSOC
// nach U/I Vollladeende-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_WENN_VOLL_3_WERT", STAT_SOC_MIN_NENN_WENN_VOLL_3_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_3_WERT = (RXBUF_UINT(24)/100.0f);
// Maximum AktSOC after U / I full charge end-3 / Maximaler AktSOC nach U/I Vollladeende-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_3_WERT", STAT_SOC_MAX_AKT_3_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_WENN_VOLL_3_WERT = (RXBUF_UINT(26)/100.0f);
// Forecast value of the maximum AktSOC after U / I full charge end-3 / Prognosewert des maximalen AktSOC nach
// U/I Vollladeende-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_WENN_VOLL_3_WERT", STAT_SOC_MAX_AKT_WENN_VOLL_3_WERT, "\"%\"");
char STAT_TEMP_LADEBEGINN_3_WERT = (RXBUF_SCHAR(28));
// Average measurement temperature at HVS level at the start of charging -3 / Mittlere Messtemperatur auf
// HVS-Ebene zu Ladebeginn-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEBEGINN_3_WERT", STAT_TEMP_LADEBEGINN_3_WERT, "\"°C\"");
char STAT_TEMP_LADEENDE_3_WERT = (RXBUF_SCHAR(29));
// Average measuring temperature at HVS level at the end of charging -3 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladeende-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEENDE_3_WERT", STAT_TEMP_LADEENDE_3_WERT, "\"°C\"");
float STAT_SOC_MIN_NENN_4_WERT = (RXBUF_UINT(30)/100.0f);
// Minimum nominal SOC after U / I full charge end-4 / Minimaler NennSOC nach U/I Vollladeende-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_4_WERT", STAT_SOC_MIN_NENN_4_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_WENN_VOLL_4_WERT = (RXBUF_UINT(32)/100.0f);
// Forecast value of the minimum nominal SOC after U / I full charge end-4 / Prognosewert des minimalen NennSOC
// nach U/I Vollladeende-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_WENN_VOLL_4_WERT", STAT_SOC_MIN_NENN_WENN_VOLL_4_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_4_WERT = (RXBUF_UINT(34)/100.0f);
// Maximum AktSOC after U / I full charge end-4 / Maximaler AktSOC nach U/I Vollladeende-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_4_WERT", STAT_SOC_MAX_AKT_4_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_WENN_VOLL_4_WERT = (RXBUF_UINT(36)/100.0f);
// Forecast value of the maximum AktSOC after U / I full charge end-4 / Prognosewert des maximalen AktSOC nach
// U/I Vollladeende-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_WENN_VOLL_4_WERT", STAT_SOC_MAX_AKT_WENN_VOLL_4_WERT, "\"%\"");
char STAT_TEMP_LADEBEGINN_4_WERT = (RXBUF_SCHAR(38));
// Average measurement temperature at HVS level at the start of charging -4 / Mittlere Messtemperatur auf
// HVS-Ebene zu Ladebeginn-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEBEGINN_4_WERT", STAT_TEMP_LADEBEGINN_4_WERT, "\"°C\"");
char STAT_TEMP_LADEENDE_4_WERT = (RXBUF_SCHAR(39));
// Average measurement temperature at HVS level at the end of charging-4 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladeende-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEENDE_4_WERT", STAT_TEMP_LADEENDE_4_WERT, "\"°C\"");
float STAT_SOC_MIN_NENN_5_WERT = (RXBUF_UINT(40)/100.0f);
// Minimum nominal SOC after U / I full charge end-5 / Minimaler NennSOC nach U/I Vollladeende-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_5_WERT", STAT_SOC_MIN_NENN_5_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_WENN_VOLL_5_WERT = (RXBUF_UINT(42)/100.0f);
// Forecast value of the minimum nominal SOC after U / I full charge end-5 / Prognosewert des minimalen NennSOC
// nach U/I Vollladeende-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MIN_NENN_WENN_VOLL_5_WERT", STAT_SOC_MIN_NENN_WENN_VOLL_5_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_5_WERT = (RXBUF_UINT(44)/100.0f);
// Maximum AktSOC after U / I full charge end-5 / Maximaler AktSOC nach U/I Vollladeende-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_5_WERT", STAT_SOC_MAX_AKT_5_WERT, "\"%\"");
float STAT_SOC_MAX_AKT_WENN_VOLL_5_WERT = (RXBUF_UINT(46)/100.0f);
// Forecast value of the maximum AktSOC after U / I full charge end-5 / Prognosewert des maximalen AktSOC nach
// U/I Vollladeende-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_SOC_MAX_AKT_WENN_VOLL_5_WERT", STAT_SOC_MAX_AKT_WENN_VOLL_5_WERT, "\"%\"");
char STAT_TEMP_LADEBEGINN_5_WERT = (RXBUF_SCHAR(48));
// Average measurement temperature at HVS level at the start of charging -5 / Mittlere Messtemperatur auf
// HVS-Ebene zu Ladebeginn-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEBEGINN_5_WERT", STAT_TEMP_LADEBEGINN_5_WERT, "\"°C\"");
char STAT_TEMP_LADEENDE_5_WERT = (RXBUF_SCHAR(49));
// Average measuring temperature at HVS level at the end of charging -5 / Mittlere Messtemperatur auf HVS-Ebene
// zu Ladeende-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOC_VOLLADEENDE", "STAT_TEMP_LADEENDE_5_WERT", STAT_TEMP_LADEENDE_5_WERT, "\"°C\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KUEHLDAUER_HVB: { // 0xD4CC
if (datalen < 9) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KUEHLDAUER_HVB", 9);
break;
}
unsigned char STAT_KUEHLDAUER_MAX_WERT = (RXBUF_UCHAR(0));
// Predefined maximum cooling duration [tmax] (project-specific) / Vordefinierte maximale Kühldauer [tmax]
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KUEHLDAUER_HVB", "STAT_KUEHLDAUER_MAX_WERT", STAT_KUEHLDAUER_MAX_WERT, "\"min\"");
unsigned short STAT_KUEHLDAUER_1_WERT = (RXBUF_UINT(1));
// Number of duration class: 0 <t <= tmax * 0.25 / Anzahl Dauerklasse: 0 < t <= tmax*0.25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER_HVB", "STAT_KUEHLDAUER_1_WERT", STAT_KUEHLDAUER_1_WERT, "");
unsigned short STAT_KUEHLDAUER_2_WERT = (RXBUF_UINT(3));
// Number of duration class: 0.25 * tmax <t <= tmax * 0.5 / Anzahl Dauerklasse: 0.25*tmax < t <= tmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER_HVB", "STAT_KUEHLDAUER_2_WERT", STAT_KUEHLDAUER_2_WERT, "");
unsigned short STAT_KUEHLDAUER_3_WERT = (RXBUF_UINT(5));
// Number of duration class: 0.5 * tmax <t <= tmax / Anzahl Dauerklasse: 0.5*tmax < t <= tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER_HVB", "STAT_KUEHLDAUER_3_WERT", STAT_KUEHLDAUER_3_WERT, "");
unsigned short STAT_KUEHLDAUER_4_WERT = (RXBUF_UINT(7));
// Number of duration classes: t> tmax / Anzahl Dauerklasse: t > tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER_HVB", "STAT_KUEHLDAUER_4_WERT", STAT_KUEHLDAUER_4_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADUNGSVERLUST_ZELLE: { // 0xD67F
if (datalen < 22) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADUNGSVERLUST_ZELLE", 22);
break;
}
float STAT_SOC_MIN_NENN_01_WERT = (RXBUF_UINT(0)/10.0f);
// Minimum charge level of all cells based on nominal capacity / Minimaler Ladezustand aller Zellen bezogen auf
// Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_SOC_MIN_NENN_01_WERT", STAT_SOC_MIN_NENN_01_WERT, "\"%\"");
float STAT_DIFF_SOC_01_WERT = (RXBUF_UINT(2)/10.0f);
// Difference between the average and minimum charge status of all cells based on nominal capacity / Differenz
// zwischen dem mittleren und minimalen Ladezsustand aller Zellen bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_DIFF_SOC_01_WERT", STAT_DIFF_SOC_01_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_02_WERT = (RXBUF_UINT(4)/10.0f);
// Minimum charge level of all cells based on nominal capacity / Minimaler Ladezustand aller Zellen bezogen auf
// Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_SOC_MIN_NENN_02_WERT", STAT_SOC_MIN_NENN_02_WERT, "\"%\"");
float STAT_DIFF_SOC_02_WERT = (RXBUF_UINT(6)/10.0f);
// Difference between the average and minimum charge status of all cells based on nominal capacity / Differenz
// zwischen dem mittleren und minimalen Ladezsustand aller Zellen bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_DIFF_SOC_02_WERT", STAT_DIFF_SOC_02_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_03_WERT = (RXBUF_UINT(8)/10.0f);
// Minimum charge level of all cells based on nominal capacity / Minimaler Ladezustand aller Zellen bezogen auf
// Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_SOC_MIN_NENN_03_WERT", STAT_SOC_MIN_NENN_03_WERT, "\"%\"");
float STAT_DIFF_SOC_03_WERT = (RXBUF_UINT(10)/10.0f);
// Difference between the average and minimum charge status of all cells based on nominal capacity / Differenz
// zwischen dem mittleren und minimalen Ladezsustand aller Zellen bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_DIFF_SOC_03_WERT", STAT_DIFF_SOC_03_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_04_WERT = (RXBUF_UINT(12)/10.0f);
// Minimum charge level of all cells based on nominal capacity / Minimaler Ladezustand aller Zellen bezogen auf
// Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_SOC_MIN_NENN_04_WERT", STAT_SOC_MIN_NENN_04_WERT, "\"%\"");
float STAT_DIFF_SOC_04_WERT = (RXBUF_UINT(14)/10.0f);
// Difference between the average and minimum charge status of all cells based on nominal capacity / Differenz
// zwischen dem mittleren und minimalen Ladezsustand aller Zellen bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_DIFF_SOC_04_WERT", STAT_DIFF_SOC_04_WERT, "\"%\"");
float STAT_SOC_MIN_NENN_05_WERT = (RXBUF_UINT(16)/10.0f);
// Minimum charge level of all cells based on nominal capacity / Minimaler Ladezustand aller Zellen bezogen auf
// Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_SOC_MIN_NENN_05_WERT", STAT_SOC_MIN_NENN_05_WERT, "\"%\"");
float STAT_DIFF_SOC_05_WERT = (RXBUF_UINT(18)/10.0f);
// Difference between the average and minimum charge status of all cells based on nominal capacity / Differenz
// zwischen dem mittleren und minimalen Ladezsustand aller Zellen bezogen auf Nennkapazität
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_DIFF_SOC_05_WERT", STAT_DIFF_SOC_05_WERT, "\"%\"");
unsigned char STAT_ID_ZELLE_SOC_MIN_WERT = (RXBUF_UCHAR(20));
// ID of the cell with the smallest SoC_min_nenn / ID der Zelle mit kleinstem SoC_min_nenn
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_ID_ZELLE_SOC_MIN_WERT", STAT_ID_ZELLE_SOC_MIN_WERT, "");
unsigned char STAT_COUNTER_RG_WERT = (RXBUF_UCHAR(21));
// Counter of how often the ring buffer has been written to since the last reset / Zähler, wie oft der
// Ringspeicher seit dem letzten Reset beschrieben wurde
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADUNGSVERLUST_ZELLE", "STAT_COUNTER_RG_WERT", STAT_COUNTER_RG_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_STATUS_MIN_KAPAZITAET_MOD: { // 0xD681
if (datalen < 12) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_STATUS_MIN_KAPAZITAET_MOD", 12);
break;
}
unsigned char STAT_MIN_KAPA_MOD_01_WERT = (RXBUF_UCHAR(0));
// Minimum capacity in percent of MODULE 01 / Minimale Kapazität in Prozent von MODUL 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_01_WERT", STAT_MIN_KAPA_MOD_01_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_02_WERT = (RXBUF_UCHAR(1));
// Minimum capacity in percent of MODULE 02 / Minimale Kapazität in Prozent von MODUL 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_02_WERT", STAT_MIN_KAPA_MOD_02_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_03_WERT = (RXBUF_UCHAR(2));
// Minimum capacity in percent of MODULE 03 / Minimale Kapazität in Prozent von MODUL 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_03_WERT", STAT_MIN_KAPA_MOD_03_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_04_WERT = (RXBUF_UCHAR(3));
// Minimum capacity in percent of MODULE 04 / Minimale Kapazität in Prozent von MODUL 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_04_WERT", STAT_MIN_KAPA_MOD_04_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_05_WERT = (RXBUF_UCHAR(4));
// Minimum capacity in percent of MODULE 05 / Minimale Kapazität in Prozent von MODUL 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_05_WERT", STAT_MIN_KAPA_MOD_05_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_06_WERT = (RXBUF_UCHAR(5));
// Minimum capacity in percent of MODULE 06 / Minimale Kapazität in Prozent von MODUL 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_06_WERT", STAT_MIN_KAPA_MOD_06_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_07_WERT = (RXBUF_UCHAR(6));
// Minimum capacity in percent of MODULE 07 / Minimale Kapazität in Prozent von MODUL 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_07_WERT", STAT_MIN_KAPA_MOD_07_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_08_WERT = (RXBUF_UCHAR(7));
// Minimum capacity in percent of MODULE 08 / Minimale Kapazität in Prozent von MODUL 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_08_WERT", STAT_MIN_KAPA_MOD_08_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_09_WERT = (RXBUF_UCHAR(8));
// Minimum capacity in percent of MODULE 09 / Minimale Kapazität in Prozent von MODUL 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_09_WERT", STAT_MIN_KAPA_MOD_09_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_10_WERT = (RXBUF_UCHAR(9));
// Minimum capacity in percent of MODULE 10 / Minimale Kapazität in Prozent von MODUL 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_10_WERT", STAT_MIN_KAPA_MOD_10_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_11_WERT = (RXBUF_UCHAR(10));
// Minimum capacity in percent of MODULE 11 / Minimale Kapazität in Prozent von MODUL 11
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_11_WERT", STAT_MIN_KAPA_MOD_11_WERT, "\"%\"");
unsigned char STAT_MIN_KAPA_MOD_12_WERT = (RXBUF_UCHAR(11));
// Minimum capacity in percent of MODULE 12 / Minimale Kapazität in Prozent von MODUL 12
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "STATUS_MIN_KAPAZITAET_MOD", "STAT_MIN_KAPA_MOD_12_WERT", STAT_MIN_KAPA_MOD_12_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_ISO_MESS_TRG: { // 0xD6C7
if (datalen < 15) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_ISO_MESS_TRG", 15);
break;
}
unsigned short STAT_R_ISO_TRG_01_WERT = (RXBUF_UINT(0));
// R_iso_ges [kOhm] VALUE 01 / R_iso_ges [kOhm] WERT 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_TRG_01_WERT", STAT_R_ISO_TRG_01_WERT, "\"kOhm\"");
unsigned char STAT_R_ISO_QAL_TRG_01_WERT = (RXBUF_UCHAR(2));
// R_iso_ges QUAL 01 / R_iso_ges QUAL 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_QAL_TRG_01_WERT", STAT_R_ISO_QAL_TRG_01_WERT, "");
unsigned short STAT_R_ISO_TRG_02_WERT = (RXBUF_UINT(3));
// R_iso_ges [kOhm] VALUE 02 / R_iso_ges [kOhm] WERT 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_TRG_02_WERT", STAT_R_ISO_TRG_02_WERT, "\"kOhm\"");
unsigned char STAT_R_ISO_QAL_TRG_02_WERT = (RXBUF_UCHAR(5));
// R_iso_ges QUAL 02 / R_iso_ges QUAL 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_QAL_TRG_02_WERT", STAT_R_ISO_QAL_TRG_02_WERT, "");
unsigned short STAT_R_ISO_TRG_03_WERT = (RXBUF_UINT(6));
// R_iso_ges [kOhm] VALUE 03 / R_iso_ges [kOhm] WERT 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_TRG_03_WERT", STAT_R_ISO_TRG_03_WERT, "\"kOhm\"");
unsigned char STAT_R_ISO_QAL_TRG_03_WERT = (RXBUF_UCHAR(8));
// R_iso_ges QUAL 03 / R_iso_ges QUAL 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_QAL_TRG_03_WERT", STAT_R_ISO_QAL_TRG_03_WERT, "");
unsigned short STAT_R_ISO_TRG_04_WERT = (RXBUF_UINT(9));
// R_iso_ges [kOhm] VALUE 04 / R_iso_ges [kOhm] WERT 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_TRG_04_WERT", STAT_R_ISO_TRG_04_WERT, "\"kOhm\"");
unsigned char STAT_R_ISO_QAL_TRG_04_WERT = (RXBUF_UCHAR(11));
// R_iso_ges QUAL 04 / R_iso_ges QUAL 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_QAL_TRG_04_WERT", STAT_R_ISO_QAL_TRG_04_WERT, "");
unsigned short STAT_R_ISO_TRG_05_WERT = (RXBUF_UINT(12));
// R_iso_ges [kOhm] VALUE 05 / R_iso_ges [kOhm] WERT 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_TRG_05_WERT", STAT_R_ISO_TRG_05_WERT, "\"kOhm\"");
unsigned char STAT_R_ISO_QAL_TRG_05_WERT = (RXBUF_UCHAR(14));
// R_iso_ges QUAL 05 / R_iso_ges QUAL 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG", "STAT_R_ISO_QAL_TRG_05_WERT", STAT_R_ISO_QAL_TRG_05_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_ISO_MESS_STD_IO_NIO: { // 0xD6C8
if (datalen < 70) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_ISO_MESS_STD_IO_NIO", 70);
break;
}
unsigned long STAT_STD_KM_ISO_01_WERT = (RXBUF_UINT32(0));
// Mileage when the error threshold is below / exceeded in the R_iso standard measurement [km] 01 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_01_WERT", STAT_STD_KM_ISO_01_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_01_WERT = (RXBUF_UINT(4));
// R_iso_Value when the error threshold is below / exceeded in the R_iso standard measurement [kOhm] 01 /
// R_iso_Wert bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_01_WERT", STAT_STD_R_ISO_01_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_01_WERT = (RXBUF_UCHAR(6));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 01 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_01_WERT", STAT_STD_R_ISO_QAL_01_WERT, "");
unsigned long STAT_STD_KM_ISO_02_WERT = (RXBUF_UINT32(7));
// Mileage reading when the error threshold of the R_iso standard measurement is below / exceeded [km] 02 /
// km-Stand bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_02_WERT", STAT_STD_KM_ISO_02_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_02_WERT = (RXBUF_UINT(11));
// R_iso_Wert if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 02 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_02_WERT", STAT_STD_R_ISO_02_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_02_WERT = (RXBUF_UCHAR(13));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 02 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_02_WERT", STAT_STD_R_ISO_QAL_02_WERT, "");
unsigned long STAT_STD_KM_ISO_03_WERT = (RXBUF_UINT32(14));
// Mileage in case of failure threshold of the R_iso standard measurement [km] 03 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_03_WERT", STAT_STD_KM_ISO_03_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_03_WERT = (RXBUF_UINT(18));
// R_iso_Wert if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 03 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_03_WERT", STAT_STD_R_ISO_03_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_03_WERT = (RXBUF_UCHAR(20));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 03 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_03_WERT", STAT_STD_R_ISO_QAL_03_WERT, "");
unsigned long STAT_STD_KM_ISO_04_WERT = (RXBUF_UINT32(21));
// Mileage when the error threshold is below / exceeded in the R_iso standard measurement [km] 04 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_04_WERT", STAT_STD_KM_ISO_04_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_04_WERT = (RXBUF_UINT(25));
// R_iso_Value when the error threshold falls below / exceeds the R_iso standard measurement [kOhm] 04 /
// R_iso_Wert bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_04_WERT", STAT_STD_R_ISO_04_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_04_WERT = (RXBUF_UCHAR(27));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 04 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_04_WERT", STAT_STD_R_ISO_QAL_04_WERT, "");
unsigned long STAT_STD_KM_ISO_05_WERT = (RXBUF_UINT32(28));
// Mileage in case of failure threshold of the R_iso standard measurement [km] 05 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_05_WERT", STAT_STD_KM_ISO_05_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_05_WERT = (RXBUF_UINT(32));
// R_iso_Value if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 05 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_05_WERT", STAT_STD_R_ISO_05_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_05_WERT = (RXBUF_UCHAR(34));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 05 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_05_WERT", STAT_STD_R_ISO_QAL_05_WERT, "");
unsigned long STAT_STD_KM_ISO_06_WERT = (RXBUF_UINT32(35));
// Mileage when the error threshold is below / exceeded in the R_iso standard measurement [km] 06 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_06_WERT", STAT_STD_KM_ISO_06_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_06_WERT = (RXBUF_UINT(39));
// R_iso_Wert if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 06 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_06_WERT", STAT_STD_R_ISO_06_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_06_WERT = (RXBUF_UCHAR(41));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 06 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_06_WERT", STAT_STD_R_ISO_QAL_06_WERT, "");
unsigned long STAT_STD_KM_ISO_07_WERT = (RXBUF_UINT32(42));
// Mileage in case of failure threshold of the R_iso standard measurement [km] 07 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_07_WERT", STAT_STD_KM_ISO_07_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_07_WERT = (RXBUF_UINT(46));
// R_iso_Value if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 07 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_07_WERT", STAT_STD_R_ISO_07_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_07_WERT = (RXBUF_UCHAR(48));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 07 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_07_WERT", STAT_STD_R_ISO_QAL_07_WERT, "");
unsigned long STAT_STD_KM_ISO_08_WERT = (RXBUF_UINT32(49));
// Mileage in case of failure threshold of the R_iso standard measurement [km] 08 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_08_WERT", STAT_STD_KM_ISO_08_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_08_WERT = (RXBUF_UINT(53));
// R_iso_Wert if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 08 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_08_WERT", STAT_STD_R_ISO_08_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_08_WERT = (RXBUF_UCHAR(55));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 08 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_08_WERT", STAT_STD_R_ISO_QAL_08_WERT, "");
unsigned long STAT_STD_KM_ISO_09_WERT = (RXBUF_UINT32(56));
// Mileage in case of failure threshold of the R_iso standard measurement [km] 09 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_09_WERT", STAT_STD_KM_ISO_09_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_09_WERT = (RXBUF_UINT(60));
// R_iso_Value when the error threshold of the R_iso standard measurement is below / exceeded [kOhm] 09 /
// R_iso_Wert bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_09_WERT", STAT_STD_R_ISO_09_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_09_WERT = (RXBUF_UCHAR(62));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 09 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_09_WERT", STAT_STD_R_ISO_QAL_09_WERT, "");
unsigned long STAT_STD_KM_ISO_10_WERT = (RXBUF_UINT32(63));
// Mileage when the error threshold is exceeded or not reached in the R_iso standard measurement [km] 10 /
// km-Stand bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [km] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_KM_ISO_10_WERT", STAT_STD_KM_ISO_10_WERT, "\"km\"");
unsigned short STAT_STD_R_ISO_10_WERT = (RXBUF_UINT(67));
// R_iso_Wert if the R_iso standard measurement falls below / exceeds the error threshold [kOhm] 10 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [kOhm] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_10_WERT", STAT_STD_R_ISO_10_WERT, "\"kOhm\"");
unsigned char STAT_STD_R_ISO_QAL_10_WERT = (RXBUF_UCHAR(69));
// R_iso_Qual if the R_iso standard measurement falls below / exceeds the error threshold [-] 10 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Standardmessung [-] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_STD_IO_NIO", "STAT_STD_R_ISO_QAL_10_WERT", STAT_STD_R_ISO_QAL_10_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_ISO_MESS_TRG_IO_NIO: { // 0xD6C9
if (datalen < 70) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_ISO_MESS_TRG_IO_NIO", 70);
break;
}
unsigned long STAT_TRG_KM_ISO_01_WERT = (RXBUF_UINT32(0));
// Mileage when the error threshold is below / exceeded in the R_iso lag measurement [km] 01 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_01_WERT", STAT_TRG_KM_ISO_01_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_01_WERT = (RXBUF_UINT(4));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 01 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_01_WERT", STAT_TRG_R_ISO_01_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_01_WERT = (RXBUF_UCHAR(6));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 01 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_01_WERT", STAT_TRG_R_ISO_QAL_01_WERT, "");
unsigned long STAT_TRG_KM_ISO_02_WERT = (RXBUF_UINT32(7));
// Mileage in case of error threshold under / overrun of the R_iso follow-up measurement [km] 02 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_02_WERT", STAT_TRG_KM_ISO_02_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_02_WERT = (RXBUF_UINT(11));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 02 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_02_WERT", STAT_TRG_R_ISO_02_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_02_WERT = (RXBUF_UCHAR(13));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 02 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 02
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_02_WERT", STAT_TRG_R_ISO_QAL_02_WERT, "");
unsigned long STAT_TRG_KM_ISO_03_WERT = (RXBUF_UINT32(14));
// Mileage when the error threshold is below / exceeded in the R_iso lag measurement [km] 03 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_03_WERT", STAT_TRG_KM_ISO_03_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_03_WERT = (RXBUF_UINT(18));
// R_iso_Value when the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 03 / R_iso_Wert
// bei Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_03_WERT", STAT_TRG_R_ISO_03_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_03_WERT = (RXBUF_UCHAR(20));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 03 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_03_WERT", STAT_TRG_R_ISO_QAL_03_WERT, "");
unsigned long STAT_TRG_KM_ISO_04_WERT = (RXBUF_UINT32(21));
// Mileage in case of error threshold under / overrun of the R_iso lag measurement [km] 04 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_04_WERT", STAT_TRG_KM_ISO_04_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_04_WERT = (RXBUF_UINT(25));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 04 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_04_WERT", STAT_TRG_R_ISO_04_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_04_WERT = (RXBUF_UCHAR(27));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 04 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_04_WERT", STAT_TRG_R_ISO_QAL_04_WERT, "");
unsigned long STAT_TRG_KM_ISO_05_WERT = (RXBUF_UINT32(28));
// Mileage when the error threshold is below / exceeded in the R_iso lag measurement [km] 05 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_05_WERT", STAT_TRG_KM_ISO_05_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_05_WERT = (RXBUF_UINT(32));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 05 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_05_WERT", STAT_TRG_R_ISO_05_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_05_WERT = (RXBUF_UCHAR(34));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 05 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_05_WERT", STAT_TRG_R_ISO_QAL_05_WERT, "");
unsigned long STAT_TRG_KM_ISO_06_WERT = (RXBUF_UINT32(35));
// Mileage in case of error threshold under / overrun of the R_iso follow-up measurement [km] 06 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_06_WERT", STAT_TRG_KM_ISO_06_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_06_WERT = (RXBUF_UINT(39));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 06 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_06_WERT", STAT_TRG_R_ISO_06_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_06_WERT = (RXBUF_UCHAR(41));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 06 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 06
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_06_WERT", STAT_TRG_R_ISO_QAL_06_WERT, "");
unsigned long STAT_TRG_KM_ISO_07_WERT = (RXBUF_UINT32(42));
// Mileage in case of error threshold under / overrun of the R_iso follow-up measurement [km] 07 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_07_WERT", STAT_TRG_KM_ISO_07_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_07_WERT = (RXBUF_UINT(46));
// R_iso_Wert when the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 07 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_07_WERT", STAT_TRG_R_ISO_07_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_07_WERT = (RXBUF_UCHAR(48));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 07 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 07
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_07_WERT", STAT_TRG_R_ISO_QAL_07_WERT, "");
unsigned long STAT_TRG_KM_ISO_08_WERT = (RXBUF_UINT32(49));
// Mileage when the error threshold is below / exceeded in the R_iso follow-up measurement [km] 08 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_08_WERT", STAT_TRG_KM_ISO_08_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_08_WERT = (RXBUF_UINT(53));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 08 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_08_WERT", STAT_TRG_R_ISO_08_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_08_WERT = (RXBUF_UCHAR(55));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 08 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 08
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_08_WERT", STAT_TRG_R_ISO_QAL_08_WERT, "");
unsigned long STAT_TRG_KM_ISO_09_WERT = (RXBUF_UINT32(56));
// Mileage in case of error threshold under / overrun of the R_iso follow-up measurement [km] 09 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_09_WERT", STAT_TRG_KM_ISO_09_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_09_WERT = (RXBUF_UINT(60));
// R_iso_Wert if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 09 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_09_WERT", STAT_TRG_R_ISO_09_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_09_WERT = (RXBUF_UCHAR(62));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 09 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 09
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_09_WERT", STAT_TRG_R_ISO_QAL_09_WERT, "");
unsigned long STAT_TRG_KM_ISO_10_WERT = (RXBUF_UINT32(63));
// Mileage in case of failure threshold of the R_iso follow-up measurement [km] 10 / km-Stand bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [km] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_KM_ISO_10_WERT", STAT_TRG_KM_ISO_10_WERT, "\"km\"");
unsigned short STAT_TRG_R_ISO_10_WERT = (RXBUF_UINT(67));
// R_iso_Value if the R_iso lag measurement falls below / exceeds the error threshold [kOhm] 10 / R_iso_Wert bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [kOhm] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_10_WERT", STAT_TRG_R_ISO_10_WERT, "\"kOhm\"");
unsigned char STAT_TRG_R_ISO_QAL_10_WERT = (RXBUF_UCHAR(69));
// R_iso_Qual if the R_iso lag measurement falls below / exceeds the error threshold [-] 10 / R_iso_Qual bei
// Fehlerschwellenunter-/-überschreitung der R_iso Nachlaufmessung [-] 10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ISO_MESS_TRG_IO_NIO", "STAT_TRG_R_ISO_QAL_10_WERT", STAT_TRG_R_ISO_QAL_10_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISODIAG_INPUT_ISTWERTE: { // 0xD6CA
if (datalen < 15) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISODIAG_INPUT_ISTWERTE", 15);
break;
}
float STAT_INPUT_ISO_01_WERT = (RXBUF_UINT(0)/100.0f);
// LI: Ubat01 [V] / LI: Ubat01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_01_WERT", STAT_INPUT_ISO_01_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_02_WERT = (RXBUF_UCHAR(2));
// LI: Ubat01_QUAL / LI: Ubat01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_02_WERT", STAT_INPUT_ISO_02_WERT, "");
float STAT_INPUT_ISO_03_WERT = (RXBUF_UINT(3)/100.0f);
// LI: Ubat02 [V] / LI: Ubat02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_03_WERT", STAT_INPUT_ISO_03_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_04_WERT = (RXBUF_UCHAR(5));
// LI: Ubat02_QUAL / LI: Ubat02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_04_WERT", STAT_INPUT_ISO_04_WERT, "");
float STAT_INPUT_ISO_05_WERT = (RXBUF_UINT(6)/100.0f);
// LI: Uiso01 [V] / LI: Uiso01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_05_WERT", STAT_INPUT_ISO_05_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_06_WERT = (RXBUF_UCHAR(8));
// LI: Uiso01_QUAL / LI: Uiso01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_06_WERT", STAT_INPUT_ISO_06_WERT, "");
float STAT_INPUT_ISO_07_WERT = (RXBUF_UINT(9)/100.0f);
// LI: Uiso02 [V] / LI: Uiso02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_07_WERT", STAT_INPUT_ISO_07_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_08_WERT = (RXBUF_UCHAR(11));
// LI: Uiso02_QUAL / LI: Uiso02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_08_WERT", STAT_INPUT_ISO_08_WERT, "");
float STAT_INPUT_ISO_09_WERT = (RXBUF_UINT(12)/100.0f);
// LI: Uoffset [V] / LI: Uoffset [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_09_WERT", STAT_INPUT_ISO_09_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_10_WERT = (RXBUF_UCHAR(14));
// LI: Uoffset_QUAL / LI: Uoffset_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISODIAG_INPUT_ISTWERTE", "STAT_INPUT_ISO_10_WERT", STAT_INPUT_ISO_10_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISO_ERR_STD_FZ1_2: { // 0xD6CB
if (datalen < 52) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISO_ERR_STD_FZ1_2", 52);
break;
}
unsigned long STAT_FEHLERZAEHLER_STD_WERT = (RXBUF_UINT32(0));
// LI: Counter of all errors that have occurred in the standard measurement / LI: Zähler aller aufgetretenen
// Fehler der Standardmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_FEHLERZAEHLER_STD_WERT", STAT_FEHLERZAEHLER_STD_WERT, "");
float STAT_INPUT_ISO_STD_FZ1_01_WERT = (RXBUF_UINT(4)/100.0f);
// LI: first error time Ubat01 [V] / LI: erstmaliger Fehlerzeitpunkt Ubat01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_01_WERT", STAT_INPUT_ISO_STD_FZ1_01_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_02_WERT = (RXBUF_UCHAR(6));
// LI: first error time Ubat01_QUAL / LI: erstmaliger Fehlerzeitpunkt Ubat01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_02_WERT", STAT_INPUT_ISO_STD_FZ1_02_WERT, "");
float STAT_INPUT_ISO_STD_FZ1_03_WERT = (RXBUF_UINT(7)/100.0f);
// LI: first error time Ubat02 [V] / LI: erstmaliger Fehlerzeitpunkt Ubat02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_03_WERT", STAT_INPUT_ISO_STD_FZ1_03_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_04_WERT = (RXBUF_UCHAR(9));
// LI: first error time Ubat02_QUAL / LI: erstmaliger Fehlerzeitpunkt Ubat02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_04_WERT", STAT_INPUT_ISO_STD_FZ1_04_WERT, "");
float STAT_INPUT_ISO_STD_FZ1_05_WERT = (RXBUF_UINT(10)/100.0f);
// LI: first error time Uiso01 [V] / LI: erstmaliger Fehlerzeitpunkt Uiso01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_05_WERT", STAT_INPUT_ISO_STD_FZ1_05_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_06_WERT = (RXBUF_UCHAR(12));
// LI: first time error Uiso01_QUAL / LI: erstmaliger Fehlerzeitpunkt Uiso01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_06_WERT", STAT_INPUT_ISO_STD_FZ1_06_WERT, "");
float STAT_INPUT_ISO_STD_FZ1_07_WERT = (RXBUF_UINT(13)/100.0f);
// LI: first failure time Uiso02 [V] / LI: erstmaliger Fehlerzeitpunkt Uiso02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_07_WERT", STAT_INPUT_ISO_STD_FZ1_07_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_08_WERT = (RXBUF_UCHAR(15));
// LI: first time error Uiso02_QUAL / LI: erstmaliger Fehlerzeitpunkt Uiso02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_08_WERT", STAT_INPUT_ISO_STD_FZ1_08_WERT, "");
float STAT_INPUT_ISO_STD_FZ1_09_WERT = (RXBUF_UINT(16)/100.0f);
// LI: first error time Uoffset [V] / LI: erstmaliger Fehlerzeitpunkt Uoffset [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_09_WERT", STAT_INPUT_ISO_STD_FZ1_09_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_10_WERT = (RXBUF_UCHAR(18));
// LI: first time error Uoffset_QUAL / LI: erstmaliger Fehlerzeitpunkt Uoffset_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_10_WERT", STAT_INPUT_ISO_STD_FZ1_10_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ1_11_WERT = (RXBUF_UINT(19));
// LI: first error time R_iso_ges [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_ges [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_11_WERT", STAT_INPUT_ISO_STD_FZ1_11_WERT, "\"kOhm\"");
unsigned char STAT_INPUT_ISO_STD_FZ1_12_WERT = (RXBUF_UCHAR(21));
// LI: first error time R_iso_gesQUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_gesQUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_12_WERT", STAT_INPUT_ISO_STD_FZ1_12_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ1_13_WERT = (RXBUF_UINT(22));
// LI: first error time R_iso_plus [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_plus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_13_WERT", STAT_INPUT_ISO_STD_FZ1_13_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_STD_FZ1_14_WERT = (RXBUF_UCHAR(24)/100.0f);
// LI: first error time R_iso_plus_QUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_plus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_14_WERT", STAT_INPUT_ISO_STD_FZ1_14_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ1_15_WERT = (RXBUF_UINT(25));
// LI: first error time R_iso_minus [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_minus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_15_WERT", STAT_INPUT_ISO_STD_FZ1_15_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_STD_FZ1_16_WERT = (RXBUF_UCHAR(27)/100.0f);
// LI: first error time R_iso_minus_QUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_minus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ1_16_WERT", STAT_INPUT_ISO_STD_FZ1_16_WERT, "");
float STAT_INPUT_ISO_STD_FZ2_01_WERT = (RXBUF_UINT(28)/100.0f);
// LI: last error time Ubat01 [V] / LI: letztmaliger Fehlerzeitpunkt Ubat01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_01_WERT", STAT_INPUT_ISO_STD_FZ2_01_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_02_WERT = (RXBUF_UCHAR(30));
// LI: last time the error occurred Ubat01_QUAL / LI: letztmaliger Fehlerzeitpunkt Ubat01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_02_WERT", STAT_INPUT_ISO_STD_FZ2_02_WERT, "");
float STAT_INPUT_ISO_STD_FZ2_03_WERT = (RXBUF_UINT(31)/100.0f);
// LI: last error time Ubat02 [V] / LI: letztmaliger Fehlerzeitpunkt Ubat02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_03_WERT", STAT_INPUT_ISO_STD_FZ2_03_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_04_WERT = (RXBUF_UCHAR(33));
// LI: last time the error occurred Ubat02_QUAL / LI: letztmaliger Fehlerzeitpunkt Ubat02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_04_WERT", STAT_INPUT_ISO_STD_FZ2_04_WERT, "");
float STAT_INPUT_ISO_STD_FZ2_05_WERT = (RXBUF_UINT(34)/100.0f);
// LI: last time the error occurred Uiso01 [V] / LI: letztmaliger Fehlerzeitpunkt Uiso01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_05_WERT", STAT_INPUT_ISO_STD_FZ2_05_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_06_WERT = (RXBUF_UCHAR(36));
// LI: last time the error occurred Uiso01_QUAL / LI: letztmaliger Fehlerzeitpunkt Uiso01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_06_WERT", STAT_INPUT_ISO_STD_FZ2_06_WERT, "");
float STAT_INPUT_ISO_STD_FZ2_07_WERT = (RXBUF_UINT(37)/100.0f);
// LI: last error time Uiso02 [V] / LI: letztmaliger Fehlerzeitpunkt Uiso02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_07_WERT", STAT_INPUT_ISO_STD_FZ2_07_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_08_WERT = (RXBUF_UCHAR(39));
// LI: last time the error occurred Uiso02_QUAL / LI: letztmaliger Fehlerzeitpunkt Uiso02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_08_WERT", STAT_INPUT_ISO_STD_FZ2_08_WERT, "");
float STAT_INPUT_ISO_STD_FZ2_09_WERT = (RXBUF_UINT(40)/100.0f);
// LI: last error time Uoffset [V] / LI: letztmaliger Fehlerzeitpunkt Uoffset [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_09_WERT", STAT_INPUT_ISO_STD_FZ2_09_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_10_WERT = (RXBUF_UCHAR(42));
// LI: last time the error occurred Uoffset_QUAL / LI: letztmaliger Fehlerzeitpunkt Uoffset_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_10_WERT", STAT_INPUT_ISO_STD_FZ2_10_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ2_11_WERT = (RXBUF_UINT(43));
// LI: last time the error occurred R_iso_ges [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_ges [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_11_WERT", STAT_INPUT_ISO_STD_FZ2_11_WERT, "\"kOhm\"");
unsigned char STAT_INPUT_ISO_STD_FZ2_12_WERT = (RXBUF_UCHAR(45));
// LI: last time the error occurred R_iso_gesQUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_gesQUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_12_WERT", STAT_INPUT_ISO_STD_FZ2_12_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ2_13_WERT = (RXBUF_UINT(46));
// LI: last time the error occurred R_iso_plus [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_plus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_13_WERT", STAT_INPUT_ISO_STD_FZ2_13_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_STD_FZ2_14_WERT = (RXBUF_UCHAR(48)/100.0f);
// LI: last time the error occurred R_iso_plus_QUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_plus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_14_WERT", STAT_INPUT_ISO_STD_FZ2_14_WERT, "");
unsigned short STAT_INPUT_ISO_STD_FZ2_15_WERT = (RXBUF_UINT(49));
// LI: last time the error occurred R_iso_minus [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_minus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_15_WERT", STAT_INPUT_ISO_STD_FZ2_15_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_STD_FZ2_16_WERT = (RXBUF_UCHAR(51)/100.0f);
// LI: last time the error occurred R_iso_minus_QUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_minus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_STD_FZ1_2", "STAT_INPUT_ISO_STD_FZ2_16_WERT", STAT_INPUT_ISO_STD_FZ2_16_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_SOH_KAPATEST: { // 0xD6CC
if (datalen < 51) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_SOH_KAPATEST", 51);
break;
}
float STAT_SOH_C_MIN_ERG_TEST_1_WERT = (RXBUF_UINT(0)/100.0f);
// Minimum SoH_C (on the memory level) as the result of the first capacity test / Minimaler SoH_C (auf
// Speicherebene) als Ergebnis des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_ERG_TEST_1_WERT", STAT_SOH_C_MIN_ERG_TEST_1_WERT, "\"%\"");
float STAT_SOH_C_MIN_VOR_TEST_1_WERT = (RXBUF_UINT(2)/100.0f);
// Minimum SoH_C BEFORE the first capacity test / Minimaler SoH_C VOR erstem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_VOR_TEST_1_WERT", STAT_SOH_C_MIN_VOR_TEST_1_WERT, "\"%\"");
float STAT_SOH_C_MAX_VOR_TEST_1_WERT = (RXBUF_UINT(4)/100.0f);
// Maximum SoH_C BEFORE the first capacity test / Maximaler SoH_C VOR erstem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MAX_VOR_TEST_1_WERT", STAT_SOH_C_MAX_VOR_TEST_1_WERT, "\"%\"");
float STAT_SOH_C_AVG_VOR_TEST_1_WERT = (RXBUF_UINT(6)/100.0f);
// Mean SoH_C BEFORE the first capacity test / Mittlerer SoH_C VOR erstem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_AVG_VOR_TEST_1_WERT", STAT_SOH_C_AVG_VOR_TEST_1_WERT, "\"%\"");
char STAT_TEMP_VOR_TEST_1_WERT = (RXBUF_SCHAR(8));
// Average measured temperature at HVS level BEFORE the first capacity test / Mittlere gemessene Temperatur auf
// HVS-Ebene VOR erstem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST", "STAT_TEMP_VOR_TEST_1_WERT", STAT_TEMP_VOR_TEST_1_WERT, "\"°C\"");
float STAT_MAX_DELTA_U_CELL_1_WERT = (RXBUF_UINT(9)/1000.0f);
// Maximum voltage delta of the cells BEFORE the first capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 the following applies: Asymmetry potential as the voltage difference
// between the cell that was most deeply discharged during the first capacity test and Ucel_max at full charge /
// Maximales Spannungsdelta der Zellen VOR erstem Kapazitätstest Ab den I-Stufen I15/SP15: 18-03-i420; I01/SE09:
// 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als Spannungsdifferenz der während des ersten
// Kapazitätstests am tiefsten entladenen Zelle zu Ucel_max im Volllademoment
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_U_CELL_1_WERT", STAT_MAX_DELTA_U_CELL_1_WERT, "\"V\"");
float STAT_MAX_DELTA_SOC_NENN_1_WERT = (RXBUF_UINT(11)/100.0f);
// Maximum SoC delta of the cells BEFORE the first capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 applies: Asymmetry potential as SoC_Nenn-Percent value, which was
// determined during the first capacity test. / Maximales SoC-Delta der Zellen VOR erstem Kapazitätstest Ab den
// I-Stufen I15/SP15: 18-03-i420; I01/SE09: 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als
// SoC_Nenn-Prozent-Wert, der während des ersten Kapazitätstests ermittelt wurde.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_SOC_NENN_1_WERT", STAT_MAX_DELTA_SOC_NENN_1_WERT, "\"%\"");
unsigned long STAT_ZEITPUNKT_TEST_1_WERT = (RXBUF_UINT32(13));
// Point in time (SME time) at the end of the first capacity test / Zeitpunkt (SME-Zeit) am Ende des ersten
// Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOH_KAPATEST", "STAT_ZEITPUNKT_TEST_1_WERT", STAT_ZEITPUNKT_TEST_1_WERT, "\"s\"");
float STAT_SOH_C_MIN_ERG_TEST_2_WERT = (RXBUF_UINT(17)/100.0f);
// Minimum SoH_C (on the memory level) as the result of the second capacity test / Minimaler SoH_C (auf
// Speicherebene) als Ergebnis des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_ERG_TEST_2_WERT", STAT_SOH_C_MIN_ERG_TEST_2_WERT, "\"%\"");
float STAT_SOH_C_MIN_VOR_TEST_2_WERT = (RXBUF_UINT(19)/100.0f);
// Minimum SoH_C BEFORE the second capacity test / Minimaler SoH_C VOR zweitem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_VOR_TEST_2_WERT", STAT_SOH_C_MIN_VOR_TEST_2_WERT, "\"%\"");
float STAT_SOH_C_MAX_VOR_TEST_2_WERT = (RXBUF_UINT(21)/100.0f);
// Maximum SoH_C BEFORE the second capacity test / Maximaler SoH_C VOR zweitem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MAX_VOR_TEST_2_WERT", STAT_SOH_C_MAX_VOR_TEST_2_WERT, "\"%\"");
float STAT_SOH_C_AVG_VOR_TEST_2_WERT = (RXBUF_UINT(23)/100.0f);
// Mean SoH_C BEFORE second capacity test / Mittlerer SoH_C VOR zweitem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_AVG_VOR_TEST_2_WERT", STAT_SOH_C_AVG_VOR_TEST_2_WERT, "\"%\"");
char STAT_TEMP_VOR_TEST_2_WERT = (RXBUF_SCHAR(25));
// Average measured temperature at HVS level BEFORE the second capacity test / Mittlere gemessene Temperatur auf
// HVS-Ebene VOR zweitem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST", "STAT_TEMP_VOR_TEST_2_WERT", STAT_TEMP_VOR_TEST_2_WERT, "\"°C\"");
float STAT_MAX_DELTA_U_CELL_2_WERT = (RXBUF_UINT(26)/1000.0f);
// Maximum voltage delta of the cells BEFORE the second capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 the following applies: Asymmetry potential as the voltage difference
// between the deepest cell discharged during the second capacity test and Ucel_max when fully charged /
// Maximales Spannungsdelta der Zellen VOR zweitem Kapazitätstest Ab den I-Stufen I15/SP15: 18-03-i420;
// I01/SE09: 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als Spannungsdifferenz der während des
// zweiten Kapazitätstests am tiefsten entladenen Zelle zu Ucel_max im Volllademoment
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_U_CELL_2_WERT", STAT_MAX_DELTA_U_CELL_2_WERT, "\"V\"");
float STAT_MAX_DELTA_SOC_NENN_2_WERT = (RXBUF_UINT(28)/100.0f);
// Maximum SoC delta of the cells BEFORE the second capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 applies: Asymmetry potential as SoC_Nenn-Percent value, which was
// determined during the second capacity test. / Maximales SoC-Delta der Zellen VOR zweitem Kapazitätstest Ab den
// I-Stufen I15/SP15: 18-03-i420; I01/SE09: 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als
// SoC_Nenn-Prozent-Wert, der während des zweiten Kapazitätstests ermittelt wurde.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_SOC_NENN_2_WERT", STAT_MAX_DELTA_SOC_NENN_2_WERT, "\"%\"");
unsigned long STAT_ZEITPUNKT_TEST_2_WERT = (RXBUF_UINT32(30));
// Point in time (SME time) at the end of the second capacity test / Zeitpunkt (SME-Zeit) am Ende des zweiten
// Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOH_KAPATEST", "STAT_ZEITPUNKT_TEST_2_WERT", STAT_ZEITPUNKT_TEST_2_WERT, "\"s\"");
float STAT_SOH_C_MIN_ERG_TEST_3_WERT = (RXBUF_UINT(34)/100.0f);
// Minimum SoH_C (on the memory level) as the result of the third capacity test / Minimaler SoH_C (auf
// Speicherebene) als Ergebnis des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_ERG_TEST_3_WERT", STAT_SOH_C_MIN_ERG_TEST_3_WERT, "\"%\"");
float STAT_SOH_C_MIN_VOR_TEST_3_WERT = (RXBUF_UINT(36)/100.0f);
// Minimum SoH_C BEFORE the third capacity test / Minimaler SoH_C VOR drittem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MIN_VOR_TEST_3_WERT", STAT_SOH_C_MIN_VOR_TEST_3_WERT, "\"%\"");
float STAT_SOH_C_MAX_VOR_TEST_3_WERT = (RXBUF_UINT(38)/100.0f);
// Maximum SoH_C BEFORE the third capacity test / Maximaler SoH_C VOR drittem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_MAX_VOR_TEST_3_WERT", STAT_SOH_C_MAX_VOR_TEST_3_WERT, "\"%\"");
float STAT_SOH_C_AVG_VOR_TEST_3_WERT = (RXBUF_UINT(40)/100.0f);
// Middle SoH_C BEFORE the third capacity test / Mittlerer SoH_C VOR drittem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_SOH_C_AVG_VOR_TEST_3_WERT", STAT_SOH_C_AVG_VOR_TEST_3_WERT, "\"%\"");
char STAT_TEMP_VOR_TEST_3_WERT = (RXBUF_SCHAR(42));
// Average measured temperature at HVS level BEFORE the third capacity test / Mittlere gemessene Temperatur auf
// HVS-Ebene VOR drittem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST", "STAT_TEMP_VOR_TEST_3_WERT", STAT_TEMP_VOR_TEST_3_WERT, "\"°C\"");
float STAT_MAX_DELTA_U_CELL_3_WERT = (RXBUF_UINT(43)/1000.0f);
// Maximum voltage delta of the cells BEFORE the third capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 the following applies: Asymmetry potential as the voltage difference
// between the deepest cell discharged during the third capacity test and Ucel_max at full charge / Maximales
// Spannungsdelta der Zellen VOR drittem Kapazitätstest Ab den I-Stufen I15/SP15: 18-03-i420; I01/SE09:
// 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als Spannungsdifferenz der während des dritten
// Kapazitätstests am tiefsten entladenen Zelle zu Ucel_max im Volllademoment
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_U_CELL_3_WERT", STAT_MAX_DELTA_U_CELL_3_WERT, "\"V\"");
float STAT_MAX_DELTA_SOC_NENN_3_WERT = (RXBUF_UINT(45)/100.0f);
// Maximum SoC delta of the cells BEFORE the third capacity test From I levels I15 / SP15: 18-03-i420; I01 /
// SE09: 17-11-i400; F56 / SE14: 19-11-i310 applies: Asymmetry potential as SoC_Nenn-Percent value, which was
// determined during the third capacity test. / Maximales SoC-Delta der Zellen VOR drittem Kapazitätstest Ab den
// I-Stufen I15/SP15: 18-03-i420; I01/SE09: 17-11-i400; F56/SE14: 19-11-i310 gilt: Asymmetrie-Potential als
// SoC_Nenn-Prozent-Wert, der während des dritten Kapazitätstests ermittelt wurde.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST", "STAT_MAX_DELTA_SOC_NENN_3_WERT", STAT_MAX_DELTA_SOC_NENN_3_WERT, "\"%\"");
unsigned long STAT_ZEITPUNKT_TEST_3_WERT = (RXBUF_UINT32(47));
// Point in time (SME time) at the end of the third capacity test / Zeitpunkt (SME-Zeit) am Ende des dritten
// Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_SOH_KAPATEST", "STAT_ZEITPUNKT_TEST_3_WERT", STAT_ZEITPUNKT_TEST_3_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_REKU_VOLTAGE_LIFT: { // 0xD6CD
if (datalen < 6) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_REKU_VOLTAGE_LIFT", 6);
break;
}
unsigned short STAT_ANZAHL_REKU_VOLT_LIFT_WERT = (RXBUF_UINT(0));
// Return of the number in which the increased recuperation capacity is made available when the HVS is almost
// full / Rückgabe der Anzahl, in der erhöhte Rekuperationsleistung zur Verfügung gestellt wird bei fast vollem
// HVS
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "REKU_VOLTAGE_LIFT", "STAT_ANZAHL_REKU_VOLT_LIFT_WERT", STAT_ANZAHL_REKU_VOLT_LIFT_WERT, "");
float STAT_DAUER_REKU_VOLT_LIFT_WERT = (RXBUF_UINT32(2)/10.0f);
// Return of the duration in which the increased recuperation capacity is available when the HVS is almost full /
// Rückgabe der Dauer, in der erhöhte Rekuperationsleistung zur Verfügung gestellt wird bei fast vollem HVS
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "REKU_VOLTAGE_LIFT", "STAT_DAUER_REKU_VOLT_LIFT_WERT", STAT_DAUER_REKU_VOLT_LIFT_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_ALTERUNG_KAPA: { // 0xD6CE
if (datalen < 241) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_ALTERUNG_KAPA", 241);
break;
}
unsigned short STAT_SOH_ADAPT_COUNT_1_WERT = (RXBUF_UINT(0));
// Adaptation counter of 1st adaptation / Adaptionszähler von 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ADAPT_COUNT_1_WERT", STAT_SOH_ADAPT_COUNT_1_WERT, "");
unsigned char STAT_GRUND_ADAPTION_1_WERT = (RXBUF_UCHAR(2));
// Reason for triggering the ring buffer entry (0 = SoH_C estimate; 1 = KapaTest with transfer of the result to
// NV; 2 = KapaTest without transfer of the result to NV) / Auslösegrund des Ringspeicher-Eintrags (0 =
// SoH_C-Schätzung; 1 = KapaTest mit Übernahme vom Ergebnis in NV; 2 = KapaTest ohne Übernahme vom Ergebnis in
// NV)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_GRUND_ADAPTION_1_WERT", STAT_GRUND_ADAPTION_1_WERT, "");
unsigned long STAT_ZEITPUNKT_ADAP_1_WERT = (RXBUF_UINT32(3));
// Time (SME time) of the 1st adaptation / Zeitpunkt (SME-Zeit) der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_ZEITPUNKT_ADAP_1_WERT", STAT_ZEITPUNKT_ADAP_1_WERT, "\"s\"");
float STAT_AH_CUM_ABS_1_WERT = (RXBUF_UINT32(7)/3600.0f);
// Absolute Ah throughput of the 1st adaptation (if adaptation reason = KapaTest: test result in Ah) / Absoluter
// Ah-Durchsatz der 1. Adaption (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_CUM_ABS_1_WERT", STAT_AH_CUM_ABS_1_WERT, "\"Ah\"");
float STAT_AH_INTEGRAL_1_WERT = (RXBUF_UINT32(11)/3600.0f);
// Ah stroke of the 1st adaptation (if adaptation reason = KapaTest: test result in Ah) / Ah-Hub der 1. Adaption
// (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_INTEGRAL_1_WERT", STAT_AH_INTEGRAL_1_WERT, "\"Ah\"");
unsigned short STAT_HVOFFTIME_ADAP_1_WERT = (RXBUF_UINT(15));
// Duration the shooter was open during the 1st adaptation / Dauer, die die Schütze während der 1. Adaption
// geöffnet war
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_HVOFFTIME_ADAP_1_WERT", STAT_HVOFFTIME_ADAP_1_WERT, "\"s\"");
char STAT_TEMP_MEAN1_1_WERT = (RXBUF_SCHAR(17));
// Average temperature at HVS level at the beginning of the 1st adaptation or at the beginning of the test /
// Mittlere Temperatur auf HVS-Ebene zu Beginn der 1. Adaption bzw. zu Beginn des Tests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN1_1_WERT", STAT_TEMP_MEAN1_1_WERT, "\"°C\"");
char STAT_TEMP_MEAN2_1_WERT = (RXBUF_SCHAR(18));
// Average temperature at HVS level at the end of the 1st adaptation / Mittlere Temperatur auf HVS-Ebene am Ende
// der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN2_1_WERT", STAT_TEMP_MEAN2_1_WERT, "\"°C\"");
float STAT_UCEL_MIN_INIT1_1_WERT = (RXBUF_UINT(19)/1000.0f);
// Minimum measured resting voltage of the cells at the beginning of the 1st adaptation (if the reason for
// adaptation = KapaTest: minimum measured resting voltage when waking up) / Minimale gemessene Ruhespannung der
// Zellen zu Beginn der 1. Adaption (Wenn Adaptionsgrund = KapaTest: Minimale gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT1_1_WERT", STAT_UCEL_MIN_INIT1_1_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT1_1_WERT = (RXBUF_UINT(21)/1000.0f);
// Maximum measured resting voltage of the cells at the beginning of the 1st adaptation (if adaptation reason =
// KapaTest: maximum measured resting voltage when waking up) / Maximale gemessene Ruhespannung der Zellen zu
// Beginn der 1. Adaption (Wenn Adaptionsgrund = KapaTest: Maximale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT1_1_WERT", STAT_UCEL_MAX_INIT1_1_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT1_1_WERT = (RXBUF_UINT(23)/1000.0f);
// Average measured open-circuit voltage of the cells at the beginning of the 1st adaptation (if adaptation
// reason = KapaTest: average measured open-circuit voltage when waking up) / Mittlere gemessene Ruhespannung der
// Zellen zu Beginn der 1. Adaption (Wenn Adaptionsgrund = KapaTest: Mittlere gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT1_1_WERT", STAT_UCEL_MEAN_INIT1_1_WERT, "\"V\"");
float STAT_UCEL_MIN_INIT2_1_WERT = (RXBUF_UINT(25)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the end of the 1st adaptation / Minimale gemessene
// Ruhespannung der Zellen am Ende der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT2_1_WERT", STAT_UCEL_MIN_INIT2_1_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT2_1_WERT = (RXBUF_UINT(27)/1000.0f);
// Maximum measured open-circuit voltage of the cells at the end of the 1st adaptation / Maximale gemessene
// Ruhespannung der Zellen am Ende der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT2_1_WERT", STAT_UCEL_MAX_INIT2_1_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT2_1_WERT = (RXBUF_UINT(29)/1000.0f);
// Mean measured open-circuit voltage of the cells at the end of the 1st adaptation / Mittlere gemessene
// Ruhespannung der Zellen am Ende der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT2_1_WERT", STAT_UCEL_MEAN_INIT2_1_WERT, "\"V\"");
float STAT_SOH_ZELLE1_VOR_ADAPT_1_WERT = (RXBUF_UINT(31)/100.0f);
// SoH_C of cell 1 BEFORE 1st adaptation / SoH_C von Zelle 1 VOR 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_VOR_ADAPT_1_WERT", STAT_SOH_ZELLE1_VOR_ADAPT_1_WERT, "\"%\"");
float STAT_SOH_ZELLE1_NACH_ADAPT_1_WERT = (RXBUF_UINT(33)/100.0f);
// SoH_C from cell 1 AFTER 1st adaptation / SoH_C von Zelle 1 NACH 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_NACH_ADAPT_1_WERT", STAT_SOH_ZELLE1_NACH_ADAPT_1_WERT, "\"%\"");
float STAT_OVC1_ZELLE1_1_WERT = (RXBUF_UINT(35)/1000.0f);
// OCV value of cell 1 at the beginning of the 1st adaptation / OCV Wert von Zelle 1 zu Beginn der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC1_ZELLE1_1_WERT", STAT_OVC1_ZELLE1_1_WERT, "\"V\"");
float STAT_OVC2_ZELLE1_1_WERT = (RXBUF_UINT(37)/1000.0f);
// OCV value of cell 1 at the end of the 1st adaptation / OCV Wert von Zelle 1 am Ende der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC2_ZELLE1_1_WERT", STAT_OVC2_ZELLE1_1_WERT, "\"V\"");
float STAT_SOH_GAIN_FAKTOR_ZELLE1_1_WERT = (RXBUF_UINT(39)/10000.0f);
// Gain factor of cell 1 for the first adaptation / Gain Faktor von Zelle 1 für die erste Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_GAIN_FAKTOR_ZELLE1_1_WERT", STAT_SOH_GAIN_FAKTOR_ZELLE1_1_WERT, "");
float STAT_SOH_MIN_NACH_1_WERT = (RXBUF_UINT(41)/100.0f);
// Minimal SOH AFTER the 1st adaptation / Minimaler SOH NACH der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_NACH_1_WERT", STAT_SOH_MIN_NACH_1_WERT, "\"%\"");
float STAT_SOH_MAX_NACH_1_WERT = (RXBUF_UINT(43)/100.0f);
// Maximum SOH AFTER the 1st adaptation / Maximaler SOH NACH der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_NACH_1_WERT", STAT_SOH_MAX_NACH_1_WERT, "\"%\"");
float STAT_SOH_MEAN_NACH_1_WERT = (RXBUF_UINT(45)/100.0f);
// Middle SOH AFTER the 1st adaptation / Mittlerer SOH NACH der 1. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_NACH_1_WERT", STAT_SOH_MEAN_NACH_1_WERT, "\"%\"");
unsigned short STAT_SOH_ADAPT_COUNT_2_WERT = (RXBUF_UINT(47));
// Adaptation counter of 2nd adaptation / Adaptionszähler von 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ADAPT_COUNT_2_WERT", STAT_SOH_ADAPT_COUNT_2_WERT, "");
unsigned char STAT_GRUND_ADAPTION_2_WERT = (RXBUF_UCHAR(49));
// Reason for triggering the ring buffer entry (0 = SoH_C estimate; 1 = KapaTest with transfer of the result to
// NV; 2 = KapaTest without transfer of the result to NV) / Auslösegrund des Ringspeicher-Eintrags (0 =
// SoH_C-Schätzung; 1 = KapaTest mit Übernahme vom Ergebnis in NV; 2 = KapaTest ohne Übernahme vom Ergebnis in
// NV)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_GRUND_ADAPTION_2_WERT", STAT_GRUND_ADAPTION_2_WERT, "");
unsigned long STAT_ZEITPUNKT_ADAP_2_WERT = (RXBUF_UINT32(50));
// Time (SME time) of the 2nd adaptation / Zeitpunkt (SME-Zeit) der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_ZEITPUNKT_ADAP_2_WERT", STAT_ZEITPUNKT_ADAP_2_WERT, "\"s\"");
float STAT_AH_CUM_ABS_2_WERT = (RXBUF_UINT32(54)/3600.0f);
// Absolute Ah throughput of the 2nd adaptation (if adaptation reason = KapaTest: test result in Ah) / Absoluter
// Ah-Durchsatz der 2. Adaption (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_CUM_ABS_2_WERT", STAT_AH_CUM_ABS_2_WERT, "\"Ah\"");
float STAT_AH_INTEGRAL_2_WERT = (RXBUF_UINT32(58)/3600.0f);
// Ah stroke of the 2nd adaptation (if adaptation reason = KapaTest: test result in Ah) / Ah-Hub der 2. Adaption
// (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_INTEGRAL_2_WERT", STAT_AH_INTEGRAL_2_WERT, "\"Ah\"");
unsigned short STAT_HVOFFTIME_ADAP_2_WERT = (RXBUF_UINT(62));
// Duration that the shooter was open during the 2nd adaptation / Dauer, die die Schütze während der 2. Adaption
// geöffnet war
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_HVOFFTIME_ADAP_2_WERT", STAT_HVOFFTIME_ADAP_2_WERT, "\"s\"");
char STAT_TEMP_MEAN1_2_WERT = (RXBUF_SCHAR(64));
// Average temperature at HVS level at the beginning of the 2nd adaptation or at the beginning of the test /
// Mittlere Temperatur auf HVS-Ebene zu Beginn der 2. Adaption bzw. zu Beginn des Tests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN1_2_WERT", STAT_TEMP_MEAN1_2_WERT, "\"°C\"");
char STAT_TEMP_MEAN2_2_WERT = (RXBUF_SCHAR(65));
// Average temperature at HVS level at the end of the 2nd adaptation / Mittlere Temperatur auf HVS-Ebene am Ende
// der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN2_2_WERT", STAT_TEMP_MEAN2_2_WERT, "\"°C\"");
float STAT_UCEL_MIN_INIT1_2_WERT = (RXBUF_UINT(66)/1000.0f);
// Minimum measured resting voltage of the cells at the beginning of the 2nd adaptation (if adaptation reason =
// KapaTest: minimum measured resting voltage when waking up) / Minimale gemessene Ruhespannung der Zellen zu
// Beginn der 2. Adaption (Wenn Adaptionsgrund = KapaTest: Minimale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT1_2_WERT", STAT_UCEL_MIN_INIT1_2_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT1_2_WERT = (RXBUF_UINT(68)/1000.0f);
// Maximum measured resting voltage of the cells at the beginning of the 2nd adaptation (if adaptation reason =
// KapaTest: maximum measured resting voltage when waking up) / Maximale gemessene Ruhespannung der Zellen zu
// Beginn der 2. Adaption (Wenn Adaptionsgrund = KapaTest: Maximale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT1_2_WERT", STAT_UCEL_MAX_INIT1_2_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT1_2_WERT = (RXBUF_UINT(70)/1000.0f);
// Mean measured open-circuit voltage of the cells at the beginning of the 2nd adaptation (if reason for
// adaptation = KapaTest: mean measured open-circuit voltage when waking up) / Mittlere gemessene Ruhespannung
// der Zellen zu Beginn der 2. Adaption (Wenn Adaptionsgrund = KapaTest: Mittlere gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT1_2_WERT", STAT_UCEL_MEAN_INIT1_2_WERT, "\"V\"");
float STAT_UCEL_MIN_INIT2_2_WERT = (RXBUF_UINT(72)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the end of the 2nd adaptation / Minimale gemessene
// Ruhespannung der Zellen am Ende der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT2_2_WERT", STAT_UCEL_MIN_INIT2_2_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT2_2_WERT = (RXBUF_UINT(74)/1000.0f);
// Maximum measured open-circuit voltage of the cells at the end of the 2nd adaptation / Maximale gemessene
// Ruhespannung der Zellen am Ende der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT2_2_WERT", STAT_UCEL_MAX_INIT2_2_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT2_2_WERT = (RXBUF_UINT(76)/1000.0f);
// Mean measured open-circuit voltage of the cells at the end of the 2nd adaptation / Mittlere gemessene
// Ruhespannung der Zellen am Ende der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT2_2_WERT", STAT_UCEL_MEAN_INIT2_2_WERT, "\"V\"");
float STAT_SOH_ZELLE1_VOR_ADAPT_2_WERT = (RXBUF_UINT(78)/100.0f);
// SoH_C of cell 1 BEFORE 2nd adaptation / SoH_C von Zelle 1 VOR 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_VOR_ADAPT_2_WERT", STAT_SOH_ZELLE1_VOR_ADAPT_2_WERT, "\"%\"");
float STAT_SOH_ZELLE1_NACH_ADAPT_2_WERT = (RXBUF_UINT(80)/100.0f);
// SoH_C from cell 1 AFTER 2nd adaptation / SoH_C von Zelle 1 NACH 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_NACH_ADAPT_2_WERT", STAT_SOH_ZELLE1_NACH_ADAPT_2_WERT, "\"%\"");
float STAT_OVC1_ZELLE1_2_WERT = (RXBUF_UINT(82)/1000.0f);
// OCV value of cell 1 at the beginning of the 2nd adaptation / OCV Wert von Zelle 1 zu Beginn der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC1_ZELLE1_2_WERT", STAT_OVC1_ZELLE1_2_WERT, "\"V\"");
float STAT_OVC2_ZELLE1_2_WERT = (RXBUF_UINT(84)/1000.0f);
// OCV value of cell 1 at the end of the 2nd adaptation / OCV Wert von Zelle 1 am Ende der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC2_ZELLE1_2_WERT", STAT_OVC2_ZELLE1_2_WERT, "\"V\"");
float STAT_SOH_GAIN_FAKTOR_ZELLE1_2_WERT = (RXBUF_UINT(86)/10000.0f);
// Gain factor of cell 1 for the second adaptation / Gain Faktor von Zelle 1 für die zweite Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_GAIN_FAKTOR_ZELLE1_2_WERT", STAT_SOH_GAIN_FAKTOR_ZELLE1_2_WERT, "");
float STAT_SOH_MIN_NACH_2_WERT = (RXBUF_UINT(88)/100.0f);
// Minimal SOH AFTER the 2nd adaptation / Minimaler SOH NACH der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_NACH_2_WERT", STAT_SOH_MIN_NACH_2_WERT, "\"%\"");
float STAT_SOH_MAX_NACH_2_WERT = (RXBUF_UINT(90)/100.0f);
// Maximum SOH AFTER the 2nd adaptation / Maximaler SOH NACH der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_NACH_2_WERT", STAT_SOH_MAX_NACH_2_WERT, "\"%\"");
float STAT_SOH_MEAN_NACH_2_WERT = (RXBUF_UINT(92)/100.0f);
// Middle SOH AFTER the 2nd adaptation / Mittlerer SOH NACH der 2. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_NACH_2_WERT", STAT_SOH_MEAN_NACH_2_WERT, "\"%\"");
unsigned short STAT_SOH_ADAPT_COUNT_3_WERT = (RXBUF_UINT(94));
// Adaptation counter of 3rd adaptation / Adaptionszähler von 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ADAPT_COUNT_3_WERT", STAT_SOH_ADAPT_COUNT_3_WERT, "");
unsigned char STAT_GRUND_ADAPTION_3_WERT = (RXBUF_UCHAR(96));
// Reason for triggering the ring buffer entry (0 = SoH_C estimate; 1 = KapaTest with transfer of the result to
// NV; 2 = KapaTest without transfer of the result to NV) / Auslösegrund des Ringspeicher-Eintrags (0 =
// SoH_C-Schätzung; 1 = KapaTest mit Übernahme vom Ergebnis in NV; 2 = KapaTest ohne Übernahme vom Ergebnis in
// NV)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_GRUND_ADAPTION_3_WERT", STAT_GRUND_ADAPTION_3_WERT, "");
unsigned long STAT_ZEITPUNKT_ADAP_3_WERT = (RXBUF_UINT32(97));
// Time (SME time) of the 3rd adaptation / Zeitpunkt (SME-Zeit) der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_ZEITPUNKT_ADAP_3_WERT", STAT_ZEITPUNKT_ADAP_3_WERT, "\"s\"");
float STAT_AH_CUM_ABS_3_WERT = (RXBUF_UINT32(101)/3600.0f);
// Absolute Ah throughput of the 3rd adaptation (if adaptation reason = KapaTest: test result in Ah) / Absoluter
// Ah-Durchsatz der 3. Adaption (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_CUM_ABS_3_WERT", STAT_AH_CUM_ABS_3_WERT, "\"Ah\"");
float STAT_AH_INTEGRAL_3_WERT = (RXBUF_UINT32(105)/3600.0f);
// Ah stroke of the 3rd adaptation (if adaptation reason = KapaTest: test result in Ah) / Ah-Hub der 3. Adaption
// (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_INTEGRAL_3_WERT", STAT_AH_INTEGRAL_3_WERT, "\"Ah\"");
unsigned short STAT_HVOFFTIME_ADAP_3_WERT = (RXBUF_UINT(109));
// Duration that the shooter was open during the 3rd adaptation / Dauer, die die Schütze während der 3. Adaption
// geöffnet war
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_HVOFFTIME_ADAP_3_WERT", STAT_HVOFFTIME_ADAP_3_WERT, "\"s\"");
char STAT_TEMP_MEAN1_3_WERT = (RXBUF_SCHAR(111));
// Average temperature at HVS level at the beginning of the 3rd adaptation or at the beginning of the test /
// Mittlere Temperatur auf HVS-Ebene zu Beginn der 3. Adaption bzw. zu Beginn des Tests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN1_3_WERT", STAT_TEMP_MEAN1_3_WERT, "\"°C\"");
char STAT_TEMP_MEAN2_3_WERT = (RXBUF_SCHAR(112));
// Average temperature at HVS level at the end of the 3rd adaptation / Mittlere Temperatur auf HVS-Ebene am Ende
// der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN2_3_WERT", STAT_TEMP_MEAN2_3_WERT, "\"°C\"");
float STAT_UCEL_MIN_INIT1_3_WERT = (RXBUF_UINT(113)/1000.0f);
// Minimum measured resting voltage of the cells at the beginning of the 3rd adaptation (if adaptation reason =
// KapaTest: minimum measured resting voltage when waking up) / Minimale gemessene Ruhespannung der Zellen zu
// Beginn der 3. Adaption (Wenn Adaptionsgrund = KapaTest: Minimale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT1_3_WERT", STAT_UCEL_MIN_INIT1_3_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT1_3_WERT = (RXBUF_UINT(115)/1000.0f);
// Maximum measured resting voltage of the cells at the beginning of the 3rd adaptation (if adaptation reason =
// KapaTest: maximum measured resting voltage when waking up) / Maximale gemessene Ruhespannung der Zellen zu
// Beginn der 3. Adaption (Wenn Adaptionsgrund = KapaTest: Maximale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT1_3_WERT", STAT_UCEL_MAX_INIT1_3_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT1_3_WERT = (RXBUF_UINT(117)/1000.0f);
// Mean measured open-circuit voltage of the cells at the beginning of the 3rd adaptation (if reason for
// adaptation = KapaTest: mean measured open-circuit voltage when waking up) / Mittlere gemessene Ruhespannung
// der Zellen zu Beginn der 3. Adaption (Wenn Adaptionsgrund = KapaTest: Mittlere gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT1_3_WERT", STAT_UCEL_MEAN_INIT1_3_WERT, "\"V\"");
float STAT_UCEL_MIN_INIT2_3_WERT = (RXBUF_UINT(119)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the end of the 3rd adaptation / Minimale gemessene
// Ruhespannung der Zellen am Ende der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT2_3_WERT", STAT_UCEL_MIN_INIT2_3_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT2_3_WERT = (RXBUF_UINT(121)/1000.0f);
// Maximum measured open-circuit voltage of the cells at the end of the 3rd adaptation / Maximale gemessene
// Ruhespannung der Zellen am Ende der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT2_3_WERT", STAT_UCEL_MAX_INIT2_3_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT2_3_WERT = (RXBUF_UINT(123)/1000.0f);
// Mean measured resting voltage of the cells at the end of the 3rd adaptation / Mittlere gemessene Ruhespannung
// der Zellen am Ende der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT2_3_WERT", STAT_UCEL_MEAN_INIT2_3_WERT, "\"V\"");
float STAT_SOH_ZELLE1_VOR_ADAPT_3_WERT = (RXBUF_UINT(125)/100.0f);
// SoH_C of cell 1 BEFORE 3rd adaptation / SoH_C von Zelle 1 VOR 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_VOR_ADAPT_3_WERT", STAT_SOH_ZELLE1_VOR_ADAPT_3_WERT, "\"%\"");
float STAT_SOH_ZELLE1_NACH_ADAPT_3_WERT = (RXBUF_UINT(127)/100.0f);
// SoH_C from cell 1 AFTER 3rd adaptation / SoH_C von Zelle 1 NACH 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_NACH_ADAPT_3_WERT", STAT_SOH_ZELLE1_NACH_ADAPT_3_WERT, "\"%\"");
float STAT_OVC1_ZELLE1_3_WERT = (RXBUF_UINT(129)/1000.0f);
// OCV value of cell 1 at the beginning of the 3rd adaptation / OCV Wert von Zelle 1 zu Beginn der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC1_ZELLE1_3_WERT", STAT_OVC1_ZELLE1_3_WERT, "\"V\"");
float STAT_OVC2_ZELLE1_3_WERT = (RXBUF_UINT(131)/1000.0f);
// OCV value of cell 1 at the end of the 3rd adaptation / OCV Wert von Zelle 1 am Ende der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC2_ZELLE1_3_WERT", STAT_OVC2_ZELLE1_3_WERT, "\"V\"");
float STAT_SOH_GAIN_FAKTOR_ZELLE1_3_WERT = (RXBUF_UINT(133)/10000.0f);
// Gain factor of cell 1 for the third adaptation / Gain Faktor von Zelle 1 für die dritte Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_GAIN_FAKTOR_ZELLE1_3_WERT", STAT_SOH_GAIN_FAKTOR_ZELLE1_3_WERT, "");
float STAT_SOH_MIN_NACH_3_WERT = (RXBUF_UINT(135)/100.0f);
// Minimal SOH AFTER the 3rd adaptation / Minimaler SOH NACH der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_NACH_3_WERT", STAT_SOH_MIN_NACH_3_WERT, "\"%\"");
float STAT_SOH_MAX_NACH_3_WERT = (RXBUF_UINT(137)/100.0f);
// Maximum SOH AFTER the 3rd adaptation / Maximaler SOH NACH der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_NACH_3_WERT", STAT_SOH_MAX_NACH_3_WERT, "\"%\"");
float STAT_SOH_MEAN_NACH_3_WERT = (RXBUF_UINT(139)/100.0f);
// Middle SOH AFTER the 3rd adaptation / Mittlerer SOH NACH der 3. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_NACH_3_WERT", STAT_SOH_MEAN_NACH_3_WERT, "\"%\"");
unsigned short STAT_SOH_ADAPT_COUNT_4_WERT = (RXBUF_UINT(141));
// Adaptation counter of 4th adaptation / Adaptionszähler von 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ADAPT_COUNT_4_WERT", STAT_SOH_ADAPT_COUNT_4_WERT, "");
unsigned char STAT_GRUND_ADAPTION_4_WERT = (RXBUF_UCHAR(143));
// Reason for triggering the ring buffer entry (0 = SoH_C estimate; 1 = KapaTest with transfer of the result to
// NV; 2 = KapaTest without transfer of the result to NV) / Auslösegrund des Ringspeicher-Eintrags (0 =
// SoH_C-Schätzung; 1 = KapaTest mit Übernahme vom Ergebnis in NV; 2 = KapaTest ohne Übernahme vom Ergebnis in
// NV)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_GRUND_ADAPTION_4_WERT", STAT_GRUND_ADAPTION_4_WERT, "");
unsigned long STAT_ZEITPUNKT_ADAP_4_WERT = (RXBUF_UINT32(144));
// Point in time (SME time) of the 4th adaptation / Zeitpunkt (SME-Zeit) der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_ZEITPUNKT_ADAP_4_WERT", STAT_ZEITPUNKT_ADAP_4_WERT, "\"s\"");
float STAT_AH_CUM_ABS_4_WERT = (RXBUF_UINT32(148)/3600.0f);
// Absolute Ah throughput of the 4th adaptation (if adaptation reason = KapaTest: test result in Ah) / Absoluter
// Ah-Durchsatz der 4. Adaption (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_CUM_ABS_4_WERT", STAT_AH_CUM_ABS_4_WERT, "\"Ah\"");
float STAT_AH_INTEGRAL_4_WERT = (RXBUF_UINT32(152)/3600.0f);
// Ah stroke of the 4th adaptation (if adaptation reason = KapaTest: test result in Ah) / Ah-Hub der 4. Adaption
// (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_INTEGRAL_4_WERT", STAT_AH_INTEGRAL_4_WERT, "\"Ah\"");
unsigned short STAT_HVOFFTIME_ADAP_4_WERT = (RXBUF_UINT(156));
// Duration the shooter was open during the 4th adaptation / Dauer, die die Schütze während der 4. Adaption
// geöffnet war
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_HVOFFTIME_ADAP_4_WERT", STAT_HVOFFTIME_ADAP_4_WERT, "\"s\"");
char STAT_TEMP_MEAN1_4_WERT = (RXBUF_SCHAR(158));
// Average temperature at HVS level at the beginning of the 4th adaptation or at the beginning of the test /
// Mittlere Temperatur auf HVS-Ebene zu Beginn der 4. Adaption bzw. zu Beginn des Tests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN1_4_WERT", STAT_TEMP_MEAN1_4_WERT, "\"°C\"");
char STAT_TEMP_MEAN2_4_WERT = (RXBUF_SCHAR(159));
// Average temperature at HVS level at the end of the 4th adaptation / Mittlere Temperatur auf HVS-Ebene am Ende
// der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN2_4_WERT", STAT_TEMP_MEAN2_4_WERT, "\"°C\"");
float STAT_UCEL_MIN_INIT1_4_WERT = (RXBUF_UINT(160)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the beginning of the 4th adaptation (if adaptation
// reason = KapaTest: minimum measured open-circuit voltage when waking up) / Minimale gemessene Ruhespannung der
// Zellen zu Beginn der 4. Adaption (Wenn Adaptionsgrund = KapaTest: Minimale gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT1_4_WERT", STAT_UCEL_MIN_INIT1_4_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT1_4_WERT = (RXBUF_UINT(162)/1000.0f);
// Maximum measured resting voltage of the cells at the beginning of the 4th adaptation (if adaptation reason =
// KapaTest: maximum measured resting voltage when waking up) / Maximale gemessene Ruhespannung der Zellen zu
// Beginn der 4. Adaption (Wenn Adaptionsgrund = KapaTest: Maximale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT1_4_WERT", STAT_UCEL_MAX_INIT1_4_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT1_4_WERT = (RXBUF_UINT(164)/1000.0f);
// Mean measured open-circuit voltage of the cells at the beginning of the 4th adaptation (if reason for
// adaptation = KapaTest: mean measured open-circuit voltage when waking up) / Mittlere gemessene Ruhespannung
// der Zellen zu Beginn der 4. Adaption (Wenn Adaptionsgrund = KapaTest: Mittlere gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT1_4_WERT", STAT_UCEL_MEAN_INIT1_4_WERT, "\"V\"");
float STAT_UCEL_MIN_INIT2_4_WERT = (RXBUF_UINT(166)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the end of the 4th adaptation / Minimale gemessene
// Ruhespannung der Zellen am Ende der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT2_4_WERT", STAT_UCEL_MIN_INIT2_4_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT2_4_WERT = (RXBUF_UINT(168)/1000.0f);
// Maximum measured open-circuit voltage of the cells at the end of the 4th adaptation / Maximale gemessene
// Ruhespannung der Zellen am Ende der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT2_4_WERT", STAT_UCEL_MAX_INIT2_4_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT2_4_WERT = (RXBUF_UINT(170)/1000.0f);
// Mean measured resting voltage of the cells at the end of the 4th adaptation / Mittlere gemessene Ruhespannung
// der Zellen am Ende der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT2_4_WERT", STAT_UCEL_MEAN_INIT2_4_WERT, "\"V\"");
float STAT_SOH_ZELLE1_VOR_ADAPT_4_WERT = (RXBUF_UINT(172)/100.0f);
// SoH_C of cell 1 BEFORE 4th adaptation / SoH_C von Zelle 1 VOR 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_VOR_ADAPT_4_WERT", STAT_SOH_ZELLE1_VOR_ADAPT_4_WERT, "\"%\"");
float STAT_SOH_ZELLE1_NACH_ADAPT_4_WERT = (RXBUF_UINT(174)/100.0f);
// SoH_C from cell 1 AFTER 4th adaptation / SoH_C von Zelle 1 NACH 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_NACH_ADAPT_4_WERT", STAT_SOH_ZELLE1_NACH_ADAPT_4_WERT, "\"%\"");
float STAT_OVC1_ZELLE1_4_WERT = (RXBUF_UINT(176)/1000.0f);
// OCV value of cell 1 at the beginning of the 4th adaptation / OCV Wert von Zelle 1 zu Beginn der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC1_ZELLE1_4_WERT", STAT_OVC1_ZELLE1_4_WERT, "\"V\"");
float STAT_OVC2_ZELLE1_4_WERT = (RXBUF_UINT(178)/1000.0f);
// OCV value of cell 1 at the end of the 4th adaptation / OCV Wert von Zelle 1 am Ende der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC2_ZELLE1_4_WERT", STAT_OVC2_ZELLE1_4_WERT, "\"V\"");
float STAT_SOH_GAIN_FAKTOR_ZELLE1_4_WERT = (RXBUF_UINT(180)/10000.0f);
// Gain factor of cell 1 for the fourth adaptation / Gain Faktor von Zelle 1 für die vierte Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_GAIN_FAKTOR_ZELLE1_4_WERT", STAT_SOH_GAIN_FAKTOR_ZELLE1_4_WERT, "");
float STAT_SOH_MIN_NACH_4_WERT = (RXBUF_UINT(182)/100.0f);
// Minimal SOH AFTER the 4th adaptation / Minimaler SOH NACH der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_NACH_4_WERT", STAT_SOH_MIN_NACH_4_WERT, "\"%\"");
float STAT_SOH_MAX_NACH_4_WERT = (RXBUF_UINT(184)/100.0f);
// Maximum SOH AFTER the 4th adaptation / Maximaler SOH NACH der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_NACH_4_WERT", STAT_SOH_MAX_NACH_4_WERT, "\"%\"");
float STAT_SOH_MEAN_NACH_4_WERT = (RXBUF_UINT(186)/100.0f);
// Middle SOH AFTER the 4th adaptation / Mittlerer SOH NACH der 4. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_NACH_4_WERT", STAT_SOH_MEAN_NACH_4_WERT, "\"%\"");
unsigned short STAT_SOH_ADAPT_COUNT_5_WERT = (RXBUF_UINT(188));
// Adaptation counter of 5th adaptation / Adaptionszähler von 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ADAPT_COUNT_5_WERT", STAT_SOH_ADAPT_COUNT_5_WERT, "");
unsigned char STAT_GRUND_ADAPTION_5_WERT = (RXBUF_UCHAR(190));
// Reason for triggering the ring buffer entry (0 = SoH_C estimate; 1 = KapaTest with transfer of the result to
// NV; 2 = KapaTest without transfer of the result to NV) / Auslösegrund des Ringspeicher-Eintrags (0 =
// SoH_C-Schätzung; 1 = KapaTest mit Übernahme vom Ergebnis in NV; 2 = KapaTest ohne Übernahme vom Ergebnis in
// NV)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_GRUND_ADAPTION_5_WERT", STAT_GRUND_ADAPTION_5_WERT, "");
unsigned long STAT_ZEITPUNKT_ADAP_5_WERT = (RXBUF_UINT32(191));
// Time (SME time) of the 5th adaptation / Zeitpunkt (SME-Zeit) der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_ZEITPUNKT_ADAP_5_WERT", STAT_ZEITPUNKT_ADAP_5_WERT, "\"s\"");
float STAT_AH_CUM_ABS_5_WERT = (RXBUF_UINT32(195)/3600.0f);
// Absolute Ah throughput of the 5th adaptation (if adaptation reason = KapaTest: test result in Ah) / Absoluter
// Ah-Durchsatz der 5. Adaption (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_CUM_ABS_5_WERT", STAT_AH_CUM_ABS_5_WERT, "\"Ah\"");
float STAT_AH_INTEGRAL_5_WERT = (RXBUF_UINT32(199)/3600.0f);
// Ah stroke of the 5th adaptation (if adaptation reason = KapaTest: test result in Ah) / Ah-Hub der 5. Adaption
// (Wenn Adaptionsgrund = KapaTest: Testergebnis in Ah)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_AH_INTEGRAL_5_WERT", STAT_AH_INTEGRAL_5_WERT, "\"Ah\"");
unsigned short STAT_HVOFFTIME_ADAP_5_WERT = (RXBUF_UINT(203));
// Duration that the shooter was open during the 5th adaptation / Dauer, die die Schütze während der 5. Adaption
// geöffnet war
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_HVOFFTIME_ADAP_5_WERT", STAT_HVOFFTIME_ADAP_5_WERT, "\"s\"");
char STAT_TEMP_MEAN1_5_WERT = (RXBUF_SCHAR(205));
// Average temperature at HVS level at the beginning of the 5th adaptation or at the beginning of the test /
// Mittlere Temperatur auf HVS-Ebene zu Beginn der 5. Adaption bzw. zu Beginn des Tests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN1_5_WERT", STAT_TEMP_MEAN1_5_WERT, "\"°C\"");
char STAT_TEMP_MEAN2_5_WERT = (RXBUF_SCHAR(206));
// Average temperature at HVS level at the end of the 5th adaptation / Mittlere Temperatur auf HVS-Ebene am Ende
// der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_TEMP_MEAN2_5_WERT", STAT_TEMP_MEAN2_5_WERT, "\"°C\"");
float STAT_UCEL_MIN_INIT1_5_WERT = (RXBUF_UINT(207)/1000.0f);
// Minimum measured resting voltage of the cells at the beginning of the 5th adaptation (if adaptation reason =
// KapaTest: minimum measured resting voltage when waking up) / Minimale gemessene Ruhespannung der Zellen zu
// Beginn der 5. Adaption (Wenn Adaptionsgrund = KapaTest: Minimale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT1_5_WERT", STAT_UCEL_MIN_INIT1_5_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT1_5_WERT = (RXBUF_UINT(209)/1000.0f);
// Maximum measured resting voltage of the cells at the beginning of the 5th adaptation (if adaptation reason =
// KapaTest: maximum measured resting voltage when waking up) / Maximale gemessene Ruhespannung der Zellen zu
// Beginn der 5. Adaption (Wenn Adaptionsgrund = KapaTest: Maximale gemessene Ruhespannung beim Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT1_5_WERT", STAT_UCEL_MAX_INIT1_5_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT1_5_WERT = (RXBUF_UINT(211)/1000.0f);
// Mean measured open-circuit voltage of the cells at the beginning of the 5th adaptation (if reason for
// adaptation = KapaTest: mean measured open-circuit voltage when waking up) / Mittlere gemessene Ruhespannung
// der Zellen zu Beginn der 5. Adaption (Wenn Adaptionsgrund = KapaTest: Mittlere gemessene Ruhespannung beim
// Aufwachen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT1_5_WERT", STAT_UCEL_MEAN_INIT1_5_WERT, "\"V\"");
float STAT_UCEL_MIN_INIT2_5_WERT = (RXBUF_UINT(213)/1000.0f);
// Minimum measured open-circuit voltage of the cells at the end of the 5th adaptation / Minimale gemessene
// Ruhespannung der Zellen am Ende der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MIN_INIT2_5_WERT", STAT_UCEL_MIN_INIT2_5_WERT, "\"V\"");
float STAT_UCEL_MAX_INIT2_5_WERT = (RXBUF_UINT(215)/1000.0f);
// Maximum measured open-circuit voltage of the cells at the end of the 5th adaptation / Maximale gemessene
// Ruhespannung der Zellen am Ende der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MAX_INIT2_5_WERT", STAT_UCEL_MAX_INIT2_5_WERT, "\"V\"");
float STAT_UCEL_MEAN_INIT2_5_WERT = (RXBUF_UINT(217)/1000.0f);
// Mean measured resting voltage of the cells at the end of the 5th adaptation / Mittlere gemessene Ruhespannung
// der Zellen am Ende der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_UCEL_MEAN_INIT2_5_WERT", STAT_UCEL_MEAN_INIT2_5_WERT, "\"V\"");
float STAT_SOH_ZELLE1_VOR_ADAPT_5_WERT = (RXBUF_UINT(219)/100.0f);
// SoH_C of cell 1 BEFORE 5th adaptation / SoH_C von Zelle 1 VOR 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_VOR_ADAPT_5_WERT", STAT_SOH_ZELLE1_VOR_ADAPT_5_WERT, "\"%\"");
float STAT_SOH_ZELLE1_NACH_ADAPT_5_WERT = (RXBUF_UINT(221)/100.0f);
// SoH_C from cell 1 AFTER 5th adaptation / SoH_C von Zelle 1 NACH 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_ZELLE1_NACH_ADAPT_5_WERT", STAT_SOH_ZELLE1_NACH_ADAPT_5_WERT, "\"%\"");
float STAT_OVC1_ZELLE1_5_WERT = (RXBUF_UINT(223)/1000.0f);
// OCV value of cell 1 at the beginning of the 5th adaptation / OCV Wert von Zelle 1 zu Beginn der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC1_ZELLE1_5_WERT", STAT_OVC1_ZELLE1_5_WERT, "\"V\"");
float STAT_OVC2_ZELLE1_5_WERT = (RXBUF_UINT(225)/1000.0f);
// OCV value of cell 1 at the end of the 5th adaptation / OCV Wert von Zelle 1 am Ende der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_OVC2_ZELLE1_5_WERT", STAT_OVC2_ZELLE1_5_WERT, "\"V\"");
float STAT_SOH_GAIN_FAKTOR_ZELLE1_5_WERT = (RXBUF_UINT(227)/10000.0f);
// Gain factor of cell 1 for the fifth adaptation / Gain Faktor von Zelle 1 für die fünfte Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_GAIN_FAKTOR_ZELLE1_5_WERT", STAT_SOH_GAIN_FAKTOR_ZELLE1_5_WERT, "");
float STAT_SOH_MIN_NACH_5_WERT = (RXBUF_UINT(229)/100.0f);
// Minimal SOH AFTER the 5th adaptation / Minimaler SOH NACH der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_NACH_5_WERT", STAT_SOH_MIN_NACH_5_WERT, "\"%\"");
float STAT_SOH_MAX_NACH_5_WERT = (RXBUF_UINT(231)/100.0f);
// Maximum SOH AFTER the 5th adaptation / Maximaler SOH NACH der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_NACH_5_WERT", STAT_SOH_MAX_NACH_5_WERT, "\"%\"");
float STAT_SOH_MEAN_NACH_5_WERT = (RXBUF_UINT(233)/100.0f);
// Middle SOH AFTER the 5th adaptation / Mittlerer SOH NACH der 5. Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_NACH_5_WERT", STAT_SOH_MEAN_NACH_5_WERT, "\"%\"");
float STAT_SOH_MIN_VOR_5_WERT = (RXBUF_UINT(235)/100.0f);
// Minimal SOH BEFORE the oldest adaptation / Minimaler SOH VOR der ältesten Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MIN_VOR_5_WERT", STAT_SOH_MIN_VOR_5_WERT, "\"%\"");
float STAT_SOH_MAX_VOR_5_WERT = (RXBUF_UINT(237)/100.0f);
// Maximum SOH BEFORE the oldest adaptation / Maximaler SOH VOR der ältesten Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MAX_VOR_5_WERT", STAT_SOH_MAX_VOR_5_WERT, "\"%\"");
float STAT_SOH_MEAN_VOR_5_WERT = (RXBUF_UINT(239)/100.0f);
// Middle SOH BEFORE the oldest adaptation / Mittlerer SOH VOR der ältesten Adaption
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_ALTERUNG_KAPA", "STAT_SOH_MEAN_VOR_5_WERT", STAT_SOH_MEAN_VOR_5_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_CSC_TEMPERATUREN: { // 0xD6CF
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_CSC_TEMPERATUREN", 24);
break;
}
char STAT_MESSTEMP_CSC1_SENS1_WERT = (RXBUF_SCHAR(0));
// Current measured temperature value sensor 1 CSC 1 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 1 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC1_SENS1_WERT", STAT_MESSTEMP_CSC1_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC1_SENS2_WERT = (RXBUF_SCHAR(1));
// Current measured temperature value sensor 2 CSC 1 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 1 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC1_SENS2_WERT", STAT_MESSTEMP_CSC1_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC2_SENS1_WERT = (RXBUF_SCHAR(2));
// Current measured temperature value sensor 1 CSC 2 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 2 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC2_SENS1_WERT", STAT_MESSTEMP_CSC2_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC2_SENS2_WERT = (RXBUF_SCHAR(3));
// Current measured temperature value sensor 2 CSC 2 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 2 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC2_SENS2_WERT", STAT_MESSTEMP_CSC2_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC3_SENS1_WERT = (RXBUF_SCHAR(4));
// Current measured temperature value sensor 1 CSC 3 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 3 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC3_SENS1_WERT", STAT_MESSTEMP_CSC3_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC3_SENS2_WERT = (RXBUF_SCHAR(5));
// Current measured temperature value sensor 2 CSC 3 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 3 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC3_SENS2_WERT", STAT_MESSTEMP_CSC3_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC4_SENS1_WERT = (RXBUF_SCHAR(6));
// Current measured temperature value sensor 1 CSC 4 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 4 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC4_SENS1_WERT", STAT_MESSTEMP_CSC4_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC4_SENS2_WERT = (RXBUF_SCHAR(7));
// Current measured temperature value sensor 2 CSC 4 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 4 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC4_SENS2_WERT", STAT_MESSTEMP_CSC4_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC5_SENS1_WERT = (RXBUF_SCHAR(8));
// Current measured temperature value sensor 1 CSC 5 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 5 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC5_SENS1_WERT", STAT_MESSTEMP_CSC5_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC5_SENS2_WERT = (RXBUF_SCHAR(9));
// Current measured temperature value sensor 2 CSC 5 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 5 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC5_SENS2_WERT", STAT_MESSTEMP_CSC5_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC6_SENS1_WERT = (RXBUF_SCHAR(10));
// Current measured temperature value sensor 1 CSC 6 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 6 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC6_SENS1_WERT", STAT_MESSTEMP_CSC6_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC6_SENS2_WERT = (RXBUF_SCHAR(11));
// Current measured temperature value sensor 2 CSC 6 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 6 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC6_SENS2_WERT", STAT_MESSTEMP_CSC6_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC7_SENS1_WERT = (RXBUF_SCHAR(12));
// Current measured temperature value sensor 1 CSC 7 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 7 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC7_SENS1_WERT", STAT_MESSTEMP_CSC7_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC7_SENS2_WERT = (RXBUF_SCHAR(13));
// Current measured temperature value sensor 2 CSC 7 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 7 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC7_SENS2_WERT", STAT_MESSTEMP_CSC7_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC8_SENS1_WERT = (RXBUF_SCHAR(14));
// Current measured temperature value sensor 1 CSC 8 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 8 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC8_SENS1_WERT", STAT_MESSTEMP_CSC8_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC8_SENS2_WERT = (RXBUF_SCHAR(15));
// Current measured temperature value sensor 2 CSC 8 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 8 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC8_SENS2_WERT", STAT_MESSTEMP_CSC8_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC9_SENS1_WERT = (RXBUF_SCHAR(16));
// Current measured temperature value sensor 1 CSC 9 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 9 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC9_SENS1_WERT", STAT_MESSTEMP_CSC9_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC9_SENS2_WERT = (RXBUF_SCHAR(17));
// Current measured temperature value sensor 2 CSC 9 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 9 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC9_SENS2_WERT", STAT_MESSTEMP_CSC9_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC10_SENS1_WERT = (RXBUF_SCHAR(18));
// Current measured temperature value sensor 1 CSC 10 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 10 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC10_SENS1_WERT", STAT_MESSTEMP_CSC10_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC10_SENS2_WERT = (RXBUF_SCHAR(19));
// Current measured temperature value sensor 2 CSC 10 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 10 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC10_SENS2_WERT", STAT_MESSTEMP_CSC10_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC11_SENS1_WERT = (RXBUF_SCHAR(20));
// Current measured temperature value sensor 1 CSC 11 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 11 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC11_SENS1_WERT", STAT_MESSTEMP_CSC11_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC11_SENS2_WERT = (RXBUF_SCHAR(21));
// Current measured temperature value sensor 2 CSC 11 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 11 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC11_SENS2_WERT", STAT_MESSTEMP_CSC11_SENS2_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC12_SENS1_WERT = (RXBUF_SCHAR(22));
// Current measured temperature value sensor 1 CSC 12 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 1 CSC 12 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC12_SENS1_WERT", STAT_MESSTEMP_CSC12_SENS1_WERT, "\"°C\"");
char STAT_MESSTEMP_CSC12_SENS2_WERT = (RXBUF_SCHAR(23));
// Current measured temperature value sensor 2 CSC 12 // 127 = Qual invalid / aktueller Temperaturmesswert Sensor
// 2 CSC 12 // 127 = Qual ungültig
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CSC_TEMPERATUREN", "STAT_MESSTEMP_CSC12_SENS2_WERT", STAT_MESSTEMP_CSC12_SENS2_WERT, "\"°C\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISO_ERR_TRG_FZ1_2: { // 0xD6D1
if (datalen < 52) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISO_ERR_TRG_FZ1_2", 52);
break;
}
unsigned long STAT_FEHLERZAEHLER_TRG_WERT = (RXBUF_UINT32(0));
// LI: Counter of all errors that have occurred in the overrun measurement / LI: Zähler aller aufgetretenen
// Fehler der Nachlaufmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_FEHLERZAEHLER_TRG_WERT", STAT_FEHLERZAEHLER_TRG_WERT, "");
float STAT_INPUT_ISO_TRG_FZ1_01_WERT = (RXBUF_UINT(4)/100.0f);
// LI: first error time Ubat01 [V] / LI: erstmaliger Fehlerzeitpunkt Ubat01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_01_WERT", STAT_INPUT_ISO_TRG_FZ1_01_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_02_WERT = (RXBUF_UCHAR(6));
// LI: first error time Ubat01_QUAL / LI: erstmaliger Fehlerzeitpunkt Ubat01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_02_WERT", STAT_INPUT_ISO_TRG_FZ1_02_WERT, "");
float STAT_INPUT_ISO_TRG_FZ1_03_WERT = (RXBUF_UINT(7)/100.0f);
// LI: first error time Ubat02 [V] / LI: erstmaliger Fehlerzeitpunkt Ubat02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_03_WERT", STAT_INPUT_ISO_TRG_FZ1_03_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_04_WERT = (RXBUF_UCHAR(9));
// LI: first error time Ubat02_QUAL / LI: erstmaliger Fehlerzeitpunkt Ubat02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_04_WERT", STAT_INPUT_ISO_TRG_FZ1_04_WERT, "");
float STAT_INPUT_ISO_TRG_FZ1_05_WERT = (RXBUF_UINT(10)/100.0f);
// LI: first error time Uiso01 [V] / LI: erstmaliger Fehlerzeitpunkt Uiso01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_05_WERT", STAT_INPUT_ISO_TRG_FZ1_05_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_06_WERT = (RXBUF_UCHAR(12));
// LI: first time error Uiso01_QUAL / LI: erstmaliger Fehlerzeitpunkt Uiso01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_06_WERT", STAT_INPUT_ISO_TRG_FZ1_06_WERT, "");
float STAT_INPUT_ISO_TRG_FZ1_07_WERT = (RXBUF_UINT(13)/100.0f);
// LI: first failure time Uiso02 [V] / LI: erstmaliger Fehlerzeitpunkt Uiso02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_07_WERT", STAT_INPUT_ISO_TRG_FZ1_07_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_08_WERT = (RXBUF_UCHAR(15));
// LI: first time error Uiso02_QUAL / LI: erstmaliger Fehlerzeitpunkt Uiso02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_08_WERT", STAT_INPUT_ISO_TRG_FZ1_08_WERT, "");
float STAT_INPUT_ISO_TRG_FZ1_09_WERT = (RXBUF_UINT(16)/100.0f);
// LI: first error time Uoffset [V] / LI: erstmaliger Fehlerzeitpunkt Uoffset [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_09_WERT", STAT_INPUT_ISO_TRG_FZ1_09_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_10_WERT = (RXBUF_UCHAR(18));
// LI: first time error Uoffset_QUAL / LI: erstmaliger Fehlerzeitpunkt Uoffset_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_10_WERT", STAT_INPUT_ISO_TRG_FZ1_10_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ1_11_WERT = (RXBUF_UINT(19));
// LI: first error time R_iso_ges [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_ges [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_11_WERT", STAT_INPUT_ISO_TRG_FZ1_11_WERT, "\"kOhm\"");
unsigned char STAT_INPUT_ISO_TRG_FZ1_12_WERT = (RXBUF_UCHAR(21));
// LI: first error time R_iso_gesQUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_gesQUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_12_WERT", STAT_INPUT_ISO_TRG_FZ1_12_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ1_13_WERT = (RXBUF_UINT(22));
// LI: first error time R_iso_plus [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_plus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_13_WERT", STAT_INPUT_ISO_TRG_FZ1_13_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_TRG_FZ1_14_WERT = (RXBUF_UCHAR(24)/100.0f);
// LI: first error time R_iso_plus_QUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_plus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_14_WERT", STAT_INPUT_ISO_TRG_FZ1_14_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ1_15_WERT = (RXBUF_UINT(25));
// LI: first error time R_iso_minus [kOhm] / LI: erstmaliger Fehlerzeitpunkt R_iso_minus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_15_WERT", STAT_INPUT_ISO_TRG_FZ1_15_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_TRG_FZ1_16_WERT = (RXBUF_UCHAR(27)/100.0f);
// LI: first error time R_iso_minus_QUAL / LI: erstmaliger Fehlerzeitpunkt R_iso_minus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ1_16_WERT", STAT_INPUT_ISO_TRG_FZ1_16_WERT, "");
float STAT_INPUT_ISO_TRG_FZ2_01_WERT = (RXBUF_UINT(28)/100.0f);
// LI: last error time Ubat01 [V] / LI: letztmaliger Fehlerzeitpunkt Ubat01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_01_WERT", STAT_INPUT_ISO_TRG_FZ2_01_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_02_WERT = (RXBUF_UCHAR(30));
// LI: last time the error occurred Ubat01_QUAL / LI: letztmaliger Fehlerzeitpunkt Ubat01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_02_WERT", STAT_INPUT_ISO_TRG_FZ2_02_WERT, "");
float STAT_INPUT_ISO_TRG_FZ2_03_WERT = (RXBUF_UINT(31)/100.0f);
// LI: last error time Ubat02 [V] / LI: letztmaliger Fehlerzeitpunkt Ubat02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_03_WERT", STAT_INPUT_ISO_TRG_FZ2_03_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_04_WERT = (RXBUF_UCHAR(33));
// LI: last time the error occurred Ubat02_QUAL / LI: letztmaliger Fehlerzeitpunkt Ubat02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_04_WERT", STAT_INPUT_ISO_TRG_FZ2_04_WERT, "");
float STAT_INPUT_ISO_TRG_FZ2_05_WERT = (RXBUF_UINT(34)/100.0f);
// LI: last time the error occurred Uiso01 [V] / LI: letztmaliger Fehlerzeitpunkt Uiso01 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_05_WERT", STAT_INPUT_ISO_TRG_FZ2_05_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_06_WERT = (RXBUF_UCHAR(36));
// LI: last time the error occurred Uiso01_QUAL / LI: letztmaliger Fehlerzeitpunkt Uiso01_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_06_WERT", STAT_INPUT_ISO_TRG_FZ2_06_WERT, "");
float STAT_INPUT_ISO_TRG_FZ2_07_WERT = (RXBUF_UINT(37)/100.0f);
// LI: last error time Uiso02 [V] / LI: letztmaliger Fehlerzeitpunkt Uiso02 [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_07_WERT", STAT_INPUT_ISO_TRG_FZ2_07_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_08_WERT = (RXBUF_UCHAR(39));
// LI: last time the error occurred Uiso02_QUAL / LI: letztmaliger Fehlerzeitpunkt Uiso02_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_08_WERT", STAT_INPUT_ISO_TRG_FZ2_08_WERT, "");
float STAT_INPUT_ISO_TRG_FZ2_09_WERT = (RXBUF_UINT(40)/100.0f);
// LI: last error time Uoffset [V] / LI: letztmaliger Fehlerzeitpunkt Uoffset [V]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_09_WERT", STAT_INPUT_ISO_TRG_FZ2_09_WERT, "\"V\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_10_WERT = (RXBUF_UCHAR(42));
// LI: last time the error occurred Uoffset_QUAL / LI: letztmaliger Fehlerzeitpunkt Uoffset_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_10_WERT", STAT_INPUT_ISO_TRG_FZ2_10_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ2_11_WERT = (RXBUF_UINT(43));
// LI: last time the error occurred R_iso_ges [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_ges [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_11_WERT", STAT_INPUT_ISO_TRG_FZ2_11_WERT, "\"kOhm\"");
unsigned char STAT_INPUT_ISO_TRG_FZ2_12_WERT = (RXBUF_UCHAR(45));
// LI: last time the error occurred R_iso_gesQUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_gesQUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_12_WERT", STAT_INPUT_ISO_TRG_FZ2_12_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ2_13_WERT = (RXBUF_UINT(46));
// LI: last time the error occurred R_iso_plus [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_plus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_13_WERT", STAT_INPUT_ISO_TRG_FZ2_13_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_TRG_FZ2_14_WERT = (RXBUF_UCHAR(48)/100.0f);
// LI: last time the error occurred R_iso_plus_QUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_plus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_14_WERT", STAT_INPUT_ISO_TRG_FZ2_14_WERT, "");
unsigned short STAT_INPUT_ISO_TRG_FZ2_15_WERT = (RXBUF_UINT(49));
// LI: last time the error occurred R_iso_minus [kOhm] / LI: letztmaliger Fehlerzeitpunkt R_iso_minus [kOhm]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_15_WERT", STAT_INPUT_ISO_TRG_FZ2_15_WERT, "\"kOhm\"");
float STAT_INPUT_ISO_TRG_FZ2_16_WERT = (RXBUF_UCHAR(51)/100.0f);
// LI: last time the error occurred R_iso_minus_QUAL / LI: letztmaliger Fehlerzeitpunkt R_iso_minus_QUAL
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ISO_ERR_TRG_FZ1_2", "STAT_INPUT_ISO_TRG_FZ2_16_WERT", STAT_INPUT_ISO_TRG_FZ2_16_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SCHUETZ_SCHALTER: { // 0xDD60
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SCHUETZ_SCHALTER", 1);
break;
}
unsigned char STAT_SCHUETZ_SCHALTER = (RXBUF_UCHAR(0));
// Contactor switch status: closed, open, welded contacts or not defined. For results see table
// TAB_SCHUETZ_SCHALTER / Status der Schützschalter: geschlossen, offen, verschweißte Kontakte oder nicht
// definiert. Ergebnisse siehe Tabelle TAB_SCHUETZ_SCHALTER
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SCHUETZ_SCHALTER", "STAT_SCHUETZ_SCHALTER", STAT_SCHUETZ_SCHALTER, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SCHUETZSCHALTUNGEN_ANZAHL: { // 0xDD63
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SCHUETZSCHALTUNGEN_ANZAHL", 8);
break;
}
unsigned long STAT_ANZAHL_SCHALTUNGEN_WERT = (RXBUF_UINT32(0));
// Number of switchings of the contactor switch without load / Anzahl der Schaltungen der Schützschalter ohne
// Last
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "SCHUETZSCHALTUNGEN_ANZAHL", "STAT_ANZAHL_SCHALTUNGEN_WERT", STAT_ANZAHL_SCHALTUNGEN_WERT, "");
unsigned long STAT_ANZAHL_SCHALTUNGEN_LAST_WERT = (RXBUF_UINT32(4));
// Number of switchings of the contactor switch under load / Anzahl der Schaltungen der Schützschalter unter Last
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "SCHUETZSCHALTUNGEN_ANZAHL", "STAT_ANZAHL_SCHALTUNGEN_LAST_WERT", STAT_ANZAHL_SCHALTUNGEN_LAST_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HVIL: { // 0xDD64
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HVIL", 1);
break;
}
unsigned char STAT_GUELTIG = (RXBUF_UCHAR(0));
// HVIL test result / Ergebnis HVIL-Prüfung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVIL", "STAT_GUELTIG", STAT_GUELTIG, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_SPANNUNG: { // 0xDD66
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_SPANNUNG", 2);
break;
}
float STAT_HV_SPANNUNG_WERT = (RXBUF_UINT(0)/100.0f);
// Intermediate circuit voltage to the HV connection plug, depending on the contactor status /
// Zwischenkreisspannung zum HV-Anschlussstecker, abhängig vom Schützzustand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_SPANNUNG", "STAT_HV_SPANNUNG_WERT", STAT_HV_SPANNUNG_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ANZAHL_KUEHLANFORDERUNG_DRINGEND: { // 0xDD67
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ANZAHL_KUEHLANFORDERUNG_DRINGEND", 1);
break;
}
unsigned char STAT_ANZAHL_KUEHLANFORDERUNG_DRINGEND_WERT = (RXBUF_UCHAR(0));
// Number of consecutive wake cycles with urgent cooling requirements (service life max. Value) / Anzahl
// aufeinanderfolgenender Wachzyklen mit dringender Kühlanforderung (Lebensdauer-Max.wert)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ANZAHL_KUEHLANFORDERUNG_DRINGEND", "STAT_ANZAHL_KUEHLANFORDERUNG_DRINGEND_WERT", STAT_ANZAHL_KUEHLANFORDERUNG_DRINGEND_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_SPANNUNG_BERECHNET: { // 0xDD68
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_SPANNUNG_BERECHNET", 2);
break;
}
float STAT_HV_SPANNUNG_BERECHNET_WERT = (RXBUF_UINT(0)/100.0f);
// Battery voltage behind the contactors, regardless of the contactor status / Batteriespannung hinter den
// Schützen, unabhängig vom Schützzustand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_SPANNUNG_BERECHNET", "STAT_HV_SPANNUNG_BERECHNET_WERT", STAT_HV_SPANNUNG_BERECHNET_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_STROM: { // 0xDD69
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_STROM", 4);
break;
}
float STAT_HV_STROM_WERT = (RXBUF_SINT32(0)/100.0f);
// HV current in A / HV-Strom in A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_STROM", "STAT_HV_STROM_WERT", STAT_HV_STROM_WERT, "\"A\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ISOLATIONSWIDERSTAND: { // 0xDD6A
if (datalen < 9) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ISOLATIONSWIDERSTAND", 9);
break;
}
unsigned short STAT_ISOWIDERSTAND_EXT_TRG_WERT = (RXBUF_UINT(0));
// Determined isoresistance from the overall system in the wake (closed contactors) / Ermittelter Isowiderstand
// vom Gesamtsystem im Nachlauf (geschlossene Schütze)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_EXT_TRG_WERT", STAT_ISOWIDERSTAND_EXT_TRG_WERT, "\"kOhm\"");
unsigned short STAT_ISOWIDERSTAND_EXT_STD_WERT = (RXBUF_UINT(2));
// Determined isoresistance of the overall system in operation (closed contactors) / Ermittelter Isowiderstand
// vom Gesamtsystem im Betrieb (geschlossene Schütze)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_EXT_STD_WERT", STAT_ISOWIDERSTAND_EXT_STD_WERT, "\"kOhm\"");
unsigned short STAT_ISOWIDERSTAND_INT_WERT = (RXBUF_UINT(4));
// Determined internal isoresistance (open contactors); is only measured on request via the STEUERN_ISOLATION
// service routine with open contactors / Ermittelter interner Isowiderstand (offene Schütze); wird nur auf
// Anfrage per Service-Routine STEUERN_ISOLATION bei offenen Schützen gemessen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_INT_WERT", STAT_ISOWIDERSTAND_INT_WERT, "\"kOhm\"");
unsigned char STAT_ISOWIDERSTAND_EXT_TRG_PLAUS = (RXBUF_UCHAR(6));
// Entire system after-run: 0 = insulation resistance implausible, 1 = insulation resistance plausible /
// Gesamtsystem im Nachlauf: 0 = Isolationswiderstand nicht plausibel, 1 = Isolationswiderstand plausibel
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_EXT_TRG_PLAUS", STAT_ISOWIDERSTAND_EXT_TRG_PLAUS, "\"0/1\"");
unsigned char STAT_ISOWIDERSTAND_EXT_STD_PLAUS = (RXBUF_UCHAR(7));
// Overall system in operation: 0 = insulation resistance not plausible, 1 = insulation resistance plausible /
// Gesamtsystem im Betrieb: 0 = Isolationswiderstand nicht plausibel, 1 = Isolationswiderstand plausibel
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_EXT_STD_PLAUS", STAT_ISOWIDERSTAND_EXT_STD_PLAUS, "\"0/1\"");
unsigned char STAT_ISOWIDERSTAND_INT_PLAUS = (RXBUF_UCHAR(8));
// Internal: 0 = insulation resistance not plausible, 1 = insulation resistance plausible; is only measured on
// request via the STEUERN_ISOLATION service routine with open contactors / Intern: 0 = Isolationswiderstand
// nicht plausibel, 1 = Isolationswiderstand plausibel; wird nur auf Anfrage per Service-Routine
// STEUERN_ISOLATION bei offenen Schützen gemessen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ISOLATIONSWIDERSTAND", "STAT_ISOWIDERSTAND_INT_PLAUS", STAT_ISOWIDERSTAND_INT_PLAUS, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KUEHLKREISLAUF_TEMP: { // 0xDD6C
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KUEHLKREISLAUF_TEMP", 2);
break;
}
float STAT_TEMP_KUEHLKREISLAUF_WERT = (RXBUF_SINT(0)/100.0f);
// Temperature of the cooling medium in ° C (327.67 = implausible) / Temperatur des Kühlmediums in °C (327,67 =
// unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "KUEHLKREISLAUF_TEMP", "STAT_TEMP_KUEHLKREISLAUF_WERT", STAT_TEMP_KUEHLKREISLAUF_WERT, "\"°C\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_AUFSTART_VERHINDERER: { // 0xDD72
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_AUFSTART_VERHINDERER", 1);
break;
}
unsigned char STAT_AUFSTART_VERHINDERER = (RXBUF_UCHAR(0));
// Reason for not starting the HV system / Grund für nicht Aufstarten des HV-Systems
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "AUFSTART_VERHINDERER", "STAT_AUFSTART_VERHINDERER", STAT_AUFSTART_VERHINDERER, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_CUMULATIVE_LADUNG: { // 0xDD73
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_CUMULATIVE_LADUNG", 4);
break;
}
float STAT_LADUNG_AMP_STUNDEN_WERT = (RXBUF_UINT32(0)/3600.0f);
// The accumulated charge for charges in Ah / Die kumulierte Ladung für Ladevorgänge in Ah
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "CUMULATIVE_LADUNG", "STAT_LADUNG_AMP_STUNDEN_WERT", STAT_LADUNG_AMP_STUNDEN_WERT, "\"Ah\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_CUMULATIVE_ENTLADUNG: { // 0xDD74
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_CUMULATIVE_ENTLADUNG", 4);
break;
}
float STAT_ENTLADUNG_AMP_STUNDEN_WERT = (RXBUF_UINT32(0)/3600.0f);
// The accumulated charge for discharges in Ah / Die kumulierte Ladung für Entladevorgänge in Ah
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "CUMULATIVE_ENTLADUNG", "STAT_ENTLADUNG_AMP_STUNDEN_WERT", STAT_ENTLADUNG_AMP_STUNDEN_WERT, "\"Ah\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_STATUS_KL30C_SPANNUNG: { // 0xDD76
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_STATUS_KL30C_SPANNUNG", 1);
break;
}
float STAT_KL30C_SPANNUNG_WERT = (RXBUF_UCHAR(0)/10.0f);
// Voltage terminal 30C in V / Spannung Klemme 30C in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "STATUS_KL30C_SPANNUNG", "STAT_KL30C_SPANNUNG_WERT", STAT_KL30C_SPANNUNG_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_KAPAZITAET: { // 0xDD7B
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_KAPAZITAET", 1);
break;
}
unsigned char STAT_KAPAZITAET_WERT_0XDD7B = (RXBUF_UCHAR(0));
// Readout of the battery capacity adjustment / Auslesen der Justierung Kapazität Batterie
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ALTERUNG_KAPAZITAET", "STAT_KAPAZITAET_WERT_0XDD7B", STAT_KAPAZITAET_WERT_0XDD7B, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_GW_INFO: { // 0xDD7C
if (datalen < 85) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_GW_INFO", 85);
break;
}
float STAT_LEISTUNG_MAX_WERT = (RXBUF_UINT(0)*1000.0f);
// Predefined maximum power value in watts (project-specific, on the overall storage level) / Vordefinierter
// maximaler Leistungswert in Watt (projektspezifisch, auf Gesamtspeicherebene)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO", "STAT_LEISTUNG_MAX_WERT", STAT_LEISTUNG_MAX_WERT, "\"W\"");
unsigned long STAT_ZEIT_POWER_DCHG_1_WERT = (RXBUF_UINT32(2));
// Duration in performance class in the discharge process (on the total storage level): 0 <P <= Pmax * 0.16 /
// Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): 0 < P <= Pmax*0.16
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_1_WERT", STAT_ZEIT_POWER_DCHG_1_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_2_WERT = (RXBUF_UINT32(6));
// Duration in performance class in the discharge process (on the total storage level): Pmax * 0.16 <P <= Pmax *
// 0.33 / Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): Pmax*0.16 < P <= Pmax*0.33
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_2_WERT", STAT_ZEIT_POWER_DCHG_2_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_3_WERT = (RXBUF_UINT32(10));
// Duration in performance class in the discharge process (on total storage level): Pmax * 0.33 <P <= Pmax * 0.5
// / Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): Pmax*0.33 < P <= Pmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_3_WERT", STAT_ZEIT_POWER_DCHG_3_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_4_WERT = (RXBUF_UINT32(14));
// Duration in performance class in the discharge process (on total storage level): Pmax * 0.5 <P <= Pmax * 0.66
// / Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): Pmax*0.5 < P <= Pmax*0.66
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_4_WERT", STAT_ZEIT_POWER_DCHG_4_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_5_WERT = (RXBUF_UINT32(18));
// Duration in performance class in the discharge process (on the total storage level): Pmax * 0.66 <P <= Pmax *
// 0.80 / Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): Pmax*0.66 < P <= Pmax*0.80
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_5_WERT", STAT_ZEIT_POWER_DCHG_5_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_6_WERT = (RXBUF_UINT32(22));
// Duration in performance class in the discharge process (on the total storage level): Pmax * 0.80 <P <= Pmax /
// Dauer in Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): Pmax*0.80 < P <= Pmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_6_WERT", STAT_ZEIT_POWER_DCHG_6_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_DCHG_7_WERT = (RXBUF_UINT32(26));
// Duration in performance class in the discharging process (on total storage level): P> Pmax / Dauer in
// Leistungsklasse im Entladevorgang (auf Gesamtspeicherebene): P > Pmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_DCHG_7_WERT", STAT_ZEIT_POWER_DCHG_7_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_1_WERT = (RXBUF_UINT32(30));
// Duration in performance class in the charging process (on the total storage level): 0 <P <= Pmax * 0.16 /
// Dauer in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): 0 < P <= Pmax*0.16
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_1_WERT", STAT_ZEIT_POWER_CHG_1_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_2_WERT = (RXBUF_UINT32(34));
// Duration in performance class in the charging process (on total storage level): Pmax * 0.16 <P <= Pmax * 0.33
// / Dauer in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): Pmax*0.16 < P <= Pmax*0.33
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_2_WERT", STAT_ZEIT_POWER_CHG_2_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_3_WERT = (RXBUF_UINT32(38));
// Duration in performance class in the charging process (on total storage level): Pmax * 0.33 <P <= Pmax * 0.5 /
// Dauer in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): Pmax*0.33 < P <= Pmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_3_WERT", STAT_ZEIT_POWER_CHG_3_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_4_WERT = (RXBUF_UINT32(42));
// Duration in performance class in the charging process (on total storage level): Pmax * 0.5 <P <= Pmax * 0.66 /
// Dauer in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): Pmax*0.5 < P <= Pmax*0.66
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_4_WERT", STAT_ZEIT_POWER_CHG_4_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_5_WERT = (RXBUF_UINT32(46));
// Duration in performance class in the charging process (on the total storage level): Pmax * 0.66 <P <= Pmax *
// 0.80 / Dauer in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): Pmax*0.66 < P <= Pmax*0.80
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_5_WERT", STAT_ZEIT_POWER_CHG_5_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_6_WERT = (RXBUF_UINT32(50));
// Duration in performance class in the charging process (on total storage level): Pmax * 0.80 <P <= Pmax / Dauer
// in Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): Pmax*0.80 < P <= Pmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_6_WERT", STAT_ZEIT_POWER_CHG_6_WERT, "\"min\"");
unsigned long STAT_ZEIT_POWER_CHG_7_WERT = (RXBUF_UINT32(54));
// Duration in performance class in the charging process (on the total storage level): P> Pmax / Dauer in
// Leistungsklasse im Ladevorgang (auf Gesamtspeicherebene): P > Pmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_ZEIT_POWER_CHG_7_WERT", STAT_ZEIT_POWER_CHG_7_WERT, "\"min\"");
unsigned char STAT_UCELLMAX_EIN = (RXBUF_UCHAR(58));
// Limit violation of the max. Single cell voltage occurred (1 = yes / 0 = no). / GW-Grenzverletzung der max.
// Einzelzellspannung eingetreten (1 = ja / 0 = nein).
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_UCELLMAX_EIN", STAT_UCELLMAX_EIN, "\"0/1\"");
unsigned char STAT_UCELLMIN_EIN = (RXBUF_UCHAR(59));
// Limit violation of the min. Single cell voltage occurred (1 = yes / 0 = no). / GW-Grenzverletzung der min.
// Einzelzellspannung eingetreten (1 = ja / 0 = nein).
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_UCELLMIN_EIN", STAT_UCELLMIN_EIN, "\"0/1\"");
unsigned long STAT_KM_STAND_WERT = (RXBUF_UINT32(60));
// Mileage / Kilometerstand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "GW_INFO", "STAT_KM_STAND_WERT", STAT_KM_STAND_WERT, "\"km\"");
float STAT_IMAX_DCHG_WERT = (RXBUF_UINT32(64)/100.0f);
// maximum measured discharge current over lifetime / maximal gemessener Entladestrom über Lebenszeit
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO", "STAT_IMAX_DCHG_WERT", STAT_IMAX_DCHG_WERT, "\"A\"");
float STAT_IMAX_CHG_WERT = (RXBUF_UINT32(68)/100.0f);
// maximum measured charging current over lifetime / maximal gemessener Ladestrom über Lebenszeit
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO", "STAT_IMAX_CHG_WERT", STAT_IMAX_CHG_WERT, "\"A\"");
unsigned char STAT_IMAX_LAD_ERROR_EIN = (RXBUF_UCHAR(72));
// Limit violation of the maximum permitted charging current exceeded (1 = yes / 0 = no) / GW-Grenzverletzung des
// maximal erlaubten Ladestroms überschritten (1 = ja / 0 = nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_IMAX_LAD_ERROR_EIN", STAT_IMAX_LAD_ERROR_EIN, "\"0/1\"");
unsigned char STAT_TMAX_ERROR_OP_EIN = (RXBUF_UCHAR(73));
// maximum permitted temperature exceeded during operation (1 = yes, 0 = no) / maximal erlaubte Temperatur
// während Betrieb überschritten (1 = ja, 0 = nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_TMAX_ERROR_OP_EIN", STAT_TMAX_ERROR_OP_EIN, "\"0/1\"");
unsigned char STAT_TMAX_ERROR_NO_OP_EIN = (RXBUF_UCHAR(74));
// maximum allowed temperature exceeded without operation (1 = yes, 0 = no) / maximal erlaubte Temperatur ohne
// Betrieb überschritten (1 = ja, 0 = nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_TMAX_ERROR_NO_OP_EIN", STAT_TMAX_ERROR_NO_OP_EIN, "\"0/1\"");
unsigned char STAT_TMIN_ERROR_OP_EIN = (RXBUF_UCHAR(75));
// Minimum permitted temperature undercut during operation (1 = yes, 0 = no) / minimal erlaubte Temperatur
// während Betrieb unterschritten (1 = ja, 0 = nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_TMIN_ERROR_OP_EIN", STAT_TMIN_ERROR_OP_EIN, "\"0/1\"");
unsigned char STAT_TMIN_ERROR_NO_OP_EIN = (RXBUF_UCHAR(76));
// below minimum allowed temperature without operation (1 = yes, 0 = no) / minimal erlaubte Temperatur ohne
// Betrieb unterschritten (1 = ja, 0 = nein)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "GW_INFO", "STAT_TMIN_ERROR_NO_OP_EIN", STAT_TMIN_ERROR_NO_OP_EIN, "\"0/1\"");
float STAT_CUMULATIVE_ENERGIE_LADUNG_WERT = (RXBUF_UINT32(77)*36.0f);
// Value of the accumulated energy for charging processes / Wert der kumulierten Energie für Ladevorgänge
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO", "STAT_CUMULATIVE_ENERGIE_LADUNG_WERT", STAT_CUMULATIVE_ENERGIE_LADUNG_WERT, "\"Ws\"");
float STAT_CUMULATIVE_ENERGIE_ENTLADUNG_WERT = (RXBUF_UINT32(81)*36.0f);
// Value of the accumulated energy for discharges / Wert der kumulierten Energie für Entladevorgänge
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO", "STAT_CUMULATIVE_ENERGIE_ENTLADUNG_WERT", STAT_CUMULATIVE_ENERGIE_ENTLADUNG_WERT, "\"Ws\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_STROMGRENZEN: { // 0xDD7D
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_STROMGRENZEN", 4);
break;
}
float STAT_LADESTROMGRENZE_WERT = (RXBUF_UINT(0)/10.0f);
// maximum permitted charging current / maximal erlaubter Ladestrom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "STROMGRENZEN", "STAT_LADESTROMGRENZE_WERT", STAT_LADESTROMGRENZE_WERT, "\"A\"");
float STAT_ENTLADESTROMGRENZE_WERT = (RXBUF_UINT(2)/10.0f);
// maximum permitted discharge current / maximal erlaubter Entladesstrom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "STROMGRENZEN", "STAT_ENTLADESTROMGRENZE_WERT", STAT_ENTLADESTROMGRENZE_WERT, "\"A\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SPANNUNGSGRENZEN: { // 0xDD7E
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SPANNUNGSGRENZEN", 4);
break;
}
float STAT_LADESPANNUNGSGRENZE_WERT = (RXBUF_UINT(0)/100.0f);
// maximum allowed charging voltage / maximal erlaubte Ladespannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SPANNUNGSGRENZEN", "STAT_LADESPANNUNGSGRENZE_WERT", STAT_LADESPANNUNGSGRENZE_WERT, "\"V\"");
float STAT_ENTLADESPANNUNGSGRENZE_WERT = (RXBUF_UINT(2)/100.0f);
// maximum permitted discharge voltage / maximal erlaubte Entladespannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SPANNUNGSGRENZEN", "STAT_ENTLADESPANNUNGSGRENZE_WERT", STAT_ENTLADESPANNUNGSGRENZE_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HVB_HISTORIE_ZYKLEN: { // 0xDD8E
if (datalen < 116) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HVB_HISTORIE_ZYKLEN", 116);
break;
}
unsigned long STAT_SUM_OF_SOC_CHARGE_1_WERT = (RXBUF_UINT32(0));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_1_WERT", STAT_SUM_OF_SOC_CHARGE_1_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_2_WERT = (RXBUF_UINT32(4));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_2_WERT", STAT_SUM_OF_SOC_CHARGE_2_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_3_WERT = (RXBUF_UINT32(8));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_3_WERT", STAT_SUM_OF_SOC_CHARGE_3_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_4_WERT = (RXBUF_UINT32(12));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_4_WERT", STAT_SUM_OF_SOC_CHARGE_4_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_5_WERT = (RXBUF_UINT32(16));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_5_WERT", STAT_SUM_OF_SOC_CHARGE_5_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_6_WERT = (RXBUF_UINT32(20));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_6_WERT", STAT_SUM_OF_SOC_CHARGE_6_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_7_WERT = (RXBUF_UINT32(24));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_7_WERT", STAT_SUM_OF_SOC_CHARGE_7_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_8_WERT = (RXBUF_UINT32(28));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_8_WERT", STAT_SUM_OF_SOC_CHARGE_8_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_9_WERT = (RXBUF_UINT32(32));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_9_WERT", STAT_SUM_OF_SOC_CHARGE_9_WERT, "");
unsigned long STAT_SUM_OF_SOC_CHARGE_10_WERT = (RXBUF_UINT32(36));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_LADUNG. / veraltet,
// Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_LADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_CHARGE_10_WERT", STAT_SUM_OF_SOC_CHARGE_10_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_1_WERT = (RXBUF_UINT32(40));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_1_WERT", STAT_SUM_OF_SOC_DISCHARGE_1_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_2_WERT = (RXBUF_UINT32(44));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_2_WERT", STAT_SUM_OF_SOC_DISCHARGE_2_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_3_WERT = (RXBUF_UINT32(48));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_3_WERT", STAT_SUM_OF_SOC_DISCHARGE_3_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_4_WERT = (RXBUF_UINT32(52));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_4_WERT", STAT_SUM_OF_SOC_DISCHARGE_4_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_5_WERT = (RXBUF_UINT32(56));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_5_WERT", STAT_SUM_OF_SOC_DISCHARGE_5_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_6_WERT = (RXBUF_UINT32(60));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_6_WERT", STAT_SUM_OF_SOC_DISCHARGE_6_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_7_WERT = (RXBUF_UINT32(64));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_7_WERT", STAT_SUM_OF_SOC_DISCHARGE_7_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_8_WERT = (RXBUF_UINT32(68));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_8_WERT", STAT_SUM_OF_SOC_DISCHARGE_8_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_9_WERT = (RXBUF_UINT32(72));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_9_WERT", STAT_SUM_OF_SOC_DISCHARGE_9_WERT, "");
unsigned long STAT_SUM_OF_SOC_DISCHARGE_10_WERT = (RXBUF_UINT32(76));
// obsolete, replacement: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB and STATUS_CUMULATIVE_ENTLADUNG. /
// veraltet, Ersatz: STATUS_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB und STATUS_CUMULATIVE_ENTLADUNG.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_SUM_OF_SOC_DISCHARGE_10_WERT", STAT_SUM_OF_SOC_DISCHARGE_10_WERT, "");
float STAT_STROM_MAX_WERT = (RXBUF_SINT(80)/10.0f);
// Predefined maximum current value in amperes (project-specific) / Vorderfinierter maximaler Stromwert in Ampere
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_STROM_MAX_WERT", STAT_STROM_MAX_WERT, "\"A\"");
float STAT_STROM_MIN_WERT = (RXBUF_SINT(82)/10.0f);
// Pre-defined minimum current value in amperes (project-specific) / Vorderfinierter minimaler Stromwert in
// Ampere (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_STROM_MIN_WERT", STAT_STROM_MIN_WERT, "\"A\"");
unsigned long STAT_I_HISTO_1_WERT = (RXBUF_UINT32(84));
// Duration current class I <= Imin / Dauer Stromklasse I < =Imin
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_1_WERT", STAT_I_HISTO_1_WERT, "\"min\"");
unsigned long STAT_I_HISTO_2_WERT = (RXBUF_UINT32(88));
// Duration current class Imin <I <= Imin * 0.5 / Dauer Stromklasse Imin < I <= Imin*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_2_WERT", STAT_I_HISTO_2_WERT, "\"min\"");
unsigned long STAT_I_HISTO_3_WERT = (RXBUF_UINT32(92));
// Duration current class Imin * 0.5 <I <= Imin * 0.03 / Dauer Stromklasse Imin*0.5 < I <= Imin*0.03
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_3_WERT", STAT_I_HISTO_3_WERT, "\"min\"");
unsigned long STAT_I_HISTO_4_WERT = (RXBUF_UINT32(96));
// Duration current class in Imin * 0.03 <I <= 0 / Dauer Stromklasse in Imin*0.03 < I <= 0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_4_WERT", STAT_I_HISTO_4_WERT, "\"min\"");
unsigned long STAT_I_HISTO_5_WERT = (RXBUF_UINT32(100));
// Duration current class 0 <I <= Imax * 0.01 / Dauer Stromklasse 0 < I <= Imax*0.01
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_5_WERT", STAT_I_HISTO_5_WERT, "\"min\"");
unsigned long STAT_I_HISTO_6_WERT = (RXBUF_UINT32(104));
// Duration current class Imax * 0.01 <I <= Imax * 0.16 / Dauer Stromklasse Imax*0.01 < I <= Imax*0.16
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_6_WERT", STAT_I_HISTO_6_WERT, "\"min\"");
unsigned long STAT_I_HISTO_7_WERT = (RXBUF_UINT32(108));
// Duration current class Imax * 0.16 <I <= Imax * 0.32 / Dauer Stromklasse Imax*0.16 < I <= Imax*0.32
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_7_WERT", STAT_I_HISTO_7_WERT, "\"min\"");
unsigned long STAT_I_HISTO_8_WERT = (RXBUF_UINT32(112));
// Duration current class I> = Imax * 0.32 / Dauer Stromklasse I > =Imax*0.32
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVB_HISTORIE_ZYKLEN", "STAT_I_HISTO_8_WERT", STAT_I_HISTO_8_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ZEIT_TEMP_HISTOGRAMM: { // 0xDD90
if (datalen < 112) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ZEIT_TEMP_HISTOGRAMM", 112);
break;
}
unsigned long STAT_ZEIT_TEMP_TOTAL_1_WERT = (RXBUF_UINT32(0));
// Time in temperature class T <= - 25 ° C with the control unit awake and asleep / Zeit in Temperaturklasse
// T<=-25°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_1_WERT", STAT_ZEIT_TEMP_TOTAL_1_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_2_WERT = (RXBUF_UINT32(4));
// Time in temperature class -25 ° C <T <= - 10 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse -25°C<T<=-10°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_2_WERT", STAT_ZEIT_TEMP_TOTAL_2_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_3_WERT = (RXBUF_UINT32(8));
// Time in temperature class -10 ° C <T <= 0 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse -10°C<T<=0°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_3_WERT", STAT_ZEIT_TEMP_TOTAL_3_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_4_WERT = (RXBUF_UINT32(12));
// Time in temperature class 0 ° C <T <= 10 ° C with the control unit awake and asleep / Zeit in Temperaturklasse
// 0°C<T<=10°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_4_WERT", STAT_ZEIT_TEMP_TOTAL_4_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_5_WERT = (RXBUF_UINT32(16));
// Time in temperature class 10 ° C <T <= 20 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 10°C<T<=20°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_5_WERT", STAT_ZEIT_TEMP_TOTAL_5_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_6_WERT = (RXBUF_UINT32(20));
// Time in temperature class 20 ° C <T <= 25 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 20°C<T<=25°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_6_WERT", STAT_ZEIT_TEMP_TOTAL_6_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_7_WERT = (RXBUF_UINT32(24));
// Time in temperature class 25 ° C <T <= 30 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 25°C<T<=30°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_7_WERT", STAT_ZEIT_TEMP_TOTAL_7_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_8_WERT = (RXBUF_UINT32(28));
// Time in temperature class 30 ° C <T <= 35 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 30°C<T<=35°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_8_WERT", STAT_ZEIT_TEMP_TOTAL_8_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_9_WERT = (RXBUF_UINT32(32));
// Time in temperature class 35 ° C <T <= 40 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 35°C<T<=40°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_9_WERT", STAT_ZEIT_TEMP_TOTAL_9_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_10_WERT = (RXBUF_UINT32(36));
// Time in temperature class 40 ° C <T <= 45 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 40°C<T<=45°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_10_WERT", STAT_ZEIT_TEMP_TOTAL_10_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_11_WERT = (RXBUF_UINT32(40));
// Time in temperature class 45 ° C <T <= 50 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 45°C<T<=50°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_11_WERT", STAT_ZEIT_TEMP_TOTAL_11_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_12_WERT = (RXBUF_UINT32(44));
// Time in temperature class 50 ° C <T <= 55 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 50°C<T<=55°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_12_WERT", STAT_ZEIT_TEMP_TOTAL_12_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_13_WERT = (RXBUF_UINT32(48));
// Time in temperature class 55 ° C <T <= 60 ° C with the control unit awake and asleep / Zeit in
// Temperaturklasse 55°C<T<=60°C bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_13_WERT", STAT_ZEIT_TEMP_TOTAL_13_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_TOTAL_14_WERT = (RXBUF_UINT32(52));
// Time in temperature class T> 60 ° C with the control unit awake and asleep / Zeit in Temperaturklasse T>60°C
// bei wachem und schlafenden Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_TOTAL_14_WERT", STAT_ZEIT_TEMP_TOTAL_14_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_1_WERT = (RXBUF_UINT32(56));
// Time in temperature class T <-25 ° C with the control unit asleep / Zeit in Temperaturklasse T<-25°C bei
// schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_1_WERT", STAT_ZEIT_TEMP_NO_OP_1_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_2_WERT = (RXBUF_UINT32(60));
// Time in temperature class -25 ° C <T <= - 10 ° C with the control unit asleep / Zeit in Temperaturklasse
// -25°C<T<=-10°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_2_WERT", STAT_ZEIT_TEMP_NO_OP_2_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_3_WERT = (RXBUF_UINT32(64));
// Time in temperature class -10 ° C <T <= 0 ° C with the control unit sleeping / Zeit in Temperaturklasse
// -10°C<T<=0°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_3_WERT", STAT_ZEIT_TEMP_NO_OP_3_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_4_WERT = (RXBUF_UINT32(68));
// Time in temperature class 0 ° C <T <= 10 ° C with the control unit asleep / Zeit in Temperaturklasse
// 0°C<T<=10°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_4_WERT", STAT_ZEIT_TEMP_NO_OP_4_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_5_WERT = (RXBUF_UINT32(72));
// Time in temperature class 10 ° C <T <= 20 ° C with the control unit sleeping / Zeit in Temperaturklasse
// 10°C<T<=20°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_5_WERT", STAT_ZEIT_TEMP_NO_OP_5_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_6_WERT = (RXBUF_UINT32(76));
// Time in temperature class 20 ° C less than T less than or equal to 25 ° C with the control unit asleep / Zeit
// in Temperaturklasse 20°C kleiner T kleiner gleich 25°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_6_WERT", STAT_ZEIT_TEMP_NO_OP_6_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_7_WERT = (RXBUF_UINT32(80));
// Time in temperature class 25 ° C less than T less than or equal to 30 ° C with the control unit asleep / Zeit
// in Temperaturklasse 25°C kleiner T kleiner gleich 30°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_7_WERT", STAT_ZEIT_TEMP_NO_OP_7_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_8_WERT = (RXBUF_UINT32(84));
// Time in temperature class 30 ° C less than T less than or equal to 35 ° C with the control unit asleep / Zeit
// in Temperaturklasse 30°C kleiner T kleiner gleich 35°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_8_WERT", STAT_ZEIT_TEMP_NO_OP_8_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_9_WERT = (RXBUF_UINT32(88));
// Time in temperature class 35 ° C less than T less than or equal to 40 ° C with the control unit sleeping /
// Zeit in Temperaturklasse 35°C kleiner T kleiner gleich 40°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_9_WERT", STAT_ZEIT_TEMP_NO_OP_9_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_10_WERT = (RXBUF_UINT32(92));
// Time in temperature class 40 ° C less than T less than or equal to 45 ° C with the control unit asleep / Zeit
// in Temperaturklasse 40°C kleiner T kleiner gleich 45°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_10_WERT", STAT_ZEIT_TEMP_NO_OP_10_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_11_WERT = (RXBUF_UINT32(96));
// Time in temperature class 45 ° C <T <= 50 ° C with the control unit asleep / Zeit in Temperaturklasse
// 45°C<T<=50°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_11_WERT", STAT_ZEIT_TEMP_NO_OP_11_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_12_WERT = (RXBUF_UINT32(100));
// Time in temperature class 50 ° C <T <= 55 ° C with the control unit asleep / Zeit in Temperaturklasse
// 50°C<T<=55°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_12_WERT", STAT_ZEIT_TEMP_NO_OP_12_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_13_WERT = (RXBUF_UINT32(104));
// Time in temperature class 55 ° C <T <= 60 ° C with the control unit asleep / Zeit in Temperaturklasse
// 55°C<T<=60°C bei schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_13_WERT", STAT_ZEIT_TEMP_NO_OP_13_WERT, "\"min\"");
unsigned long STAT_ZEIT_TEMP_NO_OP_14_WERT = (RXBUF_UINT32(108));
// Time in temperature class T> 60 ° C with the control unit asleep / Zeit in Temperaturklasse T>60°C bei
// schlafendem Steuergerät
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_TEMP_HISTOGRAMM", "STAT_ZEIT_TEMP_NO_OP_14_WERT", STAT_ZEIT_TEMP_NO_OP_14_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ZEIT_SOC_KLASSE: { // 0xDD91
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ZEIT_SOC_KLASSE", 48);
break;
}
unsigned long STAT_ZEIT_SOC_1_WERT = (RXBUF_UINT32(0));
// Duration in SOC class 1:% 0 <SOC <=% 10 / Dauer in SOC Klasse 1: %0 < SOC <= %10
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_1_WERT", STAT_ZEIT_SOC_1_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_2_WERT = (RXBUF_UINT32(4));
// Duration in SOC class 2:% 10 <SOC <=% 20 / Dauer in SOC Klasse 2: %10 < SOC <= %20
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_2_WERT", STAT_ZEIT_SOC_2_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_3_WERT = (RXBUF_UINT32(8));
// Duration in SOC class 3:% 20 <SOC <=% 30 / Dauer in SOC Klasse 3: %20 < SOC <= %30
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_3_WERT", STAT_ZEIT_SOC_3_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_4_WERT = (RXBUF_UINT32(12));
// Duration in SOC class 4:% 30 <SOC <=% 40 / Dauer in SOC Klasse 4: %30 < SOC <= %40
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_4_WERT", STAT_ZEIT_SOC_4_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_5_WERT = (RXBUF_UINT32(16));
// Duration in SOC class 5:% 40 <SOC <=% 50 / Dauer in SOC Klasse 5: %40 < SOC <= %50
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_5_WERT", STAT_ZEIT_SOC_5_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_6_WERT = (RXBUF_UINT32(20));
// Duration in SOC class 6:% 50 <SOC <=% 60 / Dauer in SOC Klasse 6: %50 < SOC <= %60
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_6_WERT", STAT_ZEIT_SOC_6_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_7_WERT = (RXBUF_UINT32(24));
// Duration in SOC class 7:% 60 <SOC <=% 70 / Dauer in SOC Klasse 7: %60 < SOC <= %70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_7_WERT", STAT_ZEIT_SOC_7_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_8_WERT = (RXBUF_UINT32(28));
// Duration in SOC class 8:% 70 <SOC <=% 80 / Dauer in SOC Klasse 8: %70 < SOC <= %80
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_8_WERT", STAT_ZEIT_SOC_8_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_9_WERT = (RXBUF_UINT32(32));
// Duration in SOC class 9:% 80 <SOC <=% 85 / Dauer in SOC Klasse 9: %80 < SOC <= %85
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_9_WERT", STAT_ZEIT_SOC_9_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_10_WERT = (RXBUF_UINT32(36));
// Duration in SOC class 10:% 85 <SOC <=% 90 / Dauer in SOC Klasse 10: %85 < SOC <= %90
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_10_WERT", STAT_ZEIT_SOC_10_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_11_WERT = (RXBUF_UINT32(40));
// Duration in SOC class 11:% 90 <SOC <=% 95 / Dauer in SOC Klasse 11: %90 < SOC <= %95
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_11_WERT", STAT_ZEIT_SOC_11_WERT, "\"min\"");
unsigned long STAT_ZEIT_SOC_12_WERT = (RXBUF_UINT32(44));
// Duration in SOC class 12: SOC>% 95 / Dauer in SOC Klasse 12: SOC > %95
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ZEIT_SOC_KLASSE", "STAT_ZEIT_SOC_12_WERT", STAT_ZEIT_SOC_12_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T1_1: { // 0xDD94
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T1_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T1_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer bei SoC
// kleiner als 10 %. Temperatur kleiner als 0 °C. Strom kleiner als -2.5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I1_WERT", STAT_HV_BATT_HIST_SOC1_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. -2.5xC A less than current less than -2.0xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I2_WERT", STAT_HV_BATT_HIST_SOC1_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. -2.0xC A less than current less than -1.5xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I3_WERT", STAT_HV_BATT_HIST_SOC1_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. -1.5xC A less than current less than -1.0xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I4_WERT", STAT_HV_BATT_HIST_SOC1_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. -1.0xC A less than current less than -0.5xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I5_WERT", STAT_HV_BATT_HIST_SOC1_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. -0.5xC A less than current less than -0.0xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als Strom kleiner als -0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I6_WERT", STAT_HV_BATT_HIST_SOC1_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. 0.0xC A less than current less than 0.5xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I7_WERT", STAT_HV_BATT_HIST_SOC1_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. 0.5xC A less than current less than 1.0xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I8_WERT", STAT_HV_BATT_HIST_SOC1_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. 1.0xC A less than current less than 1.5xC A /
// Dauer bei SoC kleiner als 10 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I9_WERT", STAT_HV_BATT_HIST_SOC1_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T1_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer bei SoC
// kleiner als 10 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC1_T1_I10_WERT", STAT_HV_BATT_HIST_SOC1_T1_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer
// bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I1_WERT", STAT_HV_BATT_HIST_SOC2_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. -2.5xC A less than current less than
// -2.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als
// Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I2_WERT", STAT_HV_BATT_HIST_SOC2_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. -2.0xC A less than current less than
// -1.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als
// Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I3_WERT", STAT_HV_BATT_HIST_SOC2_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. -1.5xC A less than current less than
// -1.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als
// Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I4_WERT", STAT_HV_BATT_HIST_SOC2_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. -1.0xC A less than current less than
// -0.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als
// Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I5_WERT", STAT_HV_BATT_HIST_SOC2_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. -0.5xC A less than current less than
// 0.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als
// Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I6_WERT", STAT_HV_BATT_HIST_SOC2_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I7_WERT", STAT_HV_BATT_HIST_SOC2_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I8_WERT", STAT_HV_BATT_HIST_SOC2_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I9_WERT", STAT_HV_BATT_HIST_SOC2_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T1_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer
// bei 10 % kleiner als SoC kleiner als 30 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC2_T1_I10_WERT", STAT_HV_BATT_HIST_SOC2_T1_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer
// bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I1_WERT", STAT_HV_BATT_HIST_SOC3_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. -2.5xC A less than current less than
// -2.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als
// Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I2_WERT", STAT_HV_BATT_HIST_SOC3_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. -2.0xC A less than current less than
// -1.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als
// Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I3_WERT", STAT_HV_BATT_HIST_SOC3_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. -1.5xC A less than current less than
// -1.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als
// Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I4_WERT", STAT_HV_BATT_HIST_SOC3_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. -1.0xC A less than current less than
// -0.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als
// Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I5_WERT", STAT_HV_BATT_HIST_SOC3_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. -0.5xC A less than current less than
// 0.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als
// Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I6_WERT", STAT_HV_BATT_HIST_SOC3_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I7_WERT", STAT_HV_BATT_HIST_SOC3_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I8_WERT", STAT_HV_BATT_HIST_SOC3_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I9_WERT", STAT_HV_BATT_HIST_SOC3_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T1_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer
// bei 30 % kleiner als SoC kleiner als 50 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC3_T1_I10_WERT", STAT_HV_BATT_HIST_SOC3_T1_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer
// bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I1_WERT", STAT_HV_BATT_HIST_SOC4_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. -2.5xC A less than current less than
// -2.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als
// Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I2_WERT", STAT_HV_BATT_HIST_SOC4_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. -2.0xC A less than current less than
// -1.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als
// Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I3_WERT", STAT_HV_BATT_HIST_SOC4_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. -1.5xC A less than current less than
// -1.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als
// Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I4_WERT", STAT_HV_BATT_HIST_SOC4_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. -1.0xC A less than current less than
// -0.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als
// Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I5_WERT", STAT_HV_BATT_HIST_SOC4_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. -0.5xC A less than current less than
// 0.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als
// Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I6_WERT", STAT_HV_BATT_HIST_SOC4_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I7_WERT", STAT_HV_BATT_HIST_SOC4_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I8_WERT", STAT_HV_BATT_HIST_SOC4_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I9_WERT", STAT_HV_BATT_HIST_SOC4_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T1_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer
// bei 50 % kleiner als SoC kleiner als 70 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_1", "STAT_HV_BATT_HIST_SOC4_T1_I10_WERT", STAT_HV_BATT_HIST_SOC4_T1_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T2_1: { // 0xDD95
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T2_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T2_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. Current less than -2.5xC A /
// Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I1_WERT", STAT_HV_BATT_HIST_SOC1_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than current less
// than -2.0xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I2_WERT", STAT_HV_BATT_HIST_SOC1_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than current less
// than -1.5xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I3_WERT", STAT_HV_BATT_HIST_SOC1_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than current less
// than -1.0xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I4_WERT", STAT_HV_BATT_HIST_SOC1_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than current less
// than -0.5xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I5_WERT", STAT_HV_BATT_HIST_SOC1_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than current less
// than 0.0xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I6_WERT", STAT_HV_BATT_HIST_SOC1_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than current less
// than 0.5xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. 0,0xC A kleiner
// als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I7_WERT", STAT_HV_BATT_HIST_SOC1_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than current less
// than 1.0xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. 0,5xC A kleiner
// als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I8_WERT", STAT_HV_BATT_HIST_SOC1_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than current less
// than 1.5xC A / Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. 1,0xC A kleiner
// als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I9_WERT", STAT_HV_BATT_HIST_SOC1_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T2_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than current /
// Dauer bei SoC kleiner als 10 %. 0°C kleiner als Temperatur kleiner als 10 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC1_T2_I10_WERT", STAT_HV_BATT_HIST_SOC1_T2_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. Current less than
// -2.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I1_WERT", STAT_HV_BATT_HIST_SOC2_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I2_WERT", STAT_HV_BATT_HIST_SOC2_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I3_WERT", STAT_HV_BATT_HIST_SOC2_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I4_WERT", STAT_HV_BATT_HIST_SOC2_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I5_WERT", STAT_HV_BATT_HIST_SOC2_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I6_WERT", STAT_HV_BATT_HIST_SOC2_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I7_WERT", STAT_HV_BATT_HIST_SOC2_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I8_WERT", STAT_HV_BATT_HIST_SOC2_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I9_WERT", STAT_HV_BATT_HIST_SOC2_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T2_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than
// current / Dauer bei 10 % kleiner als SoC kleiner als 30 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC2_T2_I10_WERT", STAT_HV_BATT_HIST_SOC2_T2_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. Current less than
// -2.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I1_WERT", STAT_HV_BATT_HIST_SOC3_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I2_WERT", STAT_HV_BATT_HIST_SOC3_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I3_WERT", STAT_HV_BATT_HIST_SOC3_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I4_WERT", STAT_HV_BATT_HIST_SOC3_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I5_WERT", STAT_HV_BATT_HIST_SOC3_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I6_WERT", STAT_HV_BATT_HIST_SOC3_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I7_WERT", STAT_HV_BATT_HIST_SOC3_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I8_WERT", STAT_HV_BATT_HIST_SOC3_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I9_WERT", STAT_HV_BATT_HIST_SOC3_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T2_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than
// current / Dauer bei 30 % kleiner als SoC kleiner als 50 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC3_T2_I10_WERT", STAT_HV_BATT_HIST_SOC3_T2_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. Current less than
// -2.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I1_WERT", STAT_HV_BATT_HIST_SOC4_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I2_WERT", STAT_HV_BATT_HIST_SOC4_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I3_WERT", STAT_HV_BATT_HIST_SOC4_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I4_WERT", STAT_HV_BATT_HIST_SOC4_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I5_WERT", STAT_HV_BATT_HIST_SOC4_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I6_WERT", STAT_HV_BATT_HIST_SOC4_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I7_WERT", STAT_HV_BATT_HIST_SOC4_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I8_WERT", STAT_HV_BATT_HIST_SOC4_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I9_WERT", STAT_HV_BATT_HIST_SOC4_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T2_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than
// current / Dauer bei 50 % kleiner als SoC kleiner als 70 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_1", "STAT_HV_BATT_HIST_SOC4_T2_I10_WERT", STAT_HV_BATT_HIST_SOC4_T2_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T3_1: { // 0xDD96
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T3_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T3_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. Current less than -2.5xC A /
// Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I1_WERT", STAT_HV_BATT_HIST_SOC1_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I2_WERT", STAT_HV_BATT_HIST_SOC1_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I3_WERT", STAT_HV_BATT_HIST_SOC1_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I4_WERT", STAT_HV_BATT_HIST_SOC1_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I5_WERT", STAT_HV_BATT_HIST_SOC1_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I6_WERT", STAT_HV_BATT_HIST_SOC1_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than current less
// than 0.5xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. 0,0xC A kleiner
// als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I7_WERT", STAT_HV_BATT_HIST_SOC1_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than current less
// than 1.0xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. 0,5xC A kleiner
// als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I8_WERT", STAT_HV_BATT_HIST_SOC1_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than current less
// than 1.5xC A / Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. 1,0xC A kleiner
// als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I9_WERT", STAT_HV_BATT_HIST_SOC1_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T3_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than current /
// Dauer bei SoC kleiner als 10%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC1_T3_I10_WERT", STAT_HV_BATT_HIST_SOC1_T3_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. Current less than
// -2.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner als 20°C. Strom
// kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I1_WERT", STAT_HV_BATT_HIST_SOC2_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I2_WERT", STAT_HV_BATT_HIST_SOC2_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I3_WERT", STAT_HV_BATT_HIST_SOC2_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I4_WERT", STAT_HV_BATT_HIST_SOC2_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I5_WERT", STAT_HV_BATT_HIST_SOC2_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner
// als 20°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I6_WERT", STAT_HV_BATT_HIST_SOC2_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I7_WERT", STAT_HV_BATT_HIST_SOC2_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I8_WERT", STAT_HV_BATT_HIST_SOC2_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner
// als 20°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I9_WERT", STAT_HV_BATT_HIST_SOC2_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T3_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than
// current / Dauer bei 10% kleiner als SoC kleiner als 30%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A
// kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC2_T3_I10_WERT", STAT_HV_BATT_HIST_SOC2_T3_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. Current less than
// -2.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner als 20°C. Strom
// kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I1_WERT", STAT_HV_BATT_HIST_SOC3_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I2_WERT", STAT_HV_BATT_HIST_SOC3_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I3_WERT", STAT_HV_BATT_HIST_SOC3_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I4_WERT", STAT_HV_BATT_HIST_SOC3_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I5_WERT", STAT_HV_BATT_HIST_SOC3_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner
// als 20°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I6_WERT", STAT_HV_BATT_HIST_SOC3_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I7_WERT", STAT_HV_BATT_HIST_SOC3_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I8_WERT", STAT_HV_BATT_HIST_SOC3_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner
// als 20°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I9_WERT", STAT_HV_BATT_HIST_SOC3_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T3_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than
// current / Dauer bei 30% kleiner als SoC kleiner als 50%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A
// kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC3_T3_I10_WERT", STAT_HV_BATT_HIST_SOC3_T3_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. Current less than
// -2.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner als 20°C. Strom
// kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I1_WERT", STAT_HV_BATT_HIST_SOC4_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I2_WERT", STAT_HV_BATT_HIST_SOC4_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I3_WERT", STAT_HV_BATT_HIST_SOC4_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I4_WERT", STAT_HV_BATT_HIST_SOC4_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I5_WERT", STAT_HV_BATT_HIST_SOC4_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner
// als 20°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I6_WERT", STAT_HV_BATT_HIST_SOC4_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I7_WERT", STAT_HV_BATT_HIST_SOC4_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I8_WERT", STAT_HV_BATT_HIST_SOC4_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner
// als 20°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I9_WERT", STAT_HV_BATT_HIST_SOC4_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T3_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than
// current / Dauer bei 50% kleiner als SoC kleiner als 70%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A
// kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_1", "STAT_HV_BATT_HIST_SOC4_T3_I10_WERT", STAT_HV_BATT_HIST_SOC4_T3_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T4_1: { // 0xDD97
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T4_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T4_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. Current less than -2.5xC A /
// Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I1_WERT", STAT_HV_BATT_HIST_SOC1_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I2_WERT", STAT_HV_BATT_HIST_SOC1_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I3_WERT", STAT_HV_BATT_HIST_SOC1_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I4_WERT", STAT_HV_BATT_HIST_SOC1_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I5_WERT", STAT_HV_BATT_HIST_SOC1_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I6_WERT", STAT_HV_BATT_HIST_SOC1_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I7_WERT", STAT_HV_BATT_HIST_SOC1_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I8_WERT", STAT_HV_BATT_HIST_SOC1_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I9_WERT", STAT_HV_BATT_HIST_SOC1_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T4_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less than current /
// Dauer bei SoC kleiner als 10%. 20°C kleiner als Temperatur kleiner als 27,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC1_T4_I10_WERT", STAT_HV_BATT_HIST_SOC1_T4_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. Current less
// than -2.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I1_WERT", STAT_HV_BATT_HIST_SOC2_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I2_WERT", STAT_HV_BATT_HIST_SOC2_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I3_WERT", STAT_HV_BATT_HIST_SOC2_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I4_WERT", STAT_HV_BATT_HIST_SOC2_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I5_WERT", STAT_HV_BATT_HIST_SOC2_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I6_WERT", STAT_HV_BATT_HIST_SOC2_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I7_WERT", STAT_HV_BATT_HIST_SOC2_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I8_WERT", STAT_HV_BATT_HIST_SOC2_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I9_WERT", STAT_HV_BATT_HIST_SOC2_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T4_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less
// than current / Dauer bei 10% kleiner als SoC kleiner als 30%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC2_T4_I10_WERT", STAT_HV_BATT_HIST_SOC2_T4_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. Current less
// than -2.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I1_WERT", STAT_HV_BATT_HIST_SOC3_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I2_WERT", STAT_HV_BATT_HIST_SOC3_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I3_WERT", STAT_HV_BATT_HIST_SOC3_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I4_WERT", STAT_HV_BATT_HIST_SOC3_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I5_WERT", STAT_HV_BATT_HIST_SOC3_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I6_WERT", STAT_HV_BATT_HIST_SOC3_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I7_WERT", STAT_HV_BATT_HIST_SOC3_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I8_WERT", STAT_HV_BATT_HIST_SOC3_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I9_WERT", STAT_HV_BATT_HIST_SOC3_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T4_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less
// than current / Dauer bei 30% kleiner als SoC kleiner als 50%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC3_T4_I10_WERT", STAT_HV_BATT_HIST_SOC3_T4_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. Current less
// than -2.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I1_WERT", STAT_HV_BATT_HIST_SOC4_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I2_WERT", STAT_HV_BATT_HIST_SOC4_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I3_WERT", STAT_HV_BATT_HIST_SOC4_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I4_WERT", STAT_HV_BATT_HIST_SOC4_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I5_WERT", STAT_HV_BATT_HIST_SOC4_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I6_WERT", STAT_HV_BATT_HIST_SOC4_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I7_WERT", STAT_HV_BATT_HIST_SOC4_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I8_WERT", STAT_HV_BATT_HIST_SOC4_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I9_WERT", STAT_HV_BATT_HIST_SOC4_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T4_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less
// than current / Dauer bei 50% kleiner als SoC kleiner als 70%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_1", "STAT_HV_BATT_HIST_SOC4_T4_I10_WERT", STAT_HV_BATT_HIST_SOC4_T4_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T5_1: { // 0xDD98
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T5_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T5_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. Current less than -2.5xC
// A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. Strom kleiner als -2,5xC
// A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I1_WERT", STAT_HV_BATT_HIST_SOC1_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less than current
// less than -2.0xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. -2,5xC
// A kleiner als Strom kleiner als -2,0xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I2_WERT", STAT_HV_BATT_HIST_SOC1_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less than current
// less than -1.5xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. -2,0xC
// A kleiner als Strom kleiner als -1,5xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I3_WERT", STAT_HV_BATT_HIST_SOC1_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less than current
// less than -1.0xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. -1,5xC
// A kleiner als Strom kleiner als -1,0xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I4_WERT", STAT_HV_BATT_HIST_SOC1_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less than current
// less than -0.5xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. -1,0xC
// A kleiner als Strom kleiner als -0,5xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I5_WERT", STAT_HV_BATT_HIST_SOC1_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less than current
// less than 0.0xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I6_WERT", STAT_HV_BATT_HIST_SOC1_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less than current
// less than 0.5xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I7_WERT", STAT_HV_BATT_HIST_SOC1_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less than current
// less than 1.0xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I8_WERT", STAT_HV_BATT_HIST_SOC1_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less than current
// less than 1.5xC A. / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I9_WERT", STAT_HV_BATT_HIST_SOC1_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T5_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less than current
// / Dauer bei SoC kleiner als 10%. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC1_T5_I10_WERT", STAT_HV_BATT_HIST_SOC1_T5_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. Current less
// than -2.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I1_WERT", STAT_HV_BATT_HIST_SOC2_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I2_WERT", STAT_HV_BATT_HIST_SOC2_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I3_WERT", STAT_HV_BATT_HIST_SOC2_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I4_WERT", STAT_HV_BATT_HIST_SOC2_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I5_WERT", STAT_HV_BATT_HIST_SOC2_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I6_WERT", STAT_HV_BATT_HIST_SOC2_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I7_WERT", STAT_HV_BATT_HIST_SOC2_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I8_WERT", STAT_HV_BATT_HIST_SOC2_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I9_WERT", STAT_HV_BATT_HIST_SOC2_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T5_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less
// than current / Dauer bei 10% kleiner als SoC kleiner als 30%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC2_T5_I10_WERT", STAT_HV_BATT_HIST_SOC2_T5_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. Current less
// than -2.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I1_WERT", STAT_HV_BATT_HIST_SOC3_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I2_WERT", STAT_HV_BATT_HIST_SOC3_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I3_WERT", STAT_HV_BATT_HIST_SOC3_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I4_WERT", STAT_HV_BATT_HIST_SOC3_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I5_WERT", STAT_HV_BATT_HIST_SOC3_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I6_WERT", STAT_HV_BATT_HIST_SOC3_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I7_WERT", STAT_HV_BATT_HIST_SOC3_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I8_WERT", STAT_HV_BATT_HIST_SOC3_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I9_WERT", STAT_HV_BATT_HIST_SOC3_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T5_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less
// than current / Dauer bei 30% kleiner als SoC kleiner als 50%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC3_T5_I10_WERT", STAT_HV_BATT_HIST_SOC3_T5_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. Current less
// than -2.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I1_WERT", STAT_HV_BATT_HIST_SOC4_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I2_WERT", STAT_HV_BATT_HIST_SOC4_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I3_WERT", STAT_HV_BATT_HIST_SOC4_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I4_WERT", STAT_HV_BATT_HIST_SOC4_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I5_WERT", STAT_HV_BATT_HIST_SOC4_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I6_WERT", STAT_HV_BATT_HIST_SOC4_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I7_WERT", STAT_HV_BATT_HIST_SOC4_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I8_WERT", STAT_HV_BATT_HIST_SOC4_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I9_WERT", STAT_HV_BATT_HIST_SOC4_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T5_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less
// than current / Dauer bei 50% kleiner als SoC kleiner als 70%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_1", "STAT_HV_BATT_HIST_SOC4_T5_I10_WERT", STAT_HV_BATT_HIST_SOC4_T5_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T6_1: { // 0xDD99
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T6_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T6_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. Current less than -2.5xC A /
// Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I1_WERT", STAT_HV_BATT_HIST_SOC1_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I2_WERT", STAT_HV_BATT_HIST_SOC1_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I3_WERT", STAT_HV_BATT_HIST_SOC1_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I4_WERT", STAT_HV_BATT_HIST_SOC1_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I5_WERT", STAT_HV_BATT_HIST_SOC1_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I6_WERT", STAT_HV_BATT_HIST_SOC1_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I7_WERT", STAT_HV_BATT_HIST_SOC1_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I8_WERT", STAT_HV_BATT_HIST_SOC1_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I9_WERT", STAT_HV_BATT_HIST_SOC1_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T6_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less than current /
// Dauer bei SoC kleiner als 10%. 32,5°C kleiner als Temperatur kleiner als 40°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC1_T6_I10_WERT", STAT_HV_BATT_HIST_SOC1_T6_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. Current less
// than -2.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I1_WERT", STAT_HV_BATT_HIST_SOC2_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I2_WERT", STAT_HV_BATT_HIST_SOC2_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I3_WERT", STAT_HV_BATT_HIST_SOC2_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I4_WERT", STAT_HV_BATT_HIST_SOC2_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I5_WERT", STAT_HV_BATT_HIST_SOC2_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I6_WERT", STAT_HV_BATT_HIST_SOC2_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I7_WERT", STAT_HV_BATT_HIST_SOC2_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I8_WERT", STAT_HV_BATT_HIST_SOC2_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I9_WERT", STAT_HV_BATT_HIST_SOC2_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T6_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less
// than current / Dauer bei 10% kleiner als SoC kleiner als 30%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC2_T6_I10_WERT", STAT_HV_BATT_HIST_SOC2_T6_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. Current less
// than -2.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I1_WERT", STAT_HV_BATT_HIST_SOC3_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I2_WERT", STAT_HV_BATT_HIST_SOC3_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I3_WERT", STAT_HV_BATT_HIST_SOC3_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I4_WERT", STAT_HV_BATT_HIST_SOC3_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I5_WERT", STAT_HV_BATT_HIST_SOC3_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I6_WERT", STAT_HV_BATT_HIST_SOC3_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I7_WERT", STAT_HV_BATT_HIST_SOC3_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I8_WERT", STAT_HV_BATT_HIST_SOC3_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I9_WERT", STAT_HV_BATT_HIST_SOC3_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T6_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less
// than current / Dauer bei 30% kleiner als SoC kleiner als 50%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC3_T6_I10_WERT", STAT_HV_BATT_HIST_SOC3_T6_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. Current less
// than -2.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I1_WERT", STAT_HV_BATT_HIST_SOC4_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I2_WERT", STAT_HV_BATT_HIST_SOC4_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I3_WERT", STAT_HV_BATT_HIST_SOC4_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I4_WERT", STAT_HV_BATT_HIST_SOC4_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I5_WERT", STAT_HV_BATT_HIST_SOC4_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I6_WERT", STAT_HV_BATT_HIST_SOC4_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I7_WERT", STAT_HV_BATT_HIST_SOC4_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I8_WERT", STAT_HV_BATT_HIST_SOC4_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I9_WERT", STAT_HV_BATT_HIST_SOC4_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T6_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less
// than current / Dauer bei 50% kleiner als SoC kleiner als 70%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_1", "STAT_HV_BATT_HIST_SOC4_T6_I10_WERT", STAT_HV_BATT_HIST_SOC4_T6_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T7_1: { // 0xDD9A
if (datalen < 160) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T7_1", 160);
break;
}
float STAT_HV_BATT_HIST_SOC1_T7_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer bei SoC
// kleiner als 10%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I1_WERT", STAT_HV_BATT_HIST_SOC1_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. -2.5xC A less than current less than -2.0xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I2_WERT", STAT_HV_BATT_HIST_SOC1_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. -2.0xC A less than current less than -1.5xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I3_WERT", STAT_HV_BATT_HIST_SOC1_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. -1.5xC A less than current less than -1.0xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I4_WERT", STAT_HV_BATT_HIST_SOC1_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. -1.0xC A less than current less than -0.5xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I5_WERT", STAT_HV_BATT_HIST_SOC1_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. -0.5xC A less than current less than 0.0xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I6_WERT", STAT_HV_BATT_HIST_SOC1_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. 0.0xC A less than current less than 0.5xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I7_WERT", STAT_HV_BATT_HIST_SOC1_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. 0.5xC A less than current less than 1.0xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I8_WERT", STAT_HV_BATT_HIST_SOC1_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. 1.0xC A less than current less than 1.5xC A /
// Dauer bei SoC kleiner als 10%. 40°C kleiner als Temperatur. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I9_WERT", STAT_HV_BATT_HIST_SOC1_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC1_T7_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration with SoC less than 10%. 40 ° C less than temperature. 1.5xC A less than current / Dauer bei SoC
// kleiner als 10%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC1_T7_I10_WERT", STAT_HV_BATT_HIST_SOC1_T7_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer
// bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I1_WERT", STAT_HV_BATT_HIST_SOC2_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. -2.5xC A less than current less
// than -2.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. -2,5xC A kleiner
// als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I2_WERT", STAT_HV_BATT_HIST_SOC2_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. -2.0xC A less than current less
// than -1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. -2,0xC A kleiner
// als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I3_WERT", STAT_HV_BATT_HIST_SOC2_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. -1.5xC A less than current less
// than -1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. -1,5xC A kleiner
// als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I4_WERT", STAT_HV_BATT_HIST_SOC2_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. -1.0xC A less than current less
// than -0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. -1,0xC A kleiner
// als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I5_WERT", STAT_HV_BATT_HIST_SOC2_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. -0.5xC A less than current less
// than 0.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I6_WERT", STAT_HV_BATT_HIST_SOC2_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I7_WERT", STAT_HV_BATT_HIST_SOC2_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I8_WERT", STAT_HV_BATT_HIST_SOC2_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I9_WERT", STAT_HV_BATT_HIST_SOC2_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC2_T7_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 10% less than SoC less than 30%. 40 ° C less than temperature. 1.5xC A less than current / Dauer
// bei 10% kleiner als SoC kleiner als 30%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC2_T7_I10_WERT", STAT_HV_BATT_HIST_SOC2_T7_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer
// bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I1_WERT", STAT_HV_BATT_HIST_SOC3_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. -2.5xC A less than current less
// than -2.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. -2,5xC A kleiner
// als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I2_WERT", STAT_HV_BATT_HIST_SOC3_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. -2.0xC A less than current less
// than -1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. -2,0xC A kleiner
// als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I3_WERT", STAT_HV_BATT_HIST_SOC3_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. -1.5xC A less than current less
// than -1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. -1,5xC A kleiner
// als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I4_WERT", STAT_HV_BATT_HIST_SOC3_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. -1.0xC A less than current less
// than -0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. -1,0xC A kleiner
// als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I5_WERT", STAT_HV_BATT_HIST_SOC3_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. -0.5xC A less than current less
// than 0.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I6_WERT", STAT_HV_BATT_HIST_SOC3_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I7_WERT", STAT_HV_BATT_HIST_SOC3_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I8_WERT", STAT_HV_BATT_HIST_SOC3_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I9_WERT", STAT_HV_BATT_HIST_SOC3_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC3_T7_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 30% less than SoC less than 50%. 40 ° C less than temperature. 1.5xC A less than current / Dauer
// bei 30% kleiner als SoC kleiner als 50%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC3_T7_I10_WERT", STAT_HV_BATT_HIST_SOC3_T7_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I1_WERT = (RXBUF_UINT32(120)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer
// bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I1_WERT", STAT_HV_BATT_HIST_SOC4_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I2_WERT = (RXBUF_UINT32(124)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. -2.5xC A less than current less
// than -2.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. -2,5xC A kleiner
// als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I2_WERT", STAT_HV_BATT_HIST_SOC4_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I3_WERT = (RXBUF_UINT32(128)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. -2.0xC A less than current less
// than -1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. -2,0xC A kleiner
// als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I3_WERT", STAT_HV_BATT_HIST_SOC4_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I4_WERT = (RXBUF_UINT32(132)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. -1.5xC A less than current less
// than -1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. -1,5xC A kleiner
// als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I4_WERT", STAT_HV_BATT_HIST_SOC4_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I5_WERT = (RXBUF_UINT32(136)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. -1.0xC A less than current less
// than -0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. -1,0xC A kleiner
// als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I5_WERT", STAT_HV_BATT_HIST_SOC4_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I6_WERT = (RXBUF_UINT32(140)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. -0.5xC A less than current less
// than 0.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I6_WERT", STAT_HV_BATT_HIST_SOC4_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I7_WERT = (RXBUF_UINT32(144)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I7_WERT", STAT_HV_BATT_HIST_SOC4_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I8_WERT = (RXBUF_UINT32(148)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I8_WERT", STAT_HV_BATT_HIST_SOC4_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I9_WERT = (RXBUF_UINT32(152)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I9_WERT", STAT_HV_BATT_HIST_SOC4_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC4_T7_I10_WERT = (RXBUF_UINT32(156)/10.0f);
// Duration at 50% less than SoC less than 70%. 40 ° C less than temperature. 1.5xC A less than current / Dauer
// bei 50% kleiner als SoC kleiner als 70%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_1", "STAT_HV_BATT_HIST_SOC4_T7_I10_WERT", STAT_HV_BATT_HIST_SOC4_T7_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADEZIELSPANNUNG_TAUSCH: { // 0xDDAB
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADEZIELSPANNUNG_TAUSCH", 2);
break;
}
float STAT_LADEZIELSPANNUNG_WERT = (RXBUF_UINT(0)/100.0f);
// Output of the charging target voltage for module replacement before installing the module in the vehicle /
// Ausgabe der Ladezielspannung für Modultausch vor Einbau des Moduls ins Fahrzeug
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADEZIELSPANNUNG_TAUSCH", "STAT_LADEZIELSPANNUNG_WERT", STAT_LADEZIELSPANNUNG_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_SPANNUNG_BATTERIE: { // 0xDDB4
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_SPANNUNG_BATTERIE", 2);
break;
}
float STAT_HV_SPANNUNG_BATT_WERT = (RXBUF_UINT(0)/100.0f);
// Battery voltage behind the contactors, regardless of the contactor status / Batteriespannung hinter den
// Schützen, unabhängig vom Schützzustand
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_SPANNUNG_BATTERIE", "STAT_HV_SPANNUNG_BATT_WERT", STAT_HV_SPANNUNG_BATT_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_INNENWIDERSTAND: { // 0xDDB6
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_INNENWIDERSTAND", 2);
break;
}
float STAT_ALTERUNG_INNENWIDERSTAND_WERT_0XDDB6 = (RXBUF_UINT(0)/10.0f);
// Aging of the internal resistance in percent: Internal resistance of the storage tank when new is related to
// the current value of the internal resistance (R_neu / R_akt) * 100 (100% = new condition, decreases with
// aging) / Alterung des Innenwiderstands in Prozent: Innenwiderstand des Speichers im Neuzustand auf den
// aktuellen Wert des Innenwiderstands bezogen (R_neu /R_akt) *100 (100% = Neuzustand, sinkt mit Alterung)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ALTERUNG_INNENWIDERSTAND", "STAT_ALTERUNG_INNENWIDERSTAND_WERT_0XDDB6", STAT_ALTERUNG_INNENWIDERSTAND_WERT_0XDDB6, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ANZEIGE_SOC: { // 0xDDBC
if (datalen < 6) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ANZEIGE_SOC", 6);
break;
}
float STAT_ANZEIGE_SOC_WERT = (RXBUF_UINT(0)/10.0f);
// current advertisement Soc / aktueller Anzeige Soc
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ANZEIGE_SOC", "STAT_ANZEIGE_SOC_WERT", STAT_ANZEIGE_SOC_WERT, "\"%\"");
float STAT_MAXIMALE_ANZEIGE_SOC_WERT = (RXBUF_UINT(2)/10.0f);
// upper limit of the display Soc / obere Grenze des Anzeige Soc
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ANZEIGE_SOC", "STAT_MAXIMALE_ANZEIGE_SOC_WERT", STAT_MAXIMALE_ANZEIGE_SOC_WERT, "\"%\"");
float STAT_MINIMALE_ANZEIGE_SOC_WERT = (RXBUF_UINT(4)/10.0f);
// lower limit of the display Soc / untere Grenze des Anzeige Soc
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ANZEIGE_SOC", "STAT_MINIMALE_ANZEIGE_SOC_WERT", STAT_MINIMALE_ANZEIGE_SOC_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SERVICE_DISCONNECT: { // 0xDDBD
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SERVICE_DISCONNECT", 1);
break;
}
unsigned char STAT_SERVICE_DISCONNECT = (RXBUF_UCHAR(0));
// Status Service Disconnect (0 = open, 1 = closed) / Status Service Disconnect (0 = offen, 1 = geschlossen)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SERVICE_DISCONNECT", "STAT_SERVICE_DISCONNECT", STAT_SERVICE_DISCONNECT, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_VORLADUNG: { // 0xDDBE
if (datalen < 20) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_VORLADUNG", 20);
break;
}
unsigned short STAT_ZEIT_VORLADUNG_WERT = (RXBUF_UINT(0));
// last precharge time required / zuletzt benötigte Vorladezeit
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "VORLADUNG", "STAT_ZEIT_VORLADUNG_WERT", STAT_ZEIT_VORLADUNG_WERT, "\"ms\"");
unsigned short STAT_ZEIT_VORLADUNG_1_WERT = (RXBUF_UINT(2));
// Required precharge time (1 process before) / benötigte Vorladezeit (1 Vorgang zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "VORLADUNG", "STAT_ZEIT_VORLADUNG_1_WERT", STAT_ZEIT_VORLADUNG_1_WERT, "\"ms\"");
unsigned short STAT_ZEIT_VORLADUNG_2_WERT = (RXBUF_UINT(4));
// Required pre-charging time (2 processes before) / benötigte Vorladezeit (2 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "VORLADUNG", "STAT_ZEIT_VORLADUNG_2_WERT", STAT_ZEIT_VORLADUNG_2_WERT, "\"ms\"");
unsigned short STAT_ZEIT_VORLADUNG_3_WERT = (RXBUF_UINT(6));
// Required pre-charging time (3 processes before) / benötigte Vorladezeit (3 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "VORLADUNG", "STAT_ZEIT_VORLADUNG_3_WERT", STAT_ZEIT_VORLADUNG_3_WERT, "\"ms\"");
unsigned short STAT_ZEIT_VORLADUNG_4_WERT = (RXBUF_UINT(8));
// Required pre-charging time (4 processes before) / benötigte Vorladezeit (4 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "VORLADUNG", "STAT_ZEIT_VORLADUNG_4_WERT", STAT_ZEIT_VORLADUNG_4_WERT, "\"ms\"");
float STAT_MAX_STROM_VORLADUNG_WERT = (RXBUF_SINT(10)/100.0f);
// maximum pre-charge current (last pre-charge) / maximaler Vorladestrom (letzte Vorladung)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "VORLADUNG", "STAT_MAX_STROM_VORLADUNG_WERT", STAT_MAX_STROM_VORLADUNG_WERT, "\"A\"");
float STAT_MAX_STROM_VORLADUNG_1_WERT = (RXBUF_SINT(12)/100.0f);
// maximum precharge current (1 process before) / maximaler Vorladestrom (1 Vorgang zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "VORLADUNG", "STAT_MAX_STROM_VORLADUNG_1_WERT", STAT_MAX_STROM_VORLADUNG_1_WERT, "\"A\"");
float STAT_MAX_STROM_VORLADUNG_2_WERT = (RXBUF_SINT(14)/100.0f);
// maximum precharge current (2 processes before) / maximaler Vorladestrom (2 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "VORLADUNG", "STAT_MAX_STROM_VORLADUNG_2_WERT", STAT_MAX_STROM_VORLADUNG_2_WERT, "\"A\"");
float STAT_MAX_STROM_VORLADUNG_3_WERT = (RXBUF_SINT(16)/100.0f);
// maximum precharge current (3 processes before) / maximaler Vorladestrom (3 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "VORLADUNG", "STAT_MAX_STROM_VORLADUNG_3_WERT", STAT_MAX_STROM_VORLADUNG_3_WERT, "\"A\"");
float STAT_MAX_STROM_VORLADUNG_4_WERT = (RXBUF_SINT(18)/100.0f);
// maximum precharge current (4 processes before) / maximaler Vorladestrom (4 Vorgänge zuvor)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "VORLADUNG", "STAT_MAX_STROM_VORLADUNG_4_WERT", STAT_MAX_STROM_VORLADUNG_4_WERT, "\"A\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ZELLSPANNUNGEN_MIN_MAX: { // 0xDDBF
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ZELLSPANNUNGEN_MIN_MAX", 4);
break;
}
float STAT_UCELL_MIN_WERT = (RXBUF_UINT(0)/1000.0f);
// minimum single cell voltage of all single cells / minimale Einzelzellspannung aller Einzelzellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZELLSPANNUNGEN_MIN_MAX", "STAT_UCELL_MIN_WERT", STAT_UCELL_MIN_WERT, "\"V\"");
float STAT_UCELL_MAX_WERT = (RXBUF_UINT(2)/1000.0f);
// maximum single cell voltage of all single cells / maximale Einzelzellspannung aller Einzelzellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZELLSPANNUNGEN_MIN_MAX", "STAT_UCELL_MAX_WERT", STAT_UCELL_MAX_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_TEMPERATUREN: { // 0xDDC0
if (datalen < 6) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_TEMPERATUREN", 6);
break;
}
float STAT_TCORE_MIN_WERT = (RXBUF_SINT(0)/100.0f);
// Output of the calculated minimum cell core temperatures / Ausgabe der berechneten minimalen
// Zellkerntemperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "TEMPERATUREN", "STAT_TCORE_MIN_WERT", STAT_TCORE_MIN_WERT, "\"°C\"");
float STAT_TCORE_MAX_WERT = (RXBUF_SINT(2)/100.0f);
// Output of the calculated maximum cell core temperatures / Ausgabe der berechneten maximalen
// Zellkerntemperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "TEMPERATUREN", "STAT_TCORE_MAX_WERT", STAT_TCORE_MAX_WERT, "\"°C\"");
float STAT_TCORE_MEAN_WERT = (RXBUF_SINT(4)/100.0f);
// Output of the calculated average cell core temperatures / Ausgabe der berechneten durchschnittlichen
// Zellkerntemperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "TEMPERATUREN", "STAT_TCORE_MEAN_WERT", STAT_TCORE_MEAN_WERT, "\"°C\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_PARAMETER: { // 0xDDC2
if (datalen < 6) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_PARAMETER", 6);
break;
}
float STAT_FAKTOR_RS_WERT = (RXBUF_UINT(0)/1000.0f);
// Correction factor for the serial ohmic resistance (1.5 = increase in resistance by 50%) / Korrekturfaktor des
// seriellen ohmschen Wiederstands (1,5 = Erhöhung des Wiederstands um 50%)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ALTERUNG_PARAMETER", "STAT_FAKTOR_RS_WERT", STAT_FAKTOR_RS_WERT, "");
float STAT_FAKTOR_RP_WERT = (RXBUF_UINT(2)/1000.0f);
// Correction factor for the parallel ohmic resistance (1.5 = increase in resistance by 50%) / Korrekturfaktor
// des paralellen ohmschen Wiederstands (1,5 = Erhöhung des Wiederstands um 50%)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ALTERUNG_PARAMETER", "STAT_FAKTOR_RP_WERT", STAT_FAKTOR_RP_WERT, "");
float STAT_FAKTOR_CP_WERT = (RXBUF_UINT(4)/1000.0f);
// Correction factor of the parallel capacity (1.5 = increase in capacity by 50%) / Korrekturfaktor der
// parallelen Kapazität (1,5 = Erhöhung der Kapazität um 50%)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ALTERUNG_PARAMETER", "STAT_FAKTOR_CP_WERT", STAT_FAKTOR_CP_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HISTO_SYM_DAUER: { // 0xDDC6
if (datalen < 34) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HISTO_SYM_DAUER", 34);
break;
}
unsigned short STAT_SYM_DAUER_MAX_WERT = (RXBUF_UINT(0));
// Predefined maximum symmetry time in minutes (project-specific) / Vordefinierte maximale Symmetrierdauer in
// Minuten (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_DAUER", "STAT_SYM_DAUER_MAX_WERT", STAT_SYM_DAUER_MAX_WERT, "\"min\"");
unsigned long STAT_HISTO_SYM_DAUER_1_WERT = (RXBUF_UINT32(2));
// Number of duration classes: 0 <t <= tmax * 0.04 / Anzahl der Dauerklasse : 0 < t <= tmax*0.04
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_1_WERT", STAT_HISTO_SYM_DAUER_1_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_2_WERT = (RXBUF_UINT32(6));
// Number of duration classes: tmax * 0.04 <t <= tmax * 0.2 / Anzahl der Dauerklasse : tmax*0.04 < t <= tmax*0.2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_2_WERT", STAT_HISTO_SYM_DAUER_2_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_3_WERT = (RXBUF_UINT32(10));
// Number of duration classes: 0.2 * tmax <t <= tmax * 0.36 / Anzahl der Dauerklasse : 0.2*tmax < t <= tmax*0.36
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_3_WERT", STAT_HISTO_SYM_DAUER_3_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_4_WERT = (RXBUF_UINT32(14));
// Number of duration classes: tmax * 0.36 <t <= tmax * 0.52 / Anzahl der Dauerklasse : tmax*0.36 < t <=
// tmax*0.52
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_4_WERT", STAT_HISTO_SYM_DAUER_4_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_5_WERT = (RXBUF_UINT32(18));
// Number of duration classes: tmax * 0.52 <t <= tmax * 0.68 / Anzahl der Dauerklasse : tmax*0.52 < t <=
// tmax*0.68
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_5_WERT", STAT_HISTO_SYM_DAUER_5_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_6_WERT = (RXBUF_UINT32(22));
// Number of duration classes: tmax * 0.68 <t <= tmax * 0.86 / Anzahl der Dauerklasse : tmax*0.68 < t <=
// tmax*0.86
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_6_WERT", STAT_HISTO_SYM_DAUER_6_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_7_WERT = (RXBUF_UINT32(26));
// Number of duration classes: tmax * 0.86 <t <= tmax / Anzahl der Dauerklasse : tmax*0.86 < t <= tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_7_WERT", STAT_HISTO_SYM_DAUER_7_WERT, "");
unsigned long STAT_HISTO_SYM_DAUER_8_WERT = (RXBUF_UINT32(30));
// Number of duration classes: t> tmax / Anzahl der Dauerklasse : t > tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HISTO_SYM_DAUER", "STAT_HISTO_SYM_DAUER_8_WERT", STAT_HISTO_SYM_DAUER_8_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HISTO_SYM_ZELLANZAHL: { // 0xDDC7
if (datalen < 16) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HISTO_SYM_ZELLANZAHL", 16);
break;
}
unsigned short STAT_HISTO_SYM_ZELLANZAHL_1_WERT = (RXBUF_UINT(0));
// Number of cells to be symmetrized: n = 0 / Anzahl zu symmetrierende Zellen: n = 0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_1_WERT", STAT_HISTO_SYM_ZELLANZAHL_1_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_2_WERT = (RXBUF_UINT(2));
// Number of cells to be symmetrized: n = 1 / Anzahl zu symmetrierende Zellen: n = 1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_2_WERT", STAT_HISTO_SYM_ZELLANZAHL_2_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_3_WERT = (RXBUF_UINT(4));
// Number of cells to be symmetrized: 1 <n <= NrCellsProModul / Anzahl zu symmetrierende Zellen: 1 < n <=
// NrCellsProModul
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_3_WERT", STAT_HISTO_SYM_ZELLANZAHL_3_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_4_WERT = (RXBUF_UINT(6));
// Number of cells to be symmetrized: NrCellsProModul <n <= NrCellsTotal / 2 / Anzahl zu symmetrierende Zellen:
// NrCellsProModul < n <= NrCellsTotal/2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_4_WERT", STAT_HISTO_SYM_ZELLANZAHL_4_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_5_WERT = (RXBUF_UINT(8));
// Number of cells to be symmetrized: NrCellsTotal / 2 <n <= NrCellsTotal-NrCellsProModul / Anzahl zu
// symmetrierende Zellen: NrCellsTotal/2 < n <= NrCellsTotal-NrCellsProModul
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_5_WERT", STAT_HISTO_SYM_ZELLANZAHL_5_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_6_WERT = (RXBUF_UINT(10));
// Number of cells to be symmetrized: NrCellsTotal-NrCellsProModul <n <= NrCellsTotal-2 / Anzahl zu
// symmetrierende Zellen: NrCellsTotal-NrCellsProModul < n <= NrCellsTotal-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_6_WERT", STAT_HISTO_SYM_ZELLANZAHL_6_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_7_WERT = (RXBUF_UINT(12));
// Number of cells to be symmetrized: n <= NrCellsTotal-1 / Anzahl zu symmetrierende Zellen: n <= NrCellsTotal-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_7_WERT", STAT_HISTO_SYM_ZELLANZAHL_7_WERT, "");
unsigned short STAT_HISTO_SYM_ZELLANZAHL_8_WERT = (RXBUF_UINT(14));
// Number of cells to be symmetrized: n = NrCellsTotal / Anzahl zu symmetrierende Zellen: n = NrCellsTotal
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HISTO_SYM_ZELLANZAHL", "STAT_HISTO_SYM_ZELLANZAHL_8_WERT", STAT_HISTO_SYM_ZELLANZAHL_8_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SYM_DELTASOC: { // 0xDDC8
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SYM_DELTASOC", 10);
break;
}
float STAT_SYM_DELTASOC_1_WERT = (RXBUF_UINT(0)/100.0f);
// current dSOC (last determined) / aktueller dSOC (zuletzt bestimmt)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYM_DELTASOC", "STAT_SYM_DELTASOC_1_WERT", STAT_SYM_DELTASOC_1_WERT, "\"%\"");
float STAT_SYM_DELTASOC_2_WERT = (RXBUF_UINT(2)/100.0f);
// dSOC before a trip / dSOC vor einer Fahrt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYM_DELTASOC", "STAT_SYM_DELTASOC_2_WERT", STAT_SYM_DELTASOC_2_WERT, "\"%\"");
float STAT_SYM_DELTASOC_3_WERT = (RXBUF_UINT(4)/100.0f);
// dSOC before 2 trips / dSOC vor 2 Fahrten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYM_DELTASOC", "STAT_SYM_DELTASOC_3_WERT", STAT_SYM_DELTASOC_3_WERT, "\"%\"");
float STAT_SYM_DELTASOC_4_WERT = (RXBUF_UINT(6)/100.0f);
// dSOC before 3 trips / dSOC vor 3 Fahrten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYM_DELTASOC", "STAT_SYM_DELTASOC_4_WERT", STAT_SYM_DELTASOC_4_WERT, "\"%\"");
float STAT_SYM_DELTASOC_5_WERT = (RXBUF_UINT(8)/100.0f);
// dSOC before 4 trips / dSOC vor 4 Fahrten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYM_DELTASOC", "STAT_SYM_DELTASOC_5_WERT", STAT_SYM_DELTASOC_5_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_MAX_SYM_DAUER: { // 0xDDC9
if (datalen < 45) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_MAX_SYM_DAUER", 45);
break;
}
unsigned long STAT_MAX_SYM_DAUER_1_WERT = (RXBUF_UINT32(0));
// Maximum symmetrization time of the last symmetrization process / Maximale Symmetrierdauer des letzten
// Symmetriervorgangs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_DAUER_1_WERT", STAT_MAX_SYM_DAUER_1_WERT, "\"s\"");
unsigned long STAT_MAX_SYM_ZEIT_1_WERT = (RXBUF_UINT32(4));
// Time stamp start of balancing process for 1 / Zeitstempel Beginn Symmetriervorgang zu 1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_ZEIT_1_WERT", STAT_MAX_SYM_ZEIT_1_WERT, "\"s\"");
unsigned char STAT_BAL_COMPL_1_NR = (RXBUF_UCHAR(8));
// Status balancing / Status Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "MAX_SYM_DAUER", "STAT_BAL_COMPL_1_NR", STAT_BAL_COMPL_1_NR, "\"0-n\"");
unsigned long STAT_MAX_SYM_DAUER_2_WERT = (RXBUF_UINT32(9));
// Maximum symmetrization duration of the symmetrization process before 1 trip / Maximale Symmetrierdauer des
// Symmetriervorgangs vor 1 Fahrt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_DAUER_2_WERT", STAT_MAX_SYM_DAUER_2_WERT, "\"s\"");
unsigned long STAT_MAX_SYM_ZEIT_2_WERT = (RXBUF_UINT32(13));
// Time stamp start of balancing process for 2 / Zeitstempel Beginn Symmetriervorgang zu 2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_ZEIT_2_WERT", STAT_MAX_SYM_ZEIT_2_WERT, "\"s\"");
unsigned char STAT_BAL_COMPL_2_NR = (RXBUF_UCHAR(17));
// Status balancing / Status Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "MAX_SYM_DAUER", "STAT_BAL_COMPL_2_NR", STAT_BAL_COMPL_2_NR, "\"0-n\"");
unsigned long STAT_MAX_SYM_DAUER_3_WERT = (RXBUF_UINT32(18));
// Maximum symmetrization duration of the symmetrization process before 2 trips / Maximale Symmetrierdauer des
// Symmetriervorgangs vor 2 Fahrt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_DAUER_3_WERT", STAT_MAX_SYM_DAUER_3_WERT, "\"s\"");
unsigned long STAT_MAX_SYM_ZEIT_3_WERT = (RXBUF_UINT32(22));
// Time stamp start of balancing process for 3 / Zeitstempel Beginn Symmetriervorgang zu 3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_ZEIT_3_WERT", STAT_MAX_SYM_ZEIT_3_WERT, "\"s\"");
unsigned char STAT_BAL_COMPL_3_NR = (RXBUF_UCHAR(26));
// Status balancing / Status Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "MAX_SYM_DAUER", "STAT_BAL_COMPL_3_NR", STAT_BAL_COMPL_3_NR, "\"0-n\"");
unsigned long STAT_MAX_SYM_DAUER_4_WERT = (RXBUF_UINT32(27));
// Maximum symmetrization duration of the symmetrization process before 3 trips / Maximale Symmetrierdauer des
// Symmetriervorgangs vor 3 Fahrt
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_DAUER_4_WERT", STAT_MAX_SYM_DAUER_4_WERT, "\"s\"");
unsigned long STAT_MAX_SYM_ZEIT_4_WERT = (RXBUF_UINT32(31));
// Time stamp start of symmetrization process for 4 / Zeitstempel Beginn Symmetriervorgang zu 4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_ZEIT_4_WERT", STAT_MAX_SYM_ZEIT_4_WERT, "\"s\"");
unsigned char STAT_BAL_COMPL_4_NR = (RXBUF_UCHAR(35));
// Status balancing / Status Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "MAX_SYM_DAUER", "STAT_BAL_COMPL_4_NR", STAT_BAL_COMPL_4_NR, "\"0-n\"");
unsigned long STAT_MAX_SYM_DAUER_5_WERT = (RXBUF_UINT32(36));
// Maximum duration of the symmetrization process before 4 trips / Maximale Symmetrierdauer des
// Symmetriervorgangs vor 4 Fahrten
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_DAUER_5_WERT", STAT_MAX_SYM_DAUER_5_WERT, "\"s\"");
unsigned long STAT_MAX_SYM_ZEIT_5_WERT = (RXBUF_UINT32(40));
// Time stamp start of symmetrization process for 5 / Zeitstempel Beginn Symmetriervorgang zu 5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "MAX_SYM_DAUER", "STAT_MAX_SYM_ZEIT_5_WERT", STAT_MAX_SYM_ZEIT_5_WERT, "\"s\"");
unsigned char STAT_BAL_COMPL_5_NR = (RXBUF_UCHAR(44));
// Status balancing / Status Symmetrierung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "MAX_SYM_DAUER", "STAT_BAL_COMPL_5_NR", STAT_BAL_COMPL_5_NR, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SERIENNUMMER_ECU: { // 0xDDCA
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SERIENNUMMER_ECU", 10);
break;
}
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SOC_GRENZEN: { // 0xDDCB
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SOC_GRENZEN", 4);
break;
}
float STAT_MIN_SOC_GRENZE_WERT = (RXBUF_SINT(0)/100.0f);
// currently valid minimum SOC limit / aktuell gültige minimale SOC Grenze
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SOC_GRENZEN", "STAT_MIN_SOC_GRENZE_WERT", STAT_MIN_SOC_GRENZE_WERT, "\"%\"");
float STAT_MAX_SOC_GRENZE_WERT = (RXBUF_SINT(2)/100.0f);
// currently valid maximum SOC limit / aktuell gültige maximale SOC Grenze
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SOC_GRENZEN", "STAT_MAX_SOC_GRENZE_WERT", STAT_MAX_SOC_GRENZE_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_DIFFERENZ_SPANNUNGEN: { // 0xDDCF
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_DIFFERENZ_SPANNUNGEN", 2);
break;
}
float STAT_DIFF_SPANNUNG_STATISCH_WERT = (RXBUF_SINT(0)/100.0f);
// Differential voltage: total voltage HV battery - total cell voltage (static determination) /
// Differenzspannung: Gesamtspannung HV-Batterie - Summenzellspannung (statische Ermittlung)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "DIFFERENZ_SPANNUNGEN", "STAT_DIFF_SPANNUNG_STATISCH_WERT", STAT_DIFF_SPANNUNG_STATISCH_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_KAPAZITAET_DEGRADATION: { // 0xDDE8
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_KAPAZITAET_DEGRADATION", 4);
break;
}
unsigned short STAT_ANZAHL_DEGRADATION_GESAMT_WERT = (RXBUF_UINT(0));
// Number of age-related voltage degradations of the high-voltage storage system over the total time >> This job
// is no longer supported and has NULL data. / Anzahl der alterungsbedingten Spannungsdegradationen der
// Hochvolt-Speicher über Gesamtzeit >> Dieser Job wird nicht mehr unterstützt und ist NULL-bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_DEGRADATION", "STAT_ANZAHL_DEGRADATION_GESAMT_WERT", STAT_ANZAHL_DEGRADATION_GESAMT_WERT, "");
unsigned short STAT_ANZAHL_DEGRADATION_LAUFENDES_JAHR_WERT = (RXBUF_UINT(2));
// Average number of age-related voltage degradations of the high-voltage storage system over the last and
// current year >> This job is no longer supported and has NULL data. / Anzahl der alterungsbedingten
// Spannungsdegradationen der Hochvolt-Speicher im Mittel über letztes und laufendes Jahr >> Dieser Job wird
// nicht mehr unterstützt und ist NULL-bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_DEGRADATION", "STAT_ANZAHL_DEGRADATION_LAUFENDES_JAHR_WERT", STAT_ANZAHL_DEGRADATION_LAUFENDES_JAHR_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB: { // 0xDDE9
if (datalen < 60) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", 60);
break;
}
unsigned short STAT_HFK_GESAMT_SOC_HUB_50_65_WERT = (RXBUF_UINT(0));
// Up to 14-03: Frequency with SoC hub between 50% and 65%, total from last year and current year From 14-07:
// Frequency with SoC hub between 70% and 74%, total from last year and current year / Bis 14-03: Häufigkeit bei
// SoC-Hub zwischen 50% und 65%, Summe letztes Jahr und laufendes Jahr Ab 14-07: Häufigkeit bei SoC-Hub zwischen
// 70% und 74%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_50_65_WERT", STAT_HFK_GESAMT_SOC_HUB_50_65_WERT, "");
unsigned short STAT_HFK_GESAMT_SOC_HUB_65_80_WERT = (RXBUF_UINT(2));
// Up to 14-03: Frequency with SoC hub between 65% and 80%, total from last year and current year From 14-07:
// Frequency with SoC hub between 74% and 80%, total from last year and current year / Bis 14-03: Häufigkeit bei
// SoC-Hub zwischen 65% und 80%, Summe letztes Jahr und laufendes Jahr Ab 14-07: Häufigkeit bei SoC-Hub zwischen
// 74% und 80%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_65_80_WERT", STAT_HFK_GESAMT_SOC_HUB_65_80_WERT, "");
unsigned short STAT_HFK_GESAMT_SOC_HUB_80_85_WERT = (RXBUF_UINT(4));
// Frequency with SoC hub between 80% and 85%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 80% und 85%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_80_85_WERT", STAT_HFK_GESAMT_SOC_HUB_80_85_WERT, "");
unsigned short STAT_HFK_GESAMT_SOC_HUB_85_90_WERT = (RXBUF_UINT(6));
// Frequency with SoC hub between 85% and 90%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 85% und 90%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_85_90_WERT", STAT_HFK_GESAMT_SOC_HUB_85_90_WERT, "");
unsigned short STAT_HFK_GESAMT_SOC_HUB_90_95_WERT = (RXBUF_UINT(8));
// Frequency with SoC hub between 90% and 95%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 90% und 95%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_90_95_WERT", STAT_HFK_GESAMT_SOC_HUB_90_95_WERT, "");
unsigned short STAT_HFK_GESAMT_SOC_HUB_95_100_WERT = (RXBUF_UINT(10));
// Frequency with SoC hub between 95% and 100%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 95% und 100%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_GESAMT_SOC_HUB_95_100_WERT", STAT_HFK_GESAMT_SOC_HUB_95_100_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_50_65_WERT = (RXBUF_UINT(12));
// Frequency with SoC hub between 50% and 65%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 50% und 65%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_50_65_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_50_65_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_65_80_WERT = (RXBUF_UINT(14));
// Frequency with SoC hub between 65% and 80%, total of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 65% und 80%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_65_80_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_65_80_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_80_85_WERT = (RXBUF_UINT(16));
// Frequency with SoC hub between 80% and 85%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 80% und 85%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_80_85_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_80_85_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_85_90_WERT = (RXBUF_UINT(18));
// Frequency with SoC hub between 85% and 90%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 85% und 90%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_85_90_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_85_90_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_90_95_WERT = (RXBUF_UINT(20));
// Frequency with SoC hub between 90% and 95%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 90% und 95%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_90_95_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_90_95_WERT, "");
unsigned short STAT_HFK_LAUFENDES_JAHR_SOC_HUB_95_100_WERT = (RXBUF_UINT(22));
// Frequency with SoC hub between 95% and 100%, sum of last year and current year / Häufigkeit bei SoC-Hub
// zwischen 95% und 100%, Summe letztes Jahr und laufendes Jahr
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_JAHR_SOC_HUB_95_100_WERT", STAT_HFK_LAUFENDES_JAHR_SOC_HUB_95_100_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_50_65_WERT = (RXBUF_UINT(24));
// Frequency with SoC hub between 50% and 65%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 50% und 65%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_50_65_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_50_65_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_65_80_WERT = (RXBUF_UINT(26));
// Frequency with SoC hub between 65% and 80%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 65% und 80%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_65_80_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_65_80_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_80_85_WERT = (RXBUF_UINT(28));
// Frequency with SoC hub between 80% and 85%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 80% und 85%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_80_85_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_80_85_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_85_90_WERT = (RXBUF_UINT(30));
// Frequency with SoC hub between 85% and 90%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 85% und 90%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_85_90_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_85_90_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_90_95_WERT = (RXBUF_UINT(32));
// Frequency with SoC hub between 90% and 95%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 90% und 95%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_90_95_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_90_95_WERT, "");
unsigned short STAT_HFK_LAUFENDES_MONAT_SOC_HUB_95_100_WERT = (RXBUF_UINT(34));
// Frequency with SoC hub between 95% and 100%, sum of the last and current month / Häufigkeit bei SoC-Hub
// zwischen 95% und 100%, Summe letzter und laufender Monat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_HFK_LAUFENDES_MONAT_SOC_HUB_95_100_WERT", STAT_HFK_LAUFENDES_MONAT_SOC_HUB_95_100_WERT, "");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_50_65_WERT = (RXBUF_UINT32(36));
// Stamp d. Vehicle time when the SoC hub last occurred between 50% and 65% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 50% und 65%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_50_65_WERT", STAT_ZEITSTEMPEL_SOC_HUB_50_65_WERT, "\"s\"");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_65_80_WERT = (RXBUF_UINT32(40));
// Stamp d. Vehicle time when the SoC hub last occurred between 65% and 80% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 65% und 80%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_65_80_WERT", STAT_ZEITSTEMPEL_SOC_HUB_65_80_WERT, "\"s\"");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_80_85_WERT = (RXBUF_UINT32(44));
// Stamp d. Vehicle time when the SoC hub last occurred between 80% and 85% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 80% und 85%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_80_85_WERT", STAT_ZEITSTEMPEL_SOC_HUB_80_85_WERT, "\"s\"");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_85_90_WERT = (RXBUF_UINT32(48));
// Stamp d. Vehicle time when the SoC hub last occurred between 85% and 90% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 85% und 90%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_85_90_WERT", STAT_ZEITSTEMPEL_SOC_HUB_85_90_WERT, "\"s\"");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_90_95_WERT = (RXBUF_UINT32(52));
// Stamp d. Vehicle time when the SoC hub last occurred between 90% and 95% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 90% und 95%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_90_95_WERT", STAT_ZEITSTEMPEL_SOC_HUB_90_95_WERT, "\"s\"");
unsigned long STAT_ZEITSTEMPEL_SOC_HUB_95_100_WERT = (RXBUF_UINT32(56));
// Stamp d. Vehicle time when the SoC hub last occurred between 95% and 100% / Stempel d. Fzg.-Zeit bei letztem
// Auftreten des SoC-Hub zwischen 95% und 100%
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ALTERUNG_KAPAZITAET_HISTOGRAMM_SOC_HUB", "STAT_ZEITSTEMPEL_SOC_HUB_95_100_WERT", STAT_ZEITSTEMPEL_SOC_HUB_95_100_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RINGPUFFER_LADEVORGAENGE: { // 0xDDEB
if (datalen < 60) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RINGPUFFER_LADEVORGAENGE", 60);
break;
}
unsigned char STAT_START_SOC_1_WERT = (RXBUF_UCHAR(0));
// Value of the start SOC after completion of the loading process-1 (255 = implausible) / Wert des Start SOC nach
// Abschluss des Ladervorgang-1 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_SOC_1_WERT", STAT_START_SOC_1_WERT, "\"%\"");
unsigned char STAT_START_SOC_2_WERT = (RXBUF_UCHAR(1));
// Value of the start SOC after completion of the loading process-2 (255 = implausible) / Wert des Start SOC nach
// Abschluss des Ladervorgang-2 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_SOC_2_WERT", STAT_START_SOC_2_WERT, "\"%\"");
unsigned char STAT_START_SOC_3_WERT = (RXBUF_UCHAR(2));
// Value of the start SOC after completion of the loading process-3 (255 = implausible) / Wert des Start SOC nach
// Abschluss des Ladervorgang-3 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_SOC_3_WERT", STAT_START_SOC_3_WERT, "\"%\"");
unsigned char STAT_START_SOC_4_WERT = (RXBUF_UCHAR(3));
// Value of the start SOC after completion of the loading process-4 (255 = implausible) / Wert des Start SOC nach
// Abschluss des Ladervorgang-4 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_SOC_4_WERT", STAT_START_SOC_4_WERT, "\"%\"");
unsigned char STAT_START_SOC_5_WERT = (RXBUF_UCHAR(4));
// Value of the start SOC after completion of the loading process -5 (255 = implausible) / Wert des Start SOC
// nach Abschluss des Ladervorgang-5 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_SOC_5_WERT", STAT_START_SOC_5_WERT, "\"%\"");
unsigned char STAT_VERF_P_LADEN_1_WERT = (RXBUF_UCHAR(5));
// Value (from HVPM) of the available charging power at the beginning of charging-1 (255 = implausible). The
// output 'available charging power' must be divided by 5 in order to obtain a real value. / Wert (aus HVPM) der
// verfügbaren Ladeleistung zu Ladebeginn-1 (255 = unplausibel). Die ausgegebene 'verfügbare Ladeleistung' muss
// mit 5 dividiert werden um realen Wert zu erhalten.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_VERF_P_LADEN_1_WERT", STAT_VERF_P_LADEN_1_WERT, "\"kW\"");
unsigned char STAT_VERF_P_LADEN_2_WERT = (RXBUF_UCHAR(6));
// Value (from HVPM) of the available charging power at the start of charging-2 (255 = implausible). The output
// 'available charging power' must be divided by 5 in order to obtain a real value. / Wert (aus HVPM) der
// verfügbaren Ladeleistung zu Ladebeginn-2 (255 = unplausibel). Die ausgegebene 'verfügbare Ladeleistung' muss
// mit 5 dividiert werden um realen Wert zu erhalten.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_VERF_P_LADEN_2_WERT", STAT_VERF_P_LADEN_2_WERT, "\"kW\"");
unsigned char STAT_VERF_P_LADEN_3_WERT = (RXBUF_UCHAR(7));
// Value (from HVPM) of the available charging power at the start of charging -3 (255 = implausible). The output
// 'available charging power' must be divided by 5 in order to obtain a real value. / Wert (aus HVPM) der
// verfügbaren Ladeleistung zu Ladebeginn-3 (255 = unplausibel). Die ausgegebene 'verfügbare Ladeleistung' muss
// mit 5 dividiert werden um realen Wert zu erhalten.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_VERF_P_LADEN_3_WERT", STAT_VERF_P_LADEN_3_WERT, "\"kW\"");
unsigned char STAT_VERF_P_LADEN_4_WERT = (RXBUF_UCHAR(8));
// Value (from HVPM) of the available charging power at the start of charging-4 (255 = implausible). The output
// 'available charging power' must be divided by 5 in order to obtain a real value. / Wert (aus HVPM) der
// verfügbaren Ladeleistung zu Ladebeginn-4 (255 = unplausibel). Die ausgegebene 'verfügbare Ladeleistung' muss
// mit 5 dividiert werden um realen Wert zu erhalten.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_VERF_P_LADEN_4_WERT", STAT_VERF_P_LADEN_4_WERT, "\"kW\"");
unsigned char STAT_VERF_P_LADEN_5_WERT = (RXBUF_UCHAR(9));
// Value (from HVPM) of the available charging power at the start of charging -5 (255 = implausible). The output
// 'available charging power' must be divided by 5 in order to obtain a real value. / Wert (aus HVPM) der
// verfügbaren Ladeleistung zu Ladebeginn-5 (255 = unplausibel). Die ausgegebene 'verfügbare Ladeleistung' muss
// mit 5 dividiert werden um realen Wert zu erhalten.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_VERF_P_LADEN_5_WERT", STAT_VERF_P_LADEN_5_WERT, "\"kW\"");
unsigned char STAT_REAL_END_SOC_1_WERT = (RXBUF_UCHAR(10));
// Value of the actual SOC after completion of the charging process-1 (255 = implausible) / Wert des
// tatsächlichen SOC nach Abschluss des Ladervorgang-1 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_END_SOC_1_WERT", STAT_REAL_END_SOC_1_WERT, "\"%\"");
unsigned char STAT_REAL_END_SOC_2_WERT = (RXBUF_UCHAR(11));
// Value of the actual SOC after completion of the charging process-2 (255 = implausible) / Wert des
// tatsächlichen SOC nach Abschluss des Ladervorgang-2 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_END_SOC_2_WERT", STAT_REAL_END_SOC_2_WERT, "\"%\"");
unsigned char STAT_REAL_END_SOC_3_WERT = (RXBUF_UCHAR(12));
// Value of the actual SOC after completion of the charging process-3 (255 = implausible) / Wert des
// tatsächlichen SOC nach Abschluss des Ladervorgang-3 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_END_SOC_3_WERT", STAT_REAL_END_SOC_3_WERT, "\"%\"");
unsigned char STAT_REAL_END_SOC_4_WERT = (RXBUF_UCHAR(13));
// Value of the actual SOC after completion of the charging process-4 (255 = implausible) / Wert des
// tatsächlichen SOC nach Abschluss des Ladervorgang-4 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_END_SOC_4_WERT", STAT_REAL_END_SOC_4_WERT, "\"%\"");
unsigned char STAT_REAL_END_SOC_5_WERT = (RXBUF_UCHAR(14));
// Value of the actual SOC after completion of the loading process -5 (255 = implausible) / Wert des
// tatsächlichen SOC nach Abschluss des Ladervorgang-5 (255 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_END_SOC_5_WERT", STAT_REAL_END_SOC_5_WERT, "\"%\"");
unsigned char STAT_GRUND_LADEENDE_WERT_1 = (RXBUF_UCHAR(15));
// Reason for the end of charging after completion of the charging process-1 / Grund des Ladeendes nach Abschluss
// des Ladervorgang-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_GRUND_LADEENDE_WERT_1", STAT_GRUND_LADEENDE_WERT_1, "\"0-n\"");
unsigned char STAT_GRUND_LADEENDE_WERT_2 = (RXBUF_UCHAR(16));
// Reason for the end of charging after completion of the charging process-2 / Grund des Ladeendes nach Abschluss
// des Ladervorgang-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_GRUND_LADEENDE_WERT_2", STAT_GRUND_LADEENDE_WERT_2, "\"0-n\"");
unsigned char STAT_GRUND_LADEENDE_WERT_3 = (RXBUF_UCHAR(17));
// Reason for the end of charging after completion of the charging process-3 / Grund des Ladeendes nach Abschluss
// des Ladervorgang-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_GRUND_LADEENDE_WERT_3", STAT_GRUND_LADEENDE_WERT_3, "\"0-n\"");
unsigned char STAT_GRUND_LADEENDE_WERT_4 = (RXBUF_UCHAR(18));
// Reason for the end of charging after completion of the charging process-4 / Grund des Ladeendes nach Abschluss
// des Ladervorgang-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_GRUND_LADEENDE_WERT_4", STAT_GRUND_LADEENDE_WERT_4, "\"0-n\"");
unsigned char STAT_GRUND_LADEENDE_WERT_5 = (RXBUF_UCHAR(19));
// Reason for the end of charging after the completion of charging-5 / Grund des Ladeendes nach Abschluss des
// Ladervorgang-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_GRUND_LADEENDE_WERT_5", STAT_GRUND_LADEENDE_WERT_5, "\"0-n\"");
char STAT_START_TEMP_1_WERT = (RXBUF_SCHAR(20));
// Value of the start temperature after completion of the charging process-1 (127 = implausible) / Wert der Start
// Temperatur nach Abschluss des Ladervorgang-1 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_TEMP_1_WERT", STAT_START_TEMP_1_WERT, "\"°C\"");
char STAT_START_TEMP_2_WERT = (RXBUF_SCHAR(21));
// Value of the start temperature after completion of the charging process-2 (127 = implausible) / Wert der Start
// Temperatur nach Abschluss des Ladervorgang-2 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_TEMP_2_WERT", STAT_START_TEMP_2_WERT, "\"°C\"");
char STAT_START_TEMP_3_WERT = (RXBUF_SCHAR(22));
// Value of the start temperature after completion of the charging process-3 (127 = implausible) / Wert der Start
// Temperatur nach Abschluss des Ladervorgang-3 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_TEMP_3_WERT", STAT_START_TEMP_3_WERT, "\"°C\"");
char STAT_START_TEMP_4_WERT = (RXBUF_SCHAR(23));
// Value of the start temperature after completion of the charging process-4 (127 = implausible) / Wert der Start
// Temperatur nach Abschluss des Ladervorgang-4 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_TEMP_4_WERT", STAT_START_TEMP_4_WERT, "\"°C\"");
char STAT_START_TEMP_5_WERT = (RXBUF_SCHAR(24));
// Value of the start temperature after completion of the charging process -5 (127 = implausible) / Wert der
// Start Temperatur nach Abschluss des Ladervorgang-5 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_START_TEMP_5_WERT", STAT_START_TEMP_5_WERT, "\"°C\"");
char STAT_END_TEMP_1_WERT = (RXBUF_SCHAR(25));
// Value of the end temperature after completion of the loading process-1 (127 = implausible) / Wert der End
// Temperatur nach Abschluss des Ladervorgang-1 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_END_TEMP_1_WERT", STAT_END_TEMP_1_WERT, "\"°C\"");
char STAT_END_TEMP_2_WERT = (RXBUF_SCHAR(26));
// Value of the end temperature after completion of the charging process-2 (127 = implausible) / Wert der End
// Temperatur nach Abschluss des Ladervorgang-2 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_END_TEMP_2_WERT", STAT_END_TEMP_2_WERT, "\"°C\"");
char STAT_END_TEMP_3_WERT = (RXBUF_SCHAR(27));
// Value of the end temperature after completion of the loading process-3 (127 = implausible) / Wert der End
// Temperatur nach Abschluss des Ladervorgang-3 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_END_TEMP_3_WERT", STAT_END_TEMP_3_WERT, "\"°C\"");
char STAT_END_TEMP_4_WERT = (RXBUF_SCHAR(28));
// Value of the end temperature after completion of the loading process-4 (127 = implausible) / Wert der End
// Temperatur nach Abschluss des Ladervorgang-4 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_END_TEMP_4_WERT", STAT_END_TEMP_4_WERT, "\"°C\"");
char STAT_END_TEMP_5_WERT = (RXBUF_SCHAR(29));
// Value of the end temperature after completion of the loading process -5 (127 = implausible) / Wert der End
// Temperatur nach Abschluss des Ladervorgang-5 (127 = unplausibel)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_END_TEMP_5_WERT", STAT_END_TEMP_5_WERT, "\"°C\"");
float STAT_BEGINN_PROG_LADEZEIT_1_WERT = (RXBUF_UCHAR(30)*5.0f);
// Charging time forecast at the beginning after completion of the charging process-1 / Zu Beginn prognostizierte
// Ladezeit nach Abschluss des Ladevorgang-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_BEGINN_PROG_LADEZEIT_1_WERT", STAT_BEGINN_PROG_LADEZEIT_1_WERT, "\"min\"");
float STAT_BEGINN_PROG_LADEZEIT_2_WERT = (RXBUF_UCHAR(31)*5.0f);
// At the beginning forecast charging time after completion of the charging process-2 / Zu Beginn prognostizierte
// Ladezeit nach Abschluss des Ladevorgang-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_BEGINN_PROG_LADEZEIT_2_WERT", STAT_BEGINN_PROG_LADEZEIT_2_WERT, "\"min\"");
float STAT_BEGINN_PROG_LADEZEIT_3_WERT = (RXBUF_UCHAR(32)*5.0f);
// Charging time forecast at the beginning after completion of the charging process -3 / Zu Beginn
// prognostizierte Ladezeit nach Abschluss des Ladevorgang-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_BEGINN_PROG_LADEZEIT_3_WERT", STAT_BEGINN_PROG_LADEZEIT_3_WERT, "\"min\"");
float STAT_BEGINN_PROG_LADEZEIT_4_WERT = (RXBUF_UCHAR(33)*5.0f);
// At the beginning, the charging time is forecast after the charging process is completed-4 / Zu Beginn
// prognostizierte Ladezeit nach Abschluss des Ladevorgang-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_BEGINN_PROG_LADEZEIT_4_WERT", STAT_BEGINN_PROG_LADEZEIT_4_WERT, "\"min\"");
float STAT_BEGINN_PROG_LADEZEIT_5_WERT = (RXBUF_UCHAR(34)*5.0f);
// At the beginning, the charging time is forecast after the charging process is completed-5 / Zu Beginn
// prognostizierte Ladezeit nach Abschluss des Ladevorgang-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_BEGINN_PROG_LADEZEIT_5_WERT", STAT_BEGINN_PROG_LADEZEIT_5_WERT, "\"min\"");
float STAT_REAL_LADEZEIT_1_WERT = (RXBUF_UCHAR(35)*5.0f);
// The actual charging time after charging is complete -1 / Die tatsächliche Ladezeit nach Abschluss des
// Ladevorgang-1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_LADEZEIT_1_WERT", STAT_REAL_LADEZEIT_1_WERT, "\"min\"");
float STAT_REAL_LADEZEIT_2_WERT = (RXBUF_UCHAR(36)*5.0f);
// The actual charging time after the charging process is complete-2 / Die tatsächliche Ladezeit nach Abschluss
// des Ladevorgang-2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_LADEZEIT_2_WERT", STAT_REAL_LADEZEIT_2_WERT, "\"min\"");
float STAT_REAL_LADEZEIT_3_WERT = (RXBUF_UCHAR(37)*5.0f);
// The actual charging time after charging is complete -3 / Die tatsächliche Ladezeit nach Abschluss des
// Ladevorgang-3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_LADEZEIT_3_WERT", STAT_REAL_LADEZEIT_3_WERT, "\"min\"");
float STAT_REAL_LADEZEIT_4_WERT = (RXBUF_UCHAR(38)*5.0f);
// The actual charging time after charging is complete -4 / Die tatsächliche Ladezeit nach Abschluss des
// Ladevorgang-4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_LADEZEIT_4_WERT", STAT_REAL_LADEZEIT_4_WERT, "\"min\"");
float STAT_REAL_LADEZEIT_5_WERT = (RXBUF_UCHAR(39)*5.0f);
// The actual charging time after charging is complete -5 / Die tatsächliche Ladezeit nach Abschluss des
// Ladevorgang-5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_REAL_LADEZEIT_5_WERT", STAT_REAL_LADEZEIT_5_WERT, "\"min\"");
unsigned long STAT_RELATIVZEIT_1_WERT = (RXBUF_UINT32(40));
// Relative time at the beginning of the charging process-1 (continuous combi system time from ACAN with start in
// the factory) / Relativzeit zu Beginn des Ladevorgang-1 (fortlaufende Kombi-System-Zeit v. ACAN mit Start im
// Werk)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_RELATIVZEIT_1_WERT", STAT_RELATIVZEIT_1_WERT, "\"s\"");
unsigned long STAT_RELATIVZEIT_2_WERT = (RXBUF_UINT32(44));
// Relative time at the beginning of the charging process-2 (continuous combi system time from ACAN with start in
// the factory) / Relativzeit zu Beginn des Ladevorgang-2 (fortlaufende Kombi-System-Zeit v. ACAN mit Start im
// Werk)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_RELATIVZEIT_2_WERT", STAT_RELATIVZEIT_2_WERT, "\"s\"");
unsigned long STAT_RELATIVZEIT_3_WERT = (RXBUF_UINT32(48));
// Relative time at the beginning of the charging process-3 (continuous combi system time from ACAN with start in
// the factory) / Relativzeit zu Beginn des Ladevorgang-3 (fortlaufende Kombi-System-Zeit v. ACAN mit Start im
// Werk)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_RELATIVZEIT_3_WERT", STAT_RELATIVZEIT_3_WERT, "\"s\"");
unsigned long STAT_RELATIVZEIT_4_WERT = (RXBUF_UINT32(52));
// Relative time at the beginning of the charging process-4 (consecutive combination system time from ACAN with
// start in the factory) / Relativzeit zu Beginn des Ladevorgang-4 (fortlaufende Kombi-System-Zeit v. ACAN mit
// Start im Werk)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_RELATIVZEIT_4_WERT", STAT_RELATIVZEIT_4_WERT, "\"s\"");
unsigned long STAT_RELATIVZEIT_5_WERT = (RXBUF_UINT32(56));
// Relative time at the beginning of the charging process -5 (continuous combination system time from ACAN with
// start in the factory) / Relativzeit zu Beginn des Ladevorgang-5 (fortlaufende Kombi-System-Zeit v. ACAN mit
// Start im Werk)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "RINGPUFFER_LADEVORGAENGE", "STAT_RELATIVZEIT_5_WERT", STAT_RELATIVZEIT_5_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_PROG_LADEZEIT: { // 0xDDEC
if (datalen < 14) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_PROG_LADEZEIT", 14);
break;
}
unsigned short STAT_HIS_PROG_LADEZEIT_1_WERT = (RXBUF_UINT(0));
// Number in deviation class 1: fact <= -% 25 / Anzahl in der Abweichungsklasse-1: fact <= -%25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_1_WERT", STAT_HIS_PROG_LADEZEIT_1_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_2_WERT = (RXBUF_UINT(2));
// Number in deviation class 2:% -25 <fact <= -% 15 / Anzahl in der Abweichungsklasse-2: %-25 < fact <= -%15
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_2_WERT", STAT_HIS_PROG_LADEZEIT_2_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_3_WERT = (RXBUF_UINT(4));
// Number in deviation class 3:% -15 <fact <= -% 5 / Anzahl in der Abweichungsklasse-3: %-15 < fact <= -%5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_3_WERT", STAT_HIS_PROG_LADEZEIT_3_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_4_WERT = (RXBUF_UINT(6));
// Number in deviation class 4:% -5 <fact <=% 5 / Anzahl in der Abweichungsklasse-4: %-5 < fact <= %5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_4_WERT", STAT_HIS_PROG_LADEZEIT_4_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_5_WERT = (RXBUF_UINT(8));
// Number in deviation class 5:% 5 <fact <=% 15 / Anzahl in der Abweichungsklasse-5: %5 < fact <= %15
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_5_WERT", STAT_HIS_PROG_LADEZEIT_5_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_6_WERT = (RXBUF_UINT(10));
// Number in deviation class 6:% 15 <fact <=% 25 / Anzahl in der Abweichungsklasse-6: %15 < fact <= %25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_6_WERT", STAT_HIS_PROG_LADEZEIT_6_WERT, "");
unsigned short STAT_HIS_PROG_LADEZEIT_7_WERT = (RXBUF_UINT(12));
// Number in deviation class 7: fact>% 25 / Anzahl in der Abweichungsklasse-7: fact > %25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_PROG_LADEZEIT", "STAT_HIS_PROG_LADEZEIT_7_WERT", STAT_HIS_PROG_LADEZEIT_7_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_SPANNUNG_QUER: { // 0xDDEF
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_SPANNUNG_QUER", 2);
break;
}
unsigned short STAT_HV_SPANNUNG_QUER_WERT = (RXBUF_UINT(0));
// SBox, high-voltage transverse (same as battery voltage when K1 or K3 is closed) / SBox, Hochvolt-Spannung Quer
// (gleich Batteriespannung wenn K1 oder K3 geschlossen ist)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HV_SPANNUNG_QUER", "STAT_HV_SPANNUNG_QUER_WERT", STAT_HV_SPANNUNG_QUER_WERT, "\"V\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ALPHA_INITIAL_ALTERUNG: { // 0xDE37
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ALPHA_INITIAL_ALTERUNG", 2);
break;
}
float STAT_ALPHA_INIT_ALTERUNG_WERT = (RXBUF_UINT(0)/1000.0f);
// Initial value of the SOH_R calculation / Initialwert der SOH_R-Berechnung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ALPHA_INITIAL_ALTERUNG", "STAT_ALPHA_INIT_ALTERUNG_WERT", STAT_ALPHA_INIT_ALTERUNG_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_BETRIEBSSTUNDEN: { // 0xDF60
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_BETRIEBSSTUNDEN", 8);
break;
}
unsigned long STAT_TIME_HV_ON_WERT = (RXBUF_UINT32(0));
// The total time with the main switches closed / Die Gesamtzeit bei geschlossenen Hauptschaltern
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "BETRIEBSSTUNDEN", "STAT_TIME_HV_ON_WERT", STAT_TIME_HV_ON_WERT, "\"h\"");
unsigned long STAT_TIME_TOTAL_WERT = (RXBUF_UINT32(4));
// The total battery life (total time with main switches closed and open) / Die gesamte Batterielebensdauer
// (Gesamtzeit bei geschlossenen und geöffneten Hauptschaltern)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "BETRIEBSSTUNDEN", "STAT_TIME_TOTAL_WERT", STAT_TIME_TOTAL_WERT, "\"h\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_COOL_DOWN: { // 0xDF62
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_COOL_DOWN", 2);
break;
}
unsigned short STAT_ANZAHL_KUEHLVORGAENGE_WERT = (RXBUF_UINT(0));
// Number of CoolDown scenarios (departure with hot HV storage) / Anzahl der CoolDown Szenarios (Abfahrt mit
// heißem HV-Speicher)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "COOL_DOWN", "STAT_ANZAHL_KUEHLVORGAENGE_WERT", STAT_ANZAHL_KUEHLVORGAENGE_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KLEMMENZYKLEN: { // 0xDF63
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KLEMMENZYKLEN", 4);
break;
}
unsigned long STAT_ANZAHL_KLEMMENZYKLEN_WERT = (RXBUF_UINT32(0));
// Number of terminal cycles / Anzahl der Klemmenzyklen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "KLEMMENZYKLEN", "STAT_ANZAHL_KLEMMENZYKLEN_WERT", STAT_ANZAHL_KLEMMENZYKLEN_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KUEHLDAUER: { // 0xDF64
if (datalen < 10) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KUEHLDAUER", 10);
break;
}
unsigned short STAT_KUEHLDAUER_MAX_WERT_0XDF64 = (RXBUF_UINT(0));
// Predefined maximum cooling time (project-specific) / Vordefinierte maximale Kühldauer (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER", "STAT_KUEHLDAUER_MAX_WERT_0XDF64", STAT_KUEHLDAUER_MAX_WERT_0XDF64, "\"min\"");
unsigned short STAT_KUEHLDAUER_1_WERT_0XDF64 = (RXBUF_UINT(2));
// Number of duration class: 0 <t <= tmax * 0.25 / Anzahl Dauerklasse: 0 < t < = tmax*0.25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER", "STAT_KUEHLDAUER_1_WERT_0XDF64", STAT_KUEHLDAUER_1_WERT_0XDF64, "");
unsigned short STAT_KUEHLDAUER_2_WERT_0XDF64 = (RXBUF_UINT(4));
// Number of duration class: 0.25 * tmax <t <= tmax * 0.5 / Anzahl Dauerklasse: 0.25* tmax < t < = tmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER", "STAT_KUEHLDAUER_2_WERT_0XDF64", STAT_KUEHLDAUER_2_WERT_0XDF64, "");
unsigned short STAT_KUEHLDAUER_3_WERT_0XDF64 = (RXBUF_UINT(6));
// Number of duration class: 0.5 * tmax <t <= tmax / Anzahl Dauerklasse: 0.5* tmax < t < = tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER", "STAT_KUEHLDAUER_3_WERT_0XDF64", STAT_KUEHLDAUER_3_WERT_0XDF64, "");
unsigned short STAT_KUEHLDAUER_4_WERT_0XDF64 = (RXBUF_UINT(8));
// Number of duration classes: t> tmax / Anzahl Dauerklasse: t > tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "KUEHLDAUER", "STAT_KUEHLDAUER_4_WERT_0XDF64", STAT_KUEHLDAUER_4_WERT_0XDF64, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_TEMP_SPREIZUNG_SYSTEM: { // 0xDF65
if (datalen < 26) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_TEMP_SPREIZUNG_SYSTEM", 26);
break;
}
float STAT_TEMP_SPREIZUNG_MAX_WERT = (RXBUF_UINT(0)/100.0f);
// Predefined maximum temperature spread value in Celcius (project-specific) / Vorderfinierter maximaler
// Temperaturspreizungswert in Celcius (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_MAX_WERT", STAT_TEMP_SPREIZUNG_MAX_WERT, "\"°C\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_1_WERT = (RXBUF_UINT32(2));
// Time in minutes with cooling on class 1: 0 <dT <= dTmax * 0.2 / Zeit in Minuten bei Kühlung an Klasse 1: 0 <
// dT <= dTmax*0.2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_1_WERT", STAT_TEMP_SPREIZUNG_SYS_1_WERT, "\"min\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_2_WERT = (RXBUF_UINT32(6));
// Time in minutes for cooling on class 2: dTmax * 0.2 <dT <= dTmax * 0.4 / Zeit in Minuten bei Kühlung an Klasse
// 2: dTmax*0.2 < dT <= dTmax*0.4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_2_WERT", STAT_TEMP_SPREIZUNG_SYS_2_WERT, "\"min\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_3_WERT = (RXBUF_UINT32(10));
// Time in minutes for cooling on class 3: dTmax * 0.4 <dT <= dTmax * 0.6 / Zeit in Minuten bei Kühlung an Klasse
// 3: dTmax*0.4 < dT <= dTmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_3_WERT", STAT_TEMP_SPREIZUNG_SYS_3_WERT, "\"min\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_4_WERT = (RXBUF_UINT32(14));
// Time in minutes for cooling on class 4: dTmax * 0.6 <dT <= dTmax * 0.8 / Zeit in Minuten bei Kühlung an Klasse
// 4: dTmax*0.6 < dT <= dTmax*0.8
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_4_WERT", STAT_TEMP_SPREIZUNG_SYS_4_WERT, "\"min\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_5_WERT = (RXBUF_UINT32(18));
// Time in minutes with cooling on class 5: dTmax * 0.8 <dT <= dTmax / Zeit in Minuten bei Kühlung an Klasse 5:
// dTmax*0.8 < dT <= dTmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_5_WERT", STAT_TEMP_SPREIZUNG_SYS_5_WERT, "\"min\"");
unsigned long STAT_TEMP_SPREIZUNG_SYS_6_WERT = (RXBUF_UINT32(22));
// Time in minutes with cooling on class 6: dT> dTmax / Zeit in Minuten bei Kühlung an Klasse 6: dT > dTmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_SPREIZUNG_SYSTEM", "STAT_TEMP_SPREIZUNG_SYS_6_WERT", STAT_TEMP_SPREIZUNG_SYS_6_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_TEMP_KUEHLMITTEL: { // 0xDF66
if (datalen < 26) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_TEMP_KUEHLMITTEL", 26);
break;
}
float STAT_TEMP_KUEHLMITTEL_MAX_WERT = (RXBUF_UINT(0)/10.0f);
// Predefined maximum coolant temperature (project-specific) / Vordefinierte maximale Kühlmittelstemperatur
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_MAX_WERT", STAT_TEMP_KUEHLMITTEL_MAX_WERT, "\"°C\"");
unsigned long STAT_TEMP_KUEHLMITTEL_1_WERT = (RXBUF_UINT32(2));
// Duration in temperature class: T <= 0 / Dauer in Temperaturklasse: T < =0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_1_WERT", STAT_TEMP_KUEHLMITTEL_1_WERT, "\"min\"");
unsigned long STAT_TEMP_KUEHLMITTEL_2_WERT = (RXBUF_UINT32(6));
// Duration in temperature class: 0 <T <= Tmax * 0.25 / Dauer in Temperaturklasse: 0 < T < = Tmax*0.25
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_2_WERT", STAT_TEMP_KUEHLMITTEL_2_WERT, "\"min\"");
unsigned long STAT_TEMP_KUEHLMITTEL_3_WERT = (RXBUF_UINT32(10));
// Duration in temperature class: Tmax * 0.25 <T <= Tmax * 0.5 / Dauer in Temperaturklasse: Tmax* 0.25 < T < =
// Tmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_3_WERT", STAT_TEMP_KUEHLMITTEL_3_WERT, "\"min\"");
unsigned long STAT_TEMP_KUEHLMITTEL_4_WERT = (RXBUF_UINT32(14));
// Duration in temperature class: Tmax * 0.5 <T <= Tmax * 0.75 / Dauer in Temperaturklasse: Tmax* 0.5 < T < =
// Tmax*0.75
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_4_WERT", STAT_TEMP_KUEHLMITTEL_4_WERT, "\"min\"");
unsigned long STAT_TEMP_KUEHLMITTEL_5_WERT = (RXBUF_UINT32(18));
// Duration in temperature class: Tmax * 0.75 <T <= Tmax / Dauer in Temperaturklasse: Tmax* 0.75 < T < = Tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_5_WERT", STAT_TEMP_KUEHLMITTEL_5_WERT, "\"min\"");
unsigned long STAT_TEMP_KUEHLMITTEL_6_WERT = (RXBUF_UINT32(22));
// Duration in temperature class: T> Tmax / Dauer in Temperaturklasse: T > Tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "TEMP_KUEHLMITTEL", "STAT_TEMP_KUEHLMITTEL_6_WERT", STAT_TEMP_KUEHLMITTEL_6_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADUNG_KUEHLUNG: { // 0xDF67
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADUNG_KUEHLUNG", 8);
break;
}
float STAT_LADUNG_KUEHLUNG_WERT = (RXBUF_UINT32(0)/3600.0f);
// Charge amount with activated cooling / Ladungsmenge bei eingeschalteter Kühlung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNG_KUEHLUNG", "STAT_LADUNG_KUEHLUNG_WERT", STAT_LADUNG_KUEHLUNG_WERT, "\"Ah\"");
float STAT_ENTLADUNG_KUEHLUNG_WERT = (RXBUF_UINT32(4)/3600.0f);
// Discharge amount with the cooling switched on / Entladungsmenge bei eingeschalteter Kühlung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADUNG_KUEHLUNG", "STAT_ENTLADUNG_KUEHLUNG_WERT", STAT_ENTLADUNG_KUEHLUNG_WERT, "\"Ah\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T1_2: { // 0xDF68
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T1_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T1_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer
// bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I1_WERT", STAT_HV_BATT_HIST_SOC5_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. -2.5xC A less than current less than
// -2.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als
// Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I2_WERT", STAT_HV_BATT_HIST_SOC5_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. -2.0xC A less than current less than
// -1.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als
// Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I3_WERT", STAT_HV_BATT_HIST_SOC5_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. -1.5xC A less than current less than
// -1.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als
// Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I4_WERT", STAT_HV_BATT_HIST_SOC5_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. -1.0xC A less than current less than
// -0.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als
// Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I5_WERT", STAT_HV_BATT_HIST_SOC5_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. -0.5xC A less than current less than
// 0.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als
// Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I6_WERT", STAT_HV_BATT_HIST_SOC5_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I7_WERT", STAT_HV_BATT_HIST_SOC5_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I8_WERT", STAT_HV_BATT_HIST_SOC5_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I9_WERT", STAT_HV_BATT_HIST_SOC5_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T1_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer
// bei 70 % kleiner als SoC kleiner als 90 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC5_T1_I10_WERT", STAT_HV_BATT_HIST_SOC5_T1_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer
// bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I1_WERT", STAT_HV_BATT_HIST_SOC6_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. -2.5xC A less than current less than
// -2.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. -2,5xC A kleiner als
// Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I2_WERT", STAT_HV_BATT_HIST_SOC6_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. -2.0xC A less than current less than
// -1.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. -2,0xC A kleiner als
// Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I3_WERT", STAT_HV_BATT_HIST_SOC6_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. -1.5xC A less than current less than
// -1.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. -1,5xC A kleiner als
// Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I4_WERT", STAT_HV_BATT_HIST_SOC6_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. -1.0xC A less than current less than
// -0.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. -1,0xC A kleiner als
// Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I5_WERT", STAT_HV_BATT_HIST_SOC6_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. -0.5xC A less than current less than
// 0.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. -0,5xC A kleiner als
// Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I6_WERT", STAT_HV_BATT_HIST_SOC6_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I7_WERT", STAT_HV_BATT_HIST_SOC6_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I8_WERT", STAT_HV_BATT_HIST_SOC6_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I9_WERT", STAT_HV_BATT_HIST_SOC6_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T1_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. Temperature less than 0 ° C. 1.5xC A less than current / Dauer
// bei 90 % kleiner als SoC kleiner als 95 %. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC6_T1_I10_WERT", STAT_HV_BATT_HIST_SOC6_T1_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. Current less than -2.5xC A / Dauer bei 95 %
// kleiner als SoC. Temperatur kleiner als 0 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I1_WERT", STAT_HV_BATT_HIST_SOC7_T1_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. -2.5xC A less than current less than -2.0xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I2_WERT", STAT_HV_BATT_HIST_SOC7_T1_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. -2.0xC A less than current less than -1.5xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I3_WERT", STAT_HV_BATT_HIST_SOC7_T1_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. -1.5xC A less than current less than -1.0xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I4_WERT", STAT_HV_BATT_HIST_SOC7_T1_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. -1.0xC A less than current less than -0.5xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I5_WERT", STAT_HV_BATT_HIST_SOC7_T1_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. -0.5xC A less than current less than 0.0xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I6_WERT", STAT_HV_BATT_HIST_SOC7_T1_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. 0.0xC A less than current less than 0.5xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I7_WERT", STAT_HV_BATT_HIST_SOC7_T1_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. 0.5xC A less than current less than 1.0xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I8_WERT", STAT_HV_BATT_HIST_SOC7_T1_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. 1.0xC A less than current less than 1.5xC A /
// Dauer bei 95 % kleiner als SoC. Temperatur kleiner als 0 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I9_WERT", STAT_HV_BATT_HIST_SOC7_T1_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T1_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. Temperature less than 0 ° C. 1.5xC A less than current / Dauer bei 95 %
// kleiner als SoC. Temperatur kleiner als 0 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T1_2", "STAT_HV_BATT_HIST_SOC7_T1_I10_WERT", STAT_HV_BATT_HIST_SOC7_T1_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T4_2: { // 0xDF69
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T4_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T4_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. Current less
// than -2.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I1_WERT", STAT_HV_BATT_HIST_SOC5_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I2_WERT", STAT_HV_BATT_HIST_SOC5_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I3_WERT", STAT_HV_BATT_HIST_SOC5_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I4_WERT", STAT_HV_BATT_HIST_SOC5_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I5_WERT", STAT_HV_BATT_HIST_SOC5_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I6_WERT", STAT_HV_BATT_HIST_SOC5_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I7_WERT", STAT_HV_BATT_HIST_SOC5_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I8_WERT", STAT_HV_BATT_HIST_SOC5_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I9_WERT", STAT_HV_BATT_HIST_SOC5_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T4_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less
// than current / Dauer bei 70% kleiner als SoC kleiner als 90%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC5_T4_I10_WERT", STAT_HV_BATT_HIST_SOC5_T4_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. Current less
// than -2.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I1_WERT", STAT_HV_BATT_HIST_SOC6_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I2_WERT", STAT_HV_BATT_HIST_SOC6_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I3_WERT", STAT_HV_BATT_HIST_SOC6_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I4_WERT", STAT_HV_BATT_HIST_SOC6_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I5_WERT", STAT_HV_BATT_HIST_SOC6_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I6_WERT", STAT_HV_BATT_HIST_SOC6_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I7_WERT", STAT_HV_BATT_HIST_SOC6_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I8_WERT", STAT_HV_BATT_HIST_SOC6_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur
// kleiner als 27,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I9_WERT", STAT_HV_BATT_HIST_SOC6_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T4_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less
// than current / Dauer bei 90% kleiner als SoC kleiner als 95%. 20°C kleiner als Temperatur kleiner als 27,5°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC6_T4_I10_WERT", STAT_HV_BATT_HIST_SOC6_T4_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. Current less than -2.5xC A
// / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I1_WERT", STAT_HV_BATT_HIST_SOC7_T4_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I2_WERT", STAT_HV_BATT_HIST_SOC7_T4_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I3_WERT", STAT_HV_BATT_HIST_SOC7_T4_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I4_WERT", STAT_HV_BATT_HIST_SOC7_T4_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I5_WERT", STAT_HV_BATT_HIST_SOC7_T4_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I6_WERT", STAT_HV_BATT_HIST_SOC7_T4_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I7_WERT", STAT_HV_BATT_HIST_SOC7_T4_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I8_WERT", STAT_HV_BATT_HIST_SOC7_T4_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I9_WERT", STAT_HV_BATT_HIST_SOC7_T4_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T4_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 20 ° C less than temperature less than 27.5 ° C. 1.5xC A less than current /
// Dauer bei 95% kleiner als SoC. 20°C kleiner als Temperatur kleiner als 27,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T4_2", "STAT_HV_BATT_HIST_SOC7_T4_I10_WERT", STAT_HV_BATT_HIST_SOC7_T4_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T3_2: { // 0xDF6A
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T3_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T3_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. Current less than
// -2.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner als 20°C. Strom
// kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I1_WERT", STAT_HV_BATT_HIST_SOC5_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I2_WERT", STAT_HV_BATT_HIST_SOC5_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I3_WERT", STAT_HV_BATT_HIST_SOC5_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I4_WERT", STAT_HV_BATT_HIST_SOC5_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I5_WERT", STAT_HV_BATT_HIST_SOC5_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner
// als 20°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I6_WERT", STAT_HV_BATT_HIST_SOC5_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I7_WERT", STAT_HV_BATT_HIST_SOC5_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I8_WERT", STAT_HV_BATT_HIST_SOC5_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner
// als 20°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I9_WERT", STAT_HV_BATT_HIST_SOC5_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T3_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than
// current / Dauer bei 70% kleiner als SoC kleiner als 90%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A
// kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC5_T3_I10_WERT", STAT_HV_BATT_HIST_SOC5_T3_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. Current less than
// -2.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner als 20°C. Strom
// kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I1_WERT", STAT_HV_BATT_HIST_SOC6_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I2_WERT", STAT_HV_BATT_HIST_SOC6_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur
// kleiner als 20°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I3_WERT", STAT_HV_BATT_HIST_SOC6_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I4_WERT", STAT_HV_BATT_HIST_SOC6_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur
// kleiner als 20°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I5_WERT", STAT_HV_BATT_HIST_SOC6_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner
// als 20°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I6_WERT", STAT_HV_BATT_HIST_SOC6_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I7_WERT", STAT_HV_BATT_HIST_SOC6_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner
// als 20°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I8_WERT", STAT_HV_BATT_HIST_SOC6_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner
// als 20°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I9_WERT", STAT_HV_BATT_HIST_SOC6_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T3_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than
// current / Dauer bei 90% kleiner als SoC kleiner als 95%. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A
// kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC6_T3_I10_WERT", STAT_HV_BATT_HIST_SOC6_T3_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. Current less than -2.5xC A /
// Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I1_WERT", STAT_HV_BATT_HIST_SOC7_T3_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I2_WERT", STAT_HV_BATT_HIST_SOC7_T3_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I3_WERT", STAT_HV_BATT_HIST_SOC7_T3_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I4_WERT", STAT_HV_BATT_HIST_SOC7_T3_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I5_WERT", STAT_HV_BATT_HIST_SOC7_T3_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I6_WERT", STAT_HV_BATT_HIST_SOC7_T3_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I7_WERT", STAT_HV_BATT_HIST_SOC7_T3_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I8_WERT", STAT_HV_BATT_HIST_SOC7_T3_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I9_WERT", STAT_HV_BATT_HIST_SOC7_T3_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T3_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 10 ° C less than temperature less than 20 ° C. 1.5xC A less than current /
// Dauer bei 95% kleiner als SoC. 10°C kleiner als Temperatur kleiner als 20°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T3_2", "STAT_HV_BATT_HIST_SOC7_T3_I10_WERT", STAT_HV_BATT_HIST_SOC7_T3_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T5_2: { // 0xDF6B
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T5_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T5_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. Current less
// than -2.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I1_WERT", STAT_HV_BATT_HIST_SOC5_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I2_WERT", STAT_HV_BATT_HIST_SOC5_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I3_WERT", STAT_HV_BATT_HIST_SOC5_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I4_WERT", STAT_HV_BATT_HIST_SOC5_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I5_WERT", STAT_HV_BATT_HIST_SOC5_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I6_WERT", STAT_HV_BATT_HIST_SOC5_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I7_WERT", STAT_HV_BATT_HIST_SOC5_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I8_WERT", STAT_HV_BATT_HIST_SOC5_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I9_WERT", STAT_HV_BATT_HIST_SOC5_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T5_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less
// than current / Dauer bei 70% kleiner als SoC kleiner als 90%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC5_T5_I10_WERT", STAT_HV_BATT_HIST_SOC5_T5_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. Current less
// than -2.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I1_WERT", STAT_HV_BATT_HIST_SOC6_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I2_WERT", STAT_HV_BATT_HIST_SOC6_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I3_WERT", STAT_HV_BATT_HIST_SOC6_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I4_WERT", STAT_HV_BATT_HIST_SOC6_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I5_WERT", STAT_HV_BATT_HIST_SOC6_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I6_WERT", STAT_HV_BATT_HIST_SOC6_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I7_WERT", STAT_HV_BATT_HIST_SOC6_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I8_WERT", STAT_HV_BATT_HIST_SOC6_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur
// kleiner als 32,5°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I9_WERT", STAT_HV_BATT_HIST_SOC6_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T5_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less
// than current / Dauer bei 90% kleiner als SoC kleiner als 95%. 27,5°C kleiner als Temperatur kleiner als
// 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC6_T5_I10_WERT", STAT_HV_BATT_HIST_SOC6_T5_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. Current less than -2.5xC
// A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C. Strom kleiner als -2,5xC
// A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I1_WERT", STAT_HV_BATT_HIST_SOC7_T5_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C.
// -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I2_WERT", STAT_HV_BATT_HIST_SOC7_T5_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C.
// -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I3_WERT", STAT_HV_BATT_HIST_SOC7_T5_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C.
// -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I4_WERT", STAT_HV_BATT_HIST_SOC7_T5_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C.
// -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I5_WERT", STAT_HV_BATT_HIST_SOC7_T5_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C.
// -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I6_WERT", STAT_HV_BATT_HIST_SOC7_T5_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I7_WERT", STAT_HV_BATT_HIST_SOC7_T5_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I8_WERT", STAT_HV_BATT_HIST_SOC7_T5_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I9_WERT", STAT_HV_BATT_HIST_SOC7_T5_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T5_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 27.5 ° C less than temperature less than 32.5 ° C. 1.5xC A less than current
// / Dauer bei 95% kleiner als SoC. 27,5°C kleiner als Temperatur kleiner als 32,5°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T5_2", "STAT_HV_BATT_HIST_SOC7_T5_I10_WERT", STAT_HV_BATT_HIST_SOC7_T5_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T2_2: { // 0xDF6C
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T2_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T2_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. Current less than
// -2.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I1_WERT", STAT_HV_BATT_HIST_SOC5_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I2_WERT", STAT_HV_BATT_HIST_SOC5_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I3_WERT", STAT_HV_BATT_HIST_SOC5_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I4_WERT", STAT_HV_BATT_HIST_SOC5_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I5_WERT", STAT_HV_BATT_HIST_SOC5_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I6_WERT", STAT_HV_BATT_HIST_SOC5_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I7_WERT", STAT_HV_BATT_HIST_SOC5_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I8_WERT", STAT_HV_BATT_HIST_SOC5_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I9_WERT", STAT_HV_BATT_HIST_SOC5_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T2_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than
// current / Dauer bei 70 % kleiner als SoC kleiner als 90 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC5_T2_I10_WERT", STAT_HV_BATT_HIST_SOC5_T2_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. Current less than
// -2.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I1_WERT", STAT_HV_BATT_HIST_SOC6_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than
// current less than -2.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I2_WERT", STAT_HV_BATT_HIST_SOC6_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than
// current less than -1.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I3_WERT", STAT_HV_BATT_HIST_SOC6_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than
// current less than -1.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I4_WERT", STAT_HV_BATT_HIST_SOC6_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than
// current less than -0.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I5_WERT", STAT_HV_BATT_HIST_SOC6_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than
// current less than 0.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I6_WERT", STAT_HV_BATT_HIST_SOC6_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than
// current less than 0.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I7_WERT", STAT_HV_BATT_HIST_SOC6_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than
// current less than 1.0xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I8_WERT", STAT_HV_BATT_HIST_SOC6_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than
// current less than 1.5xC A / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur
// kleiner als 10 °C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I9_WERT", STAT_HV_BATT_HIST_SOC6_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T2_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than
// current / Dauer bei 90 % kleiner als SoC kleiner als 95 %. 0°C kleiner als Temperatur kleiner als 10 °C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC6_T2_I10_WERT", STAT_HV_BATT_HIST_SOC6_T2_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. Current less than -2.5xC A /
// Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I1_WERT", STAT_HV_BATT_HIST_SOC7_T2_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I2_WERT", STAT_HV_BATT_HIST_SOC7_T2_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I3_WERT", STAT_HV_BATT_HIST_SOC7_T2_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I4_WERT", STAT_HV_BATT_HIST_SOC7_T2_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I5_WERT", STAT_HV_BATT_HIST_SOC7_T2_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I6_WERT", STAT_HV_BATT_HIST_SOC7_T2_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. 0.0xC A less than current less
// than 0.5xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. 0,0xC A kleiner
// als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I7_WERT", STAT_HV_BATT_HIST_SOC7_T2_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. 0.5xC A less than current less
// than 1.0xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. 0,5xC A kleiner
// als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I8_WERT", STAT_HV_BATT_HIST_SOC7_T2_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. 1.0xC A less than current less
// than 1.5xC A / Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. 1,0xC A kleiner
// als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I9_WERT", STAT_HV_BATT_HIST_SOC7_T2_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T2_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 0 ° C less than temperature less than 10 ° C. 1.5xC A less than current /
// Dauer bei 95 % kleiner als SoC. 0°C kleiner als Temperatur kleiner als 10 °C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T2_2", "STAT_HV_BATT_HIST_SOC7_T2_I10_WERT", STAT_HV_BATT_HIST_SOC7_T2_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T7_2: { // 0xDF6D
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T7_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T7_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer
// bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I1_WERT", STAT_HV_BATT_HIST_SOC5_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. -2.5xC A less than current less
// than -2.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. -2,5xC A kleiner
// als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I2_WERT", STAT_HV_BATT_HIST_SOC5_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. -2.0xC A less than current less
// than -1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. -2,0xC A kleiner
// als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I3_WERT", STAT_HV_BATT_HIST_SOC5_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. -1.5xC A less than current less
// than -1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. -1,5xC A kleiner
// als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I4_WERT", STAT_HV_BATT_HIST_SOC5_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. -1.0xC A less than current less
// than -0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. -1,0xC A kleiner
// als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I5_WERT", STAT_HV_BATT_HIST_SOC5_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. -0.5xC A less than current less
// than 0.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I6_WERT", STAT_HV_BATT_HIST_SOC5_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I7_WERT", STAT_HV_BATT_HIST_SOC5_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I8_WERT", STAT_HV_BATT_HIST_SOC5_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I9_WERT", STAT_HV_BATT_HIST_SOC5_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T7_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 40 ° C less than temperature. 1.5xC A less than current / Dauer
// bei 70% kleiner als SoC kleiner als 90%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC5_T7_I10_WERT", STAT_HV_BATT_HIST_SOC5_T7_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. Current less than -2.5xC A / Dauer
// bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I1_WERT", STAT_HV_BATT_HIST_SOC6_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. -2.5xC A less than current less
// than -2.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. -2,5xC A kleiner
// als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I2_WERT", STAT_HV_BATT_HIST_SOC6_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. -2.0xC A less than current less
// than -1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. -2,0xC A kleiner
// als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I3_WERT", STAT_HV_BATT_HIST_SOC6_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. -1.5xC A less than current less
// than -1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. -1,5xC A kleiner
// als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I4_WERT", STAT_HV_BATT_HIST_SOC6_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. -1.0xC A less than current less
// than -0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. -1,0xC A kleiner
// als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I5_WERT", STAT_HV_BATT_HIST_SOC6_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. -0.5xC A less than current less
// than 0.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. -0,5xC A kleiner
// als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I6_WERT", STAT_HV_BATT_HIST_SOC6_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. 0.0xC A less than current less than
// 0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. 0,0xC A kleiner als
// Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I7_WERT", STAT_HV_BATT_HIST_SOC6_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. 0.5xC A less than current less than
// 1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. 0,5xC A kleiner als
// Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I8_WERT", STAT_HV_BATT_HIST_SOC6_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. 1.0xC A less than current less than
// 1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. 1,0xC A kleiner als
// Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I9_WERT", STAT_HV_BATT_HIST_SOC6_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T7_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 40 ° C less than temperature. 1.5xC A less than current / Dauer
// bei 90% kleiner als SoC kleiner als 95%. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC6_T7_I10_WERT", STAT_HV_BATT_HIST_SOC6_T7_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. Current less than -2.5xC A / Dauer bei 95%
// kleiner als SoC. 40°C kleiner als Temperatur. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I1_WERT", STAT_HV_BATT_HIST_SOC7_T7_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. -2.5xC A less than current less than -2.0xC A
// / Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I2_WERT", STAT_HV_BATT_HIST_SOC7_T7_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. -2.0xC A less than current less than -1.5xC A
// / Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I3_WERT", STAT_HV_BATT_HIST_SOC7_T7_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. -1.5xC A less than current less than -1.0xC A
// / Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I4_WERT", STAT_HV_BATT_HIST_SOC7_T7_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. -1.0xC A less than current less than -0.5xC A
// / Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I5_WERT", STAT_HV_BATT_HIST_SOC7_T7_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. -0.5xC A less than current less than 0.0xC A /
// Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I6_WERT", STAT_HV_BATT_HIST_SOC7_T7_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. 0.0xC A less than current less than 0.5xC A /
// Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I7_WERT", STAT_HV_BATT_HIST_SOC7_T7_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. 0.5xC A less than current less than 1.0xC A /
// Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I8_WERT", STAT_HV_BATT_HIST_SOC7_T7_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. 1.0xC A less than current less than 1.5xC A /
// Dauer bei 95% kleiner als SoC. 40°C kleiner als Temperatur. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I9_WERT", STAT_HV_BATT_HIST_SOC7_T7_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T7_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 40 ° C less than temperature. 1.5xC A less than current / Dauer bei 95%
// kleiner als SoC. 40°C kleiner als Temperatur. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T7_2", "STAT_HV_BATT_HIST_SOC7_T7_I10_WERT", STAT_HV_BATT_HIST_SOC7_T7_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HV_BATT_HIST_SOC_T6_2: { // 0xDF6E
if (datalen < 120) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HV_BATT_HIST_SOC_T6_2", 120);
break;
}
float STAT_HV_BATT_HIST_SOC5_T6_I1_WERT = (RXBUF_UINT32(0)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. Current less
// than -2.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I1_WERT", STAT_HV_BATT_HIST_SOC5_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I2_WERT = (RXBUF_UINT32(4)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I2_WERT", STAT_HV_BATT_HIST_SOC5_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I3_WERT = (RXBUF_UINT32(8)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I3_WERT", STAT_HV_BATT_HIST_SOC5_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I4_WERT = (RXBUF_UINT32(12)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I4_WERT", STAT_HV_BATT_HIST_SOC5_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I5_WERT = (RXBUF_UINT32(16)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I5_WERT", STAT_HV_BATT_HIST_SOC5_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I6_WERT = (RXBUF_UINT32(20)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I6_WERT", STAT_HV_BATT_HIST_SOC5_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I7_WERT = (RXBUF_UINT32(24)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I7_WERT", STAT_HV_BATT_HIST_SOC5_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I8_WERT = (RXBUF_UINT32(28)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I8_WERT", STAT_HV_BATT_HIST_SOC5_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I9_WERT = (RXBUF_UINT32(32)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I9_WERT", STAT_HV_BATT_HIST_SOC5_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC5_T6_I10_WERT = (RXBUF_UINT32(36)/10.0f);
// Duration at 70% less than SoC less than 90%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less
// than current / Dauer bei 70% kleiner als SoC kleiner als 90%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC5_T6_I10_WERT", STAT_HV_BATT_HIST_SOC5_T6_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I1_WERT = (RXBUF_UINT32(40)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. Current less
// than -2.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I1_WERT", STAT_HV_BATT_HIST_SOC6_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I2_WERT = (RXBUF_UINT32(44)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less
// than current less than -2.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,5xC A kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I2_WERT", STAT_HV_BATT_HIST_SOC6_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I3_WERT = (RXBUF_UINT32(48)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less
// than current less than -1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -2,0xC A kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I3_WERT", STAT_HV_BATT_HIST_SOC6_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I4_WERT = (RXBUF_UINT32(52)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less
// than current less than -1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,5xC A kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I4_WERT", STAT_HV_BATT_HIST_SOC6_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I5_WERT = (RXBUF_UINT32(56)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less
// than current less than -0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -1,0xC A kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I5_WERT", STAT_HV_BATT_HIST_SOC6_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I6_WERT = (RXBUF_UINT32(60)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less
// than current less than 0.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. -0,5xC A kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I6_WERT", STAT_HV_BATT_HIST_SOC6_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I7_WERT = (RXBUF_UINT32(64)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less
// than current less than 0.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,0xC A kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I7_WERT", STAT_HV_BATT_HIST_SOC6_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I8_WERT = (RXBUF_UINT32(68)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less
// than current less than 1.0xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 0,5xC A kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I8_WERT", STAT_HV_BATT_HIST_SOC6_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I9_WERT = (RXBUF_UINT32(72)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less
// than current less than 1.5xC A / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur
// kleiner als 40°C. 1,0xC A kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I9_WERT", STAT_HV_BATT_HIST_SOC6_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC6_T6_I10_WERT = (RXBUF_UINT32(76)/10.0f);
// Duration at 90% less than SoC less than 95%. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less
// than current / Dauer bei 90% kleiner als SoC kleiner als 95%. 32,5°C kleiner als Temperatur kleiner als 40°C.
// 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC6_T6_I10_WERT", STAT_HV_BATT_HIST_SOC6_T6_I10_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I1_WERT = (RXBUF_UINT32(80)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. Current less than -2.5xC A
// / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. Strom kleiner als -2,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I1_WERT", STAT_HV_BATT_HIST_SOC7_T6_I1_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I2_WERT = (RXBUF_UINT32(84)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. -2.5xC A less than current
// less than -2.0xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. -2,5xC A
// kleiner als Strom kleiner als -2,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I2_WERT", STAT_HV_BATT_HIST_SOC7_T6_I2_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I3_WERT = (RXBUF_UINT32(88)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. -2.0xC A less than current
// less than -1.5xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. -2,0xC A
// kleiner als Strom kleiner als -1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I3_WERT", STAT_HV_BATT_HIST_SOC7_T6_I3_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I4_WERT = (RXBUF_UINT32(92)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. -1.5xC A less than current
// less than -1.0xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. -1,5xC A
// kleiner als Strom kleiner als -1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I4_WERT", STAT_HV_BATT_HIST_SOC7_T6_I4_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I5_WERT = (RXBUF_UINT32(96)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. -1.0xC A less than current
// less than -0.5xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. -1,0xC A
// kleiner als Strom kleiner als -0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I5_WERT", STAT_HV_BATT_HIST_SOC7_T6_I5_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I6_WERT = (RXBUF_UINT32(100)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. -0.5xC A less than current
// less than 0.0xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. -0,5xC A
// kleiner als Strom kleiner als 0,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I6_WERT", STAT_HV_BATT_HIST_SOC7_T6_I6_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I7_WERT = (RXBUF_UINT32(104)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. 0.0xC A less than current
// less than 0.5xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. 0,0xC A
// kleiner als Strom kleiner als 0,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I7_WERT", STAT_HV_BATT_HIST_SOC7_T6_I7_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I8_WERT = (RXBUF_UINT32(108)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. 0.5xC A less than current
// less than 1.0xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. 0,5xC A
// kleiner als Strom kleiner als 1,0xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I8_WERT", STAT_HV_BATT_HIST_SOC7_T6_I8_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I9_WERT = (RXBUF_UINT32(112)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. 1.0xC A less than current
// less than 1.5xC A / Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. 1,0xC A
// kleiner als Strom kleiner als 1,5xC A
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I9_WERT", STAT_HV_BATT_HIST_SOC7_T6_I9_WERT, "\"s\"");
float STAT_HV_BATT_HIST_SOC7_T6_I10_WERT = (RXBUF_UINT32(116)/10.0f);
// Duration at 95% smaller than SoC. 32.5 ° C less than temperature less than 40 ° C. 1.5xC A less than current /
// Dauer bei 95% kleiner als SoC. 32,5°C kleiner als Temperatur kleiner als 40°C. 1,5xC A kleiner als Strom
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HV_BATT_HIST_SOC_T6_2", "STAT_HV_BATT_HIST_SOC7_T6_I10_WERT", STAT_HV_BATT_HIST_SOC7_T6_I10_WERT, "\"s\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_STROM: { // 0xDF6F
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_STROM", 24);
break;
}
float STAT_CHA_CURR_ERR_INT_LIM_WERT = (RXBUF_UINT32(0)/100.0f);
// Threshold value of the error integral of the current when loading [IerrIntLim_cha] / Schwellwert des
// Fehlerintegrals des Stroms beim Laden [IerrIntLim_cha]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_CHA_CURR_ERR_INT_LIM_WERT", STAT_CHA_CURR_ERR_INT_LIM_WERT, "\"As\"");
float STAT_DCH_CURR_ERR_INT_LIM_WERT = (RXBUF_UINT32(4)/100.0f);
// Threshold of the error integral of the current when discharging [IerrIntLim_dch] / Schwellwert des
// Fehlerintegrals des Stroms beim Entladen [IerrIntLim_dch]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_DCH_CURR_ERR_INT_LIM_WERT", STAT_DCH_CURR_ERR_INT_LIM_WERT, "\"As\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_1_WERT = (RXBUF_UINT32(8));
// Duration in minutes when loading in the class: 0 <= IerrInt_cha <IerrIntLim_cha / Dauer in Minuten beim Laden
// in der Klasse: 0 <= IerrInt_cha < IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_HIS_CHG_ERR_LIM_STROM_1_WERT", STAT_HIS_CHG_ERR_LIM_STROM_1_WERT, "\"min\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_2_WERT = (RXBUF_UINT32(12));
// Duration in minutes when loading in the class: IerrInt_cha> IerrIntLim_cha / Dauer in Minuten beim Laden in
// der Klasse: IerrInt_cha > IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_HIS_CHG_ERR_LIM_STROM_2_WERT", STAT_HIS_CHG_ERR_LIM_STROM_2_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_1_WERT = (RXBUF_UINT32(16));
// Duration in minutes when unloading in the class: 0 <= IerrInt_dch <IerrIntLim_dch / Dauer in Minuten beim
// Entladen in der Klasse: 0 <= IerrInt_dch < IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_HIS_DCH_ERR_LIM_STROM_1_WERT", STAT_HIS_DCH_ERR_LIM_STROM_1_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_2_WERT = (RXBUF_UINT32(20));
// Duration in minutes when unloading in the class: IerrInt_dch> IerrIntLim_dch / Dauer in Minuten beim Entladen
// in der Klasse: IerrInt_dch > IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM", "STAT_HIS_DCH_ERR_LIM_STROM_2_WERT", STAT_HIS_DCH_ERR_LIM_STROM_2_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM: { // 0xDF70
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM", 48);
break;
}
float STAT_CHA_EFF_CURR_LIM_100_PERC_WERT = (RXBUF_UINT32(0)/100.0f);
// RMS value of the current limit when loading to 100% life [Irms_cha (% 100)] / Effektivwert der Stromgrenze
// beim Laden auf 100% Leben [Irms_cha(%100)]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_EFF_STROM", "STAT_CHA_EFF_CURR_LIM_100_PERC_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_WERT, "\"A\"");
float STAT_CHA_EFF_CURR_LIM_3_PERC_WERT = (RXBUF_UINT32(4)/100.0f);
// Effective value of the current limit when loading to 3% life [Irms_cha (% 3)] / Effektivwert der Stromgrenze
// beim Laden auf 3% Leben [Irms_cha(%3)]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_EFF_STROM", "STAT_CHA_EFF_CURR_LIM_3_PERC_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_WERT, "\"A\"");
float STAT_ABS_EFF_CURR_LIM_100_PERC_WERT = (RXBUF_UINT32(8)/100.0f);
// RMS value of the current limit when charging and discharging (absolute) to 100% life [Irms_abs (% 100)] /
// Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben [Irms_abs(%100)]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_EFF_STROM", "STAT_ABS_EFF_CURR_LIM_100_PERC_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_WERT, "\"A\"");
float STAT_ABS_EFF_CURR_LIM_3_PERC_WERT = (RXBUF_UINT32(12)/100.0f);
// Effective value of the current limit when charging and discharging (absolute) to 3% life [Irms_cha (% 3)] /
// Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_cha(%3)]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_EFF_STROM", "STAT_ABS_EFF_CURR_LIM_3_PERC_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_WERT = (RXBUF_UINT32(16));
// Duration in minutes of the effective value of the current when charging in the class: 0 <= Irms <0.7 *
// Irms_cha (% 100) / Dauer in Minuten des Effektivwerts des Stroms beim Laden in der Klasse: 0 <= Irms < 0,7 *
// Irms_cha(%100)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_CHG_1_WERT", STAT_HIS_EFF_CURR_CHG_1_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_WERT = (RXBUF_UINT32(20));
// Duration in minutes of the effective value of the current when charging in the class: 0.7 * Irms_cha (% 100)
// <= Irms <Irms_cha (% 100) / Dauer in Minuten des Effektivwerts des Stroms beim Laden in der Klasse: 0,7 *
// Irms_cha(%100) <= Irms < Irms_cha(%100)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_CHG_2_WERT", STAT_HIS_EFF_CURR_CHG_2_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_WERT = (RXBUF_UINT32(24));
// Duration in minutes of the effective value of the current when charging in the class: Irms_cha (% 100) <= Irms
// <Irms_cha (% 3) / Dauer in Minuten des Effektivwerts des Stroms beim Laden in der Klasse: Irms_cha(%100) <=
// Irms < Irms_cha(%3)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_CHG_3_WERT", STAT_HIS_EFF_CURR_CHG_3_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_WERT = (RXBUF_UINT32(28));
// Duration in minutes of the rms value of the current when charging in the class: Irms_cha (% 3) <Irms / Dauer
// in Minuten des Effektivwerts des Stroms beim Laden in der Klasse: Irms_cha(%3) < Irms
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_CHG_4_WERT", STAT_HIS_EFF_CURR_CHG_4_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_WERT = (RXBUF_UINT32(32));
// Duration in minutes of the effective value of the current when charging and discharging in the class: 0 <=
// Irms <0.7 * Irms_abs (% 100) / Dauer in Minuten des Effektivwerts des Stroms beim Laden und Entladen in der
// Klasse: 0 <= Irms < 0,7 * Irms_abs(%100)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_ABS_1_WERT", STAT_HIS_EFF_CURR_ABS_1_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_WERT = (RXBUF_UINT32(36));
// Duration in minutes of the effective value of the current when charging and discharging in the class: 0.7 *
// Irms_abs (% 100) <= Irms <Irms_abs (% 100) / Dauer in Minuten des Effektivwerts des Stroms beim Laden und
// Entladen in der Klasse: 0,7 * Irms_abs(%100) <= Irms < Irms_abs(%100)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_ABS_2_WERT", STAT_HIS_EFF_CURR_ABS_2_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_WERT = (RXBUF_UINT32(40));
// Duration in minutes of the effective value of the current when charging and discharging in the class: Irms_abs
// (% 100) <= Irms <Irms_abs (% 3) / Dauer in Minuten des Effektivwerts des Stroms beim Laden und Entladen in der
// Klasse: Irms_abs(%100) <= Irms < Irms_abs(%3)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_ABS_3_WERT", STAT_HIS_EFF_CURR_ABS_3_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_WERT = (RXBUF_UINT32(44));
// Duration in minutes of the rms value of the current during charging and discharging in the class: Irms_abs (%
// 3) <Irms / Dauer in Minuten des Effektivwerts des Stroms beim Laden und Entladen in der Klasse: Irms_abs(%3) <
// Irms
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM", "STAT_HIS_EFF_CURR_ABS_4_WERT", STAT_HIS_EFF_CURR_ABS_4_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_PROJEKT_PARAMETER: { // 0xDF71
if (datalen < 5) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_PROJEKT_PARAMETER", 5);
break;
}
unsigned short STAT_ANZAHL_ZELLEN_INSGESAMT_WERT = (RXBUF_UINT(0));
// Number of cells in the HV storage system / Anzahl der Zellen des HV-Speichers
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "PROJEKT_PARAMETER", "STAT_ANZAHL_ZELLEN_INSGESAMT_WERT", STAT_ANZAHL_ZELLEN_INSGESAMT_WERT, "");
unsigned char STAT_ANZAHL_ZELLEN_PRO_MODUL_WERT = (RXBUF_UCHAR(2));
// Number of cells per module / Anzahl der Zellen pro Modul
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "PROJEKT_PARAMETER", "STAT_ANZAHL_ZELLEN_PRO_MODUL_WERT", STAT_ANZAHL_ZELLEN_PRO_MODUL_WERT, "");
unsigned char STAT_ANZAHL_MODULE_WERT = (RXBUF_UCHAR(3));
// Number of modules in the HV storage system / Anzahl der Module des HV-Speichers
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "PROJEKT_PARAMETER", "STAT_ANZAHL_MODULE_WERT", STAT_ANZAHL_MODULE_WERT, "");
unsigned char STAT_ANZAHL_TEMPERATURSENSOREN_PRO_MODUL_WERT = (RXBUF_UCHAR(4));
// Number of temperature sensors per module / Anzahl der Temperatursensoren pro Modul
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "PROJEKT_PARAMETER", "STAT_ANZAHL_TEMPERATURSENSOREN_PRO_MODUL_WERT", STAT_ANZAHL_TEMPERATURSENSOREN_PRO_MODUL_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KURZSCHLUESSE: { // 0xDF72
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KURZSCHLUESSE", 1);
break;
}
unsigned char STAT_ANZAHL_KURZSCHLUESSE_WERT = (RXBUF_UCHAR(0));
// Number of short circuits that occurred / Anzahl der vorgekommenen Kurschlüsse
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KURZSCHLUESSE", "STAT_ANZAHL_KURZSCHLUESSE_WERT", STAT_ANZAHL_KURZSCHLUESSE_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HEIZUNG_VERBAUT: { // 0xDF73
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HEIZUNG_VERBAUT", 1);
break;
}
unsigned char STAT_HEIZUNG_VERBAUT = (RXBUF_UCHAR(0));
// Status heating installed (0 = no / 1 = yes) / Status Heizung verbaut (0=nein/ 1=ja)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HEIZUNG_VERBAUT", "STAT_HEIZUNG_VERBAUT", STAT_HEIZUNG_VERBAUT, "\"0/1\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_VOKO_HEIZ_DAUER: { // 0xDF74
if (datalen < 25) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_VOKO_HEIZ_DAUER", 25);
break;
}
unsigned char STAT_VOKO_HEIZ_DAUER_MAX_WERT = (RXBUF_UCHAR(0));
// Predefined maximum preconditioning heating time in minutes (project-specific) / Vordefinierte maximale
// Vorkonditionierungs-Heizdauer in Minuten (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_MAX_WERT", STAT_VOKO_HEIZ_DAUER_MAX_WERT, "\"min\"");
unsigned long STAT_VOKO_HEIZ_DAUER_1_WERT = (RXBUF_UINT32(1));
// Number of duration classes: 0 <t <= tmax * 0.1 / Anzahl der Dauerklasse: 0 < t <= tmax*0.1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_1_WERT", STAT_VOKO_HEIZ_DAUER_1_WERT, "");
unsigned long STAT_VOKO_HEIZ_DAUER_2_WERT = (RXBUF_UINT32(5));
// Number of duration classes: tmax * 0.1 <t <= tmax * 0.2 / Anzahl der Dauerklasse: tmax*0.1 < t <= tmax*0.2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_2_WERT", STAT_VOKO_HEIZ_DAUER_2_WERT, "");
unsigned long STAT_VOKO_HEIZ_DAUER_3_WERT = (RXBUF_UINT32(9));
// Number of duration classes: tmax * 0.2 <t <= tmax * 0.3 / Anzahl der Dauerklasse: tmax*0.2 < t <= tmax*0.3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_3_WERT", STAT_VOKO_HEIZ_DAUER_3_WERT, "");
unsigned long STAT_VOKO_HEIZ_DAUER_4_WERT = (RXBUF_UINT32(13));
// Number of duration classes: tmax * 0.3 <t <= tmax * 0.4 / Anzahl der Dauerklasse: tmax*0.3 < t <= tmax*0.4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_4_WERT", STAT_VOKO_HEIZ_DAUER_4_WERT, "");
unsigned long STAT_VOKO_HEIZ_DAUER_5_WERT = (RXBUF_UINT32(17));
// Number of duration classes: tmax * 0.4 <t <= tmax * 0.6 / Anzahl der Dauerklasse: tmax*0.4 < t <= tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_5_WERT", STAT_VOKO_HEIZ_DAUER_5_WERT, "");
unsigned long STAT_VOKO_HEIZ_DAUER_6_WERT = (RXBUF_UINT32(21));
// Number of duration classes: t> tmax * 0.6 / Anzahl der Dauerklasse: t > tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_HEIZ_DAUER", "STAT_VOKO_HEIZ_DAUER_6_WERT", STAT_VOKO_HEIZ_DAUER_6_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADE_KOND_HEIZ_DAUER: { // 0xDF75
if (datalen < 16) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADE_KOND_HEIZ_DAUER", 16);
break;
}
unsigned long STAT_LADE_KOND_HEIZ_DAUER_MAX_WERT = (RXBUF_UINT32(0));
// Predefined maximum charge conditioning cooling time in minutes (project-specific) / Vordefinierte maximale
// Ladekonditionierungs-Kuehldauer in Minuten (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_MAX_WERT", STAT_LADE_KOND_HEIZ_DAUER_MAX_WERT, "\"min\"");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_1_WERT = (RXBUF_UINT(4));
// Number of duration classes: 0 <t <= tmax * 0.1 / Anzahl der Dauerklasse: 0 < t <= tmax*0.1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_1_WERT", STAT_LADE_KOND_HEIZ_DAUER_1_WERT, "");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_2_WERT = (RXBUF_UINT(6));
// Number of duration classes: tmax * 0.1 <t <= tmax * 0.2 / Anzahl der Dauerklasse: tmax*0.1 < t <= tmax*0.2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_2_WERT", STAT_LADE_KOND_HEIZ_DAUER_2_WERT, "");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_3_WERT = (RXBUF_UINT(8));
// Number of duration classes: tmax * 0.2 <t <= tmax * 0.3 / Anzahl der Dauerklasse: tmax*0.2 < t <= tmax*0.3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_3_WERT", STAT_LADE_KOND_HEIZ_DAUER_3_WERT, "");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_4_WERT = (RXBUF_UINT(10));
// Number of duration classes: tmax * 0.3 <t <= tmax * 0.4 / Anzahl der Dauerklasse: tmax*0.3 < t <= tmax*0.4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_4_WERT", STAT_LADE_KOND_HEIZ_DAUER_4_WERT, "");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_5_WERT = (RXBUF_UINT(12));
// Number of duration classes: tmax * 0.4 <t <= tmax * 0.6 / Anzahl der Dauerklasse: tmax*0.4 < t <= tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_5_WERT", STAT_LADE_KOND_HEIZ_DAUER_5_WERT, "");
unsigned short STAT_LADE_KOND_HEIZ_DAUER_6_WERT = (RXBUF_UINT(14));
// Number of duration classes: t> tmax * 0.6 / Anzahl der Dauerklasse: t > tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_KOND_HEIZ_DAUER", "STAT_LADE_KOND_HEIZ_DAUER_6_WERT", STAT_LADE_KOND_HEIZ_DAUER_6_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_VOKO_KUEHL_DAUER: { // 0xDF76
if (datalen < 25) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_VOKO_KUEHL_DAUER", 25);
break;
}
unsigned char STAT_VOKO_KUEHL_DAUER_MAX_WERT = (RXBUF_UCHAR(0));
// Predefined maximum pre-conditioning cooling time in minutes (project-specific) / Vordefinierte maximale
// Vorkonditionierungs-Kuehldauer in Minuten (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_MAX_WERT", STAT_VOKO_KUEHL_DAUER_MAX_WERT, "\"min\"");
unsigned long STAT_VOKO_KUEHL_DAUER_1_WERT = (RXBUF_UINT32(1));
// Number of duration classes: 0 <t <= tmax * 0.1 / Anzahl der Dauerklasse: 0 < t <= tmax*0.1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_1_WERT", STAT_VOKO_KUEHL_DAUER_1_WERT, "");
unsigned long STAT_VOKO_KUEHL_DAUER_2_WERT = (RXBUF_UINT32(5));
// Number of duration classes: tmax * 0.1 <t <= tmax * 0.2 / Anzahl der Dauerklasse: tmax*0.1 < t <= tmax*0.2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_2_WERT", STAT_VOKO_KUEHL_DAUER_2_WERT, "");
unsigned long STAT_VOKO_KUEHL_DAUER_3_WERT = (RXBUF_UINT32(9));
// Number of duration classes: tmax * 0.2 <t <= tmax * 0.3 / Anzahl der Dauerklasse: tmax*0.2 < t <= tmax*0.3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_3_WERT", STAT_VOKO_KUEHL_DAUER_3_WERT, "");
unsigned long STAT_VOKO_KUEHL_DAUER_4_WERT = (RXBUF_UINT32(13));
// Number of duration classes: tmax * 0.3 <t <= tmax * 0.4 / Anzahl der Dauerklasse: tmax*0.3 < t <= tmax*0.4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_4_WERT", STAT_VOKO_KUEHL_DAUER_4_WERT, "");
unsigned long STAT_VOKO_KUEHL_DAUER_5_WERT = (RXBUF_UINT32(17));
// Number of duration classes: tmax * 0.4 <t <= tmax * 0.6 / Anzahl der Dauerklasse: tmax*0.4 < t <= tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_5_WERT", STAT_VOKO_KUEHL_DAUER_5_WERT, "");
unsigned long STAT_VOKO_KUEHL_DAUER_6_WERT = (RXBUF_UINT32(21));
// Number of duration classes: t> tmax * 0.6 / Anzahl der Dauerklasse: t > tmax*0.6
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "VOKO_KUEHL_DAUER", "STAT_VOKO_KUEHL_DAUER_6_WERT", STAT_VOKO_KUEHL_DAUER_6_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADE_DAUER: { // 0xDF77
if (datalen < 13) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADE_DAUER", 13);
break;
}
unsigned char STAT_LADE_DAUER_MAX_WERT = (RXBUF_UCHAR(0));
// Predefined maximum charging time in hours (project-specific) / Vordefinierte maximale Ladezeit in Stunden
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADE_DAUER", "STAT_LADE_DAUER_MAX_WERT", STAT_LADE_DAUER_MAX_WERT, "\"h\"");
unsigned short STAT_LADEDAUER_1_WERT = (RXBUF_UINT(1));
// Number of charging duration classes: 0 <t <= tmax * 0.05 / Anzahl der Ladedauerklasse: 0 < t <= tmax*0.05
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_1_WERT", STAT_LADEDAUER_1_WERT, "");
unsigned short STAT_LADEDAUER_2_WERT = (RXBUF_UINT(3));
// Number of charging duration classes: tmax * 0.05 <t <= tmax * 0.1 / Anzahl der Ladedauerklasse: tmax*0.05 < t
// <= tmax*0.1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_2_WERT", STAT_LADEDAUER_2_WERT, "");
unsigned short STAT_LADEDAUER_3_WERT = (RXBUF_UINT(5));
// Number of charging duration classes: tmax * 0.1 <t <= tmax * 0.35 / Anzahl der Ladedauerklasse: tmax*0.1 < t
// <= tmax*0.35
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_3_WERT", STAT_LADEDAUER_3_WERT, "");
unsigned short STAT_LADEDAUER_4_WERT = (RXBUF_UINT(7));
// Number of charging duration classes: tmax * 0.35 <t <= tmax * 0.5 / Anzahl der Ladedauerklasse: tmax*0.35 < t
// <= tmax*0.5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_4_WERT", STAT_LADEDAUER_4_WERT, "");
unsigned short STAT_LADEDAUER_5_WERT = (RXBUF_UINT(9));
// Number of charging duration classes: tmax * 0.5 <t <= tmax / Anzahl der Ladedauerklasse: tmax*0.5 < t <= tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_5_WERT", STAT_LADEDAUER_5_WERT, "");
unsigned short STAT_LADEDAUER_6_WERT = (RXBUF_UINT(11));
// Number of charging duration classes: t> tmax / Anzahl der Ladedauerklasse: t > tmax
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "LADE_DAUER", "STAT_LADEDAUER_6_WERT", STAT_LADEDAUER_6_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_SOC_WARN_GRENZEN: { // 0xDF81
if (datalen < 28) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_SOC_WARN_GRENZEN", 28);
break;
}
float STAT_SOC_LOW_I_ZERO_WERT = (RXBUF_SINT(0)/100.0f);
// Predefined lower SOC warning limit-1 (project-specific) / Vordefinierte untere SOC-Warngrenze-1
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_SOC_LOW_I_ZERO_WERT", STAT_SOC_LOW_I_ZERO_WERT, "\"%\"");
float STAT_SOC_LOW_WARN_WERT = (RXBUF_SINT(2)/100.0f);
// Predefined lower SOC warning limit-2 (project-specific) / Vordefinierte untere SOC-Warngrenze-2
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_SOC_LOW_WARN_WERT", STAT_SOC_LOW_WARN_WERT, "\"%\"");
float STAT_SOC_HIGH_I_ZERO_WERT = (RXBUF_SINT(4)/100.0f);
// Predefined upper SOC warning limit-1 (project-specific) / Vordefinierte obere SOC-Warngrenze-1
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_SOC_HIGH_I_ZERO_WERT", STAT_SOC_HIGH_I_ZERO_WERT, "\"%\"");
float STAT_SOC_HIGH_WARN_WERT = (RXBUF_SINT(6)/100.0f);
// Predefined upper SOC warning limit-2 (project-specific) / Vordefinierte obere SOC-Warngrenze-2
// (projektspezifisch)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_SOC_HIGH_WARN_WERT", STAT_SOC_HIGH_WARN_WERT, "\"%\"");
unsigned long STAT_HIS_SOC_WARN_GRENZEN_1_WERT = (RXBUF_UINT32(8));
// Duration in: SOC <= SOC_LOW_I_ZERO / Dauer in: SOC<=SOC_LOW_I_ZERO
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_HIS_SOC_WARN_GRENZEN_1_WERT", STAT_HIS_SOC_WARN_GRENZEN_1_WERT, "\"min\"");
unsigned long STAT_HIS_SOC_WARN_GRENZEN_2_WERT = (RXBUF_UINT32(12));
// Duration in: SOC_LOW_I_ZERO <SOC <= SOC_LOW_WARN / Dauer in: SOC_LOW_I_ZERO<SOC<=SOC_LOW_WARN
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_HIS_SOC_WARN_GRENZEN_2_WERT", STAT_HIS_SOC_WARN_GRENZEN_2_WERT, "\"min\"");
unsigned long STAT_HIS_SOC_WARN_GRENZEN_3_WERT = (RXBUF_UINT32(16));
// Duration in: SOC_LOW_WARN <SOC <= SOC_HIGH_WARN / Dauer in: SOC_LOW_WARN<SOC<=SOC_HIGH_WARN
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_HIS_SOC_WARN_GRENZEN_3_WERT", STAT_HIS_SOC_WARN_GRENZEN_3_WERT, "\"min\"");
unsigned long STAT_HIS_SOC_WARN_GRENZEN_4_WERT = (RXBUF_UINT32(20));
// Duration in: SOC_HIGH_WARN <SOC <= SOC_HIGH_I_ZERO / Dauer in: SOC_HIGH_WARN<SOC<=SOC_HIGH_I_ZERO
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_HIS_SOC_WARN_GRENZEN_4_WERT", STAT_HIS_SOC_WARN_GRENZEN_4_WERT, "\"min\"");
unsigned long STAT_HIS_SOC_WARN_GRENZEN_5_WERT = (RXBUF_UINT32(24));
// Duration in: SOC> SOC_HIGH_I_ZERO / Dauer in: SOC >SOC_HIGH_I_ZERO
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_SOC_WARN_GRENZEN", "STAT_HIS_SOC_WARN_GRENZEN_5_WERT", STAT_HIS_SOC_WARN_GRENZEN_5_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ID_SBOX: { // 0xDF83
if (datalen < 8) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ID_SBOX", 8);
break;
}
unsigned long STAT_ID_SER_NR_WERT = (RXBUF_UINT32(0));
// Sequential number coded in hexadecimal / Laufende Nummer hexadezimal codiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "ID_SBOX", "STAT_ID_SER_NR_WERT", STAT_ID_SER_NR_WERT, "");
unsigned char STAT_ID_MV_HW_WERT = (RXBUF_UCHAR(4));
// HW version, consecutive number coded in hexadecimal / HW Version, laufende Nummer hexadezimal codiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ID_SBOX", "STAT_ID_MV_HW_WERT", STAT_ID_MV_HW_WERT, "");
unsigned char STAT_ID_MV_SW_WERT = (RXBUF_UCHAR(5));
// SW major version, consecutive number coded in hexadecimal / SW Hauptversion, laufende Nummer hexadezimal
// codiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ID_SBOX", "STAT_ID_MV_SW_WERT", STAT_ID_MV_SW_WERT, "");
unsigned char STAT_ID_SV_SW_WERT = (RXBUF_UCHAR(6));
// SW minor version, consecutive number coded in hexadecimal / SW Unterversion, laufende Nummer hexadezimal
// codiert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ID_SBOX", "STAT_ID_SV_SW_WERT", STAT_ID_SV_SW_WERT, "");
unsigned char STAT_ID_VAR_WERT = (RXBUF_UCHAR(7));
// Variant identifier SBOX 00000b: BK2.0 / Variantenkennung SBOX 00000b: BK2.0
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ID_SBOX", "STAT_ID_VAR_WERT", STAT_ID_VAR_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SOC_HISTORIE: { // 0xDF86
if (datalen < 15) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SOC_HISTORIE", 15);
break;
}
unsigned char STAT_SOC_DAY_1_WERT = (RXBUF_UCHAR(0));
// SOC value at the end of the first day of the week / SOC Wert am Ende des ersten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_1_WERT", STAT_SOC_DAY_1_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_2_WERT = (RXBUF_UCHAR(1));
// SOC value at the end of the second day of the week / SOC Wert am Ende des zweiten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_2_WERT", STAT_SOC_DAY_2_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_3_WERT = (RXBUF_UCHAR(2));
// SOC value at the end of the third day of the week / SOC Wert am Ende des dritten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_3_WERT", STAT_SOC_DAY_3_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_4_WERT = (RXBUF_UCHAR(3));
// SOC value at the end of the fourth day of the week / SOC Wert am Ende des vierten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_4_WERT", STAT_SOC_DAY_4_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_5_WERT = (RXBUF_UCHAR(4));
// SOC value at the end of the fifth day of the week / SOC Wert am Ende des fünften Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_5_WERT", STAT_SOC_DAY_5_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_6_WERT = (RXBUF_UCHAR(5));
// SOC value at the end of the sixth day of the week / SOC Wert am Ende des sechsten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_6_WERT", STAT_SOC_DAY_6_WERT, "\"%\"");
unsigned char STAT_SOC_DAY_7_WERT = (RXBUF_UCHAR(6));
// SOC value at the end of the seventh day of the week / SOC Wert am Ende des siebten Tages der Woche
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_DAY_7_WERT", STAT_SOC_DAY_7_WERT, "\"%\"");
unsigned char STAT_SOC_WEEK_2_WERT = (RXBUF_UCHAR(7));
// SOC value two weeks ago / SOC Wert vor zwei Wochen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_WEEK_2_WERT", STAT_SOC_WEEK_2_WERT, "\"%\"");
unsigned char STAT_SOC_WEEK_3_WERT = (RXBUF_UCHAR(8));
// SOC value three weeks ago / SOC Wert vor drei Wochen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_WEEK_3_WERT", STAT_SOC_WEEK_3_WERT, "\"%\"");
unsigned char STAT_SOC_WEEK_4_WERT = (RXBUF_UCHAR(9));
// SOC value four weeks ago / SOC Wert vor vier Wochen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_WEEK_4_WERT", STAT_SOC_WEEK_4_WERT, "\"%\"");
unsigned short STAT_LAST_HV_ON_WERT = (RXBUF_UINT(10));
// Time in hours since the last time HV was on HVofftime_last / Zeit in Stunden seit das letzte Mal HV on war
// HVofftime_last
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "SOC_HISTORIE", "STAT_LAST_HV_ON_WERT", STAT_LAST_HV_ON_WERT, "\"h\"");
unsigned char STAT_SOC_LAST_DRIVE_CYCLE_WERT = (RXBUF_UCHAR(12));
// SOC at the last end of the journey / SOC beim letzten Fahrtende
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SOC_HISTORIE", "STAT_SOC_LAST_DRIVE_CYCLE_WERT", STAT_SOC_LAST_DRIVE_CYCLE_WERT, "\"%\"");
unsigned short STAT_TIME_STAMP_LAST_CHG_END_WERT = (RXBUF_UINT(13));
// Time in hours when the last time loading was finished / canceled / Zeit in Stunden wann das letzte Mal Laden
// beendet/abgebrochen wurde
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "SOC_HISTORIE", "STAT_TIME_STAMP_LAST_CHG_END_WERT", STAT_TIME_STAMP_LAST_CHG_END_WERT, "\"h\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KL30C: { // 0xDF89
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KL30C", 1);
break;
}
unsigned char STAT_KL30C = (RXBUF_UCHAR(0));
// Reading out the logical status of the KL30C> not for I01 and I12, use STATUS_KL30C_SPANNUNG here / Auslesen
// des logischen Status der KL30C > nicht für I01 und I12, hier STATUS_KL30C_SPANNUNG verwenden
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KL30C", "STAT_KL30C", STAT_KL30C, "\"0-n\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM_TMIN: { // 0xDF8A
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM_TMIN", 48);
break;
}
unsigned long STAT_CHA_EFF_CURR_LIM_100_PERC_TMIN_WERT = (RXBUF_UINT32(0));
// At T &lt;-10: rms value of the current limit when loading to 100% life [Irms_cha (% 100)] &gt;&gt; This status
// output is no longer required and is set to zero. / Bei T < -10: Effektivwert der Stromgrenze beim Laden auf
// 100% Leben [Irms_cha(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_CHA_EFF_CURR_LIM_100_PERC_TMIN_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_TMIN_WERT, "\"A\"");
unsigned long STAT_CHA_EFF_CURR_LIM_3_PERC_TMIN_WERT = (RXBUF_UINT32(4));
// At T &lt;-10: RMS value of the current limit when loading to 3% life [Irms_cha (% 3)] &gt;&gt; This status
// output is no longer required and is set to zero. / Bei T < -10: Effektivwert der Stromgrenze beim Laden auf 3%
// Leben [Irms_cha(%3)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_CHA_EFF_CURR_LIM_3_PERC_TMIN_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_TMIN_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_100_PERC_TMIN_WERT = (RXBUF_UINT32(8));
// At T &lt;-10: RMS value of the current limit during charging and discharging (absolute) to 100% life [Irms_abs
// (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / Bei T < -10: Effektivwert der
// Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben [Irms_abs(%100)] >> Dieses Statusausgabe wird
// nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_ABS_EFF_CURR_LIM_100_PERC_TMIN_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_TMIN_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_3_PERC_TMIN_WERT = (RXBUF_UINT32(12));
// At T &lt;-10: RMS value of the current limit during charging and discharging (absolute) to 3% life [Irms_abs
// (% 3)] &gt;&gt; This status output is no longer required and is set to zero. / Bei T < -10: Effektivwert der
// Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_abs(%3)] >> Dieses Statusausgabe wird nicht
// mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_ABS_EFF_CURR_LIM_3_PERC_TMIN_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_TMIN_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_TMIN_WERT = (RXBUF_UINT32(16));
// If T <-10: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class: 0
// <= Irel_cha <= 70 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der
// Klasse: 0 <= Irel_cha <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_CHG_1_TMIN_WERT", STAT_HIS_EFF_CURR_CHG_1_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_TMIN_WERT = (RXBUF_UINT32(20));
// If T <-10: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class: 70
// <Irel_cha <= 100 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der
// Klasse: 70 < Irel_cha <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_CHG_2_TMIN_WERT", STAT_HIS_EFF_CURR_CHG_2_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_TMIN_WERT = (RXBUF_UINT32(24));
// For T <-10: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class:
// 100 <Irel_cha <= 140 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in
// der Klasse: 100 < Irel_cha <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_CHG_3_TMIN_WERT", STAT_HIS_EFF_CURR_CHG_3_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_TMIN_WERT = (RXBUF_UINT32(28));
// If T <-10: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class: 140
// <Irel_cha / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der Klasse:
// 140 < Irel_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_CHG_4_TMIN_WERT", STAT_HIS_EFF_CURR_CHG_4_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_TMIN_WERT = (RXBUF_UINT32(32));
// At T <-10: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 0 <= Irel_abs <= 70 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim
// Laden und Entladen in der Klasse: 0 <= Irel_abs <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_ABS_1_TMIN_WERT", STAT_HIS_EFF_CURR_ABS_1_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_TMIN_WERT = (RXBUF_UINT32(36));
// At T <-10: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 70 <Irel_abs <= 100 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim
// Laden und Entladen in der Klasse: 70 < Irel_abs <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_ABS_2_TMIN_WERT", STAT_HIS_EFF_CURR_ABS_2_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_TMIN_WERT = (RXBUF_UINT32(40));
// At T <-10: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 100 <Irel_abs <= 140 / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim
// beim Laden und Entladen in der Klasse: 100 < Irel_abs <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_ABS_3_TMIN_WERT", STAT_HIS_EFF_CURR_ABS_3_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_TMIN_WERT = (RXBUF_UINT32(44));
// If T <-10: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 140 <Irel_abs / Bei T < -10: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim Laden
// und Entladen in der Klasse: 140 < Irel_abs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMIN", "STAT_HIS_EFF_CURR_ABS_4_TMIN_WERT", STAT_HIS_EFF_CURR_ABS_4_TMIN_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM_TLOW: { // 0xDF8B
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM_TLOW", 48);
break;
}
unsigned long STAT_CHA_EFF_CURR_LIM_100_PERC_TLOW_WERT = (RXBUF_UINT32(0));
// At -10 &lt;= T &lt;5: RMS value of the current limit when loading to 100% life [Irms_cha (% 100)] &gt;&gt;
// This status output is no longer required and is set to zero. / Bei -10 <= T< 5: Effektivwert der Stromgrenze
// beim Laden auf 100% Leben [Irms_cha(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null
// bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_CHA_EFF_CURR_LIM_100_PERC_TLOW_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_TLOW_WERT, "\"A\"");
unsigned long STAT_CHA_EFF_CURR_LIM_3_PERC_TLOW_WERT = (RXBUF_UINT32(4));
// At -10 &lt;= T &lt;5: effective value of the current limit when loading to 3% life [Irms_cha (% 3)] &gt;&gt;
// This status output is no longer required and is set to zero. / Bei -10 <= T< 5: Effektivwert der Stromgrenze
// beim Laden auf 3% Leben [Irms_cha(%3)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null
// bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_CHA_EFF_CURR_LIM_3_PERC_TLOW_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_TLOW_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_100_PERC_TLOW_WERT = (RXBUF_UINT32(8));
// At -10 &lt;= T &lt;5: RMS value of the current limit during charging and discharging (absolute) to 100% life
// [Irms_abs (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / Bei -10 <= T< 5:
// Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben [Irms_abs(%100)] >> Dieses
// Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_ABS_EFF_CURR_LIM_100_PERC_TLOW_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_TLOW_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_3_PERC_TLOW_WERT = (RXBUF_UINT32(12));
// At -10 &lt;= T &lt;5: rms value of the current limit during charging and discharging (absolute) to 3% life
// [Irms_abs (% 3)] &gt;&gt; This status output is no longer required and is set to zero. / Bei -10 <= T< 5:
// Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_abs(%3)] >> Dieses
// Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_ABS_EFF_CURR_LIM_3_PERC_TLOW_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_TLOW_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_TLOW_WERT = (RXBUF_UINT32(16));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the
// class: 0 <= Irel_cha <= 70 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim
// beim Laden in der Klasse: 0 <= Irel_cha <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_CHG_1_TLOW_WERT", STAT_HIS_EFF_CURR_CHG_1_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_TLOW_WERT = (RXBUF_UINT32(20));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the
// class: 70 <Irel_cha <= 100 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim
// beim Laden in der Klasse: 70 < Irel_cha <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_CHG_2_TLOW_WERT", STAT_HIS_EFF_CURR_CHG_2_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_TLOW_WERT = (RXBUF_UINT32(24));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the
// class: 100 <Irel_cha <= 140 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim
// beim Laden in der Klasse: 100 < Irel_cha <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_CHG_3_TLOW_WERT", STAT_HIS_EFF_CURR_CHG_3_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_TLOW_WERT = (RXBUF_UINT32(28));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the
// class: 140 <Irel_cha / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim
// Laden in der Klasse: 140 < Irel_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_CHG_4_TLOW_WERT", STAT_HIS_EFF_CURR_CHG_4_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_TLOW_WERT = (RXBUF_UINT32(32));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 0 <= Irel_abs <= 70 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von
// Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 0 <= Irel_abs <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_ABS_1_TLOW_WERT", STAT_HIS_EFF_CURR_ABS_1_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_TLOW_WERT = (RXBUF_UINT32(36));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 70 <Irel_abs <= 100 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von
// Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 70 < Irel_abs <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_ABS_2_TLOW_WERT", STAT_HIS_EFF_CURR_ABS_2_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_TLOW_WERT = (RXBUF_UINT32(40));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 100 <Irel_abs <= 140 / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von
// Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 100 < Irel_abs <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_ABS_3_TLOW_WERT", STAT_HIS_EFF_CURR_ABS_3_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_TLOW_WERT = (RXBUF_UINT32(44));
// With -10 <= T <5: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 140 <Irel_abs / Bei -10 <= T < 5: Dauer in Minuten des Relativwerts von
// Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 140 < Irel_abs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TLOW", "STAT_HIS_EFF_CURR_ABS_4_TLOW_WERT", STAT_HIS_EFF_CURR_ABS_4_TLOW_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM_TMID: { // 0xDF8C
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM_TMID", 48);
break;
}
unsigned long STAT_CHA_EFF_CURR_LIM_100_PERC_TMID_WERT = (RXBUF_UINT32(0));
// With 5 &lt;= T &lt;25 (40 SP01): RMS value of the current limit when loading to 100% life [Irms_cha (% 100)]
// &gt;&gt; This status output is no longer required and is set to zero. / Bei 5 <= T< 25 (40 SP01): Effektivwert
// der Stromgrenze beim Laden auf 100% Leben [Irms_cha(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt
// und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_CHA_EFF_CURR_LIM_100_PERC_TMID_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_TMID_WERT, "\"A\"");
unsigned long STAT_CHA_EFF_CURR_LIM_3_PERC_TMID_WERT = (RXBUF_UINT32(4));
// With 5 &lt;= T &lt;25 (40 SP01): RMS value of the current limit when loading to 3% life [Irms_cha (% 3)]
// &gt;&gt; This status output is no longer required and is set to zero. / Bei 5 <= T< 25 (40 SP01): Effektivwert
// der Stromgrenze beim Laden auf 3% Leben [Irms_cha(%3)] >> Dieses Statusausgabe wird nicht mehr benötigt und
// ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_CHA_EFF_CURR_LIM_3_PERC_TMID_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_TMID_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_100_PERC_TMID_WERT = (RXBUF_UINT32(8));
// With 5 &lt;= T &lt;25 (40 SP01): RMS value of the current limit when charging and discharging (absolute) to
// 100% life [Irms_abs (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / Bei 5 <=
// T< 25 (40 SP01): Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben
// [Irms_abs(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_ABS_EFF_CURR_LIM_100_PERC_TMID_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_TMID_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_3_PERC_TMID_WERT = (RXBUF_UINT32(12));
// With 5 &lt;= T &lt;25 (40 SP01): RMS value of the current limit during charging and discharging (absolute) to
// 3% life [Irms_abs (% 3)] &gt;&gt; This status output is no longer required and is set to zero. / Bei 5 <= T<
// 25 (40 SP01): Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_abs(%3)] >>
// Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_ABS_EFF_CURR_LIM_3_PERC_TMID_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_TMID_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_TMID_WERT = (RXBUF_UINT32(16));
// With 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading
// in the class: 0 <= Irel_cha <= 70 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts von
// Irms_cha/Irms_cha_lim beim Laden in der Klasse: 0 <= Irel_cha <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_CHG_1_TMID_WERT", STAT_HIS_EFF_CURR_CHG_1_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_TMID_WERT = (RXBUF_UINT32(20));
// With 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading
// in the class: 70 <Irel_cha <= 100 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts von
// Irms_cha/Irms_cha_lim beim Laden in der Klasse: 70 < Irel_cha <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_CHG_2_TMID_WERT", STAT_HIS_EFF_CURR_CHG_2_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_TMID_WERT = (RXBUF_UINT32(24));
// With 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading
// in the class: 100 <Irel_cha <= 140 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts von
// Irms_cha/Irms_cha_lim beim Laden in der Klasse: 100 < Irel_cha <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_CHG_3_TMID_WERT", STAT_HIS_EFF_CURR_CHG_3_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_TMID_WERT = (RXBUF_UINT32(28));
// If 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in
// the class: 140 <Irel_cha / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts von
// Irms_cha/Irms_cha_lim beim Laden in der Klasse: 140 < Irel_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_CHG_4_TMID_WERT", STAT_HIS_EFF_CURR_CHG_4_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_TMID_WERT = (RXBUF_UINT32(32));
// With 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading
// and unloading in the class: 0 <= Irel_abs <= 70 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts
// von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 0 <= Irel_abs <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_ABS_1_TMID_WERT", STAT_HIS_EFF_CURR_ABS_1_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_TMID_WERT = (RXBUF_UINT32(36));
// With 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading
// and unloading in the class: 70 <Irel_abs <= 100 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts
// von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 70 < Irel_abs <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_ABS_2_TMID_WERT", STAT_HIS_EFF_CURR_ABS_2_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_TMID_WERT = (RXBUF_UINT32(40));
// If 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 100 <Irel_abs <= 140 / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts
// von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 100 < Irel_abs <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_ABS_3_TMID_WERT", STAT_HIS_EFF_CURR_ABS_3_TMID_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_TMID_WERT = (RXBUF_UINT32(44));
// If 5 <= T <25 (40 SP01): Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and
// unloading in the class: 140 <Irel_abs / Bei 5 <= T < 25 (40 SP01): Dauer in Minuten des Relativwerts von
// Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 140 < Irel_abs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMID", "STAT_HIS_EFF_CURR_ABS_4_TMID_WERT", STAT_HIS_EFF_CURR_ABS_4_TMID_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM_THIGH: { // 0xDF8D
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM_THIGH", 48);
break;
}
unsigned long STAT_CHA_EFF_CURR_LIM_100_PERC_THIGH_WERT = (RXBUF_UINT32(0));
// ONLY SE03 !!! At 25 &lt;= T &lt;40: effective value of the current limit when loading to 100% life [Irms_cha
// (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / NUR SE03!!! Bei 25 <= T< 40:
// Effektivwert der Stromgrenze beim Laden auf 100% Leben [Irms_cha(%100)] >> Dieses Statusausgabe wird nicht
// mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_CHA_EFF_CURR_LIM_100_PERC_THIGH_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_THIGH_WERT, "\"A\"");
unsigned long STAT_CHA_EFF_CURR_LIM_3_PERC_THIGH_WERT = (RXBUF_UINT32(4));
// ONLY SE03 !!! At 25 &lt;= T &lt;40: effective value of the current limit when loading to 3% life [Irms_cha (%
// 3)] &gt;&gt; This status output is no longer required and is set to zero. / NUR SE03!!! Bei 25 <= T< 40:
// Effektivwert der Stromgrenze beim Laden auf 3% Leben [Irms_cha(%3)] >> Dieses Statusausgabe wird nicht mehr
// benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_CHA_EFF_CURR_LIM_3_PERC_THIGH_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_THIGH_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_100_PERC_THIGH_WERT = (RXBUF_UINT32(8));
// ONLY SE03 !!! At 25 &lt;= T &lt;40: RMS value of the current limit during charging and discharging (absolute)
// to 100% life [Irms_abs (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / NUR
// SE03!!! Bei 25 <= T< 40: Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben
// [Irms_abs(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_ABS_EFF_CURR_LIM_100_PERC_THIGH_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_THIGH_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_3_PERC_THIGH_WERT = (RXBUF_UINT32(12));
// ONLY SE03 !!! At 25 &lt;= T &lt;40: RMS value of the current limit when charging and discharging (absolute) to
// 3% life [Irms_abs (% 3)] &gt;&gt; This status output is no longer required and is set to zero. / NUR SE03!!!
// Bei 25 <= T< 40: Effektivwert der Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_abs(%3)] >>
// Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_ABS_EFF_CURR_LIM_3_PERC_THIGH_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_THIGH_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_THIGH_WERT = (RXBUF_UINT32(16));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when
// loading in the class: 0 <= Irel_cha <= 70 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des Relativwerts
// von Irms_cha/Irms_cha_lim beim Laden in der Klasse: 0 <= Irel_cha <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_CHG_1_THIGH_WERT", STAT_HIS_EFF_CURR_CHG_1_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_THIGH_WERT = (RXBUF_UINT32(20));
// ONLY SE03 !!! If 25 <= T <40: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when
// loading in the class: 70 <Irel_cha <= 100 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des Relativwerts
// von Irms_cha/Irms_cha_lim beim Laden in der Klasse: 70 < Irel_cha <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_CHG_2_THIGH_WERT", STAT_HIS_EFF_CURR_CHG_2_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_THIGH_WERT = (RXBUF_UINT32(24));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when
// loading in the class: 100 <Irel_cha <= 140 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des Relativwerts
// von Irms_cha/Irms_cha_lim beim Laden in der Klasse: 100 < Irel_cha <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_CHG_3_THIGH_WERT", STAT_HIS_EFF_CURR_CHG_3_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_THIGH_WERT = (RXBUF_UINT32(28));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when
// loading in the class: 140 <Irel_cha / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des Relativwerts von
// Irms_cha/Irms_cha_lim beim Laden in der Klasse: 140 < Irel_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_CHG_4_THIGH_WERT", STAT_HIS_EFF_CURR_CHG_4_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_THIGH_WERT = (RXBUF_UINT32(32));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when
// loading and unloading in the class: 0 <= Irel_abs <= 70 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des
// Relativwerts von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 0 <= Irel_abs <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_ABS_1_THIGH_WERT", STAT_HIS_EFF_CURR_ABS_1_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_THIGH_WERT = (RXBUF_UINT32(36));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when
// loading and unloading in the class: 70 <Irel_abs <= 100 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des
// Relativwerts von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 70 < Irel_abs <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_ABS_2_THIGH_WERT", STAT_HIS_EFF_CURR_ABS_2_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_THIGH_WERT = (RXBUF_UINT32(40));
// ONLY SE03 !!! With 25 <= T <40: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when
// loading and unloading in the class: 100 <Irel_abs <= 140 / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des
// Relativwerts von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 100 < Irel_abs <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_ABS_3_THIGH_WERT", STAT_HIS_EFF_CURR_ABS_3_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_THIGH_WERT = (RXBUF_UINT32(44));
// ONLY SE03 !!! If 25 <= T <40: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when
// loading and unloading in the class: 140 <Irel_abs / NUR SE03!!! Bei 25 <= T < 40: Dauer in Minuten des
// Relativwerts von Irms_abs/Irms_dch_lim beim Laden und Entladen in der Klasse: 140 < Irel_abs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_THIGH", "STAT_HIS_EFF_CURR_ABS_4_THIGH_WERT", STAT_HIS_EFF_CURR_ABS_4_THIGH_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_EFF_STROM_TMAX: { // 0xDF8E
if (datalen < 48) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_EFF_STROM_TMAX", 48);
break;
}
unsigned long STAT_CHA_EFF_CURR_LIM_100_PERC_TMAX_WERT = (RXBUF_UINT32(0));
// At 40 &lt;= T: RMS value of the current limit when loading to 100% life [Irms_cha (% 100)] &gt;&gt; This
// status output is no longer required and is set to zero. / Bei 40 <= T: Effektivwert der Stromgrenze beim Laden
// auf 100% Leben [Irms_cha(%100)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_CHA_EFF_CURR_LIM_100_PERC_TMAX_WERT", STAT_CHA_EFF_CURR_LIM_100_PERC_TMAX_WERT, "\"A\"");
unsigned long STAT_CHA_EFF_CURR_LIM_3_PERC_TMAX_WERT = (RXBUF_UINT32(4));
// At 40 &lt;= T: effective value of the current limit when loading to 3% life [Irms_cha (% 3)] &gt;&gt; This
// status output is no longer required and is set to zero. / Bei 40 <= T: Effektivwert der Stromgrenze beim Laden
// auf 3% Leben [Irms_cha(%3)] >> Dieses Statusausgabe wird nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_CHA_EFF_CURR_LIM_3_PERC_TMAX_WERT", STAT_CHA_EFF_CURR_LIM_3_PERC_TMAX_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_100_PERC_TMAX_WERT = (RXBUF_UINT32(8));
// At 40 &lt;= T: RMS value of the current limit when charging and discharging (absolute) to 100% life [Irms_abs
// (% 100)] &gt;&gt; This status output is no longer required and is set to zero. / Bei 40 <= T: Effektivwert der
// Stromgrenze beim Laden und Entladen (Absolut) auf 100% Leben [Irms_abs(%100)] >> Dieses Statusausgabe wird
// nicht mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_ABS_EFF_CURR_LIM_100_PERC_TMAX_WERT", STAT_ABS_EFF_CURR_LIM_100_PERC_TMAX_WERT, "\"A\"");
unsigned long STAT_ABS_EFF_CURR_LIM_3_PERC_TMAX_WERT = (RXBUF_UINT32(12));
// At 40 &lt;= T: RMS value of the current limit when charging and discharging (absolute) to 3% life [Irms_abs (%
// 3)] &gt;&gt; This status output is no longer required and is set to zero. / Bei 40 <= T: Effektivwert der
// Stromgrenze beim Laden und Entladen (Absolut) auf 3% Leben [Irms_abs(%3)] >> Dieses Statusausgabe wird nicht
// mehr benötigt und ist mit Null bedatet.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_ABS_EFF_CURR_LIM_3_PERC_TMAX_WERT", STAT_ABS_EFF_CURR_LIM_3_PERC_TMAX_WERT, "\"A\"");
unsigned long STAT_HIS_EFF_CURR_CHG_1_TMAX_WERT = (RXBUF_UINT32(16));
// At 40 <= T: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class: 0
// <= Irel_cha <= 70 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der
// Klasse: 0 <= Irel_cha <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_CHG_1_TMAX_WERT", STAT_HIS_EFF_CURR_CHG_1_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_2_TMAX_WERT = (RXBUF_UINT32(20));
// At 40 <= T: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class: 70
// <Irel_cha <= 100 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der
// Klasse: 70 < Irel_cha <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_CHG_2_TMAX_WERT", STAT_HIS_EFF_CURR_CHG_2_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_3_TMAX_WERT = (RXBUF_UINT32(24));
// At 40 <= T: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class:
// 100 <Irel_cha <= 140 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in
// der Klasse: 100 < Irel_cha <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_CHG_3_TMAX_WERT", STAT_HIS_EFF_CURR_CHG_3_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_CHG_4_TMAX_WERT = (RXBUF_UINT32(28));
// At 40 <= T: Duration in minutes of the relative value of Irms_cha / Irms_cha_lim when loading in the class:
// 140 <Irel_cha / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_cha/Irms_cha_lim beim Laden in der
// Klasse: 140 < Irel_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_CHG_4_TMAX_WERT", STAT_HIS_EFF_CURR_CHG_4_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_1_TMAX_WERT = (RXBUF_UINT32(32));
// At 40 <= T: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 0 <= Irel_abs <= 70 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim
// Laden und Entladen in der Klasse: 0 <= Irel_abs <= 70
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_ABS_1_TMAX_WERT", STAT_HIS_EFF_CURR_ABS_1_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_2_TMAX_WERT = (RXBUF_UINT32(36));
// At 40 <= T: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 70 <Irel_abs <= 100 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim
// Laden und Entladen in der Klasse: 70 < Irel_abs <= 100
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_ABS_2_TMAX_WERT", STAT_HIS_EFF_CURR_ABS_2_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_3_TMAX_WERT = (RXBUF_UINT32(40));
// At 40 <= T: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 100 <Irel_abs <= 140 / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim
// beim Laden und Entladen in der Klasse: 100 < Irel_abs <= 140
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_ABS_3_TMAX_WERT", STAT_HIS_EFF_CURR_ABS_3_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_EFF_CURR_ABS_4_TMAX_WERT = (RXBUF_UINT32(44));
// At 40 <= T: Duration in minutes of the relative value of Irms_abs / Irms_dch_lim when loading and unloading in
// the class: 140 <Irel_abs / Bei 40 <= T: Dauer in Minuten des Relativwerts von Irms_abs/Irms_dch_lim beim Laden
// und Entladen in der Klasse: 140 < Irel_abs
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_EFF_STROM_TMAX", "STAT_HIS_EFF_CURR_ABS_4_TMAX_WERT", STAT_HIS_EFF_CURR_ABS_4_TMAX_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_STROM_TMIN: { // 0xDF8F
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_STROM_TMIN", 24);
break;
}
float STAT_CHA_CURR_ERR_INT_LIM_TMIN_WERT = (RXBUF_UINT32(0)/100.0f);
// At T <= -10: threshold value of the error integral of the current when loading [IerrIntLim_cha] / Bei T <=
// -10: Schwellwert des Fehlerintegrals des Stroms beim Laden [IerrIntLim_cha]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_CHA_CURR_ERR_INT_LIM_TMIN_WERT", STAT_CHA_CURR_ERR_INT_LIM_TMIN_WERT, "\"As\"");
float STAT_DCH_CURR_ERR_INT_LIM_TMIN_WERT = (RXBUF_UINT32(4)/100.0f);
// At T <= -10: threshold value of the error integral of the current when discharging [IerrIntLim_dch] / Bei T <=
// -10: Schwellwert des Fehlerintegrals des Stroms beim Entladen [IerrIntLim_dch]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_DCH_CURR_ERR_INT_LIM_TMIN_WERT", STAT_DCH_CURR_ERR_INT_LIM_TMIN_WERT, "\"As\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_1_TMIN_WERT = (RXBUF_UINT32(8));
// If T <= -10: Duration in minutes when loading in the class: 0 <= IerrInt_cha <IerrIntLim_cha / Bei T <= -10:
// Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_cha < IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_HIS_CHG_ERR_LIM_STROM_1_TMIN_WERT", STAT_HIS_CHG_ERR_LIM_STROM_1_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_2_TMIN_WERT = (RXBUF_UINT32(12));
// If T &lt;= -10: Duration in minutes when loading in the class: IerrInt_cha&gt; IerrIntLim_cha / Bei T <= -10:
// Dauer in Minuten beim Laden in der Klasse: IerrInt_cha > IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_HIS_CHG_ERR_LIM_STROM_2_TMIN_WERT", STAT_HIS_CHG_ERR_LIM_STROM_2_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_1_TMIN_WERT = (RXBUF_UINT32(16));
// If T <= -10: Duration in minutes when loading in the class: 0 <= IerrInt_dch <IerrIntLim_dch / Bei T <= -10:
// Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_dch < IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_HIS_DCH_ERR_LIM_STROM_1_TMIN_WERT", STAT_HIS_DCH_ERR_LIM_STROM_1_TMIN_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_2_TMIN_WERT = (RXBUF_UINT32(20));
// If T &lt;= -10: Duration in minutes when loading in the class: IerrInt_dch&gt; IerrIntLim_dch / Bei T <= -10:
// Dauer in Minuten beim Laden in der Klasse: IerrInt_dch > IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMIN", "STAT_HIS_DCH_ERR_LIM_STROM_2_TMIN_WERT", STAT_HIS_DCH_ERR_LIM_STROM_2_TMIN_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_STROM_TLOW: { // 0xDF90
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_STROM_TLOW", 24);
break;
}
float STAT_CHA_CURR_ERR_INT_LIM_TLOW_WERT = (RXBUF_UINT32(0)/100.0f);
// At -10 <T <= 5: threshold value of the error integral of the current during loading [IerrIntLim_cha] / Bei -10
// < T <= 5: Schwellwert des Fehlerintegrals des Stroms beim Laden [IerrIntLim_cha]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_CHA_CURR_ERR_INT_LIM_TLOW_WERT", STAT_CHA_CURR_ERR_INT_LIM_TLOW_WERT, "\"As\"");
float STAT_DCH_CURR_ERR_INT_LIM_TLOW_WERT = (RXBUF_UINT32(4)/100.0f);
// At -10 <T <= 5: threshold value of the error integral of the current during discharging [IerrIntLim_dch] / Bei
// -10 < T <= 5: Schwellwert des Fehlerintegrals des Stroms beim Entladen [IerrIntLim_dch]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_DCH_CURR_ERR_INT_LIM_TLOW_WERT", STAT_DCH_CURR_ERR_INT_LIM_TLOW_WERT, "\"As\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_1_TLOW_WERT = (RXBUF_UINT32(8));
// With -10 <T <= 5: Duration in minutes when loading in the class: 0 <= IerrInt_cha <IerrIntLim_cha / Bei -10 <
// T <= 5: Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_cha < IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_HIS_CHG_ERR_LIM_STROM_1_TLOW_WERT", STAT_HIS_CHG_ERR_LIM_STROM_1_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_2_TLOW_WERT = (RXBUF_UINT32(12));
// With -10 &lt;T &lt;= 5: Duration in minutes when loading in the class: IerrInt_cha&gt; IerrIntLim_cha / Bei
// -10 < T <= 5: Dauer in Minuten beim Laden in der Klasse: IerrInt_cha > IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_HIS_CHG_ERR_LIM_STROM_2_TLOW_WERT", STAT_HIS_CHG_ERR_LIM_STROM_2_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_1_TLOW_WERT = (RXBUF_UINT32(16));
// With -10 <T <= 5: Duration in minutes when loading in the class: 0 <= IerrInt_dch <IerrIntLim_dch / Bei -10 <
// T <= 5: Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_dch < IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_HIS_DCH_ERR_LIM_STROM_1_TLOW_WERT", STAT_HIS_DCH_ERR_LIM_STROM_1_TLOW_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_2_TLOW_WERT = (RXBUF_UINT32(20));
// With -10 &lt;T &lt;= 5: Duration in minutes when loading in the class: IerrInt_dch&gt; IerrIntLim_dch / Bei
// -10 < T <= 5: Dauer in Minuten beim Laden in der Klasse: IerrInt_dch > IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TLOW", "STAT_HIS_DCH_ERR_LIM_STROM_2_TLOW_WERT", STAT_HIS_DCH_ERR_LIM_STROM_2_TLOW_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_STROM_THIGH: { // 0xDF91
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_STROM_THIGH", 24);
break;
}
float STAT_CHA_CURR_ERR_INT_LIM_THIGH_WERT = (RXBUF_UINT32(0)/100.0f);
// If 5 <T <= 25: Threshold value of the error integral of the current when loading [IerrIntLim_cha] / Bei 5 < T
// <= 25: Schwellwert des Fehlerintegrals des Stroms beim Laden [IerrIntLim_cha]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_CHA_CURR_ERR_INT_LIM_THIGH_WERT", STAT_CHA_CURR_ERR_INT_LIM_THIGH_WERT, "\"As\"");
float STAT_DCH_CURR_ERR_INT_LIM_THIGH_WERT = (RXBUF_UINT32(4)/100.0f);
// If 5 <T <= 25: threshold value of the error integral of the current during discharge [IerrIntLim_dch] / Bei 5
// < T <= 25: Schwellwert des Fehlerintegrals des Stroms beim Entladen [IerrIntLim_dch]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_DCH_CURR_ERR_INT_LIM_THIGH_WERT", STAT_DCH_CURR_ERR_INT_LIM_THIGH_WERT, "\"As\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_1_THIGH_WERT = (RXBUF_UINT32(8));
// With 5 <T <= 25: Duration in minutes when loading in the class: 0 <= IerrInt_cha <IerrIntLim_cha / Bei 5 < T
// <= 25: Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_cha < IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_HIS_CHG_ERR_LIM_STROM_1_THIGH_WERT", STAT_HIS_CHG_ERR_LIM_STROM_1_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_2_THIGH_WERT = (RXBUF_UINT32(12));
// With 5 &lt;T &lt;= 25: Duration in minutes when loading in the class: IerrInt_cha&gt; IerrIntLim_cha / Bei 5 <
// T <= 25: Dauer in Minuten beim Laden in der Klasse: IerrInt_cha > IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_HIS_CHG_ERR_LIM_STROM_2_THIGH_WERT", STAT_HIS_CHG_ERR_LIM_STROM_2_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_1_THIGH_WERT = (RXBUF_UINT32(16));
// With 5 <T <= 25: Duration in minutes when loading in the class: 0 <= IerrInt_dch <IerrIntLim_dch / Bei 5 < T
// <= 25: Dauer in Minuten beim Laden in der Klasse: 0 <= IerrInt_dch < IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_HIS_DCH_ERR_LIM_STROM_1_THIGH_WERT", STAT_HIS_DCH_ERR_LIM_STROM_1_THIGH_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_2_THIGH_WERT = (RXBUF_UINT32(20));
// With 5 &lt;T &lt;= 25: Duration in minutes when loading in the class: IerrInt_dch&gt; IerrIntLim_dch / Bei 5 <
// T <= 25: Dauer in Minuten beim Laden in der Klasse: IerrInt_dch > IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_THIGH", "STAT_HIS_DCH_ERR_LIM_STROM_2_THIGH_WERT", STAT_HIS_DCH_ERR_LIM_STROM_2_THIGH_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_STROM_TMAX: { // 0xDF92
if (datalen < 24) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_STROM_TMAX", 24);
break;
}
float STAT_CHA_CURR_ERR_INT_LIM_TMAX_WERT = (RXBUF_UINT32(0)/100.0f);
// If 25 <T: threshold value of the error integral of the current during loading [IerrIntLim_cha] / Bei 25 < T:
// Schwellwert des Fehlerintegrals des Stroms beim Laden [IerrIntLim_cha]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_CHA_CURR_ERR_INT_LIM_TMAX_WERT", STAT_CHA_CURR_ERR_INT_LIM_TMAX_WERT, "\"As\"");
float STAT_DCH_CURR_ERR_INT_LIM_TMAX_WERT = (RXBUF_UINT32(4)/100.0f);
// If 25 <T: threshold value of the error integral of the current during discharging [IerrIntLim_dch] / Bei 25 <
// T: Schwellwert des Fehlerintegrals des Stroms beim Entladen [IerrIntLim_dch]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_DCH_CURR_ERR_INT_LIM_TMAX_WERT", STAT_DCH_CURR_ERR_INT_LIM_TMAX_WERT, "\"As\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_1_TMAX_WERT = (RXBUF_UINT32(8));
// At 25 <T: Duration in minutes when loading in the class: 0 <= IerrInt_cha <IerrIntLim_cha / Bei 25 < T: Dauer
// in Minuten beim Laden in der Klasse: 0 <= IerrInt_cha < IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_HIS_CHG_ERR_LIM_STROM_1_TMAX_WERT", STAT_HIS_CHG_ERR_LIM_STROM_1_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_CHG_ERR_LIM_STROM_2_TMAX_WERT = (RXBUF_UINT32(12));
// At 25 &lt;T: Duration in minutes when loading in the class: IerrInt_cha&gt; IerrIntLim_cha / Bei 25 < T: Dauer
// in Minuten beim Laden in der Klasse: IerrInt_cha > IerrIntLim_cha
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_HIS_CHG_ERR_LIM_STROM_2_TMAX_WERT", STAT_HIS_CHG_ERR_LIM_STROM_2_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_1_TMAX_WERT = (RXBUF_UINT32(16));
// At 25 <T: Duration in minutes when loading in the class: 0 <= IerrInt_dch <IerrIntLim_dch / Bei 25 < T: Dauer
// in Minuten beim Laden in der Klasse: 0 <= IerrInt_dch < IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_HIS_DCH_ERR_LIM_STROM_1_TMAX_WERT", STAT_HIS_DCH_ERR_LIM_STROM_1_TMAX_WERT, "\"min\"");
unsigned long STAT_HIS_DCH_ERR_LIM_STROM_2_TMAX_WERT = (RXBUF_UINT32(20));
// At 25 &lt;T: Duration in minutes when loading in the class: IerrInt_dch&gt; IerrIntLim_dch / Bei 25 < T: Dauer
// in Minuten beim Laden in der Klasse: IerrInt_dch > IerrIntLim_dch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HIS_ERR_LIM_STROM_TMAX", "STAT_HIS_DCH_ERR_LIM_STROM_2_TMAX_WERT", STAT_HIS_DCH_ERR_LIM_STROM_2_TMAX_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_LADEZEIT_ADAPT_KENNFELD_LESEN: { // 0xDF9C
if (datalen < 51) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_LADEZEIT_ADAPT_KENNFELD_LESEN", 51);
break;
}
float STAT_PWR_STUETZP_P1_WERT = (RXBUF_UCHAR(0)*200.0f);
// Available charging power, base P1 / Zur Verfügung stehende Ladeleistung, Stützpunkt P1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_PWR_STUETZP_P1_WERT", STAT_PWR_STUETZP_P1_WERT, "\"W\"");
float STAT_PWR_STUETZP_P2_WERT = (RXBUF_UCHAR(1)*200.0f);
// Available charging power, base P2 / Zur Verfügung stehende Ladeleistung, Stützpunkt P2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_PWR_STUETZP_P2_WERT", STAT_PWR_STUETZP_P2_WERT, "\"W\"");
char STAT_TEMP_STUETZP_T1_WERT = (RXBUF_SCHAR(2));
// Storage tank temperature, support point T1 / Speichertemperatur, Stützpunkt T1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_TEMP_STUETZP_T1_WERT", STAT_TEMP_STUETZP_T1_WERT, "\"°C\"");
char STAT_TEMP_STUETZP_T2_WERT = (RXBUF_SCHAR(3));
// Storage tank temperature, support point T2 / Speichertemperatur, Stützpunkt T2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_TEMP_STUETZP_T2_WERT", STAT_TEMP_STUETZP_T2_WERT, "\"°C\"");
char STAT_TEMP_STUETZP_T3_WERT = (RXBUF_SCHAR(4));
// Storage tank temperature, support point T3 / Speichertemperatur, Stützpunkt T3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_TEMP_STUETZP_T3_WERT", STAT_TEMP_STUETZP_T3_WERT, "\"°C\"");
char STAT_TEMP_STUETZP_T4_WERT = (RXBUF_SCHAR(5));
// Storage tank temperature, support point T4 / Speichertemperatur, Stützpunkt T4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_TEMP_STUETZP_T4_WERT", STAT_TEMP_STUETZP_T4_WERT, "\"°C\"");
unsigned char STAT_SOC_STUETZP_SOC1_WERT = (RXBUF_UCHAR(6));
// SOC (SOC_akt_max), base point SOC1 / SOC (SOC_akt_max), Stützpunkt SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_SOC_STUETZP_SOC1_WERT", STAT_SOC_STUETZP_SOC1_WERT, "\"%\"");
unsigned char STAT_SOC_STUETZP_SOC2_WERT = (RXBUF_UCHAR(7));
// SOC (SOC_akt_max), base point SOC2 / SOC (SOC_akt_max), Stützpunkt SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_SOC_STUETZP_SOC2_WERT", STAT_SOC_STUETZP_SOC2_WERT, "\"%\"");
unsigned char STAT_SOC_STUETZP_SOC3_WERT = (RXBUF_UCHAR(8));
// SOC (SOC_akt_max), base point SOC3 / SOC (SOC_akt_max), Stützpunkt SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_SOC_STUETZP_SOC3_WERT", STAT_SOC_STUETZP_SOC3_WERT, "\"%\"");
unsigned char STAT_SOC_STUETZP_SOC4_WERT = (RXBUF_UCHAR(9));
// SOC (SOC_akt_max), base point SOC4 / SOC (SOC_akt_max), Stützpunkt SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_SOC_STUETZP_SOC4_WERT", STAT_SOC_STUETZP_SOC4_WERT, "\"%\"");
unsigned char STAT_SOC_STUETZP_SOC5_WERT = (RXBUF_UCHAR(10));
// SOC (SOC_akt_max), base point SOC5 / SOC (SOC_akt_max), Stützpunkt SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_SOC_STUETZP_SOC5_WERT", STAT_SOC_STUETZP_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T1_SOC1_WERT = (RXBUF_UCHAR(11));
// Learning factor, characteristic value P1_T1_SOC1 / Lernfaktor, Kennwert P1_T1_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T1_SOC1_WERT", STAT_FAKT_P1_T1_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T1_SOC2_WERT = (RXBUF_UCHAR(12));
// Learning factor, characteristic value P1_T1_SOC2 / Lernfaktor, Kennwert P1_T1_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T1_SOC2_WERT", STAT_FAKT_P1_T1_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T1_SOC3_WERT = (RXBUF_UCHAR(13));
// Learning factor, characteristic value P1_T1_SOC3 / Lernfaktor, Kennwert P1_T1_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T1_SOC3_WERT", STAT_FAKT_P1_T1_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T1_SOC4_WERT = (RXBUF_UCHAR(14));
// Learning factor, characteristic value P1_T1_SOC4 / Lernfaktor, Kennwert P1_T1_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T1_SOC4_WERT", STAT_FAKT_P1_T1_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T1_SOC5_WERT = (RXBUF_UCHAR(15));
// Learning factor, characteristic value P1_T1_SOC5 / Lernfaktor, Kennwert P1_T1_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T1_SOC5_WERT", STAT_FAKT_P1_T1_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T2_SOC1_WERT = (RXBUF_UCHAR(16));
// Learning factor, characteristic value P1_T2_SOC1 / Lernfaktor, Kennwert P1_T2_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T2_SOC1_WERT", STAT_FAKT_P1_T2_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T2_SOC2_WERT = (RXBUF_UCHAR(17));
// Learning factor, characteristic value P1_T2_SOC2 / Lernfaktor, Kennwert P1_T2_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T2_SOC2_WERT", STAT_FAKT_P1_T2_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T2_SOC3_WERT = (RXBUF_UCHAR(18));
// Learning factor, characteristic value P1_T2_SOC3 / Lernfaktor, Kennwert P1_T2_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T2_SOC3_WERT", STAT_FAKT_P1_T2_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T2_SOC4_WERT = (RXBUF_UCHAR(19));
// Learning factor, characteristic value P1_T2_SOC4 / Lernfaktor, Kennwert P1_T2_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T2_SOC4_WERT", STAT_FAKT_P1_T2_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T2_SOC5_WERT = (RXBUF_UCHAR(20));
// Learning factor, characteristic value P1_T2_SOC5 / Lernfaktor, Kennwert P1_T2_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T2_SOC5_WERT", STAT_FAKT_P1_T2_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T3_SOC1_WERT = (RXBUF_UCHAR(21));
// Learning factor, characteristic value P1_T3_SOC1 / Lernfaktor, Kennwert P1_T3_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T3_SOC1_WERT", STAT_FAKT_P1_T3_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T3_SOC2_WERT = (RXBUF_UCHAR(22));
// Learning factor, characteristic value P1_T3_SOC2 / Lernfaktor, Kennwert P1_T3_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T3_SOC2_WERT", STAT_FAKT_P1_T3_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T3_SOC3_WERT = (RXBUF_UCHAR(23));
// Learning factor, characteristic value P1_T3_SOC3 / Lernfaktor, Kennwert P1_T3_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T3_SOC3_WERT", STAT_FAKT_P1_T3_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T3_SOC4_WERT = (RXBUF_UCHAR(24));
// Learning factor, characteristic value P1_T3_SOC4 / Lernfaktor, Kennwert P1_T3_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T3_SOC4_WERT", STAT_FAKT_P1_T3_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T3_SOC5_WERT = (RXBUF_UCHAR(25));
// Learning factor, characteristic value P1_T3_SOC5 / Lernfaktor, Kennwert P1_T3_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T3_SOC5_WERT", STAT_FAKT_P1_T3_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T4_SOC1_WERT = (RXBUF_UCHAR(26));
// Learning factor, characteristic value P1_T4_SOC1 / Lernfaktor, Kennwert P1_T4_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T4_SOC1_WERT", STAT_FAKT_P1_T4_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T4_SOC2_WERT = (RXBUF_UCHAR(27));
// Learning factor, characteristic value P1_T4_SOC2 / Lernfaktor, Kennwert P1_T4_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T4_SOC2_WERT", STAT_FAKT_P1_T4_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T4_SOC3_WERT = (RXBUF_UCHAR(28));
// Learning factor, characteristic value P1_T4_SOC3 / Lernfaktor, Kennwert P1_T4_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T4_SOC3_WERT", STAT_FAKT_P1_T4_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T4_SOC4_WERT = (RXBUF_UCHAR(29));
// Learning factor, characteristic value P1_T4_SOC4 / Lernfaktor, Kennwert P1_T4_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T4_SOC4_WERT", STAT_FAKT_P1_T4_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P1_T4_SOC5_WERT = (RXBUF_UCHAR(30));
// Learning factor, characteristic value P1_T4_SOC5 / Lernfaktor, Kennwert P1_T4_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P1_T4_SOC5_WERT", STAT_FAKT_P1_T4_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T1_SOC1_WERT = (RXBUF_UCHAR(31));
// Learning factor, characteristic value P2_T1_SOC1 / Lernfaktor, Kennwert P2_T1_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T1_SOC1_WERT", STAT_FAKT_P2_T1_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T1_SOC2_WERT = (RXBUF_UCHAR(32));
// Learning factor, characteristic value P2_T1_SOC2 / Lernfaktor, Kennwert P2_T1_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T1_SOC2_WERT", STAT_FAKT_P2_T1_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T1_SOC3_WERT = (RXBUF_UCHAR(33));
// Learning factor, characteristic value P2_T1_SOC3 / Lernfaktor, Kennwert P2_T1_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T1_SOC3_WERT", STAT_FAKT_P2_T1_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T1_SOC4_WERT = (RXBUF_UCHAR(34));
// Learning factor, characteristic value P2_T1_SOC4 / Lernfaktor, Kennwert P2_T1_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T1_SOC4_WERT", STAT_FAKT_P2_T1_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T1_SOC5_WERT = (RXBUF_UCHAR(35));
// Learning factor, characteristic value P2_T1_SOC5 / Lernfaktor, Kennwert P2_T1_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T1_SOC5_WERT", STAT_FAKT_P2_T1_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T2_SOC1_WERT = (RXBUF_UCHAR(36));
// Learning factor, characteristic value P2_T2_SOC1 / Lernfaktor, Kennwert P2_T2_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T2_SOC1_WERT", STAT_FAKT_P2_T2_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T2_SOC2_WERT = (RXBUF_UCHAR(37));
// Learning factor, characteristic value P2_T2_SOC2 / Lernfaktor, Kennwert P2_T2_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T2_SOC2_WERT", STAT_FAKT_P2_T2_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T2_SOC3_WERT = (RXBUF_UCHAR(38));
// Learning factor, characteristic value P2_T2_SOC3 / Lernfaktor, Kennwert P2_T2_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T2_SOC3_WERT", STAT_FAKT_P2_T2_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T2_SOC4_WERT = (RXBUF_UCHAR(39));
// Learning factor, characteristic value P2_T2_SOC4 / Lernfaktor, Kennwert P2_T2_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T2_SOC4_WERT", STAT_FAKT_P2_T2_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T2_SOC5_WERT = (RXBUF_UCHAR(40));
// Learning factor, characteristic value P2_T2_SOC5 / Lernfaktor, Kennwert P2_T2_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T2_SOC5_WERT", STAT_FAKT_P2_T2_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T3_SOC1_WERT = (RXBUF_UCHAR(41));
// Learning factor, characteristic value P2_T3_SOC1 / Lernfaktor, Kennwert P2_T3_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T3_SOC1_WERT", STAT_FAKT_P2_T3_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T3_SOC2_WERT = (RXBUF_UCHAR(42));
// Learning factor, characteristic value P2_T3_SOC2 / Lernfaktor, Kennwert P2_T3_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T3_SOC2_WERT", STAT_FAKT_P2_T3_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T3_SOC3_WERT = (RXBUF_UCHAR(43));
// Learning factor, characteristic value P2_T3_SOC3 / Lernfaktor, Kennwert P2_T3_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T3_SOC3_WERT", STAT_FAKT_P2_T3_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T3_SOC4_WERT = (RXBUF_UCHAR(44));
// Learning factor, characteristic value P2_T3_SOC4 / Lernfaktor, Kennwert P2_T3_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T3_SOC4_WERT", STAT_FAKT_P2_T3_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T3_SOC5_WERT = (RXBUF_UCHAR(45));
// Learning factor, characteristic value P2_T3_SOC5 / Lernfaktor, Kennwert P2_T3_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T3_SOC5_WERT", STAT_FAKT_P2_T3_SOC5_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T4_SOC1_WERT = (RXBUF_UCHAR(46));
// Learning factor, characteristic value P2_T4_SOC1 / Lernfaktor, Kennwert P2_T4_SOC1
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T4_SOC1_WERT", STAT_FAKT_P2_T4_SOC1_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T4_SOC2_WERT = (RXBUF_UCHAR(47));
// Learning factor, characteristic value P2_T4_SOC2 / Lernfaktor, Kennwert P2_T4_SOC2
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T4_SOC2_WERT", STAT_FAKT_P2_T4_SOC2_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T4_SOC3_WERT = (RXBUF_UCHAR(48));
// Learning factor, characteristic value P2_T4_SOC3 / Lernfaktor, Kennwert P2_T4_SOC3
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T4_SOC3_WERT", STAT_FAKT_P2_T4_SOC3_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T4_SOC4_WERT = (RXBUF_UCHAR(49));
// Learning factor, characteristic value P2_T4_SOC4 / Lernfaktor, Kennwert P2_T4_SOC4
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T4_SOC4_WERT", STAT_FAKT_P2_T4_SOC4_WERT, "\"%\"");
unsigned char STAT_FAKT_P2_T4_SOC5_WERT = (RXBUF_UCHAR(50));
// Learning factor, characteristic value P2_T4_SOC5 / Lernfaktor, Kennwert P2_T4_SOC5
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "LADEZEIT_ADAPT_KENNFELD_LESEN", "STAT_FAKT_P2_T4_SOC5_WERT", STAT_FAKT_P2_T4_SOC5_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_VERH_VOLLADE_LADEVORG_LESEN: { // 0xDF9E
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_VERH_VOLLADE_LADEVORG_LESEN", 1);
break;
}
unsigned char STAT_VERH_VOLLADE_LADEVORG_WERT = (RXBUF_UCHAR(0));
// Percentage of the ratio of full charges to total charges / Prozentualer Wert vom Verhältnis der
// Volladevorgänge zu den gesamten Ladevorgängen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "VERH_VOLLADE_LADEVORG_LESEN", "STAT_VERH_VOLLADE_LADEVORG_WERT", STAT_VERH_VOLLADE_LADEVORG_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ZUSTAND_SPEICHER: { // 0xDFA0
if (datalen < 38) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ZUSTAND_SPEICHER", 38);
break;
}
float STAT_ZELLKAPAZITAET_MIN_WERT = (RXBUF_UINT(0)/100.0f);
// Output of the current minimum measured cell capacity of all cells in Ah / Ausgabe der aktuellen minimalen
// gemessenen Zellkapazität aller Zellen in Ah
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLKAPAZITAET_MIN_WERT", STAT_ZELLKAPAZITAET_MIN_WERT, "\"Ah\"");
float STAT_ZELLKAPAZITAET_MAX_WERT = (RXBUF_UINT(2)/100.0f);
// Output of the current maximum measured cell capacity of all cells in Ah / Ausgabe der aktuellen maximalen
// gemessenen Zellkapazität aller Zellen in Ah
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLKAPAZITAET_MAX_WERT", STAT_ZELLKAPAZITAET_MAX_WERT, "\"Ah\"");
float STAT_ZELLKAPAZITAET_MEAN_WERT = (RXBUF_UINT(4)/100.0f);
// Output of the current mean measured cell capacity averaged over all cells in Ah / Ausgabe der aktuellen
// mittleren gemessenen Zellkapazität gemittelt über alle Zellen in Ah
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLKAPAZITAET_MEAN_WERT", STAT_ZELLKAPAZITAET_MEAN_WERT, "\"Ah\"");
float STAT_ZELLSPANNUNG_MIN_WERT = (RXBUF_UINT(6)/10000.0f);
// Output of the current minimum measured cell voltage of all cells in V. / Ausgabe der aktuellen minimalen
// gemessenen Zellspannung aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSPANNUNG_MIN_WERT", STAT_ZELLSPANNUNG_MIN_WERT, "\"V\"");
float STAT_ZELLSPANNUNG_MAX_WERT = (RXBUF_UINT(8)/10000.0f);
// Output of the current maximum measured cell voltage of all cells in V / Ausgabe der aktuellen maximalen
// gemessenen Zellspannung aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSPANNUNG_MAX_WERT", STAT_ZELLSPANNUNG_MAX_WERT, "\"V\"");
float STAT_ZELLSPANNUNG_MEAN_WERT = (RXBUF_UINT(10)/10000.0f);
// Output of the current mean measured cell voltage of all cells in V / Ausgabe der aktuellen mittleren
// gemessenen Zellspannung aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSPANNUNG_MEAN_WERT", STAT_ZELLSPANNUNG_MEAN_WERT, "\"V\"");
float STAT_ZELLTEMPERATUR_MIN_WERT = (RXBUF_SINT(12)/100.0f);
// Output of the current minimum measured cell temperature of all cells in ° C / Ausgabe der aktuellen minimalen
// gemessenen Zelltemperatur aller Zellen in °C
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLTEMPERATUR_MIN_WERT", STAT_ZELLTEMPERATUR_MIN_WERT, "\"°C\"");
float STAT_ZELLTEMPERATUR_MAX_WERT = (RXBUF_SINT(14)/100.0f);
// Output of the current maximum measured cell temperature of all cells in ° C / Ausgabe der aktuellen maximalen
// gemessenen Zelltemperatur aller Zellen in °C
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLTEMPERATUR_MAX_WERT", STAT_ZELLTEMPERATUR_MAX_WERT, "\"°C\"");
float STAT_ZELLTEMPERATUR_MEAN_WERT = (RXBUF_SINT(16)/100.0f);
// Output of the current mean measured cell temperature of all cells in ° C / Ausgabe der aktuellen mittleren
// gemessenen Zelltemperatur aller Zellen in °C
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLTEMPERATUR_MEAN_WERT", STAT_ZELLTEMPERATUR_MEAN_WERT, "\"°C\"");
float STAT_ZELLWIDERSTANDSFAKTOR_MIN_WERT = (RXBUF_UINT(18)/10000.0f);
// Output of the current minimum measured resistance factor of all cells / Ausgabe des aktuellen minimalen
// gemessenen Widerstandsfaktors aller Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLWIDERSTANDSFAKTOR_MIN_WERT", STAT_ZELLWIDERSTANDSFAKTOR_MIN_WERT, "");
float STAT_ZELLWIDERSTANDSFAKTOR_MAX_WERT = (RXBUF_UINT(20)/10000.0f);
// Output of the current maximum measured resistance factor of all cells / Ausgabe des aktuellen maximalen
// gemessenen Widerstandsfaktors aller Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLWIDERSTANDSFAKTOR_MAX_WERT", STAT_ZELLWIDERSTANDSFAKTOR_MAX_WERT, "");
float STAT_ZELLWIDERSTANDSFAKTOR_MEAN_WERT = (RXBUF_UINT(22)/10000.0f);
// Output of the current mean measured resistance factor of all cells / Ausgabe des aktuellen mittleren
// gemessenen Widerstandsfaktors aller Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLWIDERSTANDSFAKTOR_MEAN_WERT", STAT_ZELLWIDERSTANDSFAKTOR_MEAN_WERT, "");
float STAT_ZELLSOC_MIN_WERT = (RXBUF_UINT(24)/100.0f);
// Output of the current minimum measured SoC of all cells in% / Ausgabe des aktuellen minimalen gemessenen SoC
// aller Zellen in %
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSOC_MIN_WERT", STAT_ZELLSOC_MIN_WERT, "\"%\"");
float STAT_ZELLSOC_MAX_WERT = (RXBUF_UINT(26)/100.0f);
// Output of the current maximum measured SoC of all cells in% / Ausgabe des aktuellen maximalen gemessenen SoC
// aller Zellen in %
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSOC_MAX_WERT", STAT_ZELLSOC_MAX_WERT, "\"%\"");
float STAT_ZELLSOC_MEAN_WERT = (RXBUF_UINT(28)/100.0f);
// Output of the current mean measured SoC of all cells in% / Ausgabe des aktuellen mittleren gemessenen SoC
// aller Zellen in %
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLSOC_MEAN_WERT", STAT_ZELLSOC_MEAN_WERT, "\"%\"");
float STAT_ZELLOCV_MIN_WERT = (RXBUF_UINT(30)/10000.0f);
// Output of the current minimum OCV of all cells measured in the last resting state in V. / Ausgabe der
// aktuellen minimalen im letzten Ruhezustand gemessenen OCV aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLOCV_MIN_WERT", STAT_ZELLOCV_MIN_WERT, "\"V\"");
float STAT_ZELLOCV_MAX_WERT = (RXBUF_UINT(32)/10000.0f);
// Output of the current maximum OCV of all cells measured in the last resting state in V. / Ausgabe der
// aktuellen maximalen im letzten Ruhezustand gemessenen OCV aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLOCV_MAX_WERT", STAT_ZELLOCV_MAX_WERT, "\"V\"");
float STAT_ZELLOCV_MEAN_WERT = (RXBUF_UINT(34)/10000.0f);
// Output of the current mean OCV of all cells measured in the last resting state in V / Ausgabe der aktuellen
// mittleren im letzten Ruhezustand gemessenen OCV aller Zellen in V
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_ZELLOCV_MEAN_WERT", STAT_ZELLOCV_MEAN_WERT, "\"V\"");
float STAT_IMPEDANCE_ESTIMATION_ALPHA_WERT = (RXBUF_UINT(36)/10000.0f);
// Current aging factor of the serial and parallel ohmic resistance as well as the parallel capacitance (1.5 =
// increase of the current resistance by 50%) / Aktueller Alterungsfaktor des seriellen und parallelen ohmschen
// Wider aktuellenstands sowie der parallelen Kapazität (1,5 = Eröhung des aktuellen Wider aktuellenstands um
// 50%)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "ZUSTAND_SPEICHER", "STAT_IMPEDANCE_ESTIMATION_ALPHA_WERT", STAT_IMPEDANCE_ESTIMATION_ALPHA_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_ERR_LIM_SPANNUNG: { // 0xDFA1
if (datalen < 12) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_ERR_LIM_SPANNUNG", 12);
break;
}
float STAT_OVER_VOLT_INT_LIM_WERT = (RXBUF_UINT(0)/1000.0f);
// [UerrIntLim_over] Error threshold of the OVERVOLTAGE integral (at temperatures <-10 ° C the error threshold
// changes depending on the temperature.) / [UerrIntLim_over] Fehlerschwellwert des ÜBERspannungsintegrals (Bei
// Temperaturen < -10°C verändert sich der Fehlerschellwert temperaturabhängig.)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_OVER_VOLT_INT_LIM_WERT", STAT_OVER_VOLT_INT_LIM_WERT, "");
float STAT_UNDER_VOLT_INT_LIM_WERT = (RXBUF_UINT(2)/1000.0f);
// [UerrIntLim_under] Error threshold value of the UNDERVOLTAGE integral (at temperatures <-10 ° C the error
// threshold value changes depending on the temperature.) / [UerrIntLim_under] Fehlerschwellwert des
// UNTERspannungsintegrals (Bei Temperaturen < -10°C verändert sich der Fehlerschellwert temperaturabhängig.)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_UNDER_VOLT_INT_LIM_WERT", STAT_UNDER_VOLT_INT_LIM_WERT, "");
unsigned short STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_1_WERT = (RXBUF_UINT(4));
// Maximum duration in minutes across all modules when loading in the class: 0 <UerrInt_under <= UerrIntLim_under
// / Maximum der Dauer in Minuten über alle Module beim Laden in der Klasse: 0 <UerrInt_under <=
// UerrIntLim_under
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_1_WERT", STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_1_WERT, "\"min\"");
unsigned short STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_2_WERT = (RXBUF_UINT(6));
// Maximum of the duration in minutes over all modules when loading in the class: UerrInt_under> UerrIntLim_under
// / Maximum der Dauer in Minuten über alle Module beim Laden in der Klasse: UerrInt_under > UerrIntLim_under
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_2_WERT", STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_UNDER_2_WERT, "\"min\"");
unsigned short STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_1_WERT = (RXBUF_UINT(8));
// Maximum duration in minutes across all modules when loading in the class: 0 <UerrInt_over <= UerrIntLim_over /
// Maximum der Dauer in Minuten über alle Module beim Laden in der Klasse: 0 <UerrInt_over <= UerrIntLim_over
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_1_WERT", STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_1_WERT, "\"min\"");
unsigned short STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_2_WERT = (RXBUF_UINT(10));
// Maximum duration in minutes across all modules when loading in the class: UerrInt_over> UerrIntLim_over /
// Maximum der Dauer in Minuten über alle Module beim Laden in der Klasse: UerrInt_over > UerrIntLim_over
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "HIS_ERR_LIM_SPANNUNG", "STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_2_WERT", STAT_HIS_ERR_LIM_SPANNUNG_MODSMAX_OVER_2_WERT, "\"min\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HIS_SOC_MAX_MIN: { // 0xDFAE
if (datalen < 2) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HIS_SOC_MAX_MIN", 2);
break;
}
unsigned char STAT_SOC_MIN_NENN_MAX_WERT = (RXBUF_UCHAR(0));
// Output of the maximum nominal MIN SoC that occurs over the life of the vehicle. / Ausgabe des maximalen
// MIN-Nenn-SoC, der über Fahrzeuglebensdauer auftritt.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HIS_SOC_MAX_MIN", "STAT_SOC_MIN_NENN_MAX_WERT", STAT_SOC_MIN_NENN_MAX_WERT, "\"%\"");
unsigned char STAT_SOC_MIN_NENN_MIN_WERT = (RXBUF_UCHAR(1));
// Output of the minimum nominal MIN SoC that occurs over the life of the vehicle. / Ausgabe des minimalen
// MIN-Nenn-SoC, der über Fahrzeuglebensdauer auftritt.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HIS_SOC_MAX_MIN", "STAT_SOC_MIN_NENN_MIN_WERT", STAT_SOC_MIN_NENN_MIN_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_STATUS_HV_SPEICHER_ID: { // 0xDFE1
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_STATUS_HV_SPEICHER_ID", 4);
break;
}
unsigned short STAT_SP_ID_00 = (RXBUF_UINT(0));
// ID_00 memory type [invalid value = FFFF] / ID_00 Speicher-Typ [Ungültigkeitswert = FFFF]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "STATUS_HV_SPEICHER_ID", "STAT_SP_ID_00", STAT_SP_ID_00, "\"0-n\"");
unsigned short STAT_SP_ID_01_WERT = (RXBUF_UINT(2));
// ID_01 memory number [invalid value = FFFF] / ID_01 Speicher-Nummer [Ungültigkeitswert = FFFF]
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "STATUS_HV_SPEICHER_ID", "STAT_SP_ID_01_WERT", STAT_SP_ID_01_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_SYMMETRIERBAND: { // 0xDFE2
if (datalen < 11) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_SYMMETRIERBAND", 11);
break;
}
float STAT_SOC_LAST_BALANCING_WERT = (RXBUF_UCHAR(0)/2.0f);
// SoC that was last successfully balanced / SoC bei dem zuletzt erfolgreich Symmetriert wurde
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_SOC_LAST_BALANCING_WERT", STAT_SOC_LAST_BALANCING_WERT, "\"%\"");
unsigned long STAT_TIME_LAST_BALANCING_WERT = (RXBUF_UINT32(1));
// Absolute time at which the last successful symmetry / Absolute Zeit bei der zuletzt erfolgreich symmetriert
// wurde
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "SYMMETRIERBAND", "STAT_TIME_LAST_BALANCING_WERT", STAT_TIME_LAST_BALANCING_WERT, "\"s\"");
unsigned char STAT_DIFFERENCE_VOLTAGE_LAST_BALANCING_WERT = (RXBUF_UCHAR(5));
// Voltage difference in the last successful balancing process / Spannungsdifferenz beim letzten erfolgreichen
// Symmetriervorgang
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "SYMMETRIERBAND", "STAT_DIFFERENCE_VOLTAGE_LAST_BALANCING_WERT", STAT_DIFFERENCE_VOLTAGE_LAST_BALANCING_WERT, "\"mV\"");
float STAT_LAST_PARKING_SOC_1_WERT = (RXBUF_UCHAR(6)/2.0f);
// Last SoC at which the vehicle reached idle voltage / Letzter SoC bei dem das Fahrzeug Ruhespannung erreicht
// hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_LAST_PARKING_SOC_1_WERT", STAT_LAST_PARKING_SOC_1_WERT, "\"%\"");
float STAT_LAST_PARKING_SOC_2_WERT = (RXBUF_UCHAR(7)/2.0f);
// Second to last SoC in which the vehicle has reached idle voltage / Zweitletzter SoC bei dem das Fahrzeug
// Ruhespannung erreicht hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_LAST_PARKING_SOC_2_WERT", STAT_LAST_PARKING_SOC_2_WERT, "\"%\"");
float STAT_LAST_PARKING_SOC_3_WERT = (RXBUF_UCHAR(8)/2.0f);
// Third to last SoC at which the vehicle reached idle voltage / Drittletzter SoC bei dem das Fahrzeug
// Ruhespannung erreicht hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_LAST_PARKING_SOC_3_WERT", STAT_LAST_PARKING_SOC_3_WERT, "\"%\"");
float STAT_LAST_PARKING_SOC_4_WERT = (RXBUF_UCHAR(9)/2.0f);
// Fourth to last SoC in which the vehicle has reached idle voltage / Viertletzter SoC bei dem das Fahrzeug
// Ruhespannung erreicht hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_LAST_PARKING_SOC_4_WERT", STAT_LAST_PARKING_SOC_4_WERT, "\"%\"");
float STAT_LAST_PARKING_SOC_5_WERT = (RXBUF_UCHAR(10)/2.0f);
// Fifth to last SoC in which the vehicle has reached idle voltage / Fünftletzter SoC bei dem das Fahrzeug
// Ruhespannung erreicht hat
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "SYMMETRIERBAND", "STAT_LAST_PARKING_SOC_5_WERT", STAT_LAST_PARKING_SOC_5_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_GW_INFO_SCHNELLLADEN: { // 0xE50D
if (datalen < 16) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_GW_INFO_SCHNELLLADEN", 16);
break;
}
float STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_HIGH_WERT = (RXBUF_UINT(0)/100.0f);
// Share of the total energy throughput from fast charging at higher temperatures / Anteil des
// Gesamt-Energiedurchsatzes durch Schnellladen bei höheren Temperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO_SCHNELLLADEN", "STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_HIGH_WERT", STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_HIGH_WERT, "\"%\"");
float STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_LOW_WERT = (RXBUF_UINT(2)/100.0f);
// Share of the total energy throughput from fast charging at lower temperatures / Anteil des
// Gesamt-Energiedurchsatzes durch Schnellladen bei niedrigeren Temperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO_SCHNELLLADEN", "STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_LOW_WERT", STAT_ENERGIEANTEIL_SCHNELLLADEN_TEMP_LOW_WERT, "\"%\"");
float STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_HIGH_WERT = (RXBUF_UINT32(4)/10.0f);
// Energy throughput through fast charging at higher temperatures / Energiedurchsatz durch Schnellladen bei
// höheren Temperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO_SCHNELLLADEN", "STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_HIGH_WERT", STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_HIGH_WERT, "\"kWh\"");
float STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_LOW_WERT = (RXBUF_UINT32(8)/10.0f);
// Energy throughput through fast charging at lower temperatures / Energiedurchsatz durch Schnellladen bei
// niedrigeren Temperaturen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO_SCHNELLLADEN", "STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_LOW_WERT", STAT_ENERGIEDURCHSATZ_SCHNELLLADEN_TEMP_LOW_WERT, "\"kWh\"");
float STAT_ENERGIEDURCHSATZ_GESAMT_WERT = (RXBUF_UINT32(12)/10.0f);
// Total energy throughput of the storage / Gesamter Energiedurchsatz des Speichers
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "GW_INFO_SCHNELLLADEN", "STAT_ENERGIEDURCHSATZ_GESAMT_WERT", STAT_ENERGIEDURCHSATZ_GESAMT_WERT, "\"kWh\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_CODIERVARIABLEN_HV_SPEICHER: { // 0xE540
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_CODIERVARIABLEN_HV_SPEICHER", 4);
break;
}
unsigned char STAT_COOL_VALVE_PRESENT_WERT = (RXBUF_UCHAR(0));
// Coding parameters: cooling valve active / Codierparameter: Kühlventil aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CODIERVARIABLEN_HV_SPEICHER", "STAT_COOL_VALVE_PRESENT_WERT", STAT_COOL_VALVE_PRESENT_WERT, "\"HEX\"");
unsigned char STAT_COUNTRY_CODE_WERT = (RXBUF_UCHAR(1));
// Coding parameters: country code / Codierparameter: Ländercode
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CODIERVARIABLEN_HV_SPEICHER", "STAT_COUNTRY_CODE_WERT", STAT_COUNTRY_CODE_WERT, "\"HEX\"");
unsigned char STAT_COD_FUNKTION_SWITCH_WERT = (RXBUF_UCHAR(2));
// Coding parameters: Switch function / Codierparameter: Funktion Switch
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CODIERVARIABLEN_HV_SPEICHER", "STAT_COD_FUNKTION_SWITCH_WERT", STAT_COD_FUNKTION_SWITCH_WERT, "\"HEX\"");
unsigned char STAT_COD_STATSP_WERT = (RXBUF_UCHAR(3));
// Coding parameters: stationary memory / Codierparameter: Stationärspeicher
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CODIERVARIABLEN_HV_SPEICHER", "STAT_COD_STATSP_WERT", STAT_COD_STATSP_WERT, "\"HEX\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_ANZAHL_DEFEKTE_SICHERUNG: { // 0xE5F1
if (datalen < 1) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_ANZAHL_DEFEKTE_SICHERUNG", 1);
break;
}
unsigned char STAT_ANZAHL_DEFEKTE_SICHERUNG_WERT = (RXBUF_UCHAR(0));
// Number of defective fuses since all modules were last replaced / Anzahl der defekten Sicherungen seit dem
// letzten Tausch aller Module
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "ANZAHL_DEFEKTE_SICHERUNG", "STAT_ANZAHL_DEFEKTE_SICHERUNG_WERT", STAT_ANZAHL_DEFEKTE_SICHERUNG_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_HVOFF_VOLTAGES: { // 0xE5F2
if (datalen < 139) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_HVOFF_VOLTAGES", 139);
break;
}
unsigned char STAT_HVOFF_VOLTAGES_COUNTER_RB1_WERT = (RXBUF_UCHAR(0));
// Counter of written data records / Zähler der geschriebenen Datensätze
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_COUNTER_RB1_WERT", STAT_HVOFF_VOLTAGES_COUNTER_RB1_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_1_WERT = (RXBUF_UINT(1)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_2_WERT = (RXBUF_UINT(3)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_3_WERT = (RXBUF_UINT(5)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_4_WERT = (RXBUF_UINT(7)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB1_4_WERT, "\"V\"");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_1_WERT = (RXBUF_UCHAR(9));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_1_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_1_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_2_WERT = (RXBUF_UCHAR(10));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_2_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_2_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_3_WERT = (RXBUF_UCHAR(11));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_3_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_3_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_4_WERT = (RXBUF_UCHAR(12));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_4_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB1_4_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_1_WERT = (RXBUF_UINT(13)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_2_WERT = (RXBUF_UINT(15)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_3_WERT = (RXBUF_UINT(17)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_4_WERT = (RXBUF_UINT(19)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB1_4_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_1_WERT = (RXBUF_UINT(21)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_2_WERT = (RXBUF_UINT(23)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_3_WERT = (RXBUF_UINT(25)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_4_WERT = (RXBUF_UINT(27)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB1_4_WERT, "\"V\"");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_1_WERT = (RXBUF_UCHAR(29));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_1_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_1_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_2_WERT = (RXBUF_UCHAR(30));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_2_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_2_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_3_WERT = (RXBUF_UCHAR(31));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_3_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_3_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_4_WERT = (RXBUF_UCHAR(32));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_4_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB1_4_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB1_1_WERT = (RXBUF_UINT(33)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB1_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB1_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB1_2_WERT = (RXBUF_UINT(35)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB1_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB1_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB1_3_WERT = (RXBUF_UINT(37)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB1_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB1_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB1_4_WERT = (RXBUF_UINT(39)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB1_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB1_4_WERT, "\"V\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_1_WERT = (RXBUF_UINT32(41));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_1_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_1_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_2_WERT = (RXBUF_UINT32(45));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_2_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_2_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_3_WERT = (RXBUF_UINT32(49));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_3_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_3_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_4_WERT = (RXBUF_UINT32(53));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_4_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB1_4_WERT, "\"s\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_1 = (RXBUF_UCHAR(57));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_1", STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_1, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_2 = (RXBUF_UCHAR(58));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_2", STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_2, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_3 = (RXBUF_UCHAR(59));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_3", STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_3, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_4 = (RXBUF_UCHAR(60));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_4", STAT_HVOFF_VOLTAGES_STAT_SYM_RB1_4, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_1 = (RXBUF_UCHAR(61));
// Info about the number of cells in symmetry (n) / Info über die Anzahl in Symmetrierung befindlicher Zellen (n)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_1", STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_1, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_2 = (RXBUF_UCHAR(62));
// Info about the number of cells in symmetry (n) / Info über die Anzahl in Symmetrierung befindlicher Zellen (n)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_2", STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_2, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_3 = (RXBUF_UCHAR(63));
// Info about the number of cells in symmetry (n) / Info über die Anzahl in Symmetrierung befindlicher Zellen (n)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_3", STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_3, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_4 = (RXBUF_UCHAR(64));
// Info about the number of cells in symmetry (n) / Info über die Anzahl in Symmetrierung befindlicher Zellen (n)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_4", STAT_HVOFF_VOLTAGES_INFO_SYM_RB1_4, "\"0-n\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_1_WERT = (RXBUF_SCHAR(65));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_1_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_1_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_2_WERT = (RXBUF_SCHAR(66));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_2_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_2_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_3_WERT = (RXBUF_SCHAR(67));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_3_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_3_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_4_WERT = (RXBUF_SCHAR(68));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_4_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB1_4_WERT, "\"°C\"");
unsigned char STAT_HVOFF_VOLTAGES_COUNTER_RB2_WERT = (RXBUF_UCHAR(69));
// Counter of written data records / Zähler der geschriebenen Datensätze
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_COUNTER_RB2_WERT", STAT_HVOFF_VOLTAGES_COUNTER_RB2_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_1_WERT = (RXBUF_UINT(70)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_2_WERT = (RXBUF_UINT(72)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_3_WERT = (RXBUF_UINT(74)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_4_WERT = (RXBUF_UINT(76)/10000.0f);
// Minimum cell voltage / Minimale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MIN_RB2_4_WERT, "\"V\"");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_1_WERT = (RXBUF_UCHAR(78));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_1_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_1_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_2_WERT = (RXBUF_UCHAR(79));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_2_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_2_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_3_WERT = (RXBUF_UCHAR(80));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_3_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_3_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_4_WERT = (RXBUF_UCHAR(81));
// Index of the cell with the minimum cell voltage / Index der Zelle mit der minimalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_4_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MIN_RB2_4_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_1_WERT = (RXBUF_UINT(82)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_2_WERT = (RXBUF_UINT(84)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_3_WERT = (RXBUF_UINT(86)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_4_WERT = (RXBUF_UINT(88)/10000.0f);
// Average cell voltage / Durchschnittliche Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MEAN_RB2_4_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_1_WERT = (RXBUF_UINT(90)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_2_WERT = (RXBUF_UINT(92)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_3_WERT = (RXBUF_UINT(94)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_4_WERT = (RXBUF_UINT(96)/10000.0f);
// Maximum cell voltage / Maximale Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_MAX_RB2_4_WERT, "\"V\"");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_1_WERT = (RXBUF_UCHAR(98));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_1_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_1_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_2_WERT = (RXBUF_UCHAR(99));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_2_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_2_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_3_WERT = (RXBUF_UCHAR(100));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_3_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_3_WERT, "");
unsigned char STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_4_WERT = (RXBUF_UCHAR(101));
// Index of the cell with the maximum cell voltage / Index der Zelle mit der maximalen Zellspannung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_4_WERT", STAT_HVOFF_VOLTAGES_IDX_UCEL_MAX_RB2_4_WERT, "");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB2_1_WERT = (RXBUF_UINT(102)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB2_1_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB2_1_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB2_2_WERT = (RXBUF_UINT(104)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB2_2_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB2_2_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB2_3_WERT = (RXBUF_UINT(106)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB2_3_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB2_3_WERT, "\"V\"");
float STAT_HVOFF_VOLTAGES_UCEL_1_RB2_4_WERT = (RXBUF_UINT(108)/10000.0f);
// Voltage of the cell with the lowest index (first cell) / Spannung der Zelle mit dem niedrigsten Index (erste
// Zelle)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_UCEL_1_RB2_4_WERT", STAT_HVOFF_VOLTAGES_UCEL_1_RB2_4_WERT, "\"V\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_1_WERT = (RXBUF_UINT32(110));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_1_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_1_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_2_WERT = (RXBUF_UINT32(114));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_2_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_2_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_3_WERT = (RXBUF_UINT32(118));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_3_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_3_WERT, "\"s\"");
unsigned long STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_4_WERT = (RXBUF_UINT32(122));
// SME lifetime at the time of voltage measurement / SME Lebensdauer zum Zeitpunkt der Spannungsmessung
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_4_WERT", STAT_HVOFF_VOLTAGES_SME_LIFETIME_RB2_4_WERT, "\"s\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_1 = (RXBUF_UCHAR(126));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_1", STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_1, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_2 = (RXBUF_UCHAR(127));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_2", STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_2, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_3 = (RXBUF_UCHAR(128));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_3", STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_3, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_4 = (RXBUF_UCHAR(129));
// Cell symmetry status: 0 = inactive; 1 = active / Status der Zellsymmetrierung: 0 = inaktiv; 1 = aktiv
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_4", STAT_HVOFF_VOLTAGES_STAT_SYM_RB2_4, "\"0/1\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_1 = (RXBUF_UCHAR(130));
// Info about the number of cells in symmetry / Info über die Anzahl in Symmetrierung befindlicher Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_1", STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_1, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_2 = (RXBUF_UCHAR(131));
// Info about the number of cells in symmetry / Info über die Anzahl in Symmetrierung befindlicher Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_2", STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_2, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_3 = (RXBUF_UCHAR(132));
// Info about the number of cells in symmetry / Info über die Anzahl in Symmetrierung befindlicher Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_3", STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_3, "\"0-n\"");
unsigned char STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_4 = (RXBUF_UCHAR(133));
// Info about the number of cells in symmetry / Info über die Anzahl in Symmetrierung befindlicher Zellen
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_4", STAT_HVOFF_VOLTAGES_INFO_SYM_RB2_4, "\"0-n\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_1_WERT = (RXBUF_SCHAR(134));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_1_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_1_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_2_WERT = (RXBUF_SCHAR(135));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_2_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_2_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_3_WERT = (RXBUF_SCHAR(136));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_3_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_3_WERT, "\"°C\"");
char STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_4_WERT = (RXBUF_SCHAR(137));
// Average storage temperature / Durchschnittliche Speichertemperatur
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_4_WERT", STAT_HVOFF_VOLTAGES_T_CORE_AVG_RB2_4_WERT, "\"°C\"");
unsigned char STAT_HVOFF_VOLTAGES_COUNTER_SCORE_WERT = (RXBUF_UCHAR(138));
// Counter for evaluating the voltage drop over the lifetime / Zähler zur Bewertung des Spannungsabfalls über die
// Lebenszeit
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "HVOFF_VOLTAGES", "STAT_HVOFF_VOLTAGES_COUNTER_SCORE_WERT", STAT_HVOFF_VOLTAGES_COUNTER_SCORE_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_RB_SOH_KAPATEST_ERW: { // 0xE5F3
if (datalen < 27) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_RB_SOH_KAPATEST_ERW", 27);
break;
}
unsigned char STAT_TEMP_MEAN_DCH_END_TEST_1_WERT = (RXBUF_UCHAR(0));
// Mean simulated temperature at HVS level at the end of discharge of the first capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Entladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_DCH_END_TEST_1_WERT", STAT_TEMP_MEAN_DCH_END_TEST_1_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_DCH_END_TEST_1_WERT = (RXBUF_UCHAR(1));
// Minimum simulated temperature at HVS level at the end of discharge of the first capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_DCH_END_TEST_1_WERT", STAT_TEMP_MIN_DCH_END_TEST_1_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_DCH_END_TEST_1_WERT = (RXBUF_UCHAR(2));
// Maximum simulated temperature at HVS level at the end of discharge of the first capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_DCH_END_TEST_1_WERT", STAT_TEMP_MAX_DCH_END_TEST_1_WERT, "\"°C\"");
unsigned char STAT_TEMP_MEAN_CHA_END_TEST_1_WERT = (RXBUF_UCHAR(3));
// Mean simulated temperature at HVS level at the end of charging of the first capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Ladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_CHA_END_TEST_1_WERT", STAT_TEMP_MEAN_CHA_END_TEST_1_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_CHA_END_TEST_1_WERT = (RXBUF_UCHAR(4));
// Minimum simulated temperature at HVS level at the end of charging of the first capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_CHA_END_TEST_1_WERT", STAT_TEMP_MIN_CHA_END_TEST_1_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_CHA_END_TEST_1_WERT = (RXBUF_UCHAR(5));
// Maximum simulated temperature at HVS level at the end of charging of the first capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des ersten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_CHA_END_TEST_1_WERT", STAT_TEMP_MAX_CHA_END_TEST_1_WERT, "\"°C\"");
float STAT_FRC_PWR_CHG_TEST_1_WERT = (RXBUF_UCHAR(6)/10.0f);
// Charging power (from forecast) during the first capacity test / Ladeleistung (aus Prognose) bei erstem
// Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_FRC_PWR_CHG_TEST_1_WERT", STAT_FRC_PWR_CHG_TEST_1_WERT, "\"kW\"");
float STAT_I_DCH_END_FILT_TEST_1_WERT = (RXBUF_UCHAR(7)/10.0f);
// Aborted discharge current (filtered) during the first capacity test / Entladeabbruch-Strom (gefiltert) bei
// erstem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_I_DCH_END_FILT_TEST_1_WERT", STAT_I_DCH_END_FILT_TEST_1_WERT, "\"A\"");
unsigned char STAT_U_CELL_MIN_IDX_DCH_END_TEST_1_WERT = (RXBUF_UCHAR(8));
// Index of the cell with the minimum cell voltage at the end of the discharge of the first capacity test / Index
// der Zelle mit der minimalen Zellspannung bei Entladeende des ersen Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_U_CELL_MIN_IDX_DCH_END_TEST_1_WERT", STAT_U_CELL_MIN_IDX_DCH_END_TEST_1_WERT, "");
unsigned char STAT_TEMP_MEAN_DCH_END_TEST_2_WERT = (RXBUF_UCHAR(9));
// Mean simulated temperature at HVS level at the end of discharge of the second capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Entladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_DCH_END_TEST_2_WERT", STAT_TEMP_MEAN_DCH_END_TEST_2_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_DCH_END_TEST_2_WERT = (RXBUF_UCHAR(10));
// Minimum simulated temperature at HVS level at the end of the discharge of the second capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_DCH_END_TEST_2_WERT", STAT_TEMP_MIN_DCH_END_TEST_2_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_DCH_END_TEST_2_WERT = (RXBUF_UCHAR(11));
// Maximum simulated temperature at HVS level at the end of the discharge of the second capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_DCH_END_TEST_2_WERT", STAT_TEMP_MAX_DCH_END_TEST_2_WERT, "\"°C\"");
unsigned char STAT_TEMP_MEAN_CHA_END_TEST_2_WERT = (RXBUF_UCHAR(12));
// Mean simulated temperature at HVS level at the end of charging of the second capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Ladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_CHA_END_TEST_2_WERT", STAT_TEMP_MEAN_CHA_END_TEST_2_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_CHA_END_TEST_2_WERT = (RXBUF_UCHAR(13));
// Minimum simulated temperature at HVS level at the end of charging of the second capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_CHA_END_TEST_2_WERT", STAT_TEMP_MIN_CHA_END_TEST_2_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_CHA_END_TEST_2_WERT = (RXBUF_UCHAR(14));
// Maximum simulated temperature at HVS level at the end of charging of the second capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_CHA_END_TEST_2_WERT", STAT_TEMP_MAX_CHA_END_TEST_2_WERT, "\"°C\"");
float STAT_FRC_PWR_CHG_TEST_2_WERT = (RXBUF_UCHAR(15)/10.0f);
// Charging power (from forecast) in the second capacity test / Ladeleistung (aus Prognose) bei zweitem
// Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_FRC_PWR_CHG_TEST_2_WERT", STAT_FRC_PWR_CHG_TEST_2_WERT, "\"kW\"");
float STAT_I_DCH_END_FILT_TEST_2_WERT = (RXBUF_UCHAR(16)/10.0f);
// Aborted discharge current (filtered) during the second capacity test / Entladeabbruch-Strom (gefiltert) bei
// zweitem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_I_DCH_END_FILT_TEST_2_WERT", STAT_I_DCH_END_FILT_TEST_2_WERT, "\"A\"");
unsigned char STAT_U_CELL_MIN_IDX_DCH_END_TEST_2_WERT = (RXBUF_UCHAR(17));
// Index of the cell with the minimum cell voltage at the end of the discharge of the second capacity test /
// Index der Zelle mit der minimalen Zellspannung bei Entladeende des zweiten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_U_CELL_MIN_IDX_DCH_END_TEST_2_WERT", STAT_U_CELL_MIN_IDX_DCH_END_TEST_2_WERT, "");
unsigned char STAT_TEMP_MEAN_DCH_END_TEST_3_WERT = (RXBUF_UCHAR(18));
// Mean simulated temperature at HVS level at the end of discharge of the third capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Entladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_DCH_END_TEST_3_WERT", STAT_TEMP_MEAN_DCH_END_TEST_3_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_DCH_END_TEST_3_WERT = (RXBUF_UCHAR(19));
// Minimum simulated temperature at HVS level at the end of the discharge of the third capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_DCH_END_TEST_3_WERT", STAT_TEMP_MIN_DCH_END_TEST_3_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_DCH_END_TEST_3_WERT = (RXBUF_UCHAR(20));
// Maximum simulated temperature at HVS level at the end of the discharge of the third capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Entladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_DCH_END_TEST_3_WERT", STAT_TEMP_MAX_DCH_END_TEST_3_WERT, "\"°C\"");
unsigned char STAT_TEMP_MEAN_CHA_END_TEST_3_WERT = (RXBUF_UCHAR(21));
// Mean simulated temperature at HVS level at the end of charging of the third capacity test / Mittlere
// simulierte Temperatur auf HVS-Ebene bei Ladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MEAN_CHA_END_TEST_3_WERT", STAT_TEMP_MEAN_CHA_END_TEST_3_WERT, "\"°C\"");
unsigned char STAT_TEMP_MIN_CHA_END_TEST_3_WERT = (RXBUF_UCHAR(22));
// Minimum simulated temperature at HVS level at the end of charging of the third capacity test / Minimale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MIN_CHA_END_TEST_3_WERT", STAT_TEMP_MIN_CHA_END_TEST_3_WERT, "\"°C\"");
unsigned char STAT_TEMP_MAX_CHA_END_TEST_3_WERT = (RXBUF_UCHAR(23));
// Maximum simulated temperature at HVS level at the end of charging of the third capacity test / Maximale
// simulierte Temperatur auf HVS-Ebene bei Ladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_TEMP_MAX_CHA_END_TEST_3_WERT", STAT_TEMP_MAX_CHA_END_TEST_3_WERT, "\"°C\"");
float STAT_FRC_PWR_CHG_TEST_3_WERT = (RXBUF_UCHAR(24)/10.0f);
// Charging power (from forecast) in the third capacity test / Ladeleistung (aus Prognose) bei drittem
// Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_FRC_PWR_CHG_TEST_3_WERT", STAT_FRC_PWR_CHG_TEST_3_WERT, "\"kW\"");
float STAT_I_DCH_END_FILT_TEST_3_WERT = (RXBUF_UCHAR(25)/10.0f);
// Aborted discharge current (filtered) during the third capacity test / Entladeabbruch-Strom (gefiltert) bei
// drittem Kapazitätstest
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_I_DCH_END_FILT_TEST_3_WERT", STAT_I_DCH_END_FILT_TEST_3_WERT, "\"A\"");
unsigned char STAT_U_CELL_MIN_IDX_DCH_END_TEST_3_WERT = (RXBUF_UCHAR(26));
// Index of the cell with the minimum cell voltage at the end of the discharge of the third capacity test / Index
// der Zelle mit der minimalen Zellspannung bei Entladeende des dritten Kapazitätstests
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "RB_SOH_KAPATEST_ERW", "STAT_U_CELL_MIN_IDX_DCH_END_TEST_3_WERT", STAT_U_CELL_MIN_IDX_DCH_END_TEST_3_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_CPI_ANALYSE: { // 0xE5F4
if (datalen < 23) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_CPI_ANALYSE", 23);
break;
}
float STAT_CPI_REL_TEMP_WERT = (RXBUF_SINT(0)/10.0f);
// Relative deviation of the calculated temperature gradient from the threshold value / Relative Abweichung des
// berechneten Temperaturgradienten vom Schwellenwert
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_REL_TEMP_WERT", STAT_CPI_REL_TEMP_WERT, "\"%\"");
float STAT_CPI_TEMP_GRAD_WERT = (RXBUF_SINT32(2)/1000.0f);
// Calculated temperature gradient of the CPI diagnosis (unit K / min) / Berechneter Temperaturgradient der
// CPI-Diagnose (Einheit K/min)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_TEMP_GRAD_WERT", STAT_CPI_TEMP_GRAD_WERT, "");
unsigned long STAT_CPI_E_LOSS_WERT = (RXBUF_UINT32(6));
// Calculated energy loss of the CPI diagnosis (unit: Ws / min) / Berechnete Verlustenergie der CPI-Diagnose
// (Einheit: Ws/min)
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_E_LOSS_WERT", STAT_CPI_E_LOSS_WERT, "");
unsigned char STAT_CPI_DIAGNOSE = (RXBUF_UCHAR(10));
// Result of CPI diagnosis / Ergebnis CPI Diagnose
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_DIAGNOSE", STAT_CPI_DIAGNOSE, "\"0-n\"");
char STAT_CPI_TEMP_UMGEBUNG_WERT = (RXBUF_SCHAR(11));
// Ambient temperature during the CPI diagnosis / Umgebungstemperatatur während der CPI-Diagnose
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_TEMP_UMGEBUNG_WERT", STAT_CPI_TEMP_UMGEBUNG_WERT, "\"°C\"");
unsigned char STAT_CPI_FRT_AC = (RXBUF_UCHAR(12));
// Status of the interior air conditioning during the CPI diagnosis / Status der Innenraum-Klimatisierung während
// der CPI-Diagnose
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_FRT_AC", STAT_CPI_FRT_AC, "\"0-n\"");
unsigned long STAT_CPI_LIFE_TIME_WERT = (RXBUF_UINT32(13));
// Time stamp at the end of the CPI diagnosis / Zeitstempel am Ende der CPI-Diagnose
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%lu%s\n", "SME", "CPI_ANALYSE", "STAT_CPI_LIFE_TIME_WERT", STAT_CPI_LIFE_TIME_WERT, "\"s\"");
unsigned short STAT_ANZAHL_CPI_OK_WERT = (RXBUF_UINT(17));
// Number of CPI diagnoses since the last reset with the result Diag OK / Anzahl der CPI-Diagnosen seit dem
// letzten Reset mit Ergebnis Diag OK
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "CPI_ANALYSE", "STAT_ANZAHL_CPI_OK_WERT", STAT_ANZAHL_CPI_OK_WERT, "");
unsigned short STAT_ANZAHL_CPI_FAILED_WERT = (RXBUF_UINT(19));
// Number of CPI diagnoses since the last reset with the result Diag Failed / Anzahl der CPI-Diagnosen seit dem
// letzten Reset mit Ergebnis Diag Failed
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "CPI_ANALYSE", "STAT_ANZAHL_CPI_FAILED_WERT", STAT_ANZAHL_CPI_FAILED_WERT, "");
unsigned short STAT_ANZAHL_CPI_ABGEBROCHEN_WERT = (RXBUF_UINT(21));
// Number of prematurely aborted CPI diagnoses since the last reset / Anzahl der vorzeitig abgebrochenen
// CPI-Diagnosen seit dem letzten Reset
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%u%s\n", "SME", "CPI_ANALYSE", "STAT_ANZAHL_CPI_ABGEBROCHEN_WERT", STAT_ANZAHL_CPI_ABGEBROCHEN_WERT, "");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}
case I3_PID_SME_KAPAZITAETSTEST_ASYMMETRIE_POTENTIAL: { // 0xE5FA
if (datalen < 4) {
ESP_LOGW(TAG, "Received %d bytes for %s, expected %d", datalen, "I3_PID_SME_KAPAZITAETSTEST_ASYMMETRIE_POTENTIAL", 4);
break;
}
unsigned char STAT_KAPATEST_ASYM_ZELLE_ID_WERT = (RXBUF_UCHAR(0));
// Cell index of the cell that was most deeply discharged during the capacity test. / Zell-Index der Zelle, die
// während des Kapazitäts-Test am tiefsten entladen wurde.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KAPAZITAETSTEST_ASYMMETRIE_POTENTIAL", "STAT_KAPATEST_ASYM_ZELLE_ID_WERT", STAT_KAPATEST_ASYM_ZELLE_ID_WERT, "");
unsigned char STAT_KAPATEST_ASYM_MOD_ID_WERT = (RXBUF_UCHAR(1));
// Module index of the cell that was deeply discharged during the capacity test. / Modul-Index der Zelle, die
// während Kapazitätstest am tiefsten entladen wurde.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%x%s\n", "SME", "KAPAZITAETSTEST_ASYMMETRIE_POTENTIAL", "STAT_KAPATEST_ASYM_MOD_ID_WERT", STAT_KAPATEST_ASYM_MOD_ID_WERT, "");
float STAT_KAPATEST_ASYM_POT_WERT = (RXBUF_UINT(2)/10.0f);
// Capacity area that can potentially be made usable by balancing. / Kapazitätsbereich, der potenziell durch eine
// Symmetrierung nutzbar gemacht werden kann.
ESP_LOGD(TAG, "From ECU %s, pid %s: got %s=%.4f%s\n", "SME", "KAPAZITAETSTEST_ASYMMETRIE_POTENTIAL", "STAT_KAPATEST_ASYM_POT_WERT", STAT_KAPATEST_ASYM_POT_WERT, "\"%\"");
// ========== Add your processing here ==========
hexdump(rxbuf, type, pid);
break;
}