und hier das automatische erzeugen der svg files im cache direkt aus 01_FHEMWEB:
if( $FW_pos{off} < 0 ) {
my $cached_name = $wl ."-". $d ."-". $type ."-". $FW_pos{zoom} ."-". $FW_devs{$d}{from} ."-". $FW_devs{$d}{to} .".svg";
my $fh;
if( open($fh,">".$FW_dir ."/svgcache/".$cached_name)) {
my $svg = SVG_render($wl, $f, $t, $cfg, $internal_data, $plot, $FW_wname, $FW_cssdir);
print $fh $svg;
close $fh;
Log 3, "created cache file: ". $FW_dir ."/svgcache/". $cached_name;
FW_pO $svg;
} else {
FW_pO SVG_render($wl, $f, $t, $cfg, $internal_data, $plot, $FW_wname, $FW_cssdir);
}
} else {
FW_pO SVG_render($wl, $f, $t, $cfg, $internal_data, $plot, $FW_wname, $FW_cssdir);
}
statt der bisherigen zeile:FW_pO SVG_render($wl, $f, $t, $cfg, $internal_data, $plot, $FW_wname, $FW_cssdir);
hiermit wird beim ersten zugriff auf einen plot mit offset < 0 das svg im cache verzeichnis erzeugt.
das ganze sollte man noch konfigurierter machen. z.b. mit einem attribut pro weblink um das ganze ein zu schalten und einem attribut für welche zoom stufen das überhaupt gemacht werden soll.
für eine eventuelle eltgültige version sollte man vielleicht die file namen noch durch einen hash ersetzen und das ganze in ein paar unterverzeichnissen organisieren. ich wette dafür gibt es schon irgendein perl modul das passen würde.
es werden auch noch keinerlei fehler abgefangen. und aufgeräumt wird der cache natürlich auch noch nicht.
gruss
andre