Steeds meer home-cinema-apparatuur heeft ook een aansluiting in het netwerk, zo ook mijn TV. Ik heb een scriptje geschreven, zodat deze automatisch uit gaat wanneer ik m’n schema ‘Naar bed’ aan zet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
#!/usr/bin/php <!--?php ini_set('error_reporting', E_ALL); $localip = "192.168.192.188"; $localport = "8080"; $pairkey = ""; $a = 3; function doRequest($url, $data) { // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, $url); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: text/xml; charset=utf-8', 'User-agent: UDAP/2.0' )); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 1); // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); } if (empty($pairkey)) { $data = '<?xml version="1.0" encoding="utf-8"?--><envelope><api type="pairing"><name>showKey</name></api></envelope>'; $url = "http://" . $localip . ":" . $localport . "/udap/api/pairing"; doRequest($url, $data); } else { $data = '<!--?xml version="1.0" encoding="utf-8"?-->hello'.$pairkey.'0'; $url = "http://" . $localip . ":" . $localport . "/udap/api/pairing"; doRequest($url, $data); $data = '<!--?xml version="1.0" encoding="utf-8"?-->'; $data.= ''; $data.= ''; $data.= 'HandleKeyInput'; $data.= '1'; $data.= ''; $data.= ''; $url = "http://" . $localip . ":" . $localport . "/udap/api/command"; doRequest($url, $data); } ?> |
Zodra je het script de eerste keer runt, laat je tv een pair-key zien. Deze moet je daarna invullen bij $pairkey.
Status controleren
Om te controleren of de tv aan staat heb ik een virtuele schakelaar gemaakt. Samen met dit script kun je dan kijken of de tv online is, aangezien de tv geen verbinding heeft wanneer hij uit staat.