Hallo,
tkinter kennt drei Layout-Manager: pack, grid und place. place möchten man in der Regel nicht verwenden, weil absolute Positonierung die Skalierung und Erweiterung des Fensters unflexibel machen.
Aber, Tipp: Layout ist nice-to-have, du solltest an den anderen Punkten arbeiten und vernünftig Python lernen. Ein gut aussehende GUI ist genau nichts wert, wenn die Programmlogik dahiner suboptimal ist.
Was zu Beispiel bei dir auch noch zu verbessern ist (hatte ich gestern nicht erwähnt): relais1_an / _aus und relais2_an / _aus sind fast identischer = redundanter Code -> das geht besser. Schreibe die Methode so um, dass sie als Argument einen GPIO-Pin (bzw. eine Instanz von OutputDevice) erwartet und diesen dann an oder aus schaltet.
Gruß, noisefloor