FHEM Forum

FHEM => Sonstiges => Thema gestartet von: KyleK am 25 März 2026, 21:30:05

Titel: Seltsames Verhalten mit FReplacer und system()
Beitrag von: KyleK am 25 März 2026, 21:30:05
Hallo,

ich habe heute an einem meiner FReplacer-Devices rumgespielt, und bin in einen Fehler gelaufen den ich mir nicht so recht erklären kann.
FReplacer nimmt eine Template-Datei, und ersetzt darin bestimmte Keywords durch im Device definierte Werte bzw. Werte anderer Devices, und speichert das ganze in einer neuen Datei.

Zusätzlich kann man über das Attribut PostCommand ein Command triggern, was im Modul via system() ausgeführt wird.

Im besagten Attribut hatte ich folgenden Befehl eingetragen:
magick /opt/fhem/www/images/trmnl_mittagessen.svg -dither FloydSteinberg -remap /opt/fhem/www/images/colormap-2bit.png -define png:bit-depth=2 -define png:color-type=0 /opt/fhem/www/images/trmnl/mittagessen.png
Der Befehl konvertiert ein SVG in ein PNG. Die Dateien und Pfade existieren alle, mehrfach geprüft.
In FHEM/FReplacer schlägt dieses Command fehl:
magick: FailedToExecuteCommand `'inkscape' '/tmp/magick-NV8qZoa26EFBQo_td8IyU7SiRMmkQ0Ft' '--export-filename=/tmp/magick-cvyMBWGIderlPEVyA32iSWdb0xyJmrne.png' '--export-dpi=96' '--export-background=rgb(100%,100%,100%)' '--export-background-opacity=1'' (-1) @ error/delegate.c/ExternalDelegateCommand/518.
Das PNG wird nicht erzeugt.

Ich hab das ganze auch direkt in der cmd-Inputzeile des FHEM WebInterface probiert, auch hier kommt die Fehlermeldung:
{system("magick /opt/fhem/www/images/trmnl_mittagessen.svg -dither FloydSteinberg -remap /opt/fhem/www/images/colormap-2bit.png -define png:bit-depth=2 -define png:color-type=0 /opt/fhem/www/images/trmnl/mittagessen.png")}

Das Seltsame: Führe ich exakt diesen Befehl auf der Kommandozeile aus, als User "fhem", dann klappt es ohne Fehler, das PNG wird erzeugt.

Und es wird noch wilder:
Wenn ich dem Befehl einen anderen Befehl voranstelle, dann klappts auch aus FHEM:

{system("sleep 1;;/usr/bin/magick -debug all /opt/fhem/www/images/trmnl_mittagessen.svg -dither FloydSteinberg -remap /opt/fhem/www/images/colormap-2bit.png -define png:bit-depth=2 -define png:color-type=0 mittagessen.png")}
// oder
{system(";;/usr/bin/magick -debug all /opt/fhem/www/images/trmnl_mittagessen.svg -dither FloydSteinberg -remap /opt/fhem/www/images/colormap-2bit.png -define png:bit-depth=2 -define png:color-type=0 mittagessen.png")}
Mit diesen obigen Befehlen wird das PNG anstandslos erstellt.

Hat jemand eine Idee warum sich FHEM hier so seltsam verhält?