Hallo,
folgendes DOIF habe ich mir für meine Zwecke umgebaut:
define di_average DOIF ([08:00]) (set TH_Modul desired {([default:temperature]+[outdoor:temperature])/2})
Meins:
define di_average DOIF ([08:00]) ([Status_Regentropfen]<1)
(set Auto_auf {([Uhrzeit]+[00:05])})
Ich möchte zu der aktuellen Uhrzeit (Uhrzeit ist in einen Dummy gesetzt) 5 Minuten hinzu adieren, und diese Zeit dann in das Dummy "Auto_auf" schreiben.
Jedoch kommt immer folgender error code bei der Ausführung:
Syntax error at (eval 333195) line 1, near "19:"
Vielen dank
Gruß
Thorsten
Du kannst die Zeit gleich im DOIF setzen, das spart den Dummy.
setreading $SELF time {(time + 300)}
Hey,
setreading $SELF time {(time + 300)}
unter den Reading time steht bei mir dann : 1513886222.34104
Wenn ich das so mache:
([Status_Regentropfen]<1)
(setreading $SELF time {(TimeNow)})
dann steht bei mir Uhrzeit und Datum..... nur wie mache ich das nur die Uhrzeit da steht und dann 5 Minuten dazu addiert werden?
Gruß
Thorsten
Rechnen geht nur mit Sekunden, Du musst die Sekunden wieder formatieren. Da gibt es verschiedene Möglichkeiten:
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#Time_.2F_Timestamp und dort z.B. FmtDateTime
Hallo,
mit diesem code habe ich fast das richtige Ergebniss... : Thu Dec 21 21:39:28 2017
Mit dem Regex [0-9,:]{8} bekomme ich auch nur die Uhrzeit herausgefiltert...... nur wie baue ich ich das jetzt im DOIF ein?
([Muster] eq "on")
DOELSE
(setreading $SELF time {(localtime (time + 300))})
Zitatnur wie baue ich ich das jetzt im DOIF ein
Es sollte jetzt ein Reading time mit der Uhrzeit im DOIF geben , oder was meinst Du mit "einbauen"
Jetzt im Moment habe ich unter time "Thu Dec 21 21:39:28 2017" stehen ich möchte dort aber nur die Uhrzeit stehen haben.
Hatte da an Regeex gedacht, im Regular Expression Tester habe über die Expression [0-9,:]{8} aus Thu Dec 21 21:25:45 2017 die Uhrzeit 21:25:45 erhalten.
Und nur diese Uhrzeit möchte ich im Reading time von dem DOIF haben.
Gruß
Thorsten
Versuche mal
localtime (time + 300) =~ /(\d\d:\d\d:\d\d)/;$1
evtl. das Semikolon doppeln
Hey Ellert,
vielen Dank für die Lösung :-)
Gruß
Thorsten
Gesendet von iPhone mit Tapatalk