[Gelöst] ATTR devStateIcon für mehrere devices / unknown command

Begonnen von Szlachta, 02 September 2022, 13:26:44

Vorheriges Thema - Nächstes Thema

Szlachta

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>" }

Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Szlachta

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>"}