Hauptmenü

Zeittrigger mit Datum

Begonnen von Damian, 08 Dezember 2020, 21:17:08

Vorheriges Thema - Nächstes Thema

xenos1984

Zitat von: Damian am 09 Dezember 2020, 10:53:42
wenn ich die "bis" Angabe für Tagesintervalle als "to", wie vorgeschlagen (siehe meine letzten Bespiele), definiere, dann sollte man mit Minuszeichen in den Datumsangaben klar kommen
Ah, jetzt verstehe ich - also "to" für Datumsintervalle, Minus für Zeitintervalle und als Trenner für das Datum. Klingt ein wenig kontraintuitiv, dass einerseits das Minus dann zwei verschiedene Bedeutungen hat, und andererseits zwei ähnliche Aufgaben (Intervalle) mit ganz verschiedenen Trennzeichen behandelt werden.

Damian

ich denke ich werde mich, wie beim at, an die ISO 8601 halten:

also yyyy-mm-ddThh:mm

Wobei eine Jahreszahl für mich eher ausscheidet, weil einmalige Trigger im DOIF nicht wirklich sinnvoll sind.

z. B. [12-24T17:00]

Dennoch finde ich eine "to at" Syntax für Tagesintervalle sinnvoll. An der kann man sich besser orientieren, auf welcher Ebene man sich befindet.

[10-09 to 10-10 at 20:00-22:00,+01:00]

dürfte lesbarer sein, als z. B.

[10-09 - 10-10,20:00-22:00,+01:00]

auch das Parsen dürfte wesentlich einfacher ausfallen, zu mal die bisherigen Definitionen alle noch funktionieren sollten.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Peter aus Calw

Hallo zusammen, Hallo Damian,
irgendwie finde ich kein Beispiel für mein Problem :
es soll immer am 1. des Monats um 00:01 und am letzten des Monats um 23:59 ein Wert in einen dummy geschrieben werden.
Es werden in den Beispielen immer volle Datumsangaben angeführt.
mein aktueller Versuch :
([00:01] and (strftime ("%d",localtime time) == 01)) (set mv1_ht [E_ht])
DOELSEIF ([23:59] and (strftime ("%d",localtime time+86400) == 01)) (set mv_ht {([mv1_ht:state]-[E_ht])})

FUUID

Freue mich über einen Tipp.
Gruß Peter

Damian

Sieht ok aus. Wo ist das Problem?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF