37_plex.pm: better controllable detection (by Risiko) (correckt version :)

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@11599 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
justme-1968 2016-06-02 18:47:01 +00:00
parent 276a0f0630
commit e361cfae29

View File

@ -1040,7 +1040,7 @@ plex_Set($$@)
}
$list .= 'playMedia ' if( !$hash->{controllable} || $hash->{controllable} =~ m/\bplayPause\b/ );
$list .= 'play ' if( defined($hash->{protocolCapabilities}) && $hash->{protocolCapabilities} =~ m/\bplayqueues\b/ );
$list .= 'play ' if( $hash->{protocolCapabilities} && $hash->{protocolCapabilities} =~ m/\bplayqueues\b/ );
$list .= 'resume:noArg ' if( !$hash->{controllable} || $hash->{controllable} =~ m/\bplayPause\b/ );
$list .= 'pause:noArg ' if( $hash->{controllable} && $hash->{controllable} =~ m/\bplayPause\b/ );;
$list .= 'stop:noArg ' if( $hash->{controllable} && $hash->{controllable} =~ m/\bstop\b/ );;
@ -1764,9 +1764,7 @@ plex_getToken($)
};
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -1801,9 +1799,7 @@ plex_getPinForToken($)
$param->{cl} = $hash->{CL} if( ref($hash->{CL}) eq 'HASH' );
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -1841,9 +1837,7 @@ plex_getTokenOfPin($)
};
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -1911,12 +1905,7 @@ plex_sendApiCmd($$$;$)
}
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
if( $err ) {
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
return $err;
}
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -1983,9 +1972,7 @@ plex_play($$$$)
}
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -2048,9 +2035,7 @@ plex_addToPlaylist($$$$)
}
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$data) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
return undef;
}
@ -2385,10 +2370,10 @@ plex_parseTimeline($$$)
readingsBeginUpdate($chash);
plex_readingsBulkUpdateIfChanged($chash, 'location', $xml->{location} );
my $state;
my $controllable;
delete $chash->{time};
delete $chash->{seekRange};
delete $chash->{controllable};
my $controllable;
foreach my $entry (@{$xml->{Timeline}}) {
next if( !$entry->{state} );
@ -2435,7 +2420,7 @@ plex_parseTimeline($$$)
if( $state =~ '(\w*):(playing|paused)' ) {
$chash->{currentMediaType} = $1;
$chash->{controllable} = $controllable->{ $1 };
$chash->{controllable} = $controllable->{$1} if( $controllable->{$1} );
} else {
delete $chash->{currentMediaType};
}
@ -3987,9 +3972,7 @@ plex_publishToSonos($$;$)
$param->{cl} = $hash->{CL} if( ref($hash->{CL}) eq 'HASH' );
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$tmpdata) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
++$i;
}
@ -4031,9 +4014,7 @@ plex_publishToSonos($$;$)
$param->{cl} = $hash->{CL} if( ref($hash->{CL}) eq 'HASH' );
$param->{callback} = \&plex_parseHttpAnswer;
my($err,$tmpdata) = HttpUtils_NonblockingGet( $param );
Log3 $name, 2, "$name: http request ($url) failed: $err" if( $err );
HttpUtils_NonblockingGet( $param );
++$i;
}