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)
|
# Changelog (last 4 entries only, see Wiki for complete changelog)
|
||||||
#
|
#
|
||||||
# SVN-History:
|
# 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
|
# 15.04.2018
|
||||||
# Streams über Alexa (z.B. Sonos One) werden nun korrekt als Radiostreams dargestellt
|
# 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"
|
# 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.
|
# 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.
|
# 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.
|
# 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)
|
# Etwaig von vorher enthaltene Bridges wieder entfernen (wenn sie bereits als Koordinator eingesetzt wurde)
|
||||||
if ($string =~ m/IsZoneBridge="."/) {
|
if ($string =~ m/IsZoneBridge="."/) {
|
||||||
for(my $i = 0; $i <= $#group; $i++) {
|
@group = grep { $_ ne $udn.'_MR' } @group;
|
||||||
delete $group[$i] if ($group[$i] eq $udn.'_MR');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9563,7 +9557,7 @@ sub SONOS_getSonosPlayerByUDN(;$) {
|
|||||||
return SONOS_getSonosPlayerByName();
|
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;
|
return undef;
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ use constant DEFAULT_SUBSCRIPTION_URL => '/eventSub';
|
|||||||
our @IGNOREIP;
|
our @IGNOREIP;
|
||||||
our @USEDONLYIP;
|
our @USEDONLYIP;
|
||||||
our $LogLevel;
|
our $LogLevel;
|
||||||
|
our $EnvPrefix;
|
||||||
|
|
||||||
sub isIgnoreIP($) {
|
sub isIgnoreIP($) {
|
||||||
my($ip) = @_;
|
my($ip) = @_;
|
||||||
@ -102,6 +103,7 @@ sub new {
|
|||||||
@IGNOREIP = @{$args{IgnoreIP}};
|
@IGNOREIP = @{$args{IgnoreIP}};
|
||||||
@USEDONLYIP = @{$args{UsedOnlyIP}};
|
@USEDONLYIP = @{$args{UsedOnlyIP}};
|
||||||
$LogLevel = $args{LogLevel} || 0;
|
$LogLevel = $args{LogLevel} || 0;
|
||||||
|
$EnvPrefix = $args{EnvPrefix} || $SOAP::Constants::PREFIX_ENV;
|
||||||
|
|
||||||
my $reuseport = $args{ReusePort};
|
my $reuseport = $args{ReusePort};
|
||||||
$reuseport = 0 if (!defined($reuseport));
|
$reuseport = 0 if (!defined($reuseport));
|
||||||
@ -709,6 +711,7 @@ sub queryStateVariable {
|
|||||||
my $result;
|
my $result;
|
||||||
if ($SOAP::Lite::VERSION >= 0.67) {
|
if ($SOAP::Lite::VERSION >= 0.67) {
|
||||||
$result = SOAP::Lite
|
$result = SOAP::Lite
|
||||||
|
->envprefix($EnvPrefix)
|
||||||
->ns("u")
|
->ns("u")
|
||||||
->uri('urn:schemas-upnp-org:control-1-0')
|
->uri('urn:schemas-upnp-org:control-1-0')
|
||||||
->proxy($self->controlURL)
|
->proxy($self->controlURL)
|
||||||
@ -718,6 +721,7 @@ sub queryStateVariable {
|
|||||||
->value($name));
|
->value($name));
|
||||||
} else {
|
} else {
|
||||||
$result = SOAP::Lite
|
$result = SOAP::Lite
|
||||||
|
->envprefix($EnvPrefix)
|
||||||
->uri('urn:schemas-upnp-org:control-1-0')
|
->uri('urn:schemas-upnp-org:control-1-0')
|
||||||
->proxy($self->controlURL)
|
->proxy($self->controlURL)
|
||||||
->call('QueryStateVariable' =>
|
->call('QueryStateVariable' =>
|
||||||
@ -880,12 +884,12 @@ sub new {
|
|||||||
if ($SOAP::Lite::VERSION >= 0.67) {
|
if ($SOAP::Lite::VERSION >= 0.67) {
|
||||||
return bless {
|
return bless {
|
||||||
_service => $service,
|
_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;
|
}, $class;
|
||||||
} else {
|
} else {
|
||||||
return bless {
|
return bless {
|
||||||
_service => $service,
|
_service => $service,
|
||||||
_proxy => SOAP::Lite->uri($service->serviceType)->proxy($service->controlURL),
|
_proxy => SOAP::Lite->envprefix($EnvPrefix)->uri($service->serviceType)->proxy($service->controlURL),
|
||||||
}, $class;
|
}, $class;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user