Snakey
Member
MajorMadness":364hz42s schrieb:Problem ist an deiner Lösung, was wenn du den Arduino resettest nachdem das Relay geschaltet wurde? es bleibt aus bis zum nächsten Tag... Grade bei Uhrzeiten immer schauen ob größßer oder kleiner ist, niemals gleich...
if time = 10:00:00
mach an
if time = 20:00:00
mach aus
und jetzt hängt der genau um 9:59:59 für 2 Sekunden und schon bleibt unser licht den ganzen tag aus...
Ja, das ist wirklich nicht so prickelnd....
MajorMadness":364hz42s schrieb:(für die es trotzdem machen wollen, ihr müsst prüfen:
if(Stunde==10 ||Stunde==11 ||Stunde==12 ||Stunde==13 ||Stunde==13 || ect...)
) :stumm: Nicht effektiv...
Hmpf, warum rechnet ihr nicht einfach alles in Sekunden um (Stunden * 3600 + Minuten * 60 + Sekunden) ?? Beispiel:
startSekunden = 10:10 Uhr = 10 * 3600s + 10 * 60s = 36600s
stopsekunden = 20:00 Uhr = 20 * 3600s + 0 * 60s = 72000s
aktuellSekunden = aktuelle Uhrzeit ebenfalls in Sekunden umrechnen.
Code:
wenn startSekunden <= stopSekunden: (z.B . 01:00 - 23:59 oder 06:00 - 21:00 oder 08:01 - 08:05), dann
wenn startSekunden <= aktuellSekunden UND aktuellSekunden < sekundenStop, dann Einschalten
sonst Ausschalten
sonst: (z.B. 23:00 - 06:00), dann
wenn (sekundenStart <= aktuellSekunden UND aktuellSekunden < 86400)
ODER (0 <= aktuellSekunden UND aktuellSekunden < sekundenStop), dann Einschalten
sonst Ausschalten
Gruß,
Andi