Ich habe kurz den Code überflogen. Dabei sind mir einige Dinge aufgefallen.
1. myState
In welchem Zustand sich der BUe befindet. Ich würde prüfen und setzen der Variable ausserhalb des switch/case Statement machen. Das switch/case soll nur die Anweisungen enthalten, die für die Schranken notwendig sind.
Für die Zustände würde ich hier mit Konstanten arbeiten. z. B. oder so ähnlich
#define BUE_OFFEN 0
#define BUE_SCHLIESSEN 1
#define BUE_GESCHLOSSEN 2
#define BUE_OEFFNEN 3
...
Die kannst du dann auch für die switch/case verwenden.
2. Potentielle Code Stolpersteine
servoPosition = servoPosition += 1;
entweder
servoPosition = servoPosition + 1
oder
servoPosition += servoPosition
Das gleiche ist auch beim myState 3 der Fall. Nur dort mit -=
Im Case 2 hast du ein if (servoPosition == servoPositionGeschlossen) jedoch hast du das Gegenteil im Case 3 nicht.
3. Fehler im Code
Dein Fehler ist hier zu suchen.
else servoPosition = servoPositionGeschlossen -= 1;
servoPositionGeschlossen sollte wohl servoPosition heissen. Im Prinzip würde der Servo immer in der geschlossen Position bleiben, weil du immer 140 - 1 zuweisen tust.