[autofix.ci] apply automated fixes
[e-mobility-charging-stations-simulator.git] / tests / ocpp-server / README.md
CommitLineData
fa16d389
S
1# OCPP2 Mock Server
2
dd4588bb 3This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python.
f937c172 4https://github.com/mobilityhouse/ocpp/blob/master/ocpp/v201/enums.py
fa16d389
S
5
6## Prerequisites
7
c11be92a 8This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
f93800e5 9
f937c172
S
10```shell
11pip install poetry
12```
f93800e5 13
f937c172 14then
dd4588bb 15
ac96356c 16```shell
c11be92a 17poetry install
fa16d389
S
18```
19
20## Running the Server
21
22To start the server, run the `server.py` script:
23
ac96356c 24```shell
3a89ffcb 25poetry run task server
fa16d389 26```
f93800e5 27
f937c172 28or
fa16d389 29
f937c172
S
30```shell
31poetry run task server --request GetBaseReport --period 5
32```
f93800e5 33
fa16d389
S
34The server will start listening for connections on port 9000.
35
36## Overview of the Server Scripts
37
38### Server.py
39
4c69efea 40The server script waits for connections from clients. When a client connects, the server creates a new instance of the `ChargePoint` class. This class includes methods for handling various OCPP messages, most of which return a dummy response.
fa16d389 41
4c69efea 42The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation.
fa16d389 43
ac96356c
JB
44## Development
45
46### Code formatting
47
48```shell
49poetry run task format
50```
51
52### Code linting
53
54```shell
55poetry run task lint
56```
57
fa16d389
S
58## Note
59
c11be92a 60Primarily, this software is intended for testing applications. The server script don't adhere to the full OCPP specifications and it is advised not to use them in a production environment without additional development.
fa16d389
S
61
62For reference:
63https://github.com/mobilityhouse/ocpp