Hauptmenü

Jahreshöchsttemperatur

Begonnen von Kitt, 26 Mai 2018, 17:06:05

Vorheriges Thema - Nächstes Thema

Thoffi1978

Hallo,
der Timestamp funktioniert bei mir auch nicht richtig.
Die Zeit wird nicht immer aber oft neu geschrieben, obwohl es keine neue Min oder Max Temperatur gibt.
Ohne timestamp-on-change-reading .*
wird die immer die neueste Zeit geschrieben.
Ich habe das Gefühl, sobald die Temperatur sinkt, wird die Zeit geschrieben.
Anbei die List und ein Screenshot
Internals:
   .lastTimehumidity 1527927884.36789
   .lastTimestate 1527927884.36789
   .lastTimet_max 1527927814.36507
   .lastTimet_min 1527927849.3553
   .lastTimetemperature 1527927919.37209
   CHANGED   
   CODE       CUL_TCM97001_80
   DEF        CUL_TCM97001_80
   LASTInputDev nanoCUL
   MSGCNT     23911
   NAME       Aussentemperatur
   NR         325
   RSSI       -76
   STATE      T: 20.1 H: 79
   TYPE       CUL_TCM97001
   lastH      0
   lastT      1527927989.36173
   nanoCUL_MSGCNT 23911
   nanoCUL_RAWMSG s50880C94F0FC;  480: 9184
   nanoCUL_TIME 2018-06-02 10:26:29
   .attraggr:
   .attreocr:
     .*
   .attrminint:
     .*:300
   .attrtocr:
     .*
   .userReadings:
     HASH(0x3f5a680)
     HASH(0x42e7688)
   READINGS:
     2018-03-25 08:52:15   battery         low
     2017-08-16 18:03:12   channel         0
     2018-06-02 10:24:44   humidity        79
     2018-03-25 08:52:15   mode            normal
     2018-06-02 10:24:44   state           T: 20.1 H: 79
     2018-06-02 10:23:34   t_max           20.4
     2018-06-02 10:24:09   t_min           14.7
     2018-06-02 10:25:19   temperature     20.1
Attributes:
   event-min-interval .*:300
   event-on-change-reading .*
   model      NC_WS
   room       Haus
   timestamp-on-change-reading .*
   userReadings t_min {my $t=ReadingsNum($name,"temperature",0);; my $a=ReadingsNum($name,"t_min",99);; ($t<$a) ? $t : $a;;},
t_max {my $t=ReadingsNum($name,"temperature",0);; my $a=ReadingsNum($name,"t_max",0);; ($t>$a) ? $t : $a;;}


Hoffi

Wzut

kann sein das es in Verbindung mit event-min-interval .*:300 nicht so läuft wie erwartet. Lösch es doch mal und beobachte, ich selbst verwende min-interval nie.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Thoffi1978


Kitt

Ich würde gerne über Telegram folgende Nachricht versenden:

Die Höchsttemperatur (t_max) wurde am (timestamp) gemessen.

Wie kann ich denn den zugehörigen Timestamp zu der jeweiligen Höchsttemperatur auslesen?

Danke!

Byte09

Zitat von: Kitt am 11 Juni 2018, 18:41:27
Ich würde gerne über Telegram folgende Nachricht versenden:

Die Höchsttemperatur (t_max) wurde am (timestamp) gemessen.

Wie kann ich denn den zugehörigen Timestamp zu der jeweiligen Höchsttemperatur auslesen?

Danke!

$timestamp = ReadingsTimestamp($name, $reading, $default);

Byte09

Kitt

#20
Super, das geht! Danke!

Kann ich den timestamp auch im deutschen Format ausgeben lassen und die Sekunden bei der Uhrzeit entfernen?

Viele Grüße

Kitt

Falls es noch jemanden interessiert, habe ich hier mal meine Lösung.

Es wird Folgendes ausgegeben:
Max-Temp: 30.2 °C (16.06., 16:54); Min-Temp: 12.6 °C (14.06., 03:27)

Internals:
   CHANGED   
   DEF        22
   IODev      JeeLink
   JeeLink_MSGCNT 509918
   JeeLink_RAWMSG OK 9 34 1 5 18 35
   JeeLink_TIME 2018-06-16 17:46:58
   LASTInputDev JeeLink
   LaCrosse_lastRcv 2018-06-16 17:46:58
   MSGCNT     509793
   NAME       LaCrosse_22
   NR         49
   STATE      Max-Temp: 30.2 °C
(16.06., 16:54);
Min-Temp: 12.6 °C
(14.06., 03:27)
   TYPE       LaCrosse
   addr       22
   battery_new 0
   bufferedH 
   bufferedT 
   corr1      0
   corr2      0
   previousH  35
   previousT  29.8
   sensorType 0=T(H)
   OLDREADINGS:
   READINGS:
     2018-06-01 21:33:09   battery         ok
     2018-06-16 17:36:56   humidity        35
     2018-06-16 16:54:17   maxstamp        16.06., 16:54
     2018-06-15 23:23:39   minstamp        14.06., 03:27
     2018-06-16 17:46:32   state           T: 29.8 H: 35
     2018-06-16 16:54:17   t_max           30.2
     2018-06-14 03:27:50   t_min           12.6
     2018-06-16 17:46:32   temperature     29.8
Attributes:
   IODev      JeeLink
   alias      Draußen
   event-on-change-reading .*
   room       Draußen
   stateFormat Max-Temp: t_max °C
(maxstamp);
Min-Temp: t_min °C
(minstamp)
   timestamp-on-change-reading .*
   userReadings t_min {my $t=ReadingsNum($name,"temperature",0); my $a=ReadingsNum($name,"t_min",99); ($t<$a) ? $t : $a;},
t_max {my $t=ReadingsNum($name,"temperature",0); my $a=ReadingsNum($name,"t_max",0); ($t>$a) ? $t : $a;},
maxstamp {ReadingsTimestamp("LaCrosse_22","t_max",0) =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;return "$3.$2., $4"},
minstamp {ReadingsTimestamp("LaCrosse_22","t_min",0) =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;return "$3.$2., $4"}

Thoffi1978

Hallo,
het schon jemand ein DOIF "gebastelt" der einen die Temperaturen per Mail / WA /Telegramm schickt, wenn diese sich geändert haben?

Hoffi