Hallo,
ich möchte mir ein Userreading bauen, welches den Timestamp des zuletzt aktualisierten Readings einer bestimmten Auswahl beinhaltet. Der folgende Code klappt leider nicht, es wird zwar ein Timestamp, jedoch nicht der späteste, übernommen. Ich denke, ich muss umformatieren. Hat jemand eine Idee?
lastTrigger {use List::Util qw( min max ); my @array=(ReadingsTimestamp($name,"PRESS_SHORT_1",0),ReadingsTimestamp($name,"PRESS_SHORT_2",0),ReadingsTimestamp($name,"PRESS_LONG_1",0),ReadingsTimestamp($name,"PRESS_LONG_2",0)); max @array}
Das Log sagt
2015.10.23 06:31:07 1: PERL WARNING: Argument "2015-10-23 06:31:05" isn't numeric in subroutine entry at (eval 47930) line 1.
2015.10.23 06:31:07 3: eval: {use List::Util qw( min max ); my @array=(ReadingsTimestamp($name,"PRESS_SHORT_1",0),ReadingsTimestamp($name,"PRESS_SHORT_2",0),ReadingsTimestamp($name,"PRESS_LONG_1",0),ReadingsTimestamp($name,"PRESS_LONG_2",0)); max @array}
2015.10.23 06:31:07 1: PERL WARNING: Argument "2015-10-19 07:48:48" isn't numeric in subroutine entry at (eval 47930) line 1.
2015.10.23 06:31:07 3: eval: {use List::Util qw( min max ); my @array=(ReadingsTimestamp($name,"PRESS_SHORT_1",0),ReadingsTimestamp($name,"PRESS_SHORT_2",0),ReadingsTimestamp($name,"PRESS_LONG_1",0),ReadingsTimestamp($name,"PRESS_LONG_2",0)); max @array}
Reicht nicht einfach
lastTrigger { TimeNow() }
?
Du hast Recht.
Da das ja nur und dann aber immer ausgeführt wird, wenn irgendein Reading aktualisiert wird.
Danke 8) .
Gibts hier auch eine Möglichkeit nur ein bestimmtes Reading zu triggern? Dann könnte quasi eine relative Zeitangabe entstehen, die den wait-Timer ersetzen könnte:
userReading = Zeit zu der angeschaltet wurde.
userReading +10 = Zeit zu der ausgeschaltet wird
Da meine Devices oft mehr als ein Reading haben, ich ja aber nur das eine triggern will, das den Verbraucher schaltet, wäre das toll :-)
wow ein Thread aus 2015 :o
mit sagt lasttrigger nichts.... gab es das damals?? i don't know.
aber was du machen willst, sollte mittels
https://fhem.de/commandref_DE.html#userReadings
zu lösen sein.
weitere fragen dann evtl. in einem _neuen_ thread ::)