Autor Thema: [Gelöst] ATTR devStateIcon für mehrere devices / unknown command  (Gelesen 160 mal)

Offline Szlachta

  • Jr. Member
  • **
  • Beiträge: 87
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>" }
« Letzte Änderung: 02 September 2022, 14:52:39 von Szlachta »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19401
Antw:ATTR devStateIcon für mehrere devices / unknown command
« Antwort #1 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.
Server: HP-T620@Debian 11, 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

Offline Szlachta

  • Jr. Member
  • **
  • Beiträge: 87
Antw:ATTR devStateIcon für mehrere devices / unknown command
« Antwort #2 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>"}

 

decade-submarginal