Autor Thema: Zeittrigger mit Datum  (Gelesen 2315 mal)

Offline xenos1984

  • Developer
  • Full Member
  • ****
  • Beiträge: 479
Antw:Zeittrigger mit Datum
« Antwort #15 am: 09 Dezember 2020, 17:55:24 »
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.

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9947
Antw:Zeittrigger mit Datum
« Antwort #16 am: 09 Dezember 2020, 18:40:05 »
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

Offline Peter aus Calw

  • Full Member
  • ***
  • Beiträge: 137
  • raspiB,raspi3,mini-pc,homatic-geräte,ir-Kopf,
Antw:Zeittrigger mit Datum
« Antwort #17 am: 01 Juli 2022, 20:53:57 »
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

Offline Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 9947
Antw:Zeittrigger mit Datum
« Antwort #18 am: 01 Juli 2022, 22:32:14 »
Sieht ok aus. Wo ist das Problem?
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF