2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 03:06:37 +00:00

71_PHILIPS_AUDIO: Corrected favorites behavior if more than 16.

git-svn-id: https://svn.fhem.de/fhem/trunk@14019 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ra666ack 2017-04-17 17:02:49 +00:00
parent 426f14e3f1
commit ee2dffa9be
2 changed files with 12 additions and 14 deletions

View File

@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it. # Do not insert empty lines here, update check depends on it.
- bugfix: 71_PHILIPS_AUDIO: Corrected gavorites behaviour if more than 16
- chnage: 17_EGPM2LAN.pm: Password handling changed; removed from config - chnage: 17_EGPM2LAN.pm: Password handling changed; removed from config
- change: 93_DbRep: version 4.12.2, PK evaluation changed - change: 93_DbRep: version 4.12.2, PK evaluation changed
- bugfix: 71_PHILIPS_AUDIO: Player readings fix. - bugfix: 71_PHILIPS_AUDIO: Player readings fix.

View File

@ -271,25 +271,25 @@ sub PHILIPS_AUDIO_Set
my @favoriteNumber; my @favoriteNumber;
foreach my $readings (keys % {$hash->{READINGS}}) foreach my $readings (keys % {$hash->{READINGS}})
{ {
push @favoriteList,$1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioFavorite_(.*)/); push @favoriteList,$1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioFavorite_(..)$/);
push @favoriteNumber, $1 if($readings =~ m/^.inetRadioFavorite_(.*)/); push @favoriteNumber, $1 if($readings =~ m/^.inetRadioFavorite_(..)/);
} }
(s/\*/\[asterisk\]/g) for @favoriteList; # '*' not shown correctly (s/\*/\[asterisk\]/g) for @favoriteList; # '*' not shown correctly
(s/#/\[hash\]/g) for @favoriteList; # '#' not shown correctly (s/#/\[hash\]/g) for @favoriteList; # '#' not shown correctly
(s/[ :;,']/_/g) for @favoriteList; # Replace not allowed characters (s/[ :;,'.\\]/_/g) for @favoriteList; # Replace not allowed characters
my @presetList; my @presetList;
my @presetNumber; my @presetNumber;
foreach my $readings (keys % {$hash->{READINGS}}) foreach my $readings (keys % {$hash->{READINGS}})
{ {
push @presetList, $1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioPreset_(.*)/); push @presetList, $1."_".substr($hash->{READINGS}{$readings}{VAL}, 0, 25) if($readings =~ m/^.inetRadioPreset_(..)/);
push @presetNumber, $1 if($readings =~ m/^.inetRadioPreset_(.*)/); push @presetNumber, $1 if($readings =~ m/^.inetRadioPreset_(..)/);
} }
(s/\*/\[asterisk\]/g) for @presetList; # '*' not shown correctly (s/\*/\[asterisk\]/g) for @presetList; # '*' not shown correctly
(s/#/\[hash\]/g) for @presetList; # '#' not shown correctly (s/#/\[hash\]/g) for @presetList; # '#' not shown correctly
(s/[ :;,']/_/g) for @presetList; # Replace not allowed characters (s/[ :;,'.\\]/_/g) for @presetList; # Replace not allowed characters
$usage .= "selectFavorite:" .join(",",("---",(sort @favoriteList))) . " "; $usage .= "selectFavorite:" .join(",",("---",(sort @favoriteList))) . " ";
$usage .= "selectPreset:" .join(",",("---",(sort @presetList))) . " "; $usage .= "selectPreset:" .join(",",("---",(sort @presetList))) . " ";
@ -312,8 +312,8 @@ sub PHILIPS_AUDIO_Set
} }
@selectStream = sort map{s/\*/\[asterisk\]/g;$_;} grep/._..*$/,@selectStream; # Replace * @selectStream = sort map{s/\*/\[asterisk\]/g;$_;} grep/._..*$/,@selectStream; # Replace *
@selectStream = sort map{s/#/\[hash\]/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))) . " "; $usage .= "selectStream:".join(",",("---",(sort @selectStream))) . " ";
@ -1887,10 +1887,7 @@ sub PHILIPS_AUDIO_ParseResponse
#} #}
$data =~ s/\R//g; # Remove new lines $data =~ s/\R//g; # Remove new lines
# Delete old readings
delete $hash->{READINGS}{$_} foreach (grep /.inetRadioFavorite_..$/, keys %{$hash->{READINGS}});
while($data =~ /{'title':'(.+?)',/g) while($data =~ /{'title':'(.+?)',/g)
{ {
$favoriteName = $1; $favoriteName = $1;