public function getDevices($request) { Logger::debug(__METHOD__, self::$logfile); $service = isset($request['service']) ? $request['service'] : null; $this->respond(UPnP::getDevices($service)); }
foreach ($devices as $uid => $data) { $device = UPnP::getDevice($uid); $icon = null; $name = $device->getName(); $icons = $device->getIcons(); if (count($icons) > 0) { $first = array_shift($icons); $icon = $first->url; } $deviceList[$uid] = (object) array('name' => $name, 'icon' => $icon); } $device = null; try { if (isset($_GET['d'])) { $d = $_GET['d']; $device = UPnP::getDevice($d); $services = $device->getServices(); if (isset($_GET['s'])) { $serviceCode = $_GET['s']; $client = $device->getClient($serviceCode); $service = $device->getService($serviceCode); $actions = $service->getActions(); if (isset($_GET['a'])) { $actionName = $_GET['a']; if (isset($actions[$actionName])) { $action = $actions[$actionName]; foreach ($action as &$direction) { foreach ($direction as &$method) { $method['param'] = 'str'; if (isset($method['relatedStateVariable'])) { $var = $service->getStateVar($method['relatedStateVariable']);
function pr($value) { echo '<pre>'; print_r($value); echo '</pre>'; } require_once 'src/at/mkweb/upnp/init.php'; try { // Discover devices UPnP::findDevices(); // Subscribe or renew subscription to AVTransport $devices = UPnP::getDevices('AVTransport'); echo "Starting subscriptions\n"; foreach ($devices as $uid => $device) { echo "Checking subscription for " . $uid . "\n"; $device = UPnP::getDevice($uid); $current = $device->getSubscriptions(); if (count($current) > 0) { foreach ($current as $uid) { echo "Renew\n"; $device->unSubscribe($uid); $device->subscribe(); } } else { echo "Create\n"; $device->subscribe('AVTransport'); } } } catch (\Exception $e) { echo get_class($e) . ': ' . $e->getMessage(); }