Hallo,
ich möchte bei mehreren Devices ein devStateIcon setzen. Wenn ich das, was in der Box mit geschweiften Klammern eingegeben wird, per FHEM Commandline abschicken möchte, erhalte ich den Fehler "Unknown command my, try help.".
Ich vermute, dass ich irgendwie Klammern oder in Anführungszeichen setzen muss. Finde die Lösung selbst aber leider nicht. Den Code habe ich mit und ohne Umbrüche versucht, hat leider nichts geändert.
attr DEVICENAME devStateIcon { my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot' : ReadingsVal($name,'new_fw','false') eq 'true' ? '10px-kreis-gelb' : '10px-kreis-gruen';
my $pws = ReadingsVal($name,'state','off') eq 'off'?'tradfri_dimmerswitch' : 'tradfri_dimmerswitch@#e56524';
my $cons = ReadingsVal($name,'relay_0_power','unknown');
my $total = ReadingsVal($name,'relay_0_kWh','unknown');
my $temp = ReadingsVal($name,'temperature','-100');
"<a href=\"http://".ReadingsVal($name,'ip','none')." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($pws)."</a><div>Verbrauch: $cons W / Total: $total kWh / Shelly Temp: $temp °C</div>" }
Du müßtest ggf. Zeilenumbrüche und ; "escapen".
Am einfachsten: Bei einem Device eingeben, dann "Raw definition" anzeigen lassen, die relevanten Zeilen dort stehen lassen und den Devicenamen durch eine passende devspec ersetzen.
Genial! Danke. Die RAW-Definition hat mir den Code geliefert, wie ich ihn dann in der CMD-Line verwanden kann. Perfekt. Sieht nun so aus:
attr DEVICENAME devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot' : ReadingsVal($name,'new_fw','false') eq 'true' ? '10px-kreis-gelb' : '10px-kreis-gruen';; \
my $pws = ReadingsVal($name,'state','off') eq 'off'?'tradfri_dimmerswitch' : 'tradfri_dimmerswitch@#e56524';;\
my $cons = ReadingsVal($name,'relay_0_power','unknown');; \
my $total = ReadingsVal($name,'relay_0_kWh','unknown');; \
my $temp = ReadingsVal($name,'temperature','-100');; \
"<a href=\"http://".ReadingsVal($name,'ip','none')." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($pws)."</a><div>Verbrauch: $cons W / Total: $total kWh / Shelly Temp: $temp °C</div>"}