Formatumwandlung einer Zeitangabe?

Begonnen von blasterx, 03 November 2016, 09:17:57

Vorheriges Thema - Nächstes Thema

blasterx

Hallo,

Ich komme irgendwie nicht weiter, ich möchte ein Reading aus einem DOIF
timer_1_c1       03.11.2016 18:29:10
formatieren in  2016-11-03 18:29:10  mittels userReadings aber es fehlt mir der Ansatz.
Das Ziel ist mittels der formatierten Zeitangabe ein Reading zu erzeugen mit einem timestamp zb. 1478194150
Das geht ja mit dem Befehl
{ time_str2num ("2016-11-03 18:29:10") }

Ich würde mich über jede Hilfe freuen.

Gruß BlasterX
Gruß-BlasterX

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

blasterx

Danke für die Antwort, aber ich hatte mir den Artikel auch schon durchgelesen und auch getestet. ich bekomme das Datum bis "Tag Monat" aufgesplittet aber leider nicht noch das Jahr. Wenn ich es aufgesplittet habe würde ich es mir dann das Reading  passend zusammensetzen.
Vieleicht nicht die elegante Methode solle aber gehen.

Gruß BlasterX
Gruß-BlasterX

dev0

Zitat von: blasterx am 03 November 2016, 09:17:57
formatieren in  2016-11-03 18:29:10  mittels userReadings aber es fehlt mir der Ansatz.

attr <device> userReadings time_in_secs:timer_1_c1:.* {ReadingsVal($name,'timer_1_c1','') =~ m/(.+)\.(.+)\.(.+)\s(.+):(.+):(.+)/; time_str2num "$3-$2-$1 $4:$5:$6" }

blasterx

Danke genau das war es. Ich habe sehr viel getestet aber da wäre ich nie drauf gekommen.
Ich werde mal versuchen den regex String zu verstehen. :)
Gruß BlasterX
Gruß-BlasterX