FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Szlachta am 02 September 2022, 13:26:44

Titel: [Gelöst] ATTR devStateIcon für mehrere devices / unknown command
Beitrag von: Szlachta am 02 September 2022, 13:26:44
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>" }
Titel: Antw:ATTR devStateIcon für mehrere devices / unknown command
Beitrag von: Beta-User am 02 September 2022, 14:46:02
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.
Titel: Antw:ATTR devStateIcon für mehrere devices / unknown command
Beitrag von: Szlachta am 02 September 2022, 14:51:35
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>"}