feature: exiConnector decodes another text log format (with v2gtp header)

This commit is contained in:
uhi22 2024-08-05 12:56:16 +02:00
parent d075f4d088
commit 9e3dc7ca04
3 changed files with 621 additions and 4 deletions

18
RawExiLog.txt Normal file
View file

@ -0,0 +1,18 @@
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b46001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e000c300a081828568101818000000060a1e806030303e028386c04800
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800
01fe800100000029809a0203af96e35a4fb8de50e0a00100a081828568101818000000060a1e806030303e028386c04800

585
RawExiLog.txt.decoded.txt Normal file
View file

@ -0,0 +1,585 @@
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b46001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "45",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "302",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "46",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "302",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "46",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "302",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "46",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828570101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "302",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "46",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "301",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0b86001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "46",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "301",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "47",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0004080a001828568101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "1",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "1",
"EVSEStatusCode_text": "EVSE_Ready",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "0",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "301",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "47",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e000c300a081828568101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "OK",
"DC_EVSEStatus.EVSEIsolationStatus": "3",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "6",
"EVSEStatusCode_text": "EVSE_Malfunction",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "1",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "301",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}
01fe800100000023809a0203af96e35a4fb8de50d1401240c0c0bc6001810580480c08360100c143340800 means:
{
"msgName": "CurrentDemandReq",
"info": "35 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"DC_EVStatus.EVReady": "1",
"DC_EVStatus.EVErrorCode": "0",
"DC_EVErrorCodeText": "NO_ERROR",
"DC_EVStatus.EVRESSSOC": "73",
"EVTargetCurrent.Multiplier": "0",
"EVTargetCurrent.Value": "47",
"EVTargetCurrent.Unit": "A",
"EVMaximumVoltageLimit_isUsed": "0",
"EVMaximumCurrentLimit_isUsed": "0",
"EVMaximumPowerLimit_isUsed": "0",
"ChargingComplete": "0",
"EVTargetVoltage.Multiplier": "0",
"EVTargetVoltage.Value": "333",
"EVTargetVoltage.Unit": "V",
"debug": "Line9057Line9260Line436"
}
01fe800100000029809a0203af96e35a4fb8de50e0a00100a081828568101818000000060a1e806030303e028386c04800 means:
{
"msgName": "CurrentDemandRes",
"info": "41 bytes to convert",
"error": "",
"result": "",
"schema": "DIN",
"g_errn": "0",
"header.SessionID": "0ebe5b8d693ee379",
"header.Notification_isUsed": "0",
"header.Signature_isUsed": "0",
"ResponseCode": "FAILED_SequenceError",
"DC_EVSEStatus.EVSEIsolationStatus": "0",
"DC_EVSEStatus.EVSEIsolationStatus_isUsed": "1",
"DC_EVSEStatus.EVSEStatusCode": "2",
"EVSEStatusCode_text": "EVSE_Shutdown",
"DC_EVSEStatus.NotificationMaxDelay": "10",
"DC_EVSEStatus.EVSENotification": "1",
"EVSEPresentVoltage.Multiplier": "0",
"EVSEPresentVoltage.Value": "301",
"EVSEPresentVoltage.Unit": "V",
"EVSEPresentCurrent.Multiplier": "0",
"EVSEPresentCurrent.Value": "0",
"EVSEPresentCurrent.Unit": "A",
"EVSECurrentLimitAchieved": "0",
"EVSEVoltageLimitAchieved": "0",
"EVSEPowerLimitAchieved": "0",
"EVSEMaximumVoltageLimit.Multiplier": "0",
"EVSEMaximumVoltageLimit.Value": "500",
"EVSEMaximumVoltageLimit.Unit": "V",
"EVSEMaximumCurrentLimit.Multiplier": "0",
"EVSEMaximumCurrentLimit.Value": "62",
"EVSEMaximumCurrentLimit.Unit": "A",
"EVSEMaximumPowerLimit.Multiplier": "2",
"EVSEMaximumPowerLimit.Value": "1240",
"EVSEMaximumPowerLimit.Unit": "W",
"debug": "Line442"
}

View file

@ -298,13 +298,24 @@ def testReadExiFromExiLogFile(strLogFileName):
strDecoderSelection = "D" # it is a DIN message strDecoderSelection = "D" # it is a DIN message
if (strToDecode[1:3]=="H ") or (strToDecode[1:3]=="h "): if (strToDecode[1:3]=="H ") or (strToDecode[1:3]=="h "):
strDecoderSelection = "H" # it is a ProtocolHandshake message strDecoderSelection = "H" # it is a ProtocolHandshake message
if (strDecoderSelection==""): # no decoder prefix contained in the file. Assume DIN.
strDecoderSelection = "D"
if (len(strDecoderSelection)>0): # if we have selected a valid decoder if (len(strDecoderSelection)>0): # if we have selected a valid decoder
posOfSpace=2 posOfSpace=strToDecode.find(" ")
s = strToDecode[posOfSpace+1:] # The part after the " " contains the EXI hex data. if (posOfSpace>0):
posStartOfData = posOfSpace+1 # we have a space in the line, the exi data starts after the space
else:
print(strToDecode[0:4])
if (strToDecode[0:4]=="01fe"):
print("seems we have a v2gtp header")
posStartOfData = 16 # we have a v2gtp header, so the exi data starts after 16 characters
else:
print("seems we have raw exi data")
posStartOfData = 1 # assume raw exi at the start of the line
s = strToDecode[posStartOfData:] # The part after the " " contains the EXI hex data.
s = s.replace(" ", "") # Remove blanks s = s.replace(" ", "") # Remove blanks
s = s.replace("\n", "") # Remove line feeds s = s.replace("\n", "") # Remove line feeds
#print(s) print(s)
decoded=exiDecode(s, "D"+strDecoderSelection) decoded=exiDecode(s, "D"+strDecoderSelection)
print(myLine.replace("\n", "") + " means:") print(myLine.replace("\n", "") + " means:")
print(decoded) print(decoded)
@ -342,6 +353,9 @@ if __name__ == "__main__":
testReadExiFromExiLogFile('DemoExiLog.txt') testReadExiFromExiLogFile('DemoExiLog.txt')
testReadExiFromExiLogFile('PevExiLog.txt') testReadExiFromExiLogFile('PevExiLog.txt')
exit() exit()
if (True):
testReadExiFromExiLogFile('RawExiLog.txt')
exit()
if (True): if (True):
print("ChargeParameterDiscovery of the BMW iX, https://github.com/uhi22/pyPLC/issues/14#issuecomment-1895437190") print("ChargeParameterDiscovery of the BMW iX, https://github.com/uhi22/pyPLC/issues/14#issuecomment-1895437190")
print("From Everest logs (successful)") print("From Everest logs (successful)")