mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-02 16:16:36 +00:00
98_Hyperion: minor changes
git-svn-id: https://svn.fhem.de/fhem/trunk@13890 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
c6c2fe879a
commit
c6fda66603
@ -76,7 +76,7 @@ sub Hyperion_Initialize($)
|
|||||||
sub Hyperion_Define($$)
|
sub Hyperion_Define($$)
|
||||||
{
|
{
|
||||||
my ($hash,$def) = @_;
|
my ($hash,$def) = @_;
|
||||||
my @args = split("[ \t]+",$def);
|
my @args = split " ",$def;
|
||||||
return "Usage: define <name> Hyperion <IP> <PORT> [<INTERVAL>]"
|
return "Usage: define <name> Hyperion <IP> <PORT> [<INTERVAL>]"
|
||||||
if (@args < 4);
|
if (@args < 4);
|
||||||
my ($name,$type,$host,$port,$interval) = @args;
|
my ($name,$type,$host,$port,$interval) = @args;
|
||||||
@ -172,7 +172,7 @@ sub Hyperion_list2array($$)
|
|||||||
{
|
{
|
||||||
my ($list,$round) = @_;
|
my ($list,$round) = @_;
|
||||||
my @arr;
|
my @arr;
|
||||||
foreach my $part (split(",",$list))
|
foreach my $part (split /,/,$list)
|
||||||
{
|
{
|
||||||
$part = sprintf($round,$part) * 1;
|
$part = sprintf($round,$part) * 1;
|
||||||
push @arr,$part;
|
push @arr,$part;
|
||||||
@ -241,7 +241,7 @@ sub Hyperion_Read($)
|
|||||||
if (!$data->{hyperion_build}->[0]->{version});
|
if (!$data->{hyperion_build}->[0]->{version});
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
my $ver = (split("V",(split(" ",$data->{hyperion_build}->[0]->{version}))[0]))[1];
|
my $ver = (split /V/,(split " ",$data->{hyperion_build}->[0]->{version})[0])[1];
|
||||||
$ver =~ s/\.//g;
|
$ver =~ s/\.//g;
|
||||||
my $rver = $Hyperion_requiredVersion;
|
my $rver = $Hyperion_requiredVersion;
|
||||||
$rver =~ s/\.//g;
|
$rver =~ s/\.//g;
|
||||||
@ -306,7 +306,7 @@ sub Hyperion_Read($)
|
|||||||
readingsBulkUpdate($hash,"blacklevel",$blkL);
|
readingsBulkUpdate($hash,"blacklevel",$blkL);
|
||||||
readingsBulkUpdate($hash,"colorTemperature",$temP);
|
readingsBulkUpdate($hash,"colorTemperature",$temP);
|
||||||
readingsBulkUpdate($hash,"correction",$corS);
|
readingsBulkUpdate($hash,"correction",$corS);
|
||||||
readingsBulkUpdate($hash,"effect",(split(",",$effectList))[0]) if (!defined ReadingsVal($name,"effect",undef));
|
readingsBulkUpdate($hash,"effect",(split /,/,$effectList)[0]) if (!defined ReadingsVal($name,"effect",undef));
|
||||||
readingsBulkUpdate($hash,".effects",$effectList);
|
readingsBulkUpdate($hash,".effects",$effectList);
|
||||||
readingsBulkUpdate($hash,"effectArgs",$effargs);
|
readingsBulkUpdate($hash,"effectArgs",$effargs);
|
||||||
readingsBulkUpdate($hash,"duration",$duration);
|
readingsBulkUpdate($hash,"duration",$duration);
|
||||||
@ -350,7 +350,7 @@ sub Hyperion_Read($)
|
|||||||
}
|
}
|
||||||
elsif ($col)
|
elsif ($col)
|
||||||
{
|
{
|
||||||
my $rgb = lc((split("x",$col))[1]);
|
my $rgb = lc((split /x/,$col)[1]);
|
||||||
my ($r,$g,$b) = Color::hex2rgb($rgb);
|
my ($r,$g,$b) = Color::hex2rgb($rgb);
|
||||||
my ($h,$s,$v) = Color::rgb2hsv($r / 255,$g / 255,$b / 255);
|
my ($h,$s,$v) = Color::rgb2hsv($r / 255,$g / 255,$b / 255);
|
||||||
my $dim = int($v * 100);
|
my $dim = int($v * 100);
|
||||||
@ -445,9 +445,9 @@ sub Hyperion_listFilesInDir($$)
|
|||||||
for (my $i = 0; $i < @files; $i++)
|
for (my $i = 0; $i < @files; $i++)
|
||||||
{
|
{
|
||||||
my $file = $files[$i];
|
my $file = $files[$i];
|
||||||
$file =~ s/\s+//gm;
|
chomp $file;
|
||||||
next if ($file !~ /\w+\.config\.json$/);
|
next if ($file !~ /\w+\.config\.json$/);
|
||||||
$file =~ s/.config.json$//gm;
|
$file =~ s/\.config\.json$//gm;
|
||||||
push @filelist,$file;
|
push @filelist,$file;
|
||||||
Log3 $name,4,"$name: Hyperion_listFilesInDir matching file: \"$file\"";
|
Log3 $name,4,"$name: Hyperion_listFilesInDir matching file: \"$file\"";
|
||||||
}
|
}
|
||||||
@ -510,7 +510,7 @@ sub Hyperion_Set($@)
|
|||||||
$value = $value.".config.json";
|
$value = $value.".config.json";
|
||||||
my $confdir = AttrVal($name,"hyperionConfigDir","/etc/hyperion/");
|
my $confdir = AttrVal($name,"hyperionConfigDir","/etc/hyperion/");
|
||||||
my $binpath = AttrVal($name,"hyperionBin","/usr/bin/hyperiond");
|
my $binpath = AttrVal($name,"hyperionBin","/usr/bin/hyperiond");
|
||||||
my $bin = (split("/",$binpath))[scalar(split("/",$binpath)) - 1];
|
my $bin = (split "/",$binpath)[scalar(split "/",$binpath) - 1];
|
||||||
$bin =~ s/\.sh$// if ($bin =~ /\.sh$/);
|
$bin =~ s/\.sh$// if ($bin =~ /\.sh$/);
|
||||||
my $user = AttrVal($name,"hyperionSshUser","pi");
|
my $user = AttrVal($name,"hyperionSshUser","pi");
|
||||||
my $ip = $hash->{IP};
|
my $ip = $hash->{IP};
|
||||||
@ -540,7 +540,7 @@ sub Hyperion_Set($@)
|
|||||||
if (!$status)
|
if (!$status)
|
||||||
{
|
{
|
||||||
Log3 $name,4,"$name: restarted Hyperion with $binpath $confdir$value";
|
Log3 $name,4,"$name: restarted Hyperion with $binpath $confdir$value";
|
||||||
$value =~ s/.config.json$//;
|
$value =~ s/\.config\.json$//;
|
||||||
readingsSingleUpdate($hash,"configFile",$value,1);
|
readingsSingleUpdate($hash,"configFile",$value,1);
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
@ -678,7 +678,7 @@ sub Hyperion_Set($@)
|
|||||||
return "$cmd need no additional value of $value" if (defined $value);
|
return "$cmd need no additional value of $value" if (defined $value);
|
||||||
my $mode = ReadingsVal($name,"mode","off");
|
my $mode = ReadingsVal($name,"mode","off");
|
||||||
my $nmode;
|
my $nmode;
|
||||||
my @modeorder = split(",",AttrVal($name,"hyperionToggleModes","clearall,rgb,effect,off"));
|
my @modeorder = split /,/,AttrVal($name,"hyperionToggleModes","clearall,rgb,effect,off");
|
||||||
for (my $i = 0; $i < @modeorder; $i++)
|
for (my $i = 0; $i < @modeorder; $i++)
|
||||||
{
|
{
|
||||||
$nmode = $i < @modeorder - 1 ? $modeorder[$i+1] : $modeorder[0] if ($modeorder[$i] eq $mode);
|
$nmode = $i < @modeorder - 1 ? $modeorder[$i+1] : $modeorder[0] if ($modeorder[$i] eq $mode);
|
||||||
@ -770,7 +770,7 @@ sub Hyperion_Set($@)
|
|||||||
{
|
{
|
||||||
return "$name must be in effect mode!" if (ReadingsVal($name,"mode","off") ne "effect");
|
return "$name must be in effect mode!" if (ReadingsVal($name,"mode","off") ne "effect");
|
||||||
return "Value of $cmd has to be a name like My_custom_EffeKt1 or my-effect!" if (!defined $value || $value !~ /^[a-zA-Z0-9_-]+$/);
|
return "Value of $cmd has to be a name like My_custom_EffeKt1 or my-effect!" if (!defined $value || $value !~ /^[a-zA-Z0-9_-]+$/);
|
||||||
return "Effect with name $value already defined! Please choose a different name!" if (grep(/^$value$/,split(",",ReadingsVal($name,".effects",""))));
|
return "Effect with name $value already defined! Please choose a different name!" if (grep(/^$value$/,split /,/,ReadingsVal($name,".effects","")));
|
||||||
my $eff = ReadingsVal($name,"effect","");
|
my $eff = ReadingsVal($name,"effect","");
|
||||||
foreach my $e (@{$hash->{helper}{customeffects}})
|
foreach my $e (@{$hash->{helper}{customeffects}})
|
||||||
{
|
{
|
||||||
@ -819,9 +819,7 @@ sub Hyperion_Attr(@)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$attr_value =~ s/\r\n/ /;
|
my @custeffs = split " ",$attr_value;
|
||||||
$attr_value =~ s/\s{2,}/ /;
|
|
||||||
my @custeffs = split(" ",$attr_value);
|
|
||||||
my @effs;
|
my @effs;
|
||||||
if (@custeffs > 1)
|
if (@custeffs > 1)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user