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
Filtern nach Ausdrücken mit Ausgabeformatierung (http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen)
Damit sollte das auch direkt aus dem DOIF machbar sein.
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
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" }
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