String aus 2 Dummies im DOIF in Bedingung zusammenbauen

Begonnen von heikoh81, 07 September 2016, 21:34:49

Vorheriges Thema - Nächstes Thema

heikoh81

Hallo zusammen,

da DOIF momentan noch nicht direkt eine Uhrzeit mit konkretem Datum als Trigger verarbeiten kann, behelfe ich mir aktuell wie folgt:


([[Startzeit_Timer01]] and [?EIN_AUS_Timer01] eq "on" and "$mday
$month" eq [Startdatum_Timer01])


Startzeit_Timer01 & Startdatum_Timer01 sind Dummies, die reinen Text enthalten.
Startdatum_Timer01 = "7 9"
(für den 07.09.)

Starttag_Timer01 & Startmonat_Timer01 sind weitere Dropddown-Dummies.
Momentan behelfe ich mir mit einem notify, das bei Veränderung einer der beiden Dropdown-Boxen den Dummy Startdatum_Timer01 korrekt mit Leerzeichen zwischen Tag und Monat erzeugt.

(Starttag_Timer01|Startmonat_Timer01) {
  fhem("set Startdatum_Timer01 ".Value("Starttag_Timer01")."
".Value("Startmonat_Timer01"));
}


Wie muss ich das in das DOIF einbauen, um

eq [Startdatum_Timer01]

direkt durch die beiden Dropdown-Dummies Starttag_Timer01 & Startmonat_Timer01 zu ersetzen?
Somit könnte ich das notify sowie den Hilfs-Dummy Startdatum_Timer01 einsparen.

Vielen Dank für eure Hilfe,
viele Grüße,

Heiko

Damian

Zitat von: heikoh81 am 07 September 2016, 21:34:49
Hallo zusammen,

da DOIF momentan noch nicht direkt eine Uhrzeit mit konkretem Datum als Trigger verarbeiten kann, behelfe ich mir aktuell wie folgt:


([[Startzeit_Timer01]] and [?EIN_AUS_Timer01] eq "on""$mday
$month" eq [Startdatum_Timer01])

Startzeit_Timer01 & Startdatum_Timer01 sind Dummies, die reinen Text enthalten.
Startdatum_Timer01 = "7 9"
(für den 07.09.)

Starttag_Timer01 & Startmonat_Timer01 sind weitere Dropddown-Dummies.
Momentan behelfe ich mir mit einem notify, das bei Veränderung einer der beiden Dropdown-Boxen den Dummy Startdatum_Timer01 korrekt mit Leerzeichen zwischen Tag und Monat erzeugt.

(Starttag_Timer01|Startmonat_Timer01) {
  fhem("set Startdatum_Timer01 ".Value("Starttag_Timer01")."
".Value("Startmonat_Timer01"));
}


Wie muss ich das in das DOIF einbauen, um

eq [Startdatum_Timer01]

direkt durch die beiden Dropdown-Dummies Starttag_Timer01 & Startmonat_Timer01 zu ersetzen?
Somit könnte ich das notify sowie den Hilfs-Dummy Startdatum_Timer01 einsparen.

Vielen Dank für eure Hilfe,
viele Grüße,

Heiko

Wenn du genau auf das Datum abfragen willst, dann reicht einfach
... $mday == [Starttag_Timer01] and $month == [Startmonat_Timer01]...

Gruß

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

heikoh81

Super, danke, das probiere ich mal.
Am liebsten wäre mir natürlich die Abfrage, ob der Zeitpunkt in einem Zeitraum liegt.
Momentan behelfe ich mir mit 2 DOIFs. Das eine schaltet einen Hilfsdummy am Starttag auf on, am Endtag auf off.
Das zweite DOIF prüft dann jeden Tag zur eingestellten Uhrzeit, ob der Hilfsdummy == on ist - dann liegt der Tag im gewünschten Zeitraum.

Viele Grüße,
Heiko