Merge branch 'main' into issue39-ocpp2
[e-mobility-charging-stations-simulator.git] / tests / ocpp-server / README.md
index 332751d564533331cc43d066ca343ec15a16d231..e6a4dfa180791a9c62293c160f1127b06b3b4332 100644 (file)
@@ -6,7 +6,7 @@ This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock se
 
 This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
 
-```
+```shell
 poetry install
 ```
 
@@ -14,19 +14,55 @@ poetry install
 
 To start the server, run the `server.py` script:
 
-```
-python server.py
+```shell
+poetry run task server
 ```
 
 The server will start listening for connections on port 9000.
 
+## Running the server with command sending
+
+You can also specify a command and a period duration with the --request and --period options respectively when running the server. The server will then send your chosen command to the connected client every period seconds.
+
+### GetBaseReport Command
+
+To run the server and send a GetBaseReport command every 5 seconds, use:
+
+```shell
+poetry run task server --command GetBaseReport --period 5
+```
+
+### ClearCache Command
+
+To run the server and send a ClearCache command every 5 seconds, use:
+
+```shell
+poetry run task server --command ClearCache --period 5
+```
+
+Please 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 server.
+
 ## Overview of the Server Scripts
 
 ### Server.py
 
-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.
+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.
+
+The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation.
+
+## Development
 
-The server script uses the websockets and ocpp libraries to facilitate the WebSocket and OCPP communication.
+### Code formatting
+
+```shell
+poetry run task format
+```
+
+### Code linting
+
+```shell
+poetry run task lint
+```
 
 ## Note