Merge pull request #1043 from SAP/dependabot/github_actions/actions/setup-python-5
[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
5 ## Prerequisites
6
7 This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
8
9 ```shell
10 poetry install
11 ```
12
13 ## Running the Server
14
15 To start the server, run the `server.py` script:
16
17 ```shell
18 python server.py
19 ```
20
21 The server will start listening for connections on port 9000.
22
23 ## Overview of the Server Scripts
24
25 ### Server.py
26
27 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 actions (`BootNotification`,`GetBaseReport`), most of which return a dummy response. The `GetBaseReport` method prints the received request and returns a simple confirmation message.
28
29 The server script uses the websockets and ocpp libraries to facilitate the WebSocket and OCPP communication.
30
31 ## Development
32
33 ### Code formatting
34
35 ```shell
36 poetry run task format
37 ```
38
39 ### Code linting
40
41 ```shell
42 poetry run task lint
43 ```
44
45 ## Note
46
47 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.
48
49 For reference:
50 https://github.com/mobilityhouse/ocpp