Guten Abend,
ich mal wieder.
Ich habe die Zeilen entsprechend eingebaut, allerdings funktioniert
jetzt eine Funktion nicht mehr...
Folgende Funktion wird dem Timer übergeben (ja, rekursiv aufgerufen):
Code:
--------------------
sub _sendConnectRequest {
my ($self, $params) = @_;
my $deviceUDN = $params->{'deviceUDN'};
my $XMLConfig = $params->{'XMLConfig'};
$log->error('deviceUDN: ' .Dumper($deviceUDN));
$log->error('XMLConfig: ' .Dumper($XMLConfig->{'device'}));
my $device = Plugins::HueBridge::Settings->findUDN( $deviceUDN,
$XMLConfig->{'device'} );
my $bridgeIpAddress = $device->{'ip_address'};
my $uri = join('', 'http://', $bridgeIpAddress, '/api');
my $contentType = "application/json";
my $request = { 'devicetype' => 'squeeze2hue#lms' };
my $requestBody = encode_json($request);
$connectDisconnectStatus = 1;
$connectProgress += 1;
Slim::Utils::Timers::setTimer(undef, time() + 1, \&_sendConnectRequest, {
deviceUDN => $deviceUDN,
XMLConfig => $XMLConfig,
},
);
my $asyncHTTP = Slim::Networking::SimpleAsyncHTTP->new(
\&_sendConnectRequestOK,
\&_sendConnectReqeustERROR,
{
deviceUDN => $deviceUDN,
XMLConfig => $XMLConfig,
error => "Can't get response.",
},
);
$asyncHTTP->_createHTTPRequest(POST => ($uri, 'Content-Type' => $contentType,
$requestBody));
}
--------------------
Ich erhalten dann folgende Fehlermeldung (Dumper Output schonmal
dabei):
Code:
--------------------
[17-05-17 20:36:13.0070] Slim::Utils::Timers::__ANON__ (273) Error: Timer
Plugins::HueBridge::HueCom::_sendConnectRequest failed:
20:36:13.050 Got a reply for service
D56CDCFEC956@SqueezeBox._raop._tcp.local.: Name now registered and active
[17-05-17 20:36:53.0004] Plugins::HueBridge::HueCom::_sendConnectRequest
(114) deviceUDN: $VAR1 = 'uuid:2f402f80-da50-11e1-9b23-0017882d3081';
[17-05-17 20:36:53.0016] Plugins::HueBridge::HueCom::_sendConnectRequest
(115) XMLConfig: $VAR1 = [
{
'ip_address' => '192.168.47.251',
'user_valid' => '0',
'user_name' => 'none',
'udn' => 'uuid:2f402f80-da50-11e1-9b23-0017882d3081',
'name' => 'Hue Bridge',
'enabled' => '1',
'mac' => '00:17:88:2d:30:81'
},
{
'user_valid' => '0',
'user_name' => 'none',
'udn' => 'uuid:2',
'mac' => '00:17:88:2d:30:81',
'enabled' => '1',
'name' => 'Hue Bridge 2',
'ip_address' => '192.168.47.251'
}
];
[17-05-17 20:36:53.0024] Slim::Utils::Timers::__ANON__ (273) Error: Timer
Plugins::HueBridge::HueCom::_sendConnectRequest failed: Can't use string
("uuid:2f402f80-da50-11e1-9b23-001"...) as an ARRAY ref while "strict refs" in
use at /opt/lms-7.9.1/Plugins/HueBridge/Settings.pm line 249.
--------------------
Die erste Zeile des Outputs scheint ein anderer Fehler zu sein, so wie
ich das interpretiere...
Aber ich komme (wie immer) mit diesen Referenzen etc. nicht klar...
In der Settings.pm in Zeile 249 hätten wir:
Code:
--------------------
sub findUDN {
my $udn = shift(@_);
my $listpar = shift(@_);
my @list = @{$listpar}; ### <-- Hier ist Zeile 249.
while (@list) {
my $p = pop @list;
if ($p->{ 'udn' } eq $udn) { return $p; }
}
return undef;
}
--------------------
Warum das nur jetzt nicht mehr klappt, verstehe ich nicht. Irgenndwie
scheint durch den neuen Aufruf mit den params etwas schiefzugehen...
Der originale Code ist übrigens hier:
->
https://github.com/chincheta0815/LMS-to-Hue/blob/rework.plugin/plugin/HueCom.pm#L106
->
https://github.com/chincheta0815/LMS-to-Hue/blob/rework.plugin/plugin/Settings.pm#L246
Vielen Dank schonmal für die Hilfe.
LMS-7.9@solaris. 2x Radio, 2x Duet, 1x Chromecast v1, ShairTunes, 1x
Philips Hue System
------------------------------------------------------------------------
chincheta0815's Profile: http://forums.slimdevices.com/member.php?userid=42904
View this thread: http://forums.slimdevices.com/showthread.php?t=107410
_______________________________________________
slimserver-de mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/slimserver-de