ReadingsAge gibt keinen Wert zurück

Begonnen von iceman, 20 Januar 2020, 08:21:56

Vorheriges Thema - Nächstes Thema

iceman

Hallo zusammen,

um zu überprüfen wann meine Xiaomi Sensoren das letzte mal ausgelesen wurden, habe ich in einer readingGroup bisher den letzten timestamp ausgegeben:

define TempHygro readingsGroup <Raum>,<Temperatur>,<Luftfeuchte>,<Last Update> TYPE=XiaomiBTLESens:temperature,humidity,<{ReadingsTimestamp($DEVICE,"temperature","undef")}@reading>

nun wollte ich das ganze so umstellen, dass die zeit seit dem letzen Update angezeigt wird. Dazu, dachte ich, eignet sich ReadingsAge ganz gut und habe die readingsGroup wie folgt umgebaut:

define TempHygro readingsGroup <Raum>,<Temperatur>,<Luftfeuchte>,<Last Update> TYPE=XiaomiBTLESens:temperature,humidity,<ReadingsAge($DEVICE,"temperature",0)@reading>

Leider ohne Ergbenis, nun bleibt die letzte Spalte leer. Was mache ich falsch?

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

iceman

#2
Moin,

danke, aber die hatte ich auch schon drin, mit dem gleichen Ergebnis...

define TempHygro readingsGroup TempHygro readingsGroup <Raum>,<Temperatur>,<Luftfeuchte>,<Last Update> TYPE=XiaomiBTLESens:temperature,humidity,<{ReadingsAge($DEVICE,"temperature",0)}@reading>

ich hatte auch schon folgenden Ausdruck eingehängt:

<{time_str2num(ReadingsTimestamp($DEVICE,"temperature",0))}@reading>

Da bekomme ich die Zeit in Sekunden zurück (irre hohe Zahl).

während:

<{time() - time_str2num(ReadingsTimestamp($DEVICE,"temperature",0))}@reading>

wiederum nichts liefert...

Beta-User

Na ja, nach etwas darüber nachdenken noch folgendes:
ReadingsAge ändert sich sekündlich, ebenso time()... Eventuell hat da der Modulautor schlicht verhindert, dass man sich mit dieser Art Konstruktion ins Abseits schießt, weil zu viele Änderungen stattfinden?

Vermutlich sollte man für diese Art Device eine andere Überwachungsmethode wählen, z.B. ReadingsWatcher (habe ich selbst nicht im Einsatz, kann dazu also auch nichts sagen...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

KernSani

Ich nutze für diese Art der Überwachung das Monitoring Modul, etwas aufgebohrt. Das Ganze hatte ich hier https://forum.fhem.de/index.php/topic,97173.msg917347.html#msg917347 mal dokumentiert
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...