Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo, > > ich habe da offensichtlich einen Knoten im Kopf, vielleicht kann jemand helfen: > > > > Ich habe diverse Zeitschaltuhren programmiert. Dafür habe ich die 24h in 86400s eingeteilt. Jetzt > > möchte ich eine Beleuchtung um 21:00Uhr abends einschalten (75600) und um 22:00 Uhr(79200) > > wieder aus. Das ist auch kein Problem. > > > > <code>if aktuellZeit>=75600 and timeserial <=79200 > > schalte_ein</code> > > > > wenn ich nun aber das Licht nachts um 02:00Uhr ausschalten möchte, funktioniert meine Zeitschaltuhr > > nicht mehr...hat jemand eine Idee, wie man das elegant abfackeln kann? > > > > derzeit mache ich das so: > > ich gucke, ob die Ausschaltzeit kleiner ist als die Einschaltzeit, ist das der Fall, addiere ich 86400s > > auf die Ausschaltzeit, warte dann bis Mitternacht und ziehe die 86400 wieder ab. Das geht zwar, ist > > aber nicht sehr elegant, zumal ich mir dann andere Mechanismen verbaue: > > > > z.B. > > Die Einschaltzeit richtet sich nach dem Sonnenuntergang. Wenn nun der SU kurz vor der Ausschaltzeit > > liegt, dann würde die Beleuchtung nur sehr kurz eingeschaltet. Das ist Kappes. Deshalb fange ich das > > ab, indem ich eine Mindesteinschaltzeit von 20min. festlege, ansonsten bleibt alles dunkel. > > > > Es wäre schön, wenn jemand den Knoten im Kopf lösen könnte > > > > Gruß > > Christian > > > > > Hallo Christian > > wie wäre es so: > <code> > > if tein > taus // Schaltzeit über 0:00Uhr hinaus > { einschaltzeit = 86400 - tein + taus; // Gesamteinschaltzeit ermitteln > if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht > {if time >= tein or time < taus // prüfen auf Uhrzeit "ein" => wichtig _oder_ ! > { einschalten... > } > } > } > else > { einschaltzeit = taus - tein; // Gesamteinschaltzeit ermitteln > if einschaltzeit >= min_einschaltzeit // nur weiter prüfen wenn min. Einschaltzeit erreicht > {if time >= tein and time < taus // prüfen auf Uhrzeit "ein" => wichtig _und_ ! > { einschalten... > } > } > </code> > > nitraM