FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Wolfgang Hochweller am 27 Mai 2019, 18:40:19

Titel: data substitution
Beitrag von: Wolfgang Hochweller am 27 Mai 2019, 18:40:19
Ich habe eine Zeitangabe in der Form : 2019-05-28T00:00:00.

Daraus moechte ich gerne in einem Label-Widget Mo, Di, Mi, etc. bekommen.

Offenbar stoert das T in der Mitte.

Wie kriege ich das hin ?
Titel: Antw:data substitution
Beitrag von: setstate am 28 Mai 2019, 07:18:27
da geht einiges zu machen


<div class="vbox">
    <div data-type="label" data-device="ftuitest" data-get="ttime"></div>
    <div data-type="label" data-device="ftuitest" data-get="ttime" data-substitution="s/(.*)T.*/$1/g"></div>
    <div data-type="label" data-device="ftuitest" data-get="ttime" data-part="(.*)T.*"></div>
    <div data-type="label" data-device="ftuitest" data-get="ttime" data-substitution="toDate().eee()"></div>
    <div data-type="label" data-device="ftuitest" data-get="ttime" data-part="(.*)T.*" data-substitution="toDate().eee()"></div>
</div>
Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 28 Mai 2019, 10:27:52
Danke, muss mich wohl doch mal mit Regex befassen.

Allerdings gibt es noch Probleme, habe ich auch schon mal im Forum gelesen ...

Wenn ich das hier verwende :



<div data-type="label" data-device="ftuitest" data-get="ttime" data-part="(.*)T.*" data-substitution="toDate().eee()"></div>



bekomme ich immer den Tag von heute, egal was ich in ttime anliefere.

Beispiel :

Readings :


     2019-05-28 07:50:17   time1           2019-05-28T12:00:00
     2019-05-28 07:50:17   time2           2019-05-29T12:00:00
     2019-05-28 07:50:17   time3           2019-05-30T12:00:00
     2019-05-28 07:50:17   time4           2019-05-31T14:00:00
     2019-05-28 07:50:17   time5           2019-06-01T14:00:00



Widgets :


<div data-type="label" data-device="YrXML" data-get="time2" data-substitution="toDate().ee()"   data-part="(.*)T.*" class="bigger"></div>

<div data-type="label" data-device="YrXML" data-get="time3" data-substitution="toDate().ee()"   data-part="(.*)T.*" class="bigger"></div>

<div data-type="label" data-device="YrXML" data-get="time4" data-substitution="toDate().ee()"   data-part="(.*)T.*" class="bigger"></div>





Alles gibt (heute) Dienstag

Kleine Ergaenzung :  Man kann das data-get weglassen, gibt auch Dienstag
Titel: Antw:data substitution
Beitrag von: setstate am 28 Mai 2019, 11:22:02
Muss ich mir zuhause nochmal ansehen. Er scheint den String nicht als Datum zu erkennen und fällt auf today zurück.
Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 28 Mai 2019, 11:49:18
Danke. Vielleicht noch eines:
Wenn man das Reading direkt als FHEM-Datum setzt, also 2019-05-28 11:00:00, ist es immer noch nicht  zufrieden.
Titel: Antw:data substitution
Beitrag von: setstate am 28 Mai 2019, 19:46:23
ich musste die Funktion anpassen. Damit funktioniert das dann


<div class="vbox">
    <div data-type="label" data-device="ftuitest" data-get="ttime" data-substitution="toDate().eee()"></div>
</div>
Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 28 Mai 2019, 21:32:10
Danke.
Bin unterwegs, probiere ich morgen aus.
Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 30 Mai 2019, 17:51:14
Das funktioniert jetzt, wenn das Datum schon standard FHEM-Format hat.

Die data-part Anweisung data-part="(.*)T.*" ist dabei  destruktiv; danach geht es wieder nicht.

Bleibt also : Wie kriege ich :

2019-05-28T11:00:00

zu

2019-05-28 11:00:00

?



Titel: Antw:data substitution
Beitrag von: setstate am 30 Mai 2019, 19:34:11
Hast du ein Update gemacht? Das T wird im RegEx der Funktion jetzt mit verarbeitet.
Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 30 Mai 2019, 20:22:36
Ja, habe ich.

Funktioniert aber bei mir noch nicht.

Ich konnte bei dem Update auch nicht erkennen, dass du etwas eingecheckt hast ?

Oder kann ich das da nicht sehen ?

Titel: Antw:data substitution
Beitrag von: Wolfgang Hochweller am 30 Mai 2019, 20:32:24
Sorry, mein Fehler.
Aus welchem Grund auch immer war FTUI beim Update nicht dabei.

Geht prima, danke.