Hauptmenü

Modul weather Yahoo-API

Begonnen von Mundus, 08 Juni 2017, 22:56:42

Vorheriges Thema - Nächstes Thema

Mundus

Hi,

ich versuche gerade die Readings das Modul weather nach meinen Bedürfnissen anzupassen und stolpere über das folgende Problem. In den Readings
fc?_date wird ein Datum mit dem Format 08 Jun 2017 ausgegeben.

Diese Formatierung kann ich so leider nicht weiterverarbeiten, denn die von mir genutzte JS-Funktion toDate() benötigt eine Formatierung wie 08.06.2017

Zur Zeit arbeite ich mit dem Attribut userReadings
Datum? {my $var = ReadingsVal("YahooWetterMyCity","fc?_date","0");;
$var=~ s/\sMay\s/\.05\./;;
$var=~ s/\sJun\s/\.06\./;;
$var;;}, ...

Leider ist das für die Erstellung/Pflege/usw nicht so übersichtlich und außerdem muss ich alle Monate abwarten, um die Ersetzungsliste zu vervollständigen. Daher die Frage, gibt es eine Möglichkeit, das Ganze zu verschlanken bzw. gibt es eine Möglichkeit, dass das Modul automatisch den Datumswert in fc?_date nach meinen Vorstellungen (Standard?) anpasst.

Gruß

Mundus

dev0

Die zentrale Stelle, um den String umzuformatieren, wäre im js Code direkt vor toDate().
Alternativ eine perl sub (in 99_myUtils.pm) anlegen und im userReading aufrufen.

Mundus

Hi,
den Ansatz
Zitat von: dev0 am 09 Juni 2017, 06:31:51
Alternativ eine perl sub (in 99_myUtils.pm) anlegen und im userReading aufrufen.
habe ich jetzt umgesetzt und die UserReadings sind besser zu pflegen. Ein UserReading sieht jetzt nur noch so aus
fc1_date_own {my $var = WetterReadingDateFormat(ReadingsVal("YahooWetterMyCity","fc1_date","0"))}

Den Ansatz
Zitat von: dev0 am 09 Juni 2017, 06:31:51
Die zentrale Stelle, um den String umzuformatieren, wäre im js Code direkt vor toDate().
würde ich besser finden, bin dafür aber noch auf Hilfe angewiesen. Ich nutze das TabletUI und dort das Widget Label. Leider finde ich im Code nirgends die aufgerufene Funktion toDate().
Kann mir jemand sagen, wo ich diese Funktion finde, damit ich versuchen kann, die Anpassungen vorzunehmen.

Gruß

Mundus

P.S.: Da ich nicht weiß, ob der Code TabletUI spezifisch ist oder das Widget Label eine globale FHEM-Funktion toDate() aufruft, führe ich diesen Thread fort  ;)

somansch

Kannst du noch deine Sub posten?

Danke und Gruß
Andreas