Wie gestalte ich die Bedingung für jede zweite oder dritte Wochen am Besten?

Begonnen von Marko1976, 16 Februar 2026, 17:34:56

Vorheriges Thema - Nächstes Thema

rabehd

Zitat von: Marko1976 am 18 Februar 2026, 18:33:20das in anderen Programmiersprachen andere einfache Wege vorhanden sind um so ein Ziel zu erreichen.
Kühne (Schutz)-behauptung.
Auch funktionierende Lösungen kann man hinterfragen.

Beta-User

Kommt es wirklich darauf an, nach welchem Lehrplan was gelernt wurde?

Bin schon froh, zwischenzeitlich nicht alles wieder vergessen zu haben, was ich vielleicht mal gewusst hatte, auch nach der Grundschule...

Von daher sind wir doch alle froh, wenn irgendjemand wieder die richtige Schublade aufzieht, dafür braucht sich keiner zu rechtfertigen.

Wir sollten das hier erst mal auf sich beruhen lassen, just my2ct.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Damian

Nachdem wir alle festgestellt haben, dass wir in der Grundschule das Dividieren gelernt haben, wollen wir mal zum ursprünglichen Thema zurückkehren.

Bedeutet:

DOIF ([08:00|2] and $week % 3 == 0) (...)
jeden dritten Dienstag um 08:00 Uhr, es beginnt in der dritten Woche des Jahres, will man es um eine oder zwei Wochen verschieben muss man die Woche erhöhen:

DOIF ([08:00|2] and ($week+1) % 3 == 0) (...)
heißt jeden dritten Dienstag um 08:00, es beginnt in der zweiten Woche des Jahres

usw.

Das eigentliche Problem dieser Lösung ist, dass nach dem Jahreswechsel die Kontinuität verloren geht und je nach Konstellation mal mehr oder weniger Wochen zwischen den Jahren liegen können.

Die Frage ist, ob eine bestimmte Wiederholung überhaupt ein ganzes Jahr bestand haben soll oder sich im Laufe eines Jahres ohnehin ändert (z. B. beim Schichtwechsel).

Alternativen sind sicherlich Kalendereinträge oder das holiday-Modul.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Prof. Dr. Peter Henning

Zitat von: Damian am 18 Februar 2026, 23:03:45Alternativen sind sicherlich Kalendereinträge oder das holiday-Modul.
"Das ist der Weg", würde ein Mandalorianer sagen. Insbesondere deshalb, weil jedes halbwegs vernünftige Kalenderprogramm über komfortable Funktionen zum Einrichten und Anzeigen wiederholter Termine verfügt. Das bedeutet vor allem, dass dies auch noch in drei Jahren wartbar ist, wenn gewisse Leute schon wieder vergessen haben, was sie heute gelernt haben.

Zitat von: Marko1976 am 18 Februar 2026, 18:33:20Also ich habe sie wie gesagt noch nie irgendwo gesehen und ich denke Wikipedia ist auch nicht 100% Ffehlerfrei.
Das ist sicher richtig, unter anderem behauptet Wikipedia ja, dass man Division in der dritten Klasse lernen würde. Was, wie wir gesehen haben, nicht stimmt. Allerdings stimmt die Aussage der Wikipedia im Hinblick auf Programmiersprachen vollständig.

Zitat von: Marko1976 am 18 Februar 2026, 18:33:20Was aber dann wieder bedeuten würde das in anderen Programmiersprachen andere einfache Wege vorhanden sind um so ein Ziel zu erreichen
Selbstverständlich, denn _jede Programmiersprache mit einem Zahlenbegriff_ kennt die Umwandlung von Gleitkommazahlen in Ganzzahlen. Damit lässt sich die modulare Division in einer Zeile darstellen. Geht sogar in symbolischen Sprachen wie LISP oder string-orientierten Sprachen wie XSLT, die eigentlich nicht über ausgefeilte Arithmetik verfügen. Vergl. https://www.amazon.de/Handbuch-Programmiersprachen-Softwareentwicklung-Lernen-Nachschlagen/dp/3446405585 - vielleicht sollte Marko1976 mal die 7,50 € für ein gebrauchtes Exemplar anlegen, das spart uns viel Zeit.


Zitat von: Marko1976 am 18 Februar 2026, 18:16:0047/21=2 Rest 2
Sehr schön, dann habe ich doch eine fantastische Geschäftsidee für Marko1976, die ich ihm gerne unterbreiten würde.

LG

pah