diff --git a/README.md b/README.md
index c3470b0..43cc663 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,33 @@
# SGr-JavaSamples
+
## Index
[Summary](#summary)
[Installation](#installation)
[Architecture](#architecture)
[Code description](#code-description-for-the-samplecommunicator)
+
## Summary
SGr-JavaSamples provides sample projects that demonstrate the use of the SGr Communication Handler Library. The goal is to set up a test environment that allows to connect SGr components and different 'products' (heat pump, charging station, inverter, battery, electricity meter etc.) through the SGr communication interface.
-[German Version](README_DE.md)
+
## Installation
### Requirements / Prerequisites
-- Gradle version >= 8.7. Note: If no IDE with Gradle integration is used, Gradle must first be installed locally: https://gradle.org/install/
- Java JDK version >= Java 11
### Clone
-- Create a new folder for the project (eg. 'SmartGridCommunicator').
-- Clone the following projects to the new folder:
-- https://github.com/SmartgridReady/SGrJavaSamples.git
-- https://github.com/SmartgridReady/SGrSpecifications.git
+- Create a new folder for the project (eg. 'SGrJavaSamples').
+- Clone the following project to a new folder: https://github.com/SmartgridReady/SGrJavaSamples.git
-Rem: The folder [your-local-project-folder]/SGrSpecifications/XMLInstances/ExtInterfaces contains the device description XML-files used by the SGrJavaSamples.
+Rem: The folder [your-local-project-folder]/SampleCommunicator/src/main/resources contains the device description XML-files used by the SGrJavaSamples.
### Build
-- Open the [your-local-project-folder]\SGrJavaSamples\SampleCommunicator with your IDE.
-- Run gradle 'build' target in your IDE
-- You can also run Gradle from the command line. Change to the [your-local-project-folder]\SGrJavaSamples\SampleCommunicator directory and run:
-```bash>gradle clean build```
+- Open the [your-local-project-folder]/SampleCommunicator with your IDE.
+- Run the Gradle 'build' target in your IDE
+- You can also run Gradle from the command line. Change to the directory [your-local-project-folder]/SampleCommunicator and run: `gradlew clean build`
-
## Architecture
@@ -38,192 +35,237 @@ Rem: The folder [your-local-project-folder]/SGrSpecifications/XMLInstances/ExtIn
### Component: Communicator
+
| Implementor: | Communicator Provider (3rd Party) |
| Description: | The 'Communicator' communicates with one or more 'Products' through the SGr 'Generic Interface'. - |
| Responsibilities: |
- For each product, the communicator instantiates a Communication Handler to which a description of the product interface in XML is given. -The Communicator loads a device driver for the communication interface of the product (e.g. Modbus RTU/TCP, REST...). -The communicator reads or sets (analyses and/or controls) the data points. - |
| SGrProject: | -SGrJavaSamples/SampleCommunicator |
| Implementor: | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Communicator Provider (3rd Party) |
+
| Description: | +The 'Communicator' communicates with one or more 'Products' through the SGr 'Generic Interface'. |
+
| Responsibilities: | +
|
+
| SGrProject: | ++ |
| Implementor: | SGr Core Team |
| Description: | SGr-defined 'Product'-independent interface. - |
| Responsibilities: |
- The Generic Interface is used by the Communicator to communicate with the products in the SGr network. - |
| SGrProject: | -SmartgridReady/SGrSpecifications/SchemaDatabase/SGr/Generic |
| Implementor: | +SGr Core Team |
+
| Description: | +SGr-defined 'Product'-independent interface. |
+
| Responsibilities: | +The Generic Interface is used by the Communicator to communicate with the products in the SGr network. |
+
| SGrProject: | ++ |
| Implementor: | SGr Core Team |
| Description: | This is the core component of the SGr software and it is responsible for the processing and implementation of the SGr 'Generic Interface' on the 'External Interface' of the 'Product'. - Instantiated by the 'Communicator' and used to communicate with the connected 'Product'. - |
| Responsibilities: |
- Responsibilities are: |
| Library: | sgr-commhandler-2.0.0.jar | -
| SGrProject: | -SmartgridReady/SGrJava/CommHandler |
| Implementor: | +SGr Core Team |
+
| Description: | +This is the core component of the SGr software and it is responsible for the processing and implementation of the SGr 'Generic Interface' on the 'External Interface' of the 'Product'. |
+
| Responsibilities: | +Responsibilities are: +
|
+
| Library: | +sgr-commhandler |
+
| SGrProject: | ++ |
| Implementor: | Provider of the 'Product' |
| Description: | The XML file describes the ''function profiles', data points and attributes that can be addressed over the SGr interface. The XML file also provides general information about the 'Product'. - |
| Responsibilities: |
- Providing general data on the Product. -Provide the data necessary for mapping the SGr Generic Interface with the External Interface. |
| SGrProject: | -SmartgridReady/SGrSpecifications/XMLInstances/ExtInterfaces |
| Implementor: | +Provider of the 'Product' |
+
| Description: | + The XML file describes the ''function profiles', data points and attributes that can be addressed over the SGr interface. The XML file also provides general information about the 'Product'. |
+
| Responsibilities: | +
|
+
| SGrProject: | ++ |
| Implementor: | - SGr Core Team - 3rd Party Provider |
| Description: | The 'TransportService' is the link to the physical communication interface of the 'Product'. The SGr Core Team provides the EasyModbus Library for Modbus. - |
| Responsibilities: |
- The SGr Transport Service supports the following communication technologies to provide the following transport services: |
| Library: | -easymodbus.jar | -
| SGrProject: | -für Modbus: SmartgridReady/SGrJavaDrivers/EasyModbus |
| Implementor: | +
|
+
| Description: | +The 'TransportService' is the link to the physical communication interface of the 'Product'. The SGr Core Team provides the EasyModbus Library for Modbus. |
+
| Responsibilities: | +The SGr Transport Service supports the following communication technologies to provide the following transport services: +
|
+
| Library: | +
+ easymodbus |
+
| SGrProject: | +für Modbus: SmartgridReady/SGrJavaDrivers/EasyModbus +für REST: SmartgridReady/SGrJavaDrivers/ApacheHttp +für MQTT: SmartgridReady/SGrJavaDrivers/HiveMq + |
+
| Implementor: | Manufacturer of the 'Product' |
| Description: | The 'External Interface' is the interface provided by the 'Product'. - |
| Responsibilities: |
- Provides the External Interface of the product. This is described in the Product XML Profile. |
| Implementor: | +Manufacturer of the 'Product' |
+
| Description: | +The 'External Interface' is the interface provided by the 'Product'. |
+
| Responsibilities: | +Provides the External Interface of the product. This is described in the Product XML Profile. |
+
| Implementor: | Manufacturer of the 'Product' |
| Description: | The Product is a device that provides properties, data points and control options. -E.g. heat pump, charging station, inverter, battery, electricity meter - |
| Responsibilities: |
- - |
| Implementor: | +Manufacturer of the 'Product' |
+
| Description: | +The Product is a device that provides properties, data points and control options. + E.g. heat pump, charging station, inverter, battery, electricity meter. |
+
| Responsibilities: | +Product hardware. |
+