Bug in 98_SVG.pm?

Begonnen von andies, 02 Mai 2017, 22:30:25

Vorheriges Thema - Nächstes Thema

andies

Ich habe eine Fehlermeldung der Form
Argument "0.18 0.06 0.01" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2123.
Argument "0.18 0.06 0.01" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2123.

Ursache ist die Zeile
  # Plot caption (title) at the end, should be draw on top of the lines
  my $caption_anchor = $caption_left?"beginning":"end";
  for my $i (0..int(@{$conf{lTitle}})-1) {
    my $j = $i+1;
    my $t = $conf{lTitle}[$i];
    next if( !$t );
    my $desc = "";
    if(defined($data{"min$j"})     && $data{"min$j"}     ne "undef" &&
       defined($data{"currval$j"}) && $data{"currval$j"} ne "undef") {
<2123>      $desc = sprintf("%s: Min:%g Max:%g Last:%g",
        $t, $data{"min$j"}, $data{"max$j"}, $data{"currval$j"});
    }

weil die Datenbank bei Last keine Zahl, sondern eben drei Zahlen liefert. Das ist der Titel der Grafik, sollte also irgendwie machbar sein. Leider verließen sie mich dann...
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Könnte es sein, dass
     $desc = sprintf("%s: Min:%g Max:%g Last:%s",
        $t, $data{"min$j"}, $data{"max$j"}, $data{"currval$j"});

schon das Problem löst?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

KernSani

steuerst du noch ein list vom SVG bei? Mir scheint, du verwendest ein  $data im title, das nicht passt...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

andies

Internals:
   DEF        DbLog:my_Load:HISTORY
   GPLOTFILE  my_Load
   LOGDEVICE  DbLog
   LOGFILE    HISTORY
   NAME       wl_sysmon_load
   NOTIFYDEV  global
   NR         79
   STATE      initialized
   TYPE       SVG
Attributes:
   group      Grafik
   label      "Load Min: $data{min1}, Max: $data{max1}, Aktuell: $data{currval1}"
   room       System
   verbose    0


Meinst du das? Das war durch sysmon "irgendwie" vorgegeben.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

KernSani

hmmm... da verließen sie mich dann auch...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

andies

Maintainer ist rudolfkoenig. In svn komme ich nicht hinein. Darf ich ihm eine PM schreiben oder ist das gegen die (ungeschriebenen) Forenregeln?


Gesendet von iPhone mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

rudolfkoenig

Zitatweil die Datenbank bei Last keine Zahl, sondern eben drei Zahlen liefert
Ist damit ein Bug in DbLog. SVG erwartet, dass get eine Liste von Zeitstempel/Zahl Tupel liefert, min/max/avg beziehen sich auf diese Zahlen.

ZitatIn svn komme ich nicht hinein.
Und selbst wenn Du das koenntest, gaebe es ein Riesenaerger, wenn du Dateien, die Andere betreuen, aendern wuerdest. Stattdessen erstellt man einen Patch, den man hier dem Autor presentiert.

ZitatDarf ich ihm eine PM schreiben oder ist das gegen die (ungeschriebenen) Forenregeln?
PM ist nicht notwendig, Geduld reicht.