FHEM Forum

FHEM => Sonstiges => Thema gestartet von: M.Piet am 30 September 2024, 10:09:51

Titel: [ERLEDIGT] Missing argument [...] 33_readingsGroup.pm
Beitrag von: M.Piet am 30 September 2024, 10:09:51
Hallo Zusammen,

ich habe immer wieder was im Log stehen:
2024.09.30 10:01:31 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 543.
2024.09.30 10:01:31 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 543.

Die betroffene Zeile hat folgenden Inhalt:
$v = sprintf( $value_format, $v );

Ein wenig mehr Zeilen vor und nach der Zeile 543:

}

  my $value_format = lookup2($hash->{helper}{valueFormat},$name,$n,$v,$cell_row,$cell_column);
  return (undef) if( !defined($value_format) );
  if(  $value_format =~ m/%/ ) {
    $v = sprintf( $value_format, $v );
  } elsif( $value_format ne "" ) {
    $v = $value_format;
  }
  my $value_formated = $v;


  my $room = AttrVal($name2, "room", "");
  my $alias = AttrVal($name2, "alias", $name2);
  my $group = AttrVal($name2, "group", "");

  my $cmd;
  my $devStateIcon;
  if( my $value_icon = $hash->{helper}{valueIcon} ) {
    if( my $icon = lookup($value_icon,$name,$alias,$n,$value_formated,$room,$group,$cell_row,"") ) {
      if( $icon =~ m/^[\%\$]devStateIcon$/ ) {
        my %extPage = ();
        my ($allSets, $cmdlist, $txt) = FW_devState($name, $room, \%extPage);
        $devStateIcon = $txt;
      } else {
        $devStateIcon = FW_makeImage( $icon, $v, "icon" );
        $cmd = lookup2($hash->{helper}{commands},$name,$n,$icon);
        $cmd = lookup2($hash->{helper}{commands},$name,$n,$value_formated) if( !$cmd );
      }
    }
  }



Jemand eine Ahnung wo hier der Fehler ist? Ich komme da so nicht weiter. ich danke euch!

Danke und Gruß
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: rudolfkoenig am 30 September 2024, 11:30:02
Gib mal beide Parameter in der Zeile davor aus mit:
Log 1, "value_format: $value_format";
Log 1, "v: $v";
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: M.Piet am 30 September 2024, 11:51:27
Danke für deine Antwort.

Die Zeilen davor:

  if(  $value_format =~ m/%/ ) {
Ich verstehe aber leider nicht, was du mit deiner Antwort meinst.
Danke dir.
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: rudolfkoenig am 30 September 2024, 12:04:42
ZitatIch verstehe aber leider nicht, was du mit deiner Antwort meinst.
Da ich aus der Fehlermeldung alleine nicht schlau werde, solltest du bitte die beiden oben erwaehnten Zeilen direkt vor der Zeile 543 einbauen, das Modul neu laden (oder FHEM neu starten), und den Fehler provozieren. Und danach die FHEM-Log Ausgabe hier zeigen, vielleicht werden wir daraus schlauer.
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: M.Piet am 30 September 2024, 12:25:23
Ah, OK. Alles klar. Danke.

Das kommt nun im Log raus:

2024.09.30 12:23:20 1: value_format: %.1f °C
2024.09.30 12:23:20 1: v: 33.1
2024.09.30 12:23:20 1: value_format: %.1f °C
2024.09.30 12:23:20 1: v: 30.6
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 52.08
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 60.2
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 33
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 33
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 33
2024.09.30 12:23:20 1: value_format: %.1f°C
2024.09.30 12:23:20 1: v: 33
2024.09.30 12:23:20 1: value_format: %.1f%
2024.09.30 12:23:20 1: v: 100
2024.09.30 12:23:20 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 547.
2024.09.30 12:23:20 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 547.
2024.09.30 12:23:20 1: value_format: %.1f Minuten
2024.09.30 12:23:20 1: v: 75.6
2024.09.30 12:23:20 1: value_format: %.1f%
2024.09.30 12:23:20 1: v: 9
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: rudolfkoenig am 30 September 2024, 12:44:04
Wenn man nach "Invalid conversion in sprintf" sucht, kriegt man https://forum.fhem.de/index.php?topic=91109.0
Da deine Fehlermeldung aber leicht anders ist, habe ich mich nicht getraut, dich sofort auf diese Seite zu verweisen.

Die Vorsicht war in diesem Fall uebertrieben: in Formatangaben muss man % als %% schreiben.
Titel: Aw: Missing argument [...] 33_readingsGroup.pm
Beitrag von: M.Piet am 30 September 2024, 13:21:39
Ahhhh, OK!
Ich habe das umgebaut und nun ist der Fehler im Log verschwunden. Ich danke dir. :)