[gelöst]readingsGroup: Timestamp formatieren

Begonnen von choetzu, 06 Januar 2020, 22:06:21

Vorheriges Thema - Nächstes Thema

choetzu

Hallo,
ich benutze das Style Flex (https://forum.fhem.de/index.php/topic,101749.0.html) v.a. wegen der guten Darstellung auf den Mobile Devices. Um eine einfach Uebersicht der wichtigsten Werte zu generieren, benutze ich RG, siehe Bild. Nun möchte ich das Format des timestamp ändern. Bin aber im Forum nicht fündig geworden.

Ich möchte gerne das Format "Di, 17:03", also viel kürzer. Beim StateFormat habe ich dies mittels myUtils lösen können

sub timestampSHORT($) {
my ($device) = @_;
my @days = qw/So Mo Di Mi Do Fr Sa/;
  my @month = qw/Jan Feb Mar Apr May Jun Jul Aug Sep Okt Nov Dec/;
  ReadingsTimestamp($device,"state","") =~ /^20(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
  my $wday = $days[(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
  my $month = $month[(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
  return "$wday, $4";
}


Bei stateFormat dann folgendes eingeben:
{ timestampSHORT($name) }

Doch bei den ReadingsGroup schaffe ich dies nicht.

Folgende Links habe ich gefunden, aber haben mir nicht geholfen:
https://forum.fhem.de/index.php/topic,61364.msg527724.html#msg527724
https://forum.fhem.de/index.php/topic,75493.msg673010.html#msg673010

Ist das überhaupt generell möglich?

Lg c
Raspi3, EnOcean, Zwave, Homematic

KlaGho

#1
Hallo, hier eine Readingsgroup mit formatierten timestrings:

myutils funktion: (von einem anderen Forumsauthor :))
sub WeekdayAndTimeFromTimestamp($){
    my ($TimeStamp) = $_[0];
    my @days = qw/So Mo Di Mi Do Fr Sa/;
    $TimeStamp =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
    return "$wday $4";
}


Internals:
   DEF        <%temperature_humidity>,<°C>,<%>,<hPa>,<@>
Garten:realtemperature,realhumidity,<>,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
SD_WS.*:realtemperature,realhumidity,<>,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
wetter_IngelheimNord:temperature,humidity,pressure,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"temperature",""))}@temperature>
Wetter_Pro:temperature,humidity,pressure,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
XTHP1:temperature,humidity,pressure_rel,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"temperature",""))}@temperature>
   FUUID      5cd6b4e3-f33f-2206-0c88-1457c71da4663c6b
   FVERSION   33_readingsGroup.pm:0.207110/2019-12-11
   NAME       Temperaturen_ALL
   NR         393
   NTFY_ORDER 50-Temperaturen_ALL
   STATE      Initialized
   TYPE       readingsGroup
   alwaysTrigger 1
   changed    0
   mayBeVisible 1
   CONTENT:
     Garten     1
     SD_WS07_TH_421 1
     SD_WS07_TH_462 1
     SD_WS07_TH_7D3 1
     SD_WS37_TH_A13 1
     Wetter_Pro 1
     XTHP1      1
     wetter_IngelheimNord 1
   CONTENT2:
   DEVICES:
     ARRAY(0x73026e0)
     ARRAY(0x1b140e0)
     ARRAY(0x73c0cd8)
     ARRAY(0x70a7630)
     ARRAY(0x70b7578)
     ARRAY(0x6fd7a48)
     ARRAY(0x721b460)
     ARRAY(0x718a9f0)
     ARRAY(0x69e7c20)
   READINGS:
   fhem:
     lastDefChange 5
     last_update 1578390931.52597
   helper:
     DEF       
     mapping    %ALIAS
     nameStyle  {"style=font-size:14px"}
     valueFormat {"%1.0f"}

     valueStyle {
if($READING =~ m/humidity/)
{"style=\"color:#".substr(Color::pahColor(0,50,100,$VALUE,[255,255,0, 127,255,0, 0,255,0, 0,255,255, 0,127,255]),0,6)."\""}
elsif ($READING =~ m/temperature/)
{"style=\"text-align:right;color:#".substr(Color::pahColor(-10,15,30,$VALUE,2),0,6)."\""}
else
{'style="text-align:right"'}
}

     positions:
       Garten.realhumidity 2:2
       Garten.realtemperature 2:1
       SD_WS07_TH_421.realhumidity 3:2
       SD_WS07_TH_421.realtemperature 3:1
       SD_WS07_TH_462.realhumidity 4:2
       SD_WS07_TH_462.realtemperature 4:1
       SD_WS07_TH_7D3.realhumidity 5:2
       SD_WS07_TH_7D3.realtemperature 5:1
       SD_WS37_TH_A13.realhumidity 6:2
       SD_WS37_TH_A13.realtemperature 6:1
       Wetter_Pro.humidity 8:2
       Wetter_Pro.pressure 8:3
       Wetter_Pro.temperature 8:1
       XTHP1.humidity 9:2
       XTHP1.pressure_rel 9:3
       XTHP1.temperature 9:1
       wetter_IngelheimNord.humidity 7:2
       wetter_IngelheimNord.pressure 7:3
       wetter_IngelheimNord.temperature 7:1
     recalc:
       undef
       ARRAY(0x69f6b90)
       ARRAY(0x6b9f7a8)
     values:
       formated:
         undef
         ARRAY(0x69ecb38)
         ARRAY(0x73fc898)
         ARRAY(0x6948a40)
       orig:
         undef
         ARRAY(0x70b2c38)
         ARRAY(0x70b32c8)
         ARRAY(0x730c870)
       prefixsuffix:
         undef
         ARRAY(0x53cee00)
         ARRAY(0x6e65f80)
         ARRAY(0x6a30050)
