Hallo, ich hatte mir vor etlicher Zeit folgende sub angelegt um über ttsSay (WVC) das Datum, die Uhrzeit und die Temperatur im Garten ansagen zu lassen. Das funktionierte eine ganze Zeit ohne Fehler. Jetzt habe ich festgestellt, dass bei der Datumsansage die Zahl falsch ausgegeben wird. Beispiel: "Heute ist Sonntag der elf (richtig wäre elfte) 2015...."
Aufgefallen ist das mir erst in der letzten Woche, vorher wurde das richtig angesagt. sprintf %2d. sollte, laut Perl Handbuch doch OK sein. Leider gehen mir langsam die Ideen aus, wo ich noch ansetzen könnte.
Vielleicht hat ja jemand einen Tipp
sub date_time()
{
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat += 1;
$Jahrestag += 1;
$Jahr += 1900;
my @Wochentage = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
my @Monatsnamen = qw(Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
my $datum_2 = sprintf("%s der %2d. %s %04d",
$Wochentage[$Wochentag],
$Monatstag,
$Monatsnamen[$Monat-1],
$Jahr,
);
my $zeit_1 = sprintf("Es ist %02d:%02d Uhr",
$Stunden,
$Minuten,
);
my $temp=ReadingsVal('Temperatur_Garten','temperature','Fehler');
fhem "set ViewSonic ttsSay Hallo, guten Tag, heute ist $datum_2, $zeit_1, Die aktuelle Temperatur im Garten beträgt $temp Grad";
VG
Frank
Es hat der . gefehlt, muss ich beim editieren wohl mal gelöscht haben.
Wo muss dieser Punkt den genau sein?
Ich würde das gerne übernehmen.