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

70_PIONEERAVR: some readings fixed, stateAV and playStatus fixes

git-svn-id: https://svn.fhem.de/fhem/trunk@14598 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
50watt 2017-06-29 17:05:11 +00:00
parent 348e947924
commit ec420c2a10

View File

@ -1669,13 +1669,7 @@ PIONEERAVR_Set($@)
} elsif ($cmd ~~ @setsPlayer) {
Log3 $name, 5, "PIONEERAVR $name: set $cmd for inputNr: $inputNr (player command)";
if ($inputNr eq "17") {
if ( $cmd eq "selectScreenPage" ) {
my $setCmd = sprintf "%05dGGI", $arg;
PIONEERAVR_Write( $hash, $setCmd);
return undef;
} else {
$playerCmd = $cmd."Ipod";
}
} elsif ( $inputNr eq "33"
&& ( $cmd ne "updateScreen" )
@ -1686,18 +1680,12 @@ PIONEERAVR_Set($@)
&& ( $cmd ne "selectLine05" )
&& ( $cmd ne "selectLine06" )
&& ( $cmd ne "selectLine07" )
&& ( $cmd ne "selectLine08" )
&& ( $cmd ne "selectScreenPage") ) {
&& ( $cmd ne "selectLine08" ) )
{
$playerCmd= $cmd."AdapterPort";
#### homeMediaGallery, sirius, internetRadio, pandora, mediaServer, favorites, spotify
} elsif (($inputNr eq "26") ||($inputNr eq "27") || ($inputNr eq "38") || ($inputNr eq "41") || ($inputNr eq "44") || ($inputNr eq "45") || ($inputNr eq "53")) {
if ( $cmd eq "selectScreenPage" ) {
my $setCmd = sprintf "%05dGGH", $arg;
PIONEERAVR_Write( $hash, $setCmd);
return undef;
} else {
$playerCmd= $cmd."Network";
}
#### 'random' and 'repeat' are not available on input mhl
} elsif (( $inputNr eq "48" )
@ -1711,8 +1699,7 @@ PIONEERAVR_Set($@)
&& ( $cmd ne "selectLine05" )
&& ( $cmd ne "selectLine06" )
&& ( $cmd ne "selectLine07" )
&& ( $cmd ne "selectLine08" )
&& ( $cmd ne "selectScreenPage" ) ) {
&& ( $cmd ne "selectLine08" ) ) {
$playerCmd= $cmd."Mhl";
} else {
my $err= "PIONEERAVR $name: The command $cmd for input nr. $inputNr is not possible!";
@ -1976,6 +1963,28 @@ PIONEERAVR_Set($@)
}
return undef;
# selectScreenPage (player command)
} elsif ($cmd eq "selectScreenPage") {
Log3 $name, 5, "PIONEERAVR $name: set $cmd for inputNr: $inputNr (player command) argument: $arg !";
if ($inputNr eq "17") {
my $setCmd = sprintf "%05dGGI", $arg;
PIONEERAVR_Write( $hash, $setCmd);
return undef;
#### homeMediaGallery, sirius, internetRadio, pandora, mediaServer, favorites, spotify
} elsif ( ( $inputNr eq "26")
|| ( $inputNr eq "27" )
|| ( $inputNr eq "38" )
|| ( $inputNr eq "41" )
|| ( $inputNr eq "44" )
|| ( $inputNr eq "45" )
|| ( $inputNr eq "53" ) )
{
my $setCmd = sprintf "%05dGGH", $arg;
PIONEERAVR_Write( $hash, $setCmd);
return undef;
}
####remoteControl
} elsif ( $cmd eq "remoteControl" ) {
Log3 $name, 5, "PIONEERAVR $name: set $cmd $arg";
@ -2753,6 +2762,13 @@ sub PIONEERAVR_Read($)
readingsBulkUpdate( $hash, "playStatus", "stopped" );
}
# stateAV
if ( $2 eq "02" || $2 eq "03" || $2 eq "04" || $2 eq "05" || $2 eq "06" ) {
my $stateAV = PIONEERAVR_GetStateAV($hash);
readingsBulkUpdate( $hash, "stateAV", $stateAV )
if ( ReadingsVal( $name, "stateAV", "-" ) ne $stateAV );
}
# Source information
} elsif ( $line =~ m/^(GHH)(\d{2})$/ ) {
my $sourceInfo = $hash->{helper}{SOURCEINFO}{$2};
@ -2975,6 +2991,7 @@ sub PIONEERAVR_Read($)
}
readingsEndUpdate( $hash, 1);
$hash->{PARTIAL} = $buf;
}
@ -3219,8 +3236,9 @@ sub PIONEERAVR_GetStateAV($) {
} elsif (defined( $hash->{helper}{main}{CURINPUTNR})) {
my $iNr = $hash->{helper}{main}{CURINPUTNR};
if ( $hash->{helper}{INPUTNAMES}->{$iNr}{playerCommands} eq "1"
&& ReadingsVal( $name, "playStatus", "stopped" ) ne "stopped" )
if ( $hash->{helper}{INPUTNAMES}->{$iNr}{playerCommands} eq "1")
{
if ( ReadingsVal( $name, "playStatus", "" ) ne "" )
{
return ReadingsVal( $name, "playStatus", "stopped" );
} else {
@ -3229,6 +3247,9 @@ sub PIONEERAVR_GetStateAV($) {
} else {
return ReadingsVal( $name, "power", "off" );
}
} else {
return ReadingsVal( $name, "power", "off" );
}
}
#####################################