FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Nighthawk am 17 Mai 2025, 12:32:36

Titel: PERL WARNING: Redundant argument in sprintf müllt das Log zu
Beitrag von: Nighthawk am 17 Mai 2025, 12:32:36
Hallo zusammen,

ich habe ein Device mit mehreren Temp. Sensoren, welche an meiner Heizung angebracht sind.
Diesem Device habe ich folgendes Stateformat definiert:
{sprintf("
<TABLE>
  <TD VALIGN=\"TOP\" ALIGN=\"RIGHT\">
    Sol_In:       %0.1f °C<br>
    Sol_Out:      %0.1f °C<br>
                         <br>
    WW-Speicher:  %0.1f °C<br>
    WW_Vor:       %0.1f °C<br>
    WW_Rueck:     %0.1f °C<br>
                                <br> 
    Heizung_Vor:  %0.1f°C<br>
    Heizung_Ruck: %0.1f °C<br>
  </TD>
</TABLE>
",
ReadingsNum($name,"Temperatur_Solar_Eingang",0),
ReadingsNum($name,"Temperatur_Solar_Ausgang",0),
ReadingsNum($name,"Temperatur_Warmwasser",0),
ReadingsNum($name,"Temperatur_Warmwasser_Vorlauf",0),
ReadingsNum($name,"Temperatur_Warmwasser_Ruecklauf",0),
ReadingsNum($name,"Temperatur_Heizung_Vorlauf",0),
ReadingsNum($name,"Temperatur_Heizung_Ruecklauf",0),
ReadingsNum($name,"Temperatur_Speicher",0))}

Leider wird dadurch mein Log bei jedem Update der Werte komplett mit den Perl Warnungen  zugemüllt:
2025.05.17 12:25:55 1: PERL WARNING: Redundant argument in sprintf at (eval 202450) line 1.
2025.05.17 12:25:55 3: eval: sprintf("
<TABLE>
  <TD VALIGN=\"TOP\" ALIGN=\"RIGHT\">
    Sol_In:       %0.1f °C<br>
    Sol_Out:      %0.1f °C<br>
                         <br>
    WW-Speicher:  %0.1f °C<br>
    WW_Vor:       %0.1f °C<br>
    WW_Rueck:     %0.1f °C<br>
                                <br> 
    Heizung_Vor:  %0.1f°C<br>
    Heizung_Ruck: %0.1f °C<br>
  </TD>
</TABLE>
",
ReadingsNum($name,"Temperatur_Solar_Eingang",0),
ReadingsNum($name,"Temperatur_Solar_Ausgang",0),
ReadingsNum($name,"Temperatur_Warmwasser",0),
ReadingsNum($name,"Temperatur_Warmwasser_Vorlauf",0),
ReadingsNum($name,"Temperatur_Warmwasser_Ruecklauf",0),
ReadingsNum($name,"Temperatur_Heizung_Vorlauf",0),
ReadingsNum($name,"Temperatur_Heizung_Ruecklauf",0),
ReadingsNum($name,"Temperatur_Speicher",0))
2025.05.17 12:25:55 1: stacktrace:
2025.05.17 12:25:55 1:     main::__ANON__                      called by (eval 202450) (1)
2025.05.17 12:25:55 1:     (eval)                              called by fhem.pl (4898)
2025.05.17 12:25:55 1:     main::evalStateFormat               called by fhem.pl (5009)
2025.05.17 12:25:55 1:     main::readingsEndUpdate             called by ./FHEM/10_MQTT2_DEVICE.pm (196)
2025.05.17 12:25:55 1:     main::MQTT2_DEVICE_Parse            called by fhem.pl (4188)
2025.05.17 12:25:55 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_CLIENT.pm (599)
2025.05.17 12:25:55 1:     main::MQTT2_CLIENT_Read             called by ./FHEM/00_MQTT2_CLIENT.pm (614)
2025.05.17 12:25:55 1:     main::__ANON__                      called by fhem.pl (3511)
2025.05.17 12:25:55 1:     main::HandleTimeout                 called by fhem.pl (710)

Ich bekomme die Warnung einfach nicht weg, hat einer eine Idee wodurch die Meldung hervorgerufen wird?
Titel: Aw: PERL WARNING: Redundant argument in sprintf müllt das Log zu
Beitrag von: frank am 17 Mai 2025, 12:52:00
Ein ReadingsNum zu viel.
Titel: Aw: PERL WARNING: Redundant argument in sprintf müllt das Log zu
Beitrag von: Nighthawk am 17 Mai 2025, 13:20:38
oh man.. den Wald vor lauter Bäume nicht bemerkt..

Danke!