93_InfluxDBLogger.pm: _time aus Messwerten

Begonnen von Ballaststoff, 09 März 2023, 16:54:29

Vorheriges Thema - Nächstes Thema

Ballaststoff

Hallo zusammen,

ich erfasse Messdaten per MQTT und schreibe diese mittel 93_InfluxDBLogger.pm in meine INFLUX-DB.
Nun würde ich gerne den Zeitstempel, welcher vom Messgerät mit übermittelt wird (als Reading), als Zeitstempel nutzen, der auch in die Datenbank geschrieben wird (_time).
Leider kann man momentan nur zwischen:
- dem Zeitstempel von der FHEM-Erfassung bzw.
- dem Zeitstempel beim schreiben in die Datenbank wählen

gibt es hierfür einen Workaround?

Viele Grüße und besten Dank!
Philipp

cthil

#1
Hi,

genau das hab' ich vor ein paar Tagen umgesetzt, mit der Hilfe von hier: https://forum.fhem.de/index.php/topic,132608.0.html
Die Idee ist einfach ein neues Reading mittels setreading zu erzeugen, und dabei als Argument den Timestamp (z. B. aus einem anderen Reading oder Perl-Code) zu übergeben:

setreading <devspec> [YYYY-MM-DD HH:MM:SS] <reading> <value>


Funktioniert einwandfrei :) Hinweis an der Stelle: Das sleep 0.1; braucht man vor dem setreading, sonst wird nur ein Event getriggert.

Ballaststoff

Ah, klasse, danke! Das ist bei vielen Readings und Geräten aber ein ganz schöner Aufwand :)

Viele Grüße!

Ballaststoff

Zitat von: cthil am 10 März 2023, 09:09:12
Hi,

genau das hab' ich vor ein paar Tagen umgesetzt, mit der Hilfe von hier: https://forum.fhem.de/index.php/topic,132608.0.html
Die Idee ist einfach ein neues Reading mittels setreading zu erzeugen, und dabei als Argument den Timestamp (z. B. aus einem anderen Reading oder Perl-Code) zu übergeben:

setreading <devspec> [YYYY-MM-DD HH:MM:SS] <reading> <value>


Funktioniert einwandfrei :) Hinweis an der Stelle: Das sleep 0.1; braucht man vor dem setreading, sonst wird nur ein Event getriggert.

Hallo nochmal,

irgendwo hakt es noch bei mir:
ich habe ein Dummydevice d_dummy angelegt, welches die readings mit dem korrekten Zeitstempelt beinhalten soll.
Wenn ich nun testweise
setreading d_dummy [2023-03-14 11:00:00] temperature 25
eingebe, erkennt fhem [2023-03-14 11:00:00] nicht als Zeitstempel:
d_dummy: bad reading name '[2023-03-14' (allowed chars: A-Za-z/\d_\.-)



Ballaststoff

Zitat von: Ballaststoff am 14 März 2023, 15:59:19
Hallo nochmal,

irgendwo hakt es noch bei mir:
ich habe ein Dummydevice d_dummy angelegt, welches die readings mit dem korrekten Zeitstempelt beinhalten soll.
Wenn ich nun testweise
setreading d_dummy [2023-03-14 11:00:00] temperature 25
eingebe, erkennt fhem [2023-03-14 11:00:00] nicht als Zeitstempel:
d_dummy: bad reading name '[2023-03-14' (allowed chars: A-Za-z/\d_\.-)

OK, ohne [] klappt es:
setreading d_dummy 2023-03-14 11:00:00 temperature 25