.. _everest_modules_OCPPmulti: ######### OCPPmulti ######### | A OCPP charge point / charging station module, (supporting 1.6, 2.0.1, 2.1) ************************* Handwritten Documentation ************************* .. include:: index.inc ************************ Auto-Generated Reference ************************ Module Configuration ==================== | **ChargePointConfigPath**: *string* | *default: "ocpp-config.json"* | OCPP 1.6 Path to the ocpp configuration file. Libocpp defines a JSON schema for this file. Please refer to the documentation of libocpp for more information about the configuration options. | **CompositeScheduleIntervalS**: *integer* | *default: 30* | OCPP 1.6 (called PublishChargingScheduleIntervalS) OCPP 2.0.1 Interval in seconds in which composite schedules are received from libocpp are be published over MQTT and signalled to connected modules. If the value is set to 0, composite schedules are only published when changed by CSMS | **CoreDatabasePath**: *string* | *default: "/tmp/ocpp201"* | OCPP 2.0.1 Path to the persistent SQLite database directory. Please refer to the libocpp documentation for more information about the database and its structure. | **CustomErrorMappingPath**: *string* | *default: ""* | Experimental: Optional path to a JSON file describing how EVerest errors are reported over OCPP, following lib/everest/ocpp_module_common/schemas/custom_error_mapping.schema.json. The fields an entry sets override those of the built-in mapping; all other fields and errors keep it. Leave empty to use only the built-in mapping. A relative path is resolved against the module's share directory. | **DatabasePath**: *string* | *default: "/tmp/ocpp_1_6_charge_point"* | OCPP 1.6 Path to the persistent SQLite database directory. Please refer to the libocpp documentation for more information about the database and its structure. | **DelayOcppStart**: *integer* | *default: 0* | OCPP 1.6 OCPP 2.0.1 Small delay in time (milliseconds) to start the ocpp chargepoint to allow time for the rest of everest to update the connector status. This is only used to prevent issues from passing by availlable before preparing on a restart. | **DelegateNetworkConfigurationToSystem**: *boolean* | *default: False* | OCPP 1.6 OCPP 2.0.1 If true, the system provider is asked to prepare the network (configure_network) before every CSMS connection attempt and the websocket is bound to the interface address it returns. The provider must answer promptly (NotSupported is acceptable); with system_API the external client must reply to e2m/configure_network, otherwise every connection attempt blocks until the framework command timeout. If false (default), no configure_network request is sent and the connection is established like with the OCPP201 module (success, no interface address). | **DeviceModelConfigPath**: *string* | *default: "component_config"* | OCPP 2.0.1 Path to the device model component config directory. Libocpp defines a certain schema for these files. Please refer to the documentation of libocpp for more information about the configuration options. | **DeviceModelDatabasePath**: *string* | *default: "device_model_storage.db"* | OCPP 1.6 (called DatabasePath) OCPP 2.0.1 Path to the SQLite database for the device model | **DeviceModelDatabaseMigrationPath**: *string* | *default: "device_model_migrations"* | OCPP 2.0.1 Path to the migration files for both device models | **EnableLegacyConfigMigration**: *boolean* | *default: False* | OCPP 1.6 If true, a one-time migration of the legacy OCPP 1.6 JSON config (ChargePointConfigPath) into the device model database is performed on the first startup, while the database does not yet exist. Once the database is initialized the migration is skipped and the legacy JSON is not read. If false (default), the device model is initialized only from the component configs (DeviceModelConfigPath). | **Ocpp16KeyMappingsPath**: *string* | *default: ""* | OCPP 1.6 Optional path to a YAML file that maps further OCPP 1.6 configuration keys to device model variables. Relative paths are resolved against this module's share path. Applied both when migrating the legacy OCPP 1.6 JSON config into the device model and when serving the device-model-backed configuration at runtime. If empty, only built-in mappings are used. | **EnableExternalWebsocketControl**: *boolean* | *default: False* | If true websocket can be disconnected and connected externally. This parameter is for debug and testing purposes. | **EverestDeviceModelDatabasePath**: *string* | *default: "everest_device_model_storage.db"* | OCPP 2.0.1 Path to the SQLite databse for the EVerest device model. This database stores components and variables like EVSE and Connector that are closely related to EVerest and therefore not owned and managed by libocpp. | **GridSupportHeartbeatS**: *integer* | *default: 60* | Interval (seconds) at which the current active DER directive set is republished per EVSE. 0 disables the heartbeat. | **MessageLogPath**: *string* | *default: "/tmp/everest_ocpp_logs"* | OCPP 1.6 OCPP 2.0.1 Path to directory where logs of all OCPP messages are written to | **MessageQueueResumeDelay**: *integer* | *default: 0* | OCPP 1.6 OCPP 2.0.1 Time (seconds) to delay resuming the message queue after reconnecting. This parameter was introduced because some OCTT test cases require that the first message after a reconnect is sent by the CSMS. | **Mode**: *string* | *default: "Only2"* | OCPP 1.6 OCPP 2.0.1 The operational mode of the module | enum: | - Prefer1.6 | - Prefer2 | - Only1.6 | - Only2 | **Ocpp16NetworkConfigSlot**: *integer* | *default: 1* | OCPP 1.6 NetworkConfiguration slot number that OCPP 1.6 connection details (CentralSystemURI, SecurityProfile, AuthorizationKey, HostName, ChargePointId) are migrated to during the one-time device model migration. Any existing attribute values in the target slot are overwritten, the slot's OcppInterface is set to "Any" unless the component config sets an explicit attribute value (a "default" does not count), and OCPPCommCtrlr/ActiveNetworkProfile is pointed at the slot. The target slot must be defined in the component configuration: a NetworkConfiguration_ component config must exist for it (otherwise the migration of network connection details is skipped with an error log). The slot must also be listed in the OCPPCommCtrlr/NetworkConfigurationPriority value for the profile to be used, and in that variable's valuesList for runtime priority writes naming the slot to be accepted (a warning is logged when either is missing). The shipped example configs cover the default slot 1. Set to 0 to skip migration of network connection details; the confirmed security profile (SecurityCtrlr/SecurityProfile) is still initialized from the legacy config's SecurityProfile in that case. | **RequestCompositeScheduleDurationS**: *integer* | *default: 600* | OCPP 1.6 (called PublishChargingScheduleDurationS) OCPP 2.0.1 Time (seconds) for which composite schedules are requested. Schedules are requested from now until now + RequestCompositeScheduleDurationS | **RequestCompositeScheduleUnit**: *string* | *default: "A"* | OCPP 1.6 OCPP 2.0.1 Unit in which composite schedules are requested and shared within EVerest. It is recommended to use Amps for AC and Watts for DC charging stations. Allowed values: | - 'A' for Amps | . 'W' for Watts | **ResetStopDelay**: *integer* | *default: 0* | OCPP 1.6 OCPP 2.0.1 Time (seconds) to delay the stopping of the charge point so that the CSMS has enough time to respond to the charge point's last messages before resetting. | **UserConfigPath**: *string* | *default: "user_config.json"* | OCPP 1.6 Path to the file of the OCPP user config. The user config is used as an overlay for the original config defined by the ChargePointConfigPath. Any changes to configuration keys turned out internally or by the CSMS will be written to the user config file. Provides ======== | **auth_validator**: :ref:`auth_token_validator ` | Validates the provided token using CSMS, AuthorizationList or AuthorizationCache | **auth_provider**: :ref:`auth_token_provider ` | Provides authorization requests by CSMS | **data_transfer**: :ref:`ocpp_data_transfer ` | OCPP data transfer towards the CSMS | **ocpp_generic**: :ref:`ocpp ` | Generic OCPP interface. | **session_cost**: :ref:`session_cost ` | Send session cost Requirements ============ | **auth**: :ref:`auth ` 1 | **charger_information**: :ref:`charger_information ` 0..1 | **data_transfer**: :ref:`ocpp_data_transfer ` 0..1 | **display_message**: :ref:`display_message ` 0..1 | **evse_energy_sink**: :ref:`external_energy_limits ` 0..129 | **evse_manager**: :ref:`evse_manager ` 1..128 | **extensions_15118**: :ref:`iso15118_extensions ` 0..128 | **grid_support**: :ref:`grid_support ` 0..128 | **reservation**: :ref:`reservation ` 0..1 | **security**: :ref:`evse_security ` 1 | **system**: :ref:`system ` 1 ******** Metadata ******** Authors ======= | Piet Gömpel | Kai-Uwe Hermann | James Chapman License ======= | https://opensource.org/licenses/Apache-2.0