Hallo, für die devStateIcon bei meinen Dimmer habe ich folgendes Attribut definiert:
{Color::devStateIcon($name,"dimmer",undef,"level")}
Damit wird das Icon auch entsprechend angepasst.
Ich würde aber gerne alle eingeschalteten Zustände (> 0) auch farbig hervorheben?
So mache ich das ohne Color.pm:
on:on@Crimson off:off
Geht das?
Nachtrag: Hmm, wenn ich mir die letzten Zeilen anschaue, so wird das bei einem Nicht-RGB-Dimmer wohl nicht möglich sein, oder?
sub
41 Color_devStateIcon($)
42 {
43 my ($rgb) = @_;
44
45 my @channels = Color::RgbToChannels($rgb,3);
46 my $dim = Color::ChannelsToBrightness(@channels);
47 my $percent = $dim->{bri};
48 my $RGB = Color::ChannelsToRgb(@{$dim->{channels}});
49
50 return ".*:off:toggle"
51 if( $rgb eq "off" || $rgb eq "000000" || $percent == 0 );
52
53 $percent = 100 if( $rgb eq "on" );
54
55 my $s = $dim_values{int($percent/7)};
56 $s="on" if( $percent eq "100" );
57
58 return ".*:$s@#$RGB:toggle" if( $percent < 100 );
59 return ".*:on@#$rgb:toggle";
60 }
Hat keine eine Idee? Schade.
die routine um einen zusätzlichen parameter für die icon farbe erweitern.
gruss
andre