mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
added Color.pm to collect collor lighting relatead functions
moved colorpicker to Color.pm git-svn-id: https://svn.fhem.de/fhem/trunk@3504 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
38ee7c2542
commit
536c31fcf2
@ -10,6 +10,8 @@ package main;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
use Color;
|
||||||
|
|
||||||
use POSIX;
|
use POSIX;
|
||||||
use JSON;
|
use JSON;
|
||||||
use SetExtensions;
|
use SetExtensions;
|
||||||
@ -63,7 +65,7 @@ sub HUEDevice_Initialize($)
|
|||||||
|
|
||||||
#$hash->{FW_summaryFn} = "HUEDevice_summaryFn";
|
#$hash->{FW_summaryFn} = "HUEDevice_summaryFn";
|
||||||
|
|
||||||
$data{webCmdFn}{colorpicker} = "HUEDevice_colorpickerFn";
|
$data{webCmdFn}{colorpicker} = "FHEM_colorpickerFn";
|
||||||
$data{FWEXT}{"/"}{SCRIPT} = "/jscolor/jscolor.js";
|
$data{FWEXT}{"/"}{SCRIPT} = "/jscolor/jscolor.js";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,41 +113,6 @@ Log 3, "HUEDevice_summaryFn";
|
|||||||
return HUEDevice_devStateIcon($hash);
|
return HUEDevice_devStateIcon($hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub
|
|
||||||
HUEDevice_colorpickerFn($$$)
|
|
||||||
{
|
|
||||||
my ($FW_wname, $d, $FW_room, $cmd, $values) = @_;
|
|
||||||
|
|
||||||
my @args = split("[ \t]+", $cmd);
|
|
||||||
|
|
||||||
return undef if($values !~ m/^colorpicker,(.*)$/);
|
|
||||||
my ($mode) = ($1);
|
|
||||||
$mode = "RGB" if( !defined($mode) );
|
|
||||||
my $srf = $FW_room ? "&room=$FW_room" : "";
|
|
||||||
my $cv = CommandGet("","$d $cmd");
|
|
||||||
$cmd = "" if($cmd eq "state");
|
|
||||||
if( $args[1] ) {
|
|
||||||
my $c = "cmd=set $d $cmd$srf";
|
|
||||||
|
|
||||||
return '<td align="center">'.
|
|
||||||
"<div onClick=\"FW_cmd('$FW_ME?XHR=1&$c')\" style=\"width:32px;height:19px;".
|
|
||||||
'border:1px solid #fff;border-radius:8px;background-color:#'. $args[1] .';"></div>'.
|
|
||||||
'</td>' if( AttrVal($FW_wname, "longpoll", 1));
|
|
||||||
|
|
||||||
return '<td align="center">'.
|
|
||||||
"<a href=\"$FW_ME?$c\">".
|
|
||||||
'<div style="width:32px;height:19px;'.
|
|
||||||
'border:1px solid #fff;border-radius:8px;background-color:#'. $args[1] .';"></div>'.
|
|
||||||
'</a>'.
|
|
||||||
'</td>';
|
|
||||||
} else {
|
|
||||||
my $c = "$FW_ME?XHR=1&cmd=set $d $cmd %$srf";
|
|
||||||
return '<td align="center">'.
|
|
||||||
"<input id='colorpicker.$d-RGB' class=\"color {pickerMode:'$mode',pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerInsetColor:'red'}\" value='$cv' onChange='colorpicker_setColor(this,\"$mode\",\"$c\")'>".
|
|
||||||
'</td>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub HUEDevice_Define($$)
|
sub HUEDevice_Define($$)
|
||||||
{
|
{
|
||||||
my ($hash, $def) = @_;
|
my ($hash, $def) = @_;
|
||||||
|
44
fhem/FHEM/Color.pm
Normal file
44
fhem/FHEM/Color.pm
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
package main;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
sub
|
||||||
|
FHEM_colorpickerFn($$$)
|
||||||
|
{
|
||||||
|
my ($FW_wname, $d, $FW_room, $cmd, $values) = @_;
|
||||||
|
|
||||||
|
my @args = split("[ \t]+", $cmd);
|
||||||
|
|
||||||
|
return undef if($values !~ m/^colorpicker,(.*)$/);
|
||||||
|
my ($mode) = ($1);
|
||||||
|
$mode = "RGB" if( !defined($mode) );
|
||||||
|
my $srf = $FW_room ? "&room=$FW_room" : "";
|
||||||
|
my $cv = CommandGet("","$d $cmd");
|
||||||
|
$cmd = "" if($cmd eq "state");
|
||||||
|
if( $args[1] ) {
|
||||||
|
my $c = "cmd=set $d $cmd$srf";
|
||||||
|
|
||||||
|
return '<td align="center">'.
|
||||||
|
"<div onClick=\"FW_cmd('$FW_ME?XHR=1&$c')\" style=\"width:32px;height:19px;".
|
||||||
|
'border:1px solid #fff;border-radius:8px;background-color:#'. $args[1] .';"></div>'.
|
||||||
|
'</td>' if( AttrVal($FW_wname, "longpoll", 1));
|
||||||
|
|
||||||
|
return '<td align="center">'.
|
||||||
|
"<a href=\"$FW_ME?$c\">".
|
||||||
|
'<div style="width:32px;height:19px;'.
|
||||||
|
'border:1px solid #fff;border-radius:8px;background-color:#'. $args[1] .';"></div>'.
|
||||||
|
'</a>'.
|
||||||
|
'</td>';
|
||||||
|
} else {
|
||||||
|
my $c = "$FW_ME?XHR=1&cmd=set $d $cmd %$srf";
|
||||||
|
return '<td align="center">'.
|
||||||
|
"<input id='colorpicker.$d-RGB' class=\"color {pickerMode:'$mode',pickerFaceColor:'transparent',pickerFace:3,pickerBorder:0,pickerInsetColor:'red'}\" value='$cv' onChange='colorpicker_setColor(this,\"$mode\",\"$c\")'>".
|
||||||
|
'</td>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
Loading…
x
Reference in New Issue
Block a user