You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Restructured libocpp into seperate parts for OCPP1.6 and OCPP2.0.1 and common functionality
- Updated code generator to generate schemas for 1.6 and 2.0.1
- Generalized Websocket, PkiHandler, MessageQueue, types and ChargePoint (all used as common base for 1.6 ChargePoint and 2.0.1 ChargePoint)
- Very basic implementation of OCPP2.0.1 ChargePoint (BootNotification) ; Generated Datatypes and Enums are already included
- Templated CiString type with length as template parameter
- Templated MessageQueue, EnhancedMessage and ControlMessage with OCPP version
- MessageQueue now handles message timeouts and respects retry attempts and retry intervals
Signed-off-by: Kai-Uwe Hermann <kai-uwe.hermann@pionix.de>
Signed-off-by: pietfried <piet.goempel@pionix.de>
Copy file name to clipboardexpand all lines: README.md
+45-15
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,19 @@
1
-
# C++ implementation of OCPP (currently 1.6 JSON)
1
+
# C++ implementation of OCPP
2
2
3
-
This is a C++ library implementation of OCPP, currently in Version 1.6 (https://www.openchargealliance.org/protocols/ocpp-16/). It enables charging stations to communicate with cloud backends for remote control, monitoring and billing of charging processes.
3
+
This is a C++ library implementation of OCPP for version 1.6 (https://www.openchargealliance.org/protocols/ocpp-16/) and 2.0.1 (https://www.openchargealliance.org/protocols/ocpp-201/). It enables charging stations to communicate with cloud backends for remote control, monitoring and billing of charging processes.
4
4
5
5
Libocpp can be used for the communication of one charging station and multiple EVSE using a single websocket connection.
6
6
7
-
## Feature Profile Support
7
+
Libocpp provides a complete implementation of OCPP 1.6. The implementation of OCPP 2.0.1 is currently under development.
8
+
## Feature Support
8
9
9
-
The following table shows the current support for the listed feature profiles and application notes. The goal is to fully support all of these in the future.
10
+
The following tables show the current support for the listed feature profiles / functional blocks and application notes.
10
11
11
-
| Feature-Profile | Supported |
12
+
All documentation and the issue tracking can be found in our main repository here: https://github.com/EVerest/
The following table shows CSMS with which this library was tested. If you provide a CSMS that is not yet listed here, feel free to [contact us](https://lists.lfenergy.org/g/everest)!
31
57
32
58
- chargecloud
@@ -51,9 +77,13 @@ The following table shows CSMS with which this library was tested. If you provid
51
77
- ubitricity
52
78
- Weev Energy
53
79
80
+
### CSMS Compatibility OCPP 2.0.1
81
+
82
+
The implementation of OCPP 2.0.1 has not yet been tested against any CSMS.
83
+
54
84
## Integration with EVerest
55
85
56
-
This library is automatically integrated as the OCPP module within [everest-core](https://github.com/EVerest/everest-core) - the complete software stack for your charging station. It is recommended to use EVerest together with this OCPP implementation.
86
+
This library is automatically integrated as the OCPP and OCPP201 module within [everest-core](https://github.com/EVerest/everest-core) - the complete software stack for your charging station. It is recommended to use EVerest together with this OCPP implementation.
57
87
58
88
If you run libocpp with EVerest, the build process of [everest-core](https://github.com/EVerest/everest-core) will take care of installing all necessary dependencies for you.
59
89
@@ -67,7 +97,7 @@ Libocpp needs registered **callbacks** in order to execute control commands defi
67
97
68
98
The implementation must call **event handlers** of libocpp so that the library can track the state of the charging station and trigger OCPP messages accordingly (e.g. MeterValues.req , StatusNotification.req)
69
99
70
-
Your reference within libocpp to interact is a single instance to the class [ChargePoint](include/ocpp1_6/charge_point.hpp).
100
+
Your reference within libocpp to interact is a single instance to the class [ChargePoint](include/ocpp/v16/charge_point.hpp) for OCPP 1.6 or to the class [ChargePoint](include/ocpp/v201/charge_point.hpp) for OCPP 2.0.1.
71
101
72
102
### Install libocpp
73
103
@@ -92,13 +122,13 @@ Execute cmake and then make install:
92
122
make install
93
123
```
94
124
95
-
## Quickstart
125
+
## Quickstart for OCPP 1.6
96
126
97
-
Libocpp provides a small standalone OCPP client that you can control using command line.
127
+
Libocpp provides a small standalone OCPP1.6 client that you can control using command line.
98
128
99
129
Install the dependencies and libocpp as described in [Install libocpp](#install-libocpp).
100
130
101
-
Make sure you modify the following config entries in the [aux/config.json](aux/config.json) file according to the CSMS you want to connect to before executing make install.
131
+
Make sure you modify the following config entries in the [config.json](config/v16/config.json) file according to the CSMS you want to connect to before executing make install.
102
132
103
133
```json
104
134
{
@@ -109,15 +139,15 @@ Make sure you modify the following config entries in the [aux/config.json](aux/c
109
139
}
110
140
```
111
141
112
-
Cd into libocpp/build and execute cmake and then make install:
142
+
Change into libocpp/build and execute cmake and then make install:
Use the following command to start the charge point. Replace the config with [config-docker.json](aux/config-docker.json) if you want to test with the [SteVe](https://github.com/steve-community/steve#docker) CSMS running in a docker container.
150
+
Use the following command to start the charge point. Replace the config with [config-docker.json](config/v16/config-docker.json) if you want to test with the [SteVe](https://github.com/steve-community/steve#docker) CSMS running in a docker container.
0 commit comments