[autofix.ci] apply automated fixes
[e-mobility-charging-stations-simulator.git] / tests / ocpp-server / README.md
1 # OCPP2 Mock Server
2
3 This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python.
4 https://github.com/mobilityhouse/ocpp/blob/master/ocpp/v201/enums.py
5
6 ## Prerequisites
7
8 This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
9
10 ```shell
11 pip install poetry
12 ```
13
14 then
15
16 ```shell
17 poetry install
18 ```
19
20 ## Running the Server
21
22 To start the server, run the `server.py` script:
23
24 ```shell
25 poetry run task server
26 ```
27
28 or
29
30 ```shell
31 poetry run task server --request GetBaseReport --period 5
32 ```
33
34 The server will start listening for connections on port 9000.
35
36 ## Overview of the Server Scripts
37
38 ### Server.py
39
40 The 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.
41
42 The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation.
43
44 ## Development
45
46 ### Code formatting
47
48 ```shell
49 poetry run task format
50 ```
51
52 ### Code linting
53
54 ```shell
55 poetry run task lint
56 ```
57
58 ## Note
59
60 Primarily, 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.
61
62 For reference:
63 https://github.com/mobilityhouse/ocpp