if (millis() - startZeit1 > zeit1) {
rtcReadTime();
printRTCDateTime();
setRTCTime();
sensorWert = analogRead(Bodenfeuchte);
startZeit1 = millis();
}
Wenn ich nach den Methoden-Namen gehe, liest Du die Zeit der RTC aus und setzt Diese danach wieder ... warum??
Auch hätte bei mir 'zeit1' einen irgendwie eingängigeren Namen ... Durchnummerieren mag bei Kindern vll. klappen, im Sketch ist's aber keine gute Idee.
Dein
long runtime = millis();
überlebt ebenfalls die IF nicht - Gültigkeit von Variablen!
Alles, was in einer Klammer eingepackt erzeugt wird (hier long runtime) wird am Ende der Klammer wieder frei gegeben.
Du müsstest eine Warnung zu einer unbenutzten Variable erhalten ... drei Mal ... für jeden IF-Block Eine.
ALLES, was der Kompiler rot anmeckert, ist potentiell Etwas, was Dir auf die Füße fallen wird!
Bei Fehlern (Error) kannst Du Dich nicht gegen wehren - Die MUSST Du ausbessert, sonst geht Nix zum Arduino.
Die Warnungen KANN man ignorieren, wenn man weiß, was diese Warnung bedeutet - sonst bessere Schuhe anziehen, wenn's Dir auf die Füße fällt, tut's nicht so weh.
In den Einstellungen müssen (warum auch immer) die vollständigen Meldungen erst aktiviert werden - solltest Du auch tun.
Was sich die IDE-Entwickler dabei gedacht haben, diese Informationen standardmäßig geheim zu halten ... daran rätselt wohl selbst der liebe Gott ...
Dann zu Deinem Problem: Worin besteht Es überhaupt?
Deiner Fehlerbeschreibung kann ich nicht folgen - wir wissen NICHT, was Du Alles über Dein Projekt weist - somit sollte die Erklärung einfacher werden ... siehe
Rubber-Duck-DebuggingMfG