Good afternoon, could you help me with a demo or simulation of the OCPP protocol I am new to this, what you want is to simulate how the charging is done with the protocol, but when adding it, the charging station for electric cars with its controller shows an error


the OpenEMS implementation of the OCPP protocol relies on the following library:

The driver you found (EVCS OCPP IES KeyWatt) is explicitely optimized for charging stations by IES - it might not be suitable for a simulation environment:

How does your test-setup look like?
Do you have access to actual OCPP charging station hardware or are you trying a pure software simulation?
Which error does ‘the Controller’ show?


A pure simulation is carried out, because the hardware is not available, it could be done this way or you will have to use the hardware

The EVCS OCPP IES KeyWatt Component starts an OCPP-Server and waits for a OCPP-Client - real hardware or simulator - to connect. How are you simulating the OCPP Client?

What I am trying to do is first a simulation with OCPP, the truth has been working and recently reviewing the OCPP client I was not very clear about what I want is to integrate a different EVCS that I have to do that as I should do it

Hi Raiza,

All the chargers have a configuration like this:


Example: IES Keywatt

Keep in mind that the current implementation of our OCPP Server is only a local Server that is acting like a Backend to be able to set power limits to the charger and get the current values.

The Component you are using requires now the Charger ID of the charger


and a separate OcppServer Component that is gathering all the chargers.


The “OCPP Backend Address” of the Charger is the IP-Address of the Device OpenEMS is running on and the configured port - e.g. ws://

Like this, the charger should be able to connect to the internal Backend. If the Charger ID is then the same as one of your configured Evcs Components - it will be mapped to that.

Anyways, if the charger provides a separate API like Modbus TCP or Rest, we suggest to use this, for reading current data and writing necessary setpoints/maximum limits.

1 Like

I have this type of charger 60-160kW
DC FAST CHARGER what I want is to implement this device inside the BackEnd, that would be possible

What I want to implement is a simulation of EVS with OCPP communication, but in this case all pure software, for this I must implement a device within the OpenEMS Edge in this case it would also be to integrate a Center system where it would be controlled, if you can help me with that information please

I think I’m still having trouble understanding what your current state is and what you want to do.

  • You wrote that you want to implement a new charger in the backend:

    • What Backend do you mean - I assume the current local implementation of OpenEMS Ocpp Backend or “EVCS OCPP Server”
    • Does the charger already support an OCPP version - at least 1.6?
      • If not - I don’t know if this is the right way/order to implement it - Maybe have a look in the OCPP Community first
      • If yes I would suggest to put “your” EVCS in the same network as the OpenEMS Device and try to match all the parameters like I wrote before (Backend-Address, … see last Post), activate the Debug Mode for the “Evcs OCPP Server” (it could/should be renamed) and have a look into the log if a charger want’s to register.
  • Afterwards you are writing to implement a simulation of EVS

    • Why you have to or want to simulate it?

What I try to integrate is the simulation with OCPP and then be able to do it with the physical device, because within the simulations that I observe within the OpenEMS a simulation of EVCS but without using the protocol.

Currently there is no evcs simulation for OCPP - i would look at similar devices like IES KeyWatt or ABL and implement it like this if it has already OCPP 1.6 implemented. If not, I would suggest to have a look into the OCPP Community, as I told you before.

If the charger I want to implement is “60-160kw CCS2 EV DC Charger Station” specifically it works with the OCPP protocol, then what you should do is create a new device and add the different characteristics depending on the other devices that have been implemented like the IES KeyWatt. or ABL

Yes, a new device has to be added for this.
I’m currently working on further improvements in the evcs structure, to make it a little bit easier to implement it. But there are not that many changes in the OCPP structure, as it is already generalized a lot. The important features like setting the charge power needs to be adopted to your charger openems/IesKeywattSingleCcs.java at 9585a222e6fda87c60452b4c0f1b2ae273d9eec6 · OpenEMS/openems · GitHub