diff --git a/lib/ocpp/v201/charge_point.cpp b/lib/ocpp/v201/charge_point.cpp index ffa7d6b60..3467b92f3 100644 --- a/lib/ocpp/v201/charge_point.cpp +++ b/lib/ocpp/v201/charge_point.cpp @@ -213,6 +213,9 @@ void ChargePoint::start(BootReasonEnum bootreason) { this->load_charging_profiles(); this->connectivity_manager->start(); + const std::string firmware_version = + this->device_model->get_value(ControllerComponentVariables::FirmwareVersion); + if (this->bootreason == BootReasonEnum::RemoteReset) { this->security_event_notification_req( CiString<50>(ocpp::security_events::RESET_OR_REBOOT), @@ -222,15 +225,16 @@ void ChargePoint::start(BootReasonEnum bootreason) { CiString<50>(ocpp::security_events::RESET_OR_REBOOT), std::optional>("Charging Station rebooted due to a scheduled reset!"), true, true); } else if (this->bootreason == BootReasonEnum::PowerUp) { - std::string startup_message = "Charging Station powered up! Firmware version: "; - startup_message.append( - this->device_model->get_value(ControllerComponentVariables::FirmwareVersion)); + std::string startup_message = "Charging Station powered up! Firmware version: " + firmware_version; this->security_event_notification_req(CiString<50>(ocpp::security_events::STARTUP_OF_THE_DEVICE), std::optional>(startup_message), true, true); + } else if (this->bootreason == BootReasonEnum::FirmwareUpdate) { + std::string startup_message = + "Charging station reboot after firmware update. Firmware version: " + firmware_version; + this->security_event_notification_req(CiString<50>(ocpp::security_events::FIRMWARE_UPDATED), + std::optional>(startup_message), true, true); } else { - std::string startup_message = "Charging station reset or reboot. Firmware version: "; - startup_message.append( - this->device_model->get_value(ControllerComponentVariables::FirmwareVersion)); + std::string startup_message = "Charging station reset or reboot. Firmware version: " + firmware_version; this->security_event_notification_req(CiString<50>(ocpp::security_events::RESET_OR_REBOOT), std::optional>(startup_message), true, true); }