This is a small fuzzy generator. It generates exi streams and matching json files for DIN70121, ISO15118-2 and -20 messages.
It uses the message definition from the iso15118
project (https://github.com/EcoG-io/iso15118).
Efficient XML Interchange (EXI) is a very compact representation for the Extensible Markup Language (XML) Information Set that is intended to simultaneously optimize performance and the utilization of computational resources
-- Efficient XML Interchange (EXI) Format 1.0 (Second Edition) 1
With this generator it is possible to generate thousands of different exi streams and matching json files to test EXI codec libraries. The DIN and ISO messages do not make sense for a charging process, but are still valid EXI streams that comply with the XSD.
Install the necessary python packages using
python3 -m pip install -r requirements.txt
Use the following command to generate the exi streams and json files
python3 src/main.py
You can find the generated data in the output
folder, saved as .csv
files.
You can change the number of generated messages using the arguments
python3 src/main.py ---number-sap-msgs 5 --number-din-msgs 25 --number-iso2-msgs 40
The current generator status is described here, which messages can currently be generated.
Messages (Req & Res) | Status |
---|---|
SessionSetup | ✔️ |
ServiceDiscovery | ✔️ |
ServicePaymentSelectio | ✔️ |
ContractAuthentication | ✔️ |
ChargeParameterDiscovery | ✔️ |
PowerDelivery | ✔️ |
CableCheck | ✔️ |
PreCharge | ✔️ |
CurrentDemand | ✔️ |
WeldingDetection | ✔️ |
SessionStop | ✔️ |
Messages (Req & Res) | Status |
---|---|
SessionSetup | ✔️ |
ServiceDiscovery | ✔️ |
ServiceDetail | ✔️ |
PaymentServiceSelection | ✔️ |
CertificateInstallation | |
CertificateUpdate | |
PaymentDetails | |
Authorization | ✔️ |
ChargeParameterDiscovery | |
PowerDelivery | |
ChargingStatus | ✔️ |
MeteringReceipt | |
CableCheck | ✔️ |
PreCharge | ✔️ |
CurrentDemand | ✔️ |
WeldingDetection | ✔️ |
Messages (Req & Res) | Status |
---|---|