public function getControllerByIp($_ip) { $controller = null; $sonos = sonos3::getSonos(); try { $controller = $sonos->getControllerByIp($_ip); } catch (Exception $e) { } if ($controller == null) { try { $sonos = sonos3::getSonos(true); $controller = $sonos->getControllerByIp($_ip); } catch (Exception $e) { } } if ($controller == null) { try { if (!self::$_sonosAddOK) { $speakers = array(); foreach (self::byType('sonos3') as $eqLogic) { if ($eqLogic->getIsEnable() == 0) { continue; } if ($eqLogic->getLogicalId() == '') { continue; } $speakers[$eqLogic->getLogicalId()] = new Speaker($eqLogic->getLogicalId()); } $sonos->setSpeakers($speakers); self::$_sonosAddOK = true; } $controller = $sonos->getControllerByIp($_ip); } catch (Exception $e) { } } return $controller; }