mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
SONOS: Small bugfixes, Controlpoint: added support for envelope-prefix
git-svn-id: https://svn.fhem.de/fhem/trunk@16658 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e623e7a6b7
commit
93f41b6d52
@ -51,6 +51,10 @@
|
||||
# Changelog (last 4 entries only, see Wiki for complete changelog)
|
||||
#
|
||||
# SVN-History:
|
||||
# 25.04.2018
|
||||
# "Deep Recursion"-Warnung beim loggen wird nun verhindert
|
||||
# Beim Erzeugen der Gruppen-ReadingsGroup ist bei der Verwendung eines Boosts ab und zu ein Fehler aufgetreten
|
||||
# Beim Erzeugen eines ControlPoint-Objekts kann man nun das Envelope-Prefix angeben (nicht für das Sonos-Modul relevant)
|
||||
# 15.04.2018
|
||||
# Streams über Alexa (z.B. Sonos One) werden nun korrekt als Radiostreams dargestellt
|
||||
# Es werden nun auch Updateinformationen und die interne Softwareversionsnummer gesucht und als Reading gesetzt: "softwareRevisionAvailable", "softwareRevisionInternal" und "softwareRevisionInternalAvailable"
|
||||
@ -66,14 +70,6 @@
|
||||
# Wenn ein Player disabled oder disappeared ist, wird ein Proxy-Cover-Zugriffsversuch auf diesen Player unterbunden.
|
||||
# Ein Modify-Befehlsaufruf wird nun am Vorhandensein von $hash->{OLDDEF} erkannt.
|
||||
# Bei einigen PERL-Installationen stand im Reading 'currentTrackPositionSimulatedSec' eine Kommazahl (da sie von time() aus berechnet wird). Diese Zahl wird nun gerundet.
|
||||
# 26.02.2018
|
||||
# ComObjectTransportQueue in Client_ReceiveQueue umbenannt.
|
||||
# If-Abfrage um die can_read-Schleife im SubProzess eingebaut, Um Signalunterbrechungen zu berücksichtigen.
|
||||
# Neuer Getter "WifiPortStatus". Liefert Active, wenn das WLAN aktiviert ist, sonst Inactive.
|
||||
# Drei neue (automatisch ermittelte) Readings "Orientation", "WifiEnabled" und "WirelessMode".
|
||||
# Warnung mit "unescaped left brace" in Tag.pm wurde korrigiert.
|
||||
# ExportSonosBibliothek wird nun in einem eigenen Thread (LongJobs-Thread) ausgeführt. Dadurch bleibt das System steuerbar, auch wenn gerade ein langwieriger Export läuft.
|
||||
# Prüfmethode eingebaut, um verlorengegangene Fhem-Prozessverbindungen (aus Sicht des SubProzesses) zu erkennen, und entsprechende Thread-Bereinigungmaßnahmen durchführen zu können.
|
||||
#
|
||||
########################################################################################
|
||||
#
|
||||
@ -2105,9 +2101,7 @@ sub SONOS_ConvertZoneGroupState($) {
|
||||
|
||||
# Etwaig von vorher enthaltene Bridges wieder entfernen (wenn sie bereits als Koordinator eingesetzt wurde)
|
||||
if ($string =~ m/IsZoneBridge="."/) {
|
||||
for(my $i = 0; $i <= $#group; $i++) {
|
||||
delete $group[$i] if ($group[$i] eq $udn.'_MR');
|
||||
}
|
||||
@group = grep { $_ ne $udn.'_MR' } @group;
|
||||
}
|
||||
}
|
||||
|
||||
@ -9563,7 +9557,7 @@ sub SONOS_getSonosPlayerByUDN(;$) {
|
||||
return SONOS_getSonosPlayerByName();
|
||||
}
|
||||
|
||||
SONOS_Log $udn, 0, "The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to '".(defined($udn) ? $udn : 'undef')."'. This should not happen!";
|
||||
SONOS_Log undef, 0, "The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to '".(defined($udn) ? $udn : 'undef')."'. This should not happen!";
|
||||
|
||||
return undef;
|
||||
}
|
||||
|
@ -51,6 +51,7 @@ use constant DEFAULT_SUBSCRIPTION_URL => '/eventSub';
|
||||
our @IGNOREIP;
|
||||
our @USEDONLYIP;
|
||||
our $LogLevel;
|
||||
our $EnvPrefix;
|
||||
|
||||
sub isIgnoreIP($) {
|
||||
my($ip) = @_;
|
||||
@ -102,6 +103,7 @@ sub new {
|
||||
@IGNOREIP = @{$args{IgnoreIP}};
|
||||
@USEDONLYIP = @{$args{UsedOnlyIP}};
|
||||
$LogLevel = $args{LogLevel} || 0;
|
||||
$EnvPrefix = $args{EnvPrefix} || $SOAP::Constants::PREFIX_ENV;
|
||||
|
||||
my $reuseport = $args{ReusePort};
|
||||
$reuseport = 0 if (!defined($reuseport));
|
||||
@ -709,6 +711,7 @@ sub queryStateVariable {
|
||||
my $result;
|
||||
if ($SOAP::Lite::VERSION >= 0.67) {
|
||||
$result = SOAP::Lite
|
||||
->envprefix($EnvPrefix)
|
||||
->ns("u")
|
||||
->uri('urn:schemas-upnp-org:control-1-0')
|
||||
->proxy($self->controlURL)
|
||||
@ -718,6 +721,7 @@ sub queryStateVariable {
|
||||
->value($name));
|
||||
} else {
|
||||
$result = SOAP::Lite
|
||||
->envprefix($EnvPrefix)
|
||||
->uri('urn:schemas-upnp-org:control-1-0')
|
||||
->proxy($self->controlURL)
|
||||
->call('QueryStateVariable' =>
|
||||
@ -880,12 +884,12 @@ sub new {
|
||||
if ($SOAP::Lite::VERSION >= 0.67) {
|
||||
return bless {
|
||||
_service => $service,
|
||||
_proxy => SOAP::Lite->ns("u")->uri($service->serviceType)->proxy($service->controlURL),
|
||||
_proxy => SOAP::Lite->envprefix($EnvPrefix)->ns("u")->uri($service->serviceType)->proxy($service->controlURL),
|
||||
}, $class;
|
||||
} else {
|
||||
return bless {
|
||||
_service => $service,
|
||||
_proxy => SOAP::Lite->uri($service->serviceType)->proxy($service->controlURL),
|
||||
_proxy => SOAP::Lite->envprefix($EnvPrefix)->uri($service->serviceType)->proxy($service->controlURL),
|
||||
}, $class;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user