Preheat the grill to medium-high temperature (400-450 degrees). Using a grill brush scrape any food particles from the grates.
Combine the salt and pepper in a small bowl and mix together.
Spray the middle of an 18-inch by 12-inch piece of foil with non-stick spray and put one salmon fillet, skin side down, in the non-stick spray area.
Sprinkle with 1/4th of the salt and pepper mixture.
Place one pat of butter and a few lemon slices one top of the salmon.
Put one quarter of the onions and tomatoes on either side of the salmon filet.
Pull the two short ends of foil to meet over the salmon and roll them together over the salmon to seal them creating space between the top of the salmon and foil for air circulation (tenting it).
Roll the top and bottom foil on the ends of the salmon together to seal.
Repeat for the remaining three salmon filets.
Place foil packets on the grill with lid closed for 10 minutes. After 10 minute remove one packet carefully open it (watch out for steam) and check for doneness. The internal temperature should be at least 145 degrees measured with an Instant Read thermometer measured in the thickest part of the filet. The salmon will be an opaque coral color all the way through.
If done, remove all packets and allow them to sit for 5 minutes before serving. If needed, cook a few more minutes on the grill.