Attributes:
   DbLogExclude .*
   alwaysTrigger 1
   icon       temperature_humidity
   mapping    %ALIAS
   nameStyle  {"style=font-size:14px"}
   room       1,Heizung,Wetter
   style      {"style=font-size:16px"}
   valueFormat {"%1.0f"}

   valueStyle {
if($READING =~ m/humidity/)
{"style=\"color:#".substr(Color::pahColor(0,50,100,$VALUE,[255,255,0, 127,255,0, 0,255,0, 0,255,255, 0,127,255]),0,6)."\""}
elsif ($READING =~ m/temperature/)
{"style=\"text-align:right;color:#".substr(Color::pahColor(-10,15,30,$VALUE,2),0,6)."\""}
else
{'style="text-align:right"'}
}

choetzu

Wow, darauf wäre ich nie im Leben gekommen. Habe die ganze Zeit am Style rumgegrübelt. Super, danke.
Raspi3, EnOcean, Zwave, Homematic

choetzu

Zitat von: KlaGho am 07 Januar 2020, 14:12:44
sub WeekdayAndTimeFromTimestamp($){
    my ($TimeStamp) = $_[0];
    my @days = qw/So Mo Di Mi Do Fr Sa/;
    $TimeStamp =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
    return "$wday $4";
}




hmm, doch noch eine kleine Kosmetikfrage. Jetzt erstellt das Sub ja das Format "Di 19:37".  Was müsste ich im Sub ändern um "07.01. 19:37" zu erhalten? grosse Geschichte? Danke fürs Feedback.

Raspi3, EnOcean, Zwave, Homematic

amenomade

return "$3.$2 $4";

Folgende Zeilen sind dann überflüssig:
    my @days = qw/So Mo Di Mi Do Fr Sa/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

choetzu

Das klappt alles bestens! Und trotzdem habe ich ncoh eine Ergänzungsfrage. Wie kann ich das Format bei einem Internal Zeitspempel ändern?

Ich habe konkret folgende ReadingsGroup:
defmod Signalstaerke_EnOcean readingsGroup TYPE=EnOcean:+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RSSI,+TCM_ESP3_0_RepeatingCounter,+TCM_ESP3_0_TIME
attr Signalstaerke_EnOcean room 01_Status
attr Signalstaerke_EnOcean style class="block wide choetzuNoIconThreeValue"


Der Internal "+TCM_ESP3_0_TIME" möchte ich nun wie bei den Timestamps darstellen. Ich kriege das aber irgendwie nicht hin, weder im valueFormat noch im Style...

kann mir hier jemand helfen? Danke.
Raspi3, EnOcean, Zwave, Homematic

amenomade

Statt ReadingsTimestamp, InternalVal
Formattierung mit der gleiche Funktion
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

choetzu

super, danke..... Das klappt von der Formatierung her tiptop. Doch leider verhaut es mir die Tabelle. Es werden nun auch die Devices OHNE Internal-Werte angezeigt... Keine Ahnung wieso. Das war vorher nicht so.

Hier das readingGroups:
TYPE=EnOcean:+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RSSI,+TCM_ESP3_0_RepeatingCounter,<{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>

Siehe Bild.

Raspi3, EnOcean, Zwave, Homematic

choetzu

Zitat von: choetzu am 22 Januar 2020, 07:37:01
super, danke..... Das klappt von der Formatierung her tiptop. Doch leider verhaut es mir die Tabelle. Es werden nun auch die Devices OHNE Internal-Werte angezeigt... Keine Ahnung wieso. Das war vorher nicht so.

Hier das readingGroups:
TYPE=EnOcean:+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RSSI,+TCM_ESP3_0_RepeatingCounter,<{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>

Siehe Bild.

Ups, habs grad im Log gemerkt, da kommen nun etliche Fehlermeldungen. Irgendwas scheine ich noch falsch zu machen...

2020.01.22 07:31:29 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

2020.01.22 07:35:13 3:  Aktor_L_Terasse_NodOn6: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_L_Zypresse_NodOn10: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn1: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn2: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn3: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn4: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn5: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Aktor_NodOn9: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Bewegungssensor_NodOn: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Buero_St_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  EZ_St1_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  EZ_St2_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Kueche_D_FUD61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Kueche_St_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  SZ_St1_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  SZ_St2_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Spiri_St_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Steingarten_D_FUD61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  TV_D_FUD61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  TV_St_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Taster_D_Esszimmer: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Taster_D_Technik: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Taster_EnO: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Taster_EnO2: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Taster_Office: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  WZ_St1_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  WZ_St2_FSB61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

2020.01.22 07:35:13 3:  Wohnzimmer_D_FUD61: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE: Unmatched ( in regex; marked by <-- HERE in m/^<{WeekdayAndTimeFromTimestamp(InternalVal( <-- HERE $DEVICE$/ at ./FHEM/33_readingsGroup.pm line 1076.

[Wed Jan 22 07:35:32 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "@TCM_ESP3_0_TIME" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
[Wed Jan 22 07:35:33 2020] fhem.pl: Argument "WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP..." isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 129.
2020.01.22 07:35:33 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.
Raspi3, EnOcean, Zwave, Homematic

amenomade

Woher kommt jetzt diesesm/^<{WeekdayAndTimeFromTimestamp(?
Zeig mal bitte wieder ein "list" vom Ding
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

choetzu

Zitat von: amenomade am 22 Januar 2020, 18:36:25
Woher kommt jetzt diesesm/^<{WeekdayAndTimeFromTimestamp(?
Zeig mal bitte wieder ein "list" vom Ding

von hier, siehe zweite Message in diesem Beitrag -->
Zitat von: KlaGho am 07 Januar 2020, 14:12:44
Hallo, hier eine Readingsgroup mit formatierten timestrings:

myutils funktion: (von einem anderen Forumsauthor :))
sub WeekdayAndTimeFromTimestamp($){
    my ($TimeStamp) = $_[0];
    my @days = qw/So Mo Di Mi Do Fr Sa/;
    $TimeStamp =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
    return "$wday $4";
}


und hier noch das listing:
Internals:
   DEF        TYPE=EnOcean:+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RSSI,<{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>
   FUUID      5c4f09cf-f33f-8001-c328-9c0ce3c6bc7c7ffe
   NAME       Signalstaerke_EnOcean
   NR         281
   NTFY_ORDER 50-Signalstaerke_EnOcean
   STATE      Initialized
   TYPE       readingsGroup
   changed    0
   mayBeVisible 1
   CONTENT:
     Aktor_L_Terasse_NodOn6 1
     Aktor_L_Zypresse_NodOn10 1
     Aktor_NodOn1 1
     Aktor_NodOn2 1
     Aktor_NodOn3 1
     Aktor_NodOn4 1
     Aktor_NodOn5 1
     Aktor_NodOn9 1
     Bewegungssensor_NodOn 1
     Buero_St_FSB61 1
     EZ_St1_FSB61 1
     EZ_St2_FSB61 1
     Garage_T_FSR61 1
     Kueche_D_FUD61 1
     Kueche_St_FSB61 1
     SZ_St1_FSB61 1
     SZ_St2_FSB61 1
     Spiri_St_FSB61 1
     Steingarten_D_FUD61 1
     TV_D_FUD61 1
     TV_St_FSB61 1
     Taster_D_Esszimmer 1
     Taster_D_Technik 1
     Taster_EnO 1
     Taster_EnO2 1
     Taster_Office 1
     WZ_St1_FSB61 1
     WZ_St2_FSB61 1
     Wohnzimmer_D_FUD61 1
   CONTENT2:
   DEVICES:
     ARRAY(0x7afb560)
     ARRAY(0x5bda888)
     ARRAY(0x5e264d0)
     ARRAY(0x6a06440)
     ARRAY(0x6a393b0)
     ARRAY(0x6d43580)
     ARRAY(0x7a8d3a0)
     ARRAY(0x660a3a8)
     ARRAY(0x6df4338)
     ARRAY(0x6a3dfb8)
     ARRAY(0x6a3fd58)
     ARRAY(0x65fbd28)
     ARRAY(0x61688f0)
     ARRAY(0x7ae4320)
     ARRAY(0x697c650)
     ARRAY(0x65f5988)
     ARRAY(0x6e25380)
     ARRAY(0x6ec0650)
     ARRAY(0x7ade708)
     ARRAY(0x7bfb3e0)
     ARRAY(0x7aafc40)
     ARRAY(0x6d57df8)
     ARRAY(0x6e84a88)
     ARRAY(0x6d58158)
     ARRAY(0x660f3b8)
     ARRAY(0x62a9b48)
     ARRAY(0x7bd6fa0)
     ARRAY(0x6a3cd98)
     ARRAY(0x6a41098)
   fhem:
     lastDefChange 39
     last_update 1579715950.55085
   helper:
     DEF       
     positions:
       Aktor_L_Terasse_NodOn6.TCM_ESP3_0_RSSI 1:2
       Aktor_L_Terasse_NodOn6.TCM_ESP3_0_ReceivingQuality 1:1
       Aktor_L_Zypresse_NodOn10.TCM_ESP3_0_RSSI 2:2
       Aktor_L_Zypresse_NodOn10.TCM_ESP3_0_ReceivingQuality 2:1
       Aktor_NodOn3.TCM_ESP3_0_RSSI 5:2
       Aktor_NodOn3.TCM_ESP3_0_ReceivingQuality 5:1
       Aktor_NodOn9.TCM_ESP3_0_RSSI 8:2
       Aktor_NodOn9.TCM_ESP3_0_ReceivingQuality 8:1
       Bewegungssensor_NodOn.TCM_ESP3_0_RSSI 9:2
       Bewegungssensor_NodOn.TCM_ESP3_0_ReceivingQuality 9:1
       Buero_St_FSB61.TCM_ESP3_0_RSSI 10:2
       Buero_St_FSB61.TCM_ESP3_0_ReceivingQuality 10:1
       Garage_T_FSR61.TCM_ESP3_0_RSSI 13:2
       Garage_T_FSR61.TCM_ESP3_0_ReceivingQuality 13:1
       Kueche_D_FUD61.TCM_ESP3_0_RSSI 14:2
       Kueche_D_FUD61.TCM_ESP3_0_ReceivingQuality 14:1
       Kueche_St_FSB61.TCM_ESP3_0_RSSI 15:2
       Kueche_St_FSB61.TCM_ESP3_0_ReceivingQuality 15:1
       SZ_St1_FSB61.TCM_ESP3_0_RSSI 16:2
       SZ_St1_FSB61.TCM_ESP3_0_ReceivingQuality 16:1
       SZ_St2_FSB61.TCM_ESP3_0_RSSI 17:2
       SZ_St2_FSB61.TCM_ESP3_0_ReceivingQuality 17:1
       Spiri_St_FSB61.TCM_ESP3_0_RSSI 18:2
       Spiri_St_FSB61.TCM_ESP3_0_ReceivingQuality 18:1
       Steingarten_D_FUD61.TCM_ESP3_0_RSSI 19:2
       Steingarten_D_FUD61.TCM_ESP3_0_ReceivingQuality 19:1
       TV_D_FUD61.TCM_ESP3_0_RSSI 20:2
       TV_D_FUD61.TCM_ESP3_0_ReceivingQuality 20:1
       TV_St_FSB61.TCM_ESP3_0_RSSI 21:2
       TV_St_FSB61.TCM_ESP3_0_ReceivingQuality 21:1
       Taster_D_Esszimmer.TCM_ESP3_0_RSSI 22:2
       Taster_D_Esszimmer.TCM_ESP3_0_ReceivingQuality 22:1
       Taster_EnO.TCM_ESP3_0_RSSI 24:2
       Taster_EnO.TCM_ESP3_0_ReceivingQuality 24:1
     values:
       formated:
         undef
         ARRAY(0x6168cf8)
         ARRAY(0x65f5340)
       orig:
         undef
         ARRAY(0x6609d40)
         ARRAY(0x5ddbb30)
       prefixsuffix:
         undef
         ARRAY(0x62d52c0)
         ARRAY(0x6a3af20)
Attributes:
   comment    TYPE=EnOcean:+TCM_ESP3_0_ReceivingQuality,+TCM_ESP3_0_RSSI,+TCM_ESP3_0_RepeatingCounter,+TCM_ESP3_0_TIME
   room       01_Status
   style      class="block wide tomNoIconThreeValue"
Raspi3, EnOcean, Zwave, Homematic

amenomade

2020.01.22 07:31:29 3:  Signalstaerke_EnOcean: <{WeekdayAndTimeFromTimestamp(InternalVal($DEVICE,"TCM_ESP3_0_TIME",""))}@TCM_ESP3_0_TIME>: Month '-1' out of range 0..11 at ./FHEM/99_myUtils.pm line 129.

Das kommt wahrscheinlich von der Funktion selbst. Zeig mal das myUtils Stück

Der Rest könnte damit verbunden sien: wenn die Perl Funktion einen Fehler liefert, weiss ich nicht, wie RG reagiert
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

choetzu

Zitat von: amenomade am 22 Januar 2020, 23:48:43
Das kommt wahrscheinlich von der Funktion selbst. Zeig mal das myUtils Stück

guten Morgen, danke für die Hilfe. Here we go:

sub WeekdayAndTimeFromTimestamp($){
    my ($TimeStamp) = $_[0];
    my @days = qw/So Mo Di Mi Do Fr Sa/;
    $TimeStamp =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
    return "$3.$2, $4";;
}
Raspi3, EnOcean, Zwave, Homematic

amenomade

Ich hatte es aber geschrieben:
ZitatFolgende Zeilen sind dann überflüssig:


    my @days = qw/So Mo Di Mi Do Fr Sa/;
    my $wday = $days [(localtime(timelocal(0,0,0,$3,$2-1,$1-1900)))[6]];
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

choetzu

sorry, mea gulpa.. habs schonmal geändert gehabt und da es dann trotzdem nicht funktionierte, habe ich den Originalzustand hergestellt. Ich habe es aber wieder wie folgt geändert. So ist es nun:

sub WeekdayAndTimeFromTimestamp($){
    my ($TimeStamp) = $_[0];
    $TimeStamp =~ /^(\d+)-(\d+)-(\d+)\s(\d+:\d+):(\d+)$/;
    return "$3.$2, $4";;
}



Es funktioniert leider wie gesagt nicht:

[Thu Jan 23 21:22:27 2020] fhem.pl: Use of uninitialized value $3 in concatenation (.) or string at ./FHEM/99_myUtils.pm line 128.
[Thu Jan 23 21:22:27 2020] fhem.pl: Use of uninitialized value $4 in concatenation (.) or string at ./FHEM/99_myUtils.pm line 128.


Zeile 128:
return "$3.$2, $4";;

und die Darstellung ist auch noch nicht korrekt, sprich die Devices ohne Internals-Values werden auch dargestellt.. Siehe Bild
Raspi3, EnOcean, Zwave, Homematic