Moin zusammen,
Ich möchte einen Timestamp in ein Dummy schreiben um mir einen Zeitpunkt zu merken. Am einfachsten wäre ja die Linux-Zeit, da hat man ganze Zahlen und kann mit rechnen. Aber ich bin zu beschränkt dazu. Wer kann mich in die richtige Richtung treten?
eingeschränkte Grüße
Niels
set dummy {(time)}
noch einfacher
set dummy bla
und dann ReadingsTimestamp('dummy','state','0') verwenden.
Funktionen zum Umwandeln von timestamps in Sekunden bringt fhem von haus aus mit - ein Blick in die 99_Utils.pm oeffnet Welten.
Zitat von: betateilchen am 15 September 2016, 19:36:33
noch einfacher
So kann man übrigens später auch ganz einfach per
ReadingsAge ermitteln, wie alt denn der Zeitstempel ist.
Zitat von: Ellert am 15 September 2016, 19:10:53set dummy {(time)}
Oh man - ich habe hier so komplizierte Formulierungen gefunden - dabei ist es so einfach.
Zitat von: betateilchen am 15 September 2016, 19:36:33und dann ReadingsTimestamp('dummy','state','0') verwenden.
Auch darüber hatte ich nachgedacht und nichts dazu gefunden. Dank Euch häufen sich meine Möglichkeiten.
vereinfachte Grüße
Niels
Wie immer entstehen aus den Antworten ja Zusatzfragen 8)
Nun möchte ich 10 Sekunden von der Systemzeit abziehen und bin schon wieder gescheitert :'(
Warum wird meine Subtraktion denn ignoriert?set dummy {(time)-10}
So viel zu dem Thema, mit dem Timestamp ist ja leicht zu rechnen :-\
unberechnete Grüße
Niels
deine klammer ist falsch.
{(...)} ist die syntax an für perl code in einem fhem set.
gruss
andre
Zitat von: Muschelpuster am 16 September 2016, 09:09:57
Wie immer entstehen aus den Antworten ja Zusatzfragen 8)
Nun möchte ich 10 Sekunden von der Systemzeit abziehen und bin schon wieder gescheitert :'(
Warum wird meine Subtraktion denn ignoriert?set dummy {(time)-10}
So viel zu dem Thema, mit dem Timestamp ist ja leicht zu rechnen :-\
unberechnete Grüße
Niels
set dummy {(time-10)}
Zitat von: Ellert am 16 September 2016, 16:31:19
set dummy {(time-10)}
Jo, Danke, das klappt genau nicht. Dank Andre's Hinweis habe ich herausgefunden, dass aber Folgendes geht:
set dummy {((time-10))}
Warum auch immer ich den Ausdruck nochmal klammern muss. Es ist nicht so, dass man sonst einen Fehler zurück bekommt, aber die Subtraktion wird nicht ausgeführt.
So klappt wieder ohne die extra Klammer:
set dummy {(int(time)-10)}
geklammerte Grüße
Niels
ZitatJo, Danke, das klappt genau nicht.
Bei mir hat es funktioniert.
Mhh jetzt geht es. Problem saß wohl vor dem PC :-[
erstaunte Grüße
Niels