mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-09 20:57:11 +00:00
10_MQTT2_DEVICE.pm: enhance zigbee2mqtt_devStateIcon255 (Forum #95581)
git-svn-id: https://svn.fhem.de/fhem/trunk@19260 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
24e2108176
commit
fef8f6a079
@ -709,13 +709,33 @@ zigbee2mqtt_RGB2JSON($)
|
||||
}
|
||||
|
||||
sub
|
||||
zigbee2mqtt_devStateIcon255($)
|
||||
zigbee2mqtt_devStateIcon255($;$$)
|
||||
{
|
||||
my ($name) = @_;
|
||||
return ".*:off:toggle" if(lc(ReadingsVal($name,"state","ON")) eq "off" );
|
||||
my $pct = ReadingsNum($name,"brightness","255");
|
||||
my $s = $pct > 253 ? "on" : sprintf("dim%02d%%",int((1+int($pct/18))*6.25));
|
||||
return ".*:$s:off";
|
||||
my ($name, $rgbReadingName, $useSetExtension) = @_;
|
||||
|
||||
my $too = $defs{$name}->{TIMED_OnOff};
|
||||
$useSetExtension = 0 if(!$too);
|
||||
my $state = lc(ReadingsVal($name,"state","on"));
|
||||
if(!$useSetExtension && $state =~ m/off$/) { # set_off or off
|
||||
return ".*:off:toggle";
|
||||
}
|
||||
|
||||
my $pct = ReadingsNum($name, "brightness", 255);
|
||||
|
||||
my $s = "on";
|
||||
if($useSetExtension && $too->{CMD} =~ m/on-|off-|blink/s) {
|
||||
$s = $too->{CMD} =~ m/on-/s ? "on-for-timer" :
|
||||
$too->{CMD} =~ m/off-/s ? "off-for-timer" :
|
||||
$state =~ m/off-/s ? "off-for-timer" : "light_toggle";
|
||||
} elsif ($pct < 254) {
|
||||
$s = sprintf("dim%02d%%", int((1+int($pct/18))*6.25));
|
||||
}
|
||||
|
||||
my $rgb = ReadingsVal($name, $rgbReadingName, "FFFFFF");
|
||||
$s .= "@#$rgb" if($rgb ne "FFFFFF");
|
||||
|
||||
Log 1, $s;
|
||||
return ".*:$s:toggle";
|
||||
}
|
||||
|
||||
1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user