diff --git a/modules/OCPP/OCPP.cpp b/modules/OCPP/OCPP.cpp index 976ee1218..d59054548 100644 --- a/modules/OCPP/OCPP.cpp +++ b/modules/OCPP/OCPP.cpp @@ -78,7 +78,8 @@ void OCPP::set_external_limits(const std::mapis_evse_sink_configured(connector_id)) { - EVLOG_warning << "Can not apply external limits! No evse energy sink configured for evse_id: " << connector_id; + EVLOG_warning << "Can not apply external limits! No evse energy sink configured for evse_id: " + << connector_id; continue; } diff --git a/modules/OCPP/doc.rst b/modules/OCPP/doc.rst index 589a071fb..119991c31 100644 --- a/modules/OCPP/doc.rst +++ b/modules/OCPP/doc.rst @@ -42,8 +42,11 @@ The integration of the composite schedules are implemented through the optional of this module. Depending on the number of EVSEs configured, each composite limit is communicated via a seperate sink, including the composite schedule for EVSE with id 0 (representing the whole charging station). The easiest way to explain this is with an example. If your charging station has two EVSEs you need to connect three modules that implement the `external_energy_limits` interface: One representing evse id 0 and -two representing your actual EVSEs. Note that it is important to specify the connections in the EVerest config file in the correct order -(0,1,2). +two representing your actual EVSEs. + +📌 **Note:** You have to configure an evse mapping for each module connected via the evse_energy_sink connection. This allows the module to identify +which requirement to use when communication the limits for the EVSEs. For more information about the module mapping please see +`3-tier module mappings `_. This module defines a callback that gets executed every time charging profiles are changed, added or removed by the CSMS. The callback retrieves the composite schedules for all EVSEs (including evse id 0) and calls the `set_external_limits` command of the respective requirement that implements diff --git a/modules/OCPP201/doc.rst b/modules/OCPP201/doc.rst index 23012ff6c..48a7e5794 100644 --- a/modules/OCPP201/doc.rst +++ b/modules/OCPP201/doc.rst @@ -38,3 +38,26 @@ The Variable used as part of the NotifyEventRequest is constantly defined to `Pr The goal is to have a more advanced mapping of reported errors to the respective component-variable combinations in the future. +Energy Management and Smart Charging Integration +================================================ + +OCPP2.0.1 defines the SmartCharging feature profile to allow the CSMS to control or influence the power consumption of the charging station. +This module integrates the composite schedule(s) within EVerests energy management. For further information about smart charging and the +composite schedule calculation please refer to the OCPP2.0.1 specification. + +The integration of the composite schedules are implemented through the optional requirement(s) `evse_energy_sink`(interface: `external_energy_limits`) +of this module. Depending on the number of EVSEs configured, each composite limit is communicated via a seperate sink, including the composite schedule +for EVSE with id 0 (representing the whole charging station). The easiest way to explain this is with an example. If your charging station +has two EVSEs you need to connect three modules that implement the `external_energy_limits` interface: One representing evse id 0 and +two representing your actual EVSEs. + +📌 **Note:** You have to configure an evse mapping for each module connected via the evse_energy_sink connection. This allows the module to identify +which requirement to use when communication the limits for the EVSEs. For more information about the module mapping please see +`3-tier module mappings `_. + +This module defines a callback that gets executed every time charging profiles are changed, added or removed by the CSMS. The callback retrieves +the composite schedules for all EVSEs (including evse id 0) and calls the `set_external_limits` command of the respective requirement that implements +the `external_energy_limits` interface. In addition, the config parameter `CompositeScheduleIntervalS` defines a periodic interval to retrieve +the composite schedule also in case no charging profiles have been changed. The configuration paramater `RequestCompositeScheduleDurationS` defines +the duration in seconds of the requested composite schedules starting now. The value configured for `RequestCompositeScheduleDurationS` shall be greater +than the value configured for `CompositeScheduleIntervalS` because otherwise time periods could be missed by the application. \ No newline at end of file