mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-25 09:49:20 +00:00
71_PHILIPS_AUDIO: fixed crash of fhem server while shutdown/restart
git-svn-id: https://svn.fhem.de/fhem/trunk@14029 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
b4c23d30bb
commit
2e9fdbcab5
@ -256,69 +256,57 @@ sub PHILIPS_AUDIO_Set
|
||||
#" home:noArg".
|
||||
" mute:on,off ";
|
||||
|
||||
my @favoriteList;
|
||||
my @favoriteNumber;
|
||||
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
# $1 $2
|
||||
if($readings =~ m/(.inetRadioFavorite_)(..)$/)
|
||||
{
|
||||
push @favoriteList, $2."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25);
|
||||
push @favoriteNumber, $2;
|
||||
}
|
||||
}
|
||||
|
||||
(s/\*/\[asterisk\]/g) for @favoriteList; # '*' not shown correctly
|
||||
(s/#/\[hash\]/g) for @favoriteList; # '#' not shown correctly
|
||||
(s/[\\]//g) for @favoriteList; # Replace \
|
||||
(s/[ :;,']/_/g) for @favoriteList; # Replace not allowed characters
|
||||
|
||||
my @presetList;
|
||||
my @presetNumber;
|
||||
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
# $1 $2
|
||||
if($readings =~ m/(.inetRadioPreset_)(..)$/)
|
||||
{
|
||||
push @presetList, $2."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25);
|
||||
push @presetNumber, $2;
|
||||
}
|
||||
}
|
||||
|
||||
(s/\*/\[asterisk\]/g) for @presetList; # '*' not shown correctly
|
||||
(s/#/\[hash\]/g) for @presetList; # '#' not shown correctly
|
||||
(s/[\\]//g) for @presetList; # Replace \
|
||||
(s/[ :;,']/_/g) for @presetList; # Replace not allowed characters
|
||||
|
||||
$usage .= "selectFavorite:" .join(",",("---",(sort @favoriteList))) . " ";
|
||||
$usage .= "selectPreset:" .join(",",("---",(sort @presetList))) . " ";
|
||||
$usage .= "selectPresetByNumber:" .join(",",("---",(sort @presetNumber))) . " ";
|
||||
$usage .= "selectFavoriteByNumber:".join(",",("---",(sort @favoriteNumber))). " ";
|
||||
|
||||
# Direct stream selection if any
|
||||
|
||||
my @selectStream;
|
||||
|
||||
for(my $lvl = 1; $lvl < int(ReadingsVal($name, ".listDepthLevel", "1") - 1); $lvl++)
|
||||
{
|
||||
my $listLevelName = $hash->{READINGS}{".lvl_".$lvl."_name"};
|
||||
push @selectStream, "lvl_".$lvl."_".$listLevelName;
|
||||
}
|
||||
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
# $1 $2
|
||||
push @selectStream, $2."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/(listItem_)(...)$/);
|
||||
}
|
||||
|
||||
(s/\*/\[asterisk\]/g) for @selectStream; # '*' not shown correctly
|
||||
(s/#/\[hash\]/g) for @selectStream; # '#' not shown correctly
|
||||
(s/[\\]//g) for @selectStream; # Replace \
|
||||
(s/[ :;,']/_/g) for @selectStream; # Replace not allowed characters
|
||||
|
||||
$usage .= "selectStream:".join(",",("---",(sort @selectStream))) . " ";
|
||||
my @favoriteList;
|
||||
my @favoriteNumber;
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
push @favoriteList,$1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioFavorite_(..)$/);
|
||||
push @favoriteNumber, $1 if($readings =~ m/^.inetRadioFavorite_(..)/);
|
||||
}
|
||||
|
||||
(s/\*/\[asterisk\]/g) for @favoriteList; # '*' not shown correctly
|
||||
(s/#/\[hash\]/g) for @favoriteList; # '#' not shown correctly
|
||||
(s/[\\]//g) for @favoriteList;
|
||||
(s/[ :;,']/_/g) for @favoriteList; # Replace not allowed characters
|
||||
|
||||
my @presetList;
|
||||
my @presetNumber;
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
push @presetList, $1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioPreset_(..)/);
|
||||
push @presetNumber, $1 if($readings =~ m/^.inetRadioPreset_(..)/);
|
||||
}
|
||||
|
||||
(s/\*/\[asterisk\]/g) for @presetList; # '*' not shown correctly
|
||||
(s/#/\[hash\]/g) for @presetList; # '#' not shown correctly
|
||||
(s/[\\]//g) for @presetList; # Replace \
|
||||
(s/[ :;,']/_/g) for @presetList; # Replace not allowed characters
|
||||
|
||||
$usage .= "selectFavorite:" .join(",",("---",(sort @favoriteList))) . " ";
|
||||
$usage .= "selectPreset:" .join(",",("---",(sort @presetList))) . " ";
|
||||
$usage .= "selectPresetByNumber:" .join(",",("---",(sort @presetNumber))) . " ";
|
||||
$usage .= "selectFavoriteByNumber:".join(",",("---",(sort @favoriteNumber))) . " ";
|
||||
# Direct stream selection if any
|
||||
|
||||
my @selectStream;
|
||||
|
||||
for(my $lvl = 1; $lvl < int(ReadingsVal($name, ".listDepthLevel", "1") - 1); $lvl++)
|
||||
{
|
||||
my $listLevelName = $hash->{READINGS}{".lvl_".$lvl."_name"};
|
||||
push @selectStream, "lvl_".$lvl."_".$listLevelName;
|
||||
}
|
||||
|
||||
foreach my $readings (keys % {$hash->{READINGS}})
|
||||
{
|
||||
push @selectStream,$1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^listItem_(.*)/);
|
||||
}
|
||||
|
||||
@selectStream = sort map{s/\*/\[asterisk\]/g;$_;} grep/._..*$/, @selectStream; # Replace *
|
||||
@selectStream = sort map{s/#/\[hash\]/g;$_;} grep/._..*$/, @selectStream; # Replace #
|
||||
@selectStream = sort map{s/[\\]//g;$_;} grep/._..*$/, @selectStream; # Replace not allowed characters
|
||||
@selectStream = sort map{s/[ :;,']/_/g;$_;} grep/._..*$/, @selectStream; # Replace not allowed characters
|
||||
|
||||
$usage .= "selectStream:".join(",",("---",(sort @selectStream))) . " ";
|
||||
|
||||
Log3 $name, 5, "PHILIPS_AUDIO ($name) - set ".join(" ", @a);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user