Hey Leute Danke für eure vielen hilfreichen Vorschläge.
Ja das habe ich allerdings 
Hier mal die Funktion die mein Menü auf dem OLED ausgibt
void OLED(){
DateTime now = rtc.now();
display.clearDisplay();
switch (ebenen[3]) {
case 1:switch (ebenen[1]) {
case 1:switch (ebenen[2]) {
case 1: display.setCursor(40,20);
display.print("Home");
display.setCursor(35,40);
display.print(now.hour() + Sommer());
display.print(" : ");
if (now.minute() < 10) {
display.print("0");
}
display.print(now.minute());
if (pinD[7][1] == 1) {
display.setCursor(110,15);
display.print("^");
}
if (!bme.begin() || ! rtc.begin()){
display.setCursor(10,60);
display.print("No");
if (!bme.begin() ) {
display.setCursor(30,60);
display.print(" BME");
}if (! rtc.begin()) {
display.setCursor(70,60);
display.print(" RTC");
}
}
break;
}
break;
case 2:switch (ebenen[2]) {
case 1: display.setCursor(05,15);
display.print("^");
display.setCursor(20,15);
display.print("zurueck");//<--
display.setCursor(20,30);
display.print("Uhrzeiten");
display.setCursor(20,45);
display.println("Helligkeit");
display.setCursor(20,60);
display.println("Durchschnitt");
break;
}
break;
case 3:switch (ebenen[2]) {
case 1: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(05,30);
display.print(">");
display.setCursor(20,30);
display.print("Uhrzeiten");//<--
display.setCursor(20,45);
display.println("Helligkeit");
display.setCursor(20,60);
display.println("Durchschnitt");
break;
case 2: display.setCursor(05,15);
display.print("^");
display.setCursor(20,15);
display.print("zurueck");//<--
display.setCursor(20,30);
display.print("Morgens an");
display.setCursor(20,45);
display.println("Morgens aus");
display.setCursor(20,60);
display.println("Abends an");
display.setCursor(20,75);
display.println("Abends aus");
break;
case 3: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(05,30);
display.print(">");
display.setCursor(20,30);
display.print("Morgens an");//<--
display.setCursor(20,45);
display.println("Morgens aus");
display.setCursor(20,60);
display.println("Abends an");
display.setCursor(20,75);
display.println("Abends aus");
break;
case 4: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(20,30);
display.print("Morgens an");
display.setCursor(05,45);
display.print(">");
display.setCursor(20,45);
display.println("Morgens aus");//<--
display.setCursor(20,60);
display.println("Abends an");
display.setCursor(20,75);
display.println("Abends aus");
break;
case 5: display.setCursor(20,0);
display.print("zurueck");
display.setCursor(20,15);
display.print("Morgens an");
display.setCursor(20,30);
display.println("Morgens aus");
display.setCursor(05,45);
display.print(">");
display.setCursor(20,45);
display.println("Abends an");//<--
display.setCursor(20,60);
display.println("Abends aus");
break;
case 6: display.setCursor(20,0);
display.print("zurueck");
display.setCursor(20,15);
display.print("Morgens an");
display.setCursor(20,30);
display.println("Morgens aus");
display.setCursor(20,45);
display.println("Abends an");
display.setCursor(05,60);
display.print(">");
display.setCursor(20,60);
display.println("Abends aus");//<--
break;
}
break;
case 4:switch (ebenen[2]) {
case 1: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(20,30);
display.print("Uhrzeiten");
display.setCursor(05,45);
display.print(">");
display.setCursor(20,45);
display.println("Helligkeit");//<--
display.setCursor(20,60);
display.println("Durchschnitt");
break;
}
break;
case 5:switch (ebenen[2]) {
case 1: display.setCursor(20,0);
display.print("zurueck");
display.setCursor(20,15);
display.print("Uhrzeiten");
display.setCursor(20,30);
display.println("Helligkeit");
display.setCursor(05,45);
display.print(">");
display.setCursor(20,45);
display.println("Durchschnitt");//<--
display.setCursor(20,60);
display.println("Info");
break;
}
break;
case 6:switch (ebenen[2]) {
case 1: display.setCursor(20,0);
display.print("zurueck");
display.setCursor(20,15);
display.print("Uhrzeiten");
display.setCursor(20,30);
display.println("Helligkeit");
display.setCursor(20,45);
display.println("Durchschnitt");
display.setCursor(05,60);
display.print(">");
display.setCursor(20,60);
display.println("Info");//<--
break;
case 2: display.setCursor(05,15);
display.print("^");
display.setCursor(20,15);
display.print("zurueck");//<--
display.setCursor(20,30);
display.print("IP");
display.setCursor(20,45);
display.println("SSID");
display.setCursor(20,60);
display.println("Letzter Start");
break;
case 3: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(05,30);
display.print(">");
display.setCursor(20,30);
display.print("IP");//<--
display.setCursor(20,45);
display.println("SSID");
display.setCursor(20,60);
display.println("Letzter Start");
break;
case 4: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(20,30);
display.print("IP");
display.setCursor(05,45);
display.print(">");
display.setCursor(20,45);
display.println("SSID");//<--
display.setCursor(20,60);
display.println("Letzter Start");
break;
case 5: display.setCursor(20,15);
display.print("zurueck");
display.setCursor(20,30);
display.print("IP");
display.setCursor(20,45);
display.println("SSID");
display.setCursor(05,60);
display.print(">");
display.setCursor(20,60);
display.println("Letzter Start");//<--
break;
}
break;
}
break;
case 2: switch (ebenen[1]) {
case 3: switch (ebenen[2]) {
case 3: display.setCursor(20,25);
display.print("Morgen an");
display.setCursor(50,50);
display.print(Zeite[0]);
display.print(":");
display.print(Zeite[1]);
display.setCursor(40,60);
display.print("---");
break;
case 4: display.setCursor(20,25);
display.print("Morgen aus");
display.setCursor(50,50);
display.print(Zeite[3]);
display.print(":");
display.print(Zeite[4]);
display.setCursor(40,60);
display.print("---");
break;
case 5: display.setCursor(20,25);
display.print("Abend an");
display.setCursor(50,50);
display.print(Zeite[6]);
display.print(":");
display.print(Zeite[7]);
display.setCursor(40,60);
display.print("---");
break;
case 6: display.setCursor(20,25);
display.print("Abend aus");
display.setCursor(50,50);
display.print(Zeite[9]);
display.print(":");
display.print(Zeite[10]);
display.setCursor(40,60);
display.print("---");
break;
}
break;
case 4: switch (ebenen[2]) {
case 2: display.setCursor(25,15);
display.print("Schwelle");
display.setCursor(25,30);
display.print(hell[0]);
display.setCursor(20,45);
display.print("Lichtwert");
display.setCursor(50,60);
display.print(hell[2]);
break;
}
break;
case 5: switch (ebenen[2]) {
case 2: display.setCursor(20,30);
display.print("Durchschnitt");
display.setCursor(50,50);
display.print(durchschnitt);
break;
}
break;
case 6: switch (ebenen[2]) {
case 3: display.setCursor(20,25);
display.print("IP");
display.setCursor(50,50);
//display.print(IP);
break;
case 4: display.setCursor(20,25);
display.print("SSID");
display.setCursor(50,50);
//display.print(ssid);
break;
case 5: display.setCursor(20,25);
display.print("Letzter Start");
display.setCursor(50,50);
//display.print(RST);
break;
}
break;
}
break;
case 3: switch (ebenen[1]) {
case 1: switch (ebenen[2]) {
case 1: display.setCursor(25,15);
display.print("Temperatur");
display.setCursor(25,30);
display.print(bme.temp());
display.setCursor(20,45);
display.print("Druck");
display.setCursor(50,60);
display.print(bme.pres());
break;
}
break;
case 3: switch (ebenen[2]) {
case 3: display.setCursor(20,25);
display.print("Morgen an");
display.setCursor(50,50);
display.print(Zeite[0]);
display.print(":");
display.print(Zeite[1]);
display.setCursor(65,60);
display.print("---");
break;
case 4: display.setCursor(20,25);
display.print("Morgen aus");
display.setCursor(50,50);
display.print(Zeite[3]);
display.print(":");
display.print(Zeite[4]);
display.setCursor(65,60);
display.print("---");
break;
case 5: display.setCursor(20,25);
display.print("Abend an");
display.setCursor(50,50);
display.print(Zeite[6]);
display.print(":");
display.print(Zeite[7]);
display.setCursor(65,60);
display.print("---");
break;
case 6: display.setCursor(20,25);
display.print("Abend aus");
display.setCursor(50,50);
display.print(Zeite[9]);
display.print(":");
display.print(Zeite[10]);
display.setCursor(65,60);
display.print("---");
break;
}
break;
case 4: display.setCursor(25,15);
display.print("Schwelle");
display.setCursor(25,30);
display.print(hell[0]);
display.setCursor(20,45);
display.print("Lichtwert");
display.setCursor(50,60);
display.print(adc3 * multiplier);
display.setCursor(95,15);
display.print("*10");
break;
case 5: display.setCursor(20,30);
display.print("Durchschnitt");
display.setCursor(50,50);
display.print(durchschnitt);
display.setCursor(95,15);
display.print("*10");
break;
}
break;
}
display.display();
}
und Nochmal der Code für das Navigieren im Menü
void Menu(){
if (ebenen[3] == 1) {
if (ebenen[2]== 1 && ebenen[1] == 1 && ok[0] == 1) {
ebenen[1] = 2;
}
else if (ebenen[2] == 1 && ebenen[1] > 1) {
if (click != 0) {
ebenen[1] = ebenen[1] + click;
}else if (ebenen[1] > 2 && ok[0] == 1 && ebenen[1] != 4 && ebenen[1] != 5) {
ebenen[2] = 2;
}else if ((ebenen[1] == 4 || ebenen[1] == 5) && ebenen[2] == 1) {
if (ok[0] == 1) {
ebenen[2] = 2;
ebenen[3] = 2;
}
}
}
else if (ebenen[2] == 2 && ebenen[1] > 1 ) {
if (click != 0) {
ebenen[2] = ebenen[2] + click;
} else if (ok[0] == 1 ) {
ebenen[2] = 1;
}
}
else if (ebenen[2] > 2 && ebenen[1] > 2) {
if (click != 0) {
ebenen[2] = ebenen[2] + click;
} else if (ok[0] == 1) {
ebenen[3] = 2;
}
}
} else { //Menu 3 (Referenswerte)
switch (ebenen[1]) {
case 1: switch (ebenen[2]) {
case 1: switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 1;
}
}
break;
}
break;
case 3: switch (ebenen[2]) {
case 3: switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click > 0 && Zeite[0] <24)|| (click < 0 && Zeite[0] > 0) ) {
Zeite[0] = Zeite[0] + click;
}
break;
case 3: if (ok[0] == 1) {
ebenen[3] = 1;
}
if ((click != 0> 0 && Zeite[1] <60)|| (click != 0< 0 && Zeite[1] > 0) ) {
Zeite[1] = Zeite[1] + click;
}
break;
}
break;
case 4: switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click != 0> 0 && Zeite[3] <24)|| (click != 0< 0 && Zeite[3] > 0) ) {
Zeite[3] = Zeite[3] + click;
}
break;
case 3: if (ok[0] == 1) {
ebenen[3] = 1;
ebenen[2] = 1;
}
if ((click != 0> 0 && Zeite[4] < 60)|| (click != 0< 0 && Zeite[4] > 0) ) {
Zeite[4] = Zeite[4] + click;
}
break;
}
break;
case 5: switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click != 0> 0 && Zeite[6] <24)|| (click != 0< 0 && Zeite[6] > 0) ) {
Zeite[6] = Zeite[6] + click;
}
break;
case 3: if (ok[0] == 1) {
ebenen[3] = 1;
ebenen[2] = 1;
}
if ((click != 0> 0 && Zeite[7] <60)|| (click != 0< 0 && Zeite[7] > 0) ) {
Zeite[7] = Zeite[7] + click;
}
break;
}
break;
case 6: switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click != 0> 0 && Zeite[9] <24)|| (click != 0< 0 && Zeite[9] > 0) ) {
Zeite[9] = Zeite[9] + click;
}
break;
case 3: if (ok[0] == 1) {
ebenen[3] = 1;
}
if ((click != 0> 0 && Zeite[10] <60)|| (click != 0< 0 && Zeite[10] > 0) ) {
Zeite[10] = Zeite[10] + click;
}
break;
}
break;
} // Uhrzeiten
break;
case 4:switch (ebenen[3]) {
case 2: if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click != 0> 0) || (click != 0< 0 && hell[0] > 0) ) {
hell[0] = hell[0] + click;
}
break;
case 3:if (ok[0] == 1) {
ebenen[3] = 1;
ebenen[2] = 1;
pinD[7][1] = 0;
}
if ((click != 0> 0) || (click != 0< 0 && hell[0] > 0) ) {
hell[0] = hell[0] + click * 10;
}
break;
} //Helligkeit
break;
case 5: switch (ebenen[3]) {
case 2:if (ok[0] == 1) {
ebenen[3] = 3;
}
if ((click != 0> 0) || (click != 0< 0 && durchschnitt > 0) ) {
durchschnitt = durchschnitt + click;
}
break;
case 3:if (ok[0] == 1) {
ebenen[3] = 1;
ebenen[2] = 1;
}
if ((click != 0> 0) || (click != 0< 0 && durchschnitt > 0) ) {
durchschnitt = durchschnitt + click * 10;
}
break;
}
break;//Info
}
}
}