FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Puschel74 am 15 Juni 2014, 11:45:28

Titel: (Gelöst-Workaround) $now liefert keine Uhrzeit
Beitrag von: Puschel74 am 15 Juni 2014, 11:45:28
Hallo zusammen,

ich hab ein kleines verzwicktes Problemchen  >:(

Dieser Code:
Dummy1:(Ein|Aus) {
my $now=sprintf("%02d:%02d",$hour,$min);
  Log(3,"$now");
}

liefert mir im Logfile
Zitat2014.06.15 11:37:08 3: 11:37
Wie nicht anders zu erwarten.
Aber dieser Code:
(EG_Terrasse_extern|WetterstationEingang_extern):temperature.* {
  my $now=sprintf("%02d:%02d",$hour,$min);
  my $temp_terrasse = ReadingsVal("EG_Terrasse_extern","temperature",38);
  my $wind=ReadingsVal("WetterstationEingang_extern","wind",52);
  my $temp_wetterstation=ReadingsVal("WetterstationEingang_extern","temperature",78);
  Log(3,"$now");
  Log(3,"$temp_terrasse");
  Log(3,"$wind");
  Log(3,"$temp_wetterstation");
}

liefert mir im Logfile
Zitat2014.06.15 11:39:09 3: temperature: 19.302d:temperature: 19.302d
2014.06.15 11:39:09 3: 21.3
2014.06.15 11:39:09 3: 0.0
2014.06.15 11:39:09 3: 19.3

Ich logg mir gerne diverse Werte wenn ich einen neuen Code am bauen bin.
Temperatur- und Wind passen - aber die Uhrzeit bekomme ich einfach nicht hin.

Vielleicht sieht ja jemand meinen Fehler - ich bin schonwieder "betriebsblind".
Danke.

Grüße

Edith: Die beiden Geräte (EG_Terrasse_extern und WetterstationEingang_extern) sind per cloneDummy eingebunden - wenn das etwas helfen sollte.
Das ist jetzt der einzige Unterschied zwischen den beiden Codes.
Wenn es daran liegen könnte muss ich meinen Beitrag passend verschieben  ;D

Edith2: Wie von groby in Beitrag#3 vorgeschlagen klappt das
my $now=substr(FmtTime(time()),0,5);
einwandfrei.
Die Frage bleibt aber ob es eine ungewollte Eigenheit von cloneDummy sein kann.
Ich werde dazu dort meine Frage posten.
Titel: Antw:$now liefert keine Uhrzeit
Beitrag von: Groby am 15 Juni 2014, 12:58:58
Es sind m.E. die runden Klammern. Ich nutze Log in der Sub oder cmd-line immer so:

{Log 1, "Text"};
Titel: Antw:$now liefert keine Uhrzeit
Beitrag von: Puschel74 am 15 Juni 2014, 13:02:25
Hallo,

ich hab aber 2 notifys und im ersten (und nicht nur dort) klappt die Logausgabe ja.
Im zweiten notify werden die Temperaturen und die Windgeschwindigkeit auch korrekt ausgegeben - nur die Uhrzeit nicht.

Aber trotzdem danke.

Grüße
Titel: Antw:$now liefert keine Uhrzeit
Beitrag von: Groby am 15 Juni 2014, 14:01:38
Stimmt. Da scheint irgendwie der Wurm drin zu sein. Es sieht so aus als würden Teile von $EVENT geloggt...

Aber es geht auch so:


my $now=FmtTime(time());


Dann allerdings inklusive der Sekunden...

Wenn dieses Zeit-Format immer mit führenden Nullen ist wäre das ein möglicher Workaround zum Loggen von hh:mm


my $now=substr(FmtTime(time()),0,5);


Nicht schön, aber selten  ;D
Titel: Antw:$now liefert keine Uhrzeit
Beitrag von: Puschel74 am 15 Juni 2014, 14:35:35
Hallo,

als Workaround kann ich damit leben.
Vielen Dank - so klappt es schonmal mit der Uhrzeit.

Grüße