]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/blame - tests/ocpp-server/README.md
build(deps): bump the regular group across 1 directory with 6 updates (#1452)
[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.
fa16d389
S
4
5## Prerequisites
6
c11be92a 7This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
f93800e5 8
ac96356c 9```shell
b3bd9446 10poetry install --no-root
fa16d389
S
11```
12
13## Running the Server
14
15To start the server, run the `server.py` script:
16
ac96356c 17```shell
3a89ffcb 18poetry run task server
fa16d389 19```
f93800e5 20
63bdd06f
JB
21Or
22
23```shell
24poetry run python server.py
25```
26
7c945b4a
S
27The server will start listening for connections on port 9000.
28
e3861e41 29## Running the server with OCPP command sending
7c945b4a 30
e3861e41 31You can also specify a command and a period duration with the --command and --period options respectively when running the server. The server will then send your chosen command to the connected client(s) every period seconds.
7c945b4a
S
32
33### GetBaseReport Command
34
35To run the server and send a GetBaseReport command every 5 seconds, use:
fa16d389 36
f937c172 37```shell
299eb3fa 38poetry run task server --command GetBaseReport --period 5
f937c172 39```
f93800e5 40
7c945b4a
S
41### ClearCache Command
42
43To run the server and send a ClearCache command every 5 seconds, use:
44
45```shell
299eb3fa 46poetry run task server --command ClearCache --period 5
7c945b4a
S
47```
48
e3861e41 49Please be mindful that these commands were examples according to the provided scenario, the available commands and their syntax might vary depending on the ocpp version and the implemented functionalities on your client.
fa16d389
S
50
51## Overview of the Server Scripts
52
53### Server.py
54
4c69efea 55The 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 56
4c69efea 57The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation.
fa16d389 58
ac96356c
JB
59## Development
60
61### Code formatting
62
63```shell
64poetry run task format
65```
66
67### Code linting
68
69```shell
70poetry run task lint
71```
72
fa16d389
S
73## Note
74
c11be92a 75Primarily, 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
76
77For reference:
78https://github.com/mobilityhouse/ocpp