=== V2GDecoderNet - Exact EXI Codec === Byte-compatible C# port of OpenV2G EXI implementation Running exact roundtrip test on: ../../test1.exi Original EXI size: 131 bytes EXI body size: 49 bytes === Detailed EXI Decoding Debug === Stream position: 1, bit position: 8 ResponseCode: 19 (FAILED_ChargingProfileInvalid) Before DC_EVSEStatus - position: 2, bit: 5 DC_EVSEStatus decode start - position: 2, bit: 5 NotificationMaxDelay: 66 EVSENotification: 0 (None) HasIsolationStatus: False EVSEStatusCode: 5 (EVSE_EmergencyShutdown) DC_EVSEStatus decode end - position: 5, bit: 4 After DC_EVSEStatus - position: 5, bit: 4 Before EVSEPresentVoltage - position: 5, bit: 4 PhysicalValue decode start - position: 5, bit: 4 Multiplier: 0 -> -3 Unit: 2 (s) Value: 16944 -> 16944 PhysicalValue decode end - position: 8, bit: 2 EVSEPresentVoltage: -3, s, 16944 Before EVSEPresentCurrent - position: 8, bit: 2 PhysicalValue decode start - position: 8, bit: 2 Multiplier: 1 -> -2 Unit: 4 (V) Value: 3086 -> 3086 PhysicalValue decode end - position: 10, bit: 8 EVSEPresentCurrent: -2, V, 3086 Before EVSECurrentLimitAchieved - position: 10, bit: 8 EVSECurrentLimitAchieved: False Before EVSEVoltageLimitAchieved - position: 11, bit: 1 EVSEVoltageLimitAchieved: False Before EVSEPowerLimitAchieved - position: 11, bit: 2 EVSEPowerLimitAchieved: False Before choice read - position: 11, bit: 3 Read choice: 3 (0x3) at position 11, bit: 6 Processing EVSEID String decode start - position: 11, bit: 6 Length with offset: 20 Actual string length: 18 String bytes: 38-00-00-00-08-10-31-03-08-0C-0C-30-05-00-00-0C-40-F4 Decoded string: '81 0 @�' String decode end - position: 30, bit: 6 EVSEID: 81 0 @� Before SAScheduleTupleID - position: 30, bit: 6 SAScheduleTupleID: 4 (raw: 3) Before final choice - position: 31, bit: 6 Final choice: 0 Processing MeterInfo String decode start - position: 31, bit: 8 Length with offset: 6 Actual string length: 4 String bytes: 18-37-01-05 Decoded string: '7' String decode end - position: 36, bit: 8 Decoded EXI to message structure String encode start - value: '81 0 @�' Using preserved raw bytes: 38-00-00-00-08-10-31-03-08-0C-0C-30-05-00-00-0C-40-F4 Encoded length: 20 String encode complete String encode start - value: '7' Using preserved raw bytes: 18-37-01-05 Encoded length: 6 String encode complete Encoded message to EXI: 38 bytes === Exact Roundtrip Test Results === Original EXI body: 49 bytes New EXI: 38 bytes Files identical: NO ✗ Differences found: Offset 0025: 82 -> 80 Size difference: -11 bytes Saved original body to: ../../test1._original_body.exi Saved new EXI to: ../../test1._new_exact.exi ✗ Exact roundtrip test FAILED