Hallo superduper
Ich löchere Dich weiter mit den gleichen Fragen: wieso hat Deinen Stunde 100 Minuten? Gebe Dir aber eine Lösung:
if (1800 >= 1400 || 1800 <= 0400) {digitalWrite(licht1_2, HIGH);} else {digitalWrite(licht1_2, LOW);}
Sagen wir Startzeit ist in der Variablen "start" und Endzeit in der Variablen "ende". Die aktuelle Zeit ist "jetzt."
if (( (start < ende) && (jetzt >= ende) ) || ( (start >= ende) && (jetzt < start) && (jetzt >= ende) )
{ //licht aus}
else
{ //licht an}
Wenn Du noch kontrollierst ob das Licht aus oder an ist, brauchst Du den Ausgang nur 1 mal setzen.
Dieser Kode schaltet das Licht jeden Tag ein und aus.
Jetzt zu meinem penetranten wiederholen:

Sagen wir die Startzeit ist 19:40 und die Einschaltdauer 1Stunde 30 Minuten.
Das ergibt mit Deiner rechenweise eine Startzeit 1940 und eine Stopzeit 2070. Der obengenannte Kode funktioniert; Wenn Du aber (jetzt == ende) schreibst Schaltet sich das licht nie aus da die Zeit bis 2059 kommt und dann bei 2100 weiterläuft.
Benutze wie alle Normalsterblichen eine 60-Minuten-Stunde, wandle Zähle die Zeit in Minuten und alles funktioniert besser.
Viele Grüße Uwe