|
| void | start (BootReasonEnum bootreason=BootReasonEnum::PowerUp, bool start_connecting=true) override |
| | Starts the ChargePoint, initializes and connects to the Websocket endpoint. More...
|
| |
| void | stop () override |
| | Stops the ChargePoint. Disconnects the websocket connection and stops MessageQueue and all timers. More...
|
| |
| void | connect_websocket (std::optional< int32_t > network_profile_slot=std::nullopt) override |
| | Initializes the websocket and connects to a CSMS. Provide a network_profile_slot to connect to that specific slot. More...
|
| |
| virtual void | disconnect_websocket () override |
| | Disconnects the the websocket connection to the CSMS if it is connected. More...
|
| |
| void | on_network_disconnected (OCPPInterfaceEnum ocpp_interface) override |
| | Can be called when a network is disconnected, for example when an ethernet cable is removed. More...
|
| |
| void | on_firmware_update_status_notification (int32_t request_id, const FirmwareStatusEnum &firmware_update_status) override |
| | Chargepoint notifies about new firmware update status firmware_update_status. This function should be called during a Firmware Update to indicate the current firmware_update_status. More...
|
| |
| void | on_session_started (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when a session has started. More...
|
| |
| Get15118EVCertificateResponse | on_get_15118_ev_certificate_request (const Get15118EVCertificateRequest &request) override |
| | Event handler that should be called when the EV sends a certificate request (for update or installation) More...
|
| |
| void | on_transaction_started (const int32_t evse_id, const int32_t connector_id, const std::string &session_id, const DateTime ×tamp, const TriggerReasonEnum trigger_reason, const MeterValue &meter_start, const std::optional< IdToken > &id_token, const std::optional< IdToken > &group_id_token, const std::optional< int32_t > &reservation_id, const std::optional< int32_t > &remote_start_id, const ChargingStateEnum charging_state) override |
| | Event handler that should be called when a transaction has started. More...
|
| |
| void | on_transaction_finished (const int32_t evse_id, const DateTime ×tamp, const MeterValue &meter_stop, const ReasonEnum reason, const TriggerReasonEnum trigger_reason, const std::optional< IdToken > &id_token, const std::optional< std::string > &signed_meter_value, const ChargingStateEnum charging_state) override |
| | Event handler that should be called when a transaction has finished. More...
|
| |
| void | on_session_finished (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when a session has finished. More...
|
| |
| void | on_authorized (const int32_t evse_id, const int32_t connector_id, const IdToken &id_token) override |
| | Event handler that should be called when the given id_token is authorized. More...
|
| |
| void | on_meter_value (const int32_t evse_id, const MeterValue &meter_value) override |
| | Event handler that should be called when a new meter value is present. More...
|
| |
| void | on_unavailable (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the connector on the given evse_id and connector_id becomes unavailable. More...
|
| |
| void | on_enabled (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the connector returns from unavailable on the given evse_id and connector_id . More...
|
| |
| void | on_faulted (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the connector on the given evse_id and connector_id is faulted. More...
|
| |
| void | on_fault_cleared (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the fault on the connector on the given evse_id is cleared. More...
|
| |
| void | on_reserved (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the connector on the given evse_id and connector_id is reserved. More...
|
| |
| void | on_reservation_cleared (const int32_t evse_id, const int32_t connector_id) override |
| | Event handler that should be called when the reservation of the connector is cleared. More...
|
| |
| bool | on_charging_state_changed (const uint32_t evse_id, const ChargingStateEnum charging_state, const TriggerReasonEnum trigger_reason=TriggerReasonEnum::ChargingStateChanged) override |
| | Event handler that will update the charging state internally when it has been changed. More...
|
| |
| std::optional< std::string > | get_evse_transaction_id (int32_t evse_id) override |
| | Gets the transaction id for a certain evse_id if there is an active transaction. More...
|
| |
| AuthorizeResponse | validate_token (const IdToken id_token, const std::optional< CiString< 5500 > > &certificate, const std::optional< std::vector< OCSPRequestData > > &ocsp_request_data) override |
| | Validates provided id_token certificate and ocsp_request_data using CSMS, AuthCache or AuthList. More...
|
| |
| void | on_event (const std::vector< EventData > &events) override |
| | Event handler that can be called to trigger a NotifyEvent.req with the given events. More...
|
| |
| void | on_log_status_notification (UploadLogStatusEnum status, int32_t requestId) override |
| | Event handler that can be called to notify about the log status. More...
|
| |
| void | on_security_event (const CiString< 50 > &event_type, const std::optional< CiString< 255 > > &tech_info, const std::optional< bool > &critical=std::nullopt, const std::optional< DateTime > ×tamp=std::nullopt) override |
| |
| void | on_variable_changed (const SetVariableData &set_variable_data) override |
| | Event handler that will update the variable internally when it has been changed on the fly. More...
|
| |
| void | on_reservation_status (const int32_t reservation_id, const ReservationUpdateStatusEnum status) override |
| | Event handler that will send a ReservationStatusUpdate request. More...
|
| |
| std::optional< DataTransferResponse > | data_transfer_req (const CiString< 255 > &vendorId, const std::optional< CiString< 50 > > &messageId, const std::optional< json > &data) override |
| | Data transfer mechanism initiated by charger. More...
|
| |
| std::optional< DataTransferResponse > | data_transfer_req (const DataTransferRequest &request) override |
| | Data transfer mechanism initiated by charger. More...
|
| |
| void | set_message_queue_resume_delay (std::chrono::seconds delay) override |
| | Delay draining the message queue after reconnecting, so the CSMS can perform post-reconnect checks first. More...
|
| |
| std::vector< GetVariableResult > | get_variables (const std::vector< GetVariableData > &get_variable_data_vector) override |
| | Gets variables specified within get_variable_data_vector from the device model and returns the result. This function is used internally in order to handle GetVariables.req messages and it can be used to get variables externally. More...
|
| |
| std::map< SetVariableData, SetVariableResult > | set_variables (const std::vector< SetVariableData > &set_variable_data_vector, const std::string &source) override |
| | Sets variables specified within set_variable_data_vector in the device model and returns the result. More...
|
| |
| GetCompositeScheduleResponse | get_composite_schedule (const GetCompositeScheduleRequest &request) override |
| | Gets a composite schedule based on the given request. More...
|
| |
| std::optional< CompositeSchedule > | get_composite_schedule (int32_t evse_id, std::chrono::seconds duration, ChargingRateUnitEnum unit) override |
| | Gets a composite schedule based on the given parameters. More...
|
| |
| std::vector< CompositeSchedule > | get_all_composite_schedules (const int32_t duration, const ChargingRateUnitEnum &unit) override |
| | Gets composite schedules for all evse_ids (including 0) for the given duration and unit . If no valid profiles are given for an evse for the specified period, the composite schedule will be empty for this evse. More...
|
| |
| std::optional< NetworkConnectionProfile > | get_network_connection_profile (const int32_t configuration_slot) const override |
| | Gets the configured NetworkConnectionProfile based on the given configuration_slot . The central system uri of the connection options will not contain ws:// or wss:// because this method removes it if present. This returns the value from the cached network connection profiles. More...
|
| |
| std::optional< int > | get_priority_from_configuration_slot (const int configuration_slot) const override |
| | Get the priority of the given configuration slot. More...
|
| |
| const std::vector< int > & | get_network_connection_slots () const override |
| | Get the network connection slots sorted by priority. Each item in the vector contains the configured configuration slots, where the slot with index 0 has the highest priority. More...
|
| |
|
void | send_not_implemented_error (const MessageId unique_message_id, const MessageTypeId message_type_id) |
| |
| template<typename T > |
| RequestDeviceModelResponse< T > | request_value (const Component &component_id, const Variable &variable_id, const AttributeEnum &attribute_enum) |
| | Requests a value of a VariableAttribute specified by combination of component_id and variable_id from the device model. More...
|
| |
|
| | ChargePoint (const std::map< int32_t, int32_t > &evse_connector_structure, std::shared_ptr< DeviceModel > device_model, std::shared_ptr< DatabaseHandler > database_handler, std::shared_ptr< MessageQueue< v2::MessageType > > message_queue, const std::string &message_log_path, const std::shared_ptr< EvseSecurity > evse_security, const Callbacks &callbacks) |
| | Construct a new ChargePoint object. More...
|
| |
| | ChargePoint (const std::map< int32_t, int32_t > &evse_connector_structure, std::unique_ptr< DeviceModelStorageInterface > device_model_storage_interface, const std::string &ocpp_main_path, const std::string &core_database_path, const std::string &sql_init_path, const std::string &message_log_path, const std::shared_ptr< EvseSecurity > evse_security, const Callbacks &callbacks) |
| | Construct a new ChargePoint object. More...
|
| |
| | ChargePoint (const std::map< int32_t, int32_t > &evse_connector_structure, const std::string &device_model_storage_address, const bool initialize_device_model, const std::string &device_model_migration_path, const std::string &device_model_config_path, const std::string &ocpp_main_path, const std::string &core_database_path, const std::string &sql_init_path, const std::string &message_log_path, const std::shared_ptr< EvseSecurity > evse_security, const Callbacks &callbacks) |
| | Construct a new ChargePoint object. More...
|
| |
| virtual void | start (BootReasonEnum bootreason=BootReasonEnum::PowerUp, bool start_connecting=true)=0 |
| | Starts the ChargePoint, initializes and connects to the Websocket endpoint. More...
|
| |
| virtual void | stop ()=0 |
| | Stops the ChargePoint. Disconnects the websocket connection and stops MessageQueue and all timers. More...
|
| |
| virtual void | connect_websocket (std::optional< int32_t > network_profile_slot=std::nullopt)=0 |
| | Initializes the websocket and connects to a CSMS. Provide a network_profile_slot to connect to that specific slot. More...
|
| |
| virtual void | disconnect_websocket ()=0 |
| | Disconnects the the websocket connection to the CSMS if it is connected. More...
|
| |
| virtual AuthorizeResponse | validate_token (const IdToken id_token, const std::optional< CiString< 5500 > > &certificate, const std::optional< std::vector< OCSPRequestData > > &ocsp_request_data)=0 |
| | Validates provided id_token certificate and ocsp_request_data using CSMS, AuthCache or AuthList. More...
|
| |
| virtual std::optional< DataTransferResponse > | data_transfer_req (const CiString< 255 > &vendorId, const std::optional< CiString< 50 > > &messageId, const std::optional< json > &data)=0 |
| | Data transfer mechanism initiated by charger. More...
|
| |
| virtual std::optional< DataTransferResponse > | data_transfer_req (const DataTransferRequest &request)=0 |
| | Data transfer mechanism initiated by charger. More...
|
| |
| virtual void | set_message_queue_resume_delay (std::chrono::seconds delay)=0 |
| | Delay draining the message queue after reconnecting, so the CSMS can perform post-reconnect checks first. More...
|
| |
| virtual std::vector< GetVariableResult > | get_variables (const std::vector< GetVariableData > &get_variable_data_vector)=0 |
| | Gets variables specified within get_variable_data_vector from the device model and returns the result. This function is used internally in order to handle GetVariables.req messages and it can be used to get variables externally. More...
|
| |
| virtual std::map< SetVariableData, SetVariableResult > | set_variables (const std::vector< SetVariableData > &set_variable_data_vector, const std::string &source)=0 |
| | Sets variables specified within set_variable_data_vector in the device model and returns the result. More...
|
| |
| virtual GetCompositeScheduleResponse | get_composite_schedule (const GetCompositeScheduleRequest &request)=0 |
| | Gets a composite schedule based on the given request. More...
|
| |
| virtual std::optional< CompositeSchedule > | get_composite_schedule (int32_t evse_id, std::chrono::seconds duration, ChargingRateUnitEnum unit)=0 |
| | Gets a composite schedule based on the given parameters. More...
|
| |
| virtual std::vector< CompositeSchedule > | get_all_composite_schedules (const int32_t duration, const ChargingRateUnitEnum &unit)=0 |
| | Gets composite schedules for all evse_ids (including 0) for the given duration and unit . If no valid profiles are given for an evse for the specified period, the composite schedule will be empty for this evse. More...
|
| |
| virtual std::optional< NetworkConnectionProfile > | get_network_connection_profile (const int32_t configuration_slot) const =0 |
| | Gets the configured NetworkConnectionProfile based on the given configuration_slot . The central system uri of the connection options will not contain ws:// or wss:// because this method removes it if present. This returns the value from the cached network connection profiles. More...
|
| |
| virtual std::optional< int > | get_priority_from_configuration_slot (const int configuration_slot) const =0 |
| | Get the priority of the given configuration slot. More...
|
| |
| virtual const std::vector< int > & | get_network_connection_slots () const =0 |
| | Get the network connection slots sorted by priority. Each item in the vector contains the configured configuration slots, where the slot with index 0 has the highest priority. More...
|
| |
|
|