diff --git a/lib/ocpp/v201/charge_point.cpp b/lib/ocpp/v201/charge_point.cpp index 9c3c61e515..c62889671c 100644 --- a/lib/ocpp/v201/charge_point.cpp +++ b/lib/ocpp/v201/charge_point.cpp @@ -220,6 +220,13 @@ void ChargePoint::on_firmware_update_status_notification(int32_t request_id, } if (this->firmware_status_before_installing == req.status) { + const auto transaction_active = this->any_transaction_active(std::nullopt); + if (transaction_active) { + this->firmware_status = FirmwareStatusEnum::InstallScheduled; + req.status = firmware_status; + ocpp::Call call(req, this->message_queue->createMessageId()); + this->send_async(call); + } this->change_all_connectors_to_unavailable_for_firmware_update(); } }