The standard way to do this is to use commutators. But these do only even permutations, and swapping a pair is an odd permutations. You need to change the parity by doing a single move.
Calling A and B the upper left and lower right button, start by pressing B.
Now the problem becomes to rotate green hex -> green square -> red hex -> green hex. This is an even permutation, which is good.
This rotation of 3 pieces can be done by taking pieces in and out of the bottom right square with AA moves, alternating with B moves to navigate between positions. Take a piece out of the bottom right square, rotate the bottom right square to present the position where the piece belongs (relative to the red square) and put the piece back. Continue until all pieces are in place.
The total sequence is:
B (fix the parity)
AA (take out the red hex)
BB AA (place the red hex back in the opposite corner, get the green hex)
B AA (put the green hex back in the next position, take out the green square)
B AA (put the green square to where it belongs, recover the yellow circle)
Starting with an even permutation means you will do an even number of AA moves and therefore the yellow square and green disk return to their place. If not, you would end up with another pair to swap.