[gelöst] Datum Yahoo Wetter formatieren ?

Begonnen von dt2510, 23 April 2018, 11:28:15

Vorheriges Thema - Nächstes Thema

dt2510

Das Yahoo Wetter liefert mir das Datum für fc2 bis fc10 in der Form "24 Apr 2018" ... "02 May 2018"

Wie kann ich dieses Datum in "24.04.2018" ... "02.05.2018" konvertieren ?

<div data-type="label"
     data-device="Wetter"
     data-substitution="toDate().ddmmyyyy()"
     data-get="fc10_date">
</div>


liefert mir immer das Tagesdatum "23.04.2018" statt (wie ich es erwartet hätte) "02.05.2018". Ich konnte leider auch keine Dokumentation von toDate finden (da gibt es ja noch toDate().ago... usw.). Kann mir da jemand weiterhelfen ?

Mundus

Hi,

ich habe das Problem wie folgt gelöst:

1. Im Device das Attribut UserReadings eingefügt attr DEVICE userReadings fc1_date_own {my $var = WetterReadingDateFormat(ReadingsVal("DEVICE","fc1_date","0"))}

2. Das Skript WetterReadingDateFormat geschrieben ##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;
use Blocking;

#########################

sub YahooWetterUtil_Initialize($$)
{
  my ($hash) = @_;
}

###############################################
sub WetterReadingDateFormat($)
{
my ($hash) = @_;

## Log für Ausgabeüberprüfung
Log3 $hash, 4 , "Aufruf Create Values wird gestartet. Der Übergabewert lautet $hash";

$hash=~ s/\sJan\s/\.01\./;
$hash=~ s/\sFeb\s/\.02\./;
$hash=~ s/\sMar\s/\.03\./;
$hash=~ s/\sApr\s/\.04\./;
$hash=~ s/\sMay\s/\.05\./;
$hash=~ s/\sJun\s/\.06\./;
$hash=~ s/\sJul\s/\.07\./;
$hash=~ s/\sAug\s/\.08\./;
$hash=~ s/\sSep\s/\.09\./;
$hash=~ s/\sOct\s/\.10\./;
$hash=~ s/\sNov\s/\.11\./;
$hash=~ s/\sDec\s/\.12\./;

return $hash;
}


##########Ende#######################
1;


3. Wert fc1_date_own im TabletUI abgegriffen.

Gruß

Mundus

dt2510