Nach einem Update führt folgende Definition
attr Kueche_Rolladen_rechts devStateIcon {my $v=Value("Kueche_Rolladen_rechts");;my $p=33;; $p=int($v/3) if($v ne "hoch");; return '<div align="top" style="width:33px;;height:'.(33-$p).'px;;margin-bottom:'.$p.'px;;border: 1px solid #000;;background-color:#888;;"></div>'}
die ich hier im Forum gefunden habe - zur Darstellung des prozentualen Öffnungszustandes eines Rolladens zu einem kompleten Absturz von Fhem mit folgender Fehlermeldung auf der Konsole:
Unmatched ( in regex; marked by <-- HERE in m/^if( <-- HERE $v$/ at ./FHEM/01_FHEMWEB.pm line 2079.
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 132.
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 132.
das problem ist das # zeichen das als Kommentar erkannt wird und alles danach wird abgeschnitten.
am einfachste steckst du alles in eine sub in 99_myUtils:sub myIcon($){
my ($name) = @_;
my $v=Value($name);
my $p=33;
$p=int($v/3) if($v ne "hoch");
return '<div align="top" style="width:33px;;height:'.(33-$p).'px;;margin-bottom:'.$p.'px;;border: 1px solid #000;;background-color:#888;;"></div>'
}
und setzt das devStateIcon dann so:attr Kueche_Rolladen_rechts devStateIcon {myIcon("Kueche_Rolladen_rechts")}
eventuell geht es auch kürzer so:attr Kueche_Rolladen_rechts devStateIcon {myIcon($name)}