Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Channel Zapper Script - EPG Refresh - EPG aktualisieren

michaels110

Ist oft hier
Registriert
3. Juli 2009
Beiträge
123
Reaktionspunkte
75
Punkte
48
Ort
19,2° Ost
Hallo allerseits!

Da ich mit dem EPG Refresh Plugin des Receivers nicht ganz warm wurde, hab ich ein kleines PHP Script geschrieben welches den selben Dienst leistet.

Funktionsweise:

Per Web Requests werden Befehle an den Receiver gesendet. Also dasselbe wie wenn man mit dem Webinterface arbeitet.

Das Script kann entweder manuell im Browser gestartet werden, oder automatisch per Chron vom Raspberry Pi usw.

Apache und PHP müssen auf dem Pi bzw. Rechner wo das Script eingesetzt wird, installiert sein.

Dann kann man loslegen.

Im Script sind nur einige Einstellungen zu machen.

- IP Adresse des Receivers
- Benutzername
- Passwort
- Requests des eigenen Receivers

Wie die einzelnen Requests lauten hab ich mit dem Browser Plugin FoxyProxy rausbekommen. Das Plugin gibt es kostenlos für Firefox ( ) und Chrome ( ).

Eigentlich ist das Plugin dafür da, um über Proxys zu surfen. Man kann es aber auch nutzen um alle Anfragen die vom Browser ausgehen zu loggen.

Dieses Video zeigt wie es geht.

Du musst angemeldet sein, um Medien zu sehen.

Das Script kann selbstverständlich erweitert und verändert werden :)

PS:
Das Script wurde inzwischen noch etwas überarbeitet. Es ist nun ebenfalls möglich in ein anderes Bouquet zu wechseln, und dort die Kanäle durchzappen zu lassen.
Für noch mehr Bouquets einfach die entsprechenden Codezeilen duplizieren.
Die Einstellungen wurden zwecks Übersicht in eine zweite PHP Datei verfrachtet.

PHP:
<?php
//PHP Channel Zapper v0.2
//Einstellungen laden
include("config.php");

//Laufzeit anzeigen
echo "Script gestartet - ",$uhrzeit,"" ,"<br>";

//einschalten
$turn_on = file_get_contents($turn_on_request, false, $webrequest);
sleep($sleeptime2);

//auf Startkanal wechseln
sleep($sleeptime2);
$start_channel = file_get_contents($start_channel_request, false, $webrequest);
sleep($sleeptime);

// hoch zappen
if ($zapp_request) {
    for ($i = 0; $i <= $sender_anzahl; $i++) {
    $x = $x+1;
    $zapp = file_get_contents($zapp_request, false, $webrequest);
    sleep($sleeptime);
    
    // wenn Senderanzahl erreicht
    if($x == $sender_anzahl ) {
    
    // zu weiteren Bouquet wechseln?
        if($changeToBouquet2 = "yes" ) {
        echo changeBouquet2();
        } else {
        // ausschalten
    $turn_off = file_get_contents($turn_off_request, false, $webrequest);
    exit; }
    }
}
}
##
// Zu Bouquet(2) wechseln
function changeBouquet2() {
// Einstellungen laden
include("config.php");
 
// Senderliste aufrufen
$b1 = "https://$box_ip/web/remotecontrol?command=403";
$changeBouquet_request1 = file_get_contents($b1, false, $webrequest);

// Zu Favoriten wechseln
sleep($sleeptime2);
$b2 = "https://$box_ip/web/remotecontrol?command=401";
$changeBouquet_request2 = file_get_contents($b2, false, $webrequest);

// An den Anfang der Bouquetliste navigieren
sleep($sleeptime2);
$b3 = "https://$box_ip/web/remotecontrol?command=105";
$changeBouquet_request3 = file_get_contents($b3, false, $webrequest);

// zum gewünschten Bouquet navigieren
sleep($sleeptime2);
$b4 = "https://$box_ip/web/remotecontrol?command=103";
$changeBouquet_request4 = file_get_contents($b4, false, $webrequest);

sleep($sleeptime2);
$b5 = "https://$box_ip/web/remotecontrol?command=103";
$changeBouquet_request5 = file_get_contents($b5, false, $webrequest);

// Das Bouquet öffnen
sleep($sleeptime2);
$b6 = "https://$box_ip/web/remotecontrol?command=352";
$changeBouquet_request6 = file_get_contents($b6, false, $webrequest);

// Ersten Sender im Bouquet wählen
sleep($sleeptime2);
$b7 = "https://$box_ip/web/remotecontrol?command=352";
$changeBouquet_request7 = file_get_contents($b7, false, $webrequest);
sleep($sleeptime);

//hoch zappen
if ($zapp_request) {
    for ($i = 0; $i <= $sender_anzahl_bouquet2; $i++) {
    $y = $y+1;
    $zapp = file_get_contents($zapp_request, false, $webrequest);
    sleep($sleeptime);
  
    // wenn Senderanzahl erreicht
    if($y == $sender_anzahl_bouquet2 ) {
    //ausschalten
    $turn_off = file_get_contents($turn_off_request, false, $webrequest);
    echo "Script beendet&nbsp;&nbsp;- ",$uhrzeit,"";
    exit; }
    }
}
}
// Zu Bouquet(2) wechseln Ende
##
?>

PHP:
<?php
// IP Adresse des Receivers
$box_ip = "";

// Benutzer
$user = "root";

// Passwort
$pass = "dreambox";

// Anzahl der Sender im Haupt-Bouquet
$sender_anzahl = "30";

// weiteres Bouquet(2) abfragen
$changeToBouquet2 = "yes";

// Anzahl der Sender im Bouquet(2)
$sender_anzahl_bouquet2 = "20";

// Zeit in Sekunden zum verweilen auf Sender
$sleeptime = "30";

// Zeit für Pause während navigieren
$sleeptime2 = "2";

//Request zum zappen
$zapp_request = "https://$box_ip/web/remotecontrol?command=106";

//Request zum einschalten
$turn_on_request = "https://$box_ip/web/remotecontrol?command=116";

//Request zum ausschalten
$turn_off_request = "https://$box_ip/web/remotecontrol?command=116";

//Request für Kanal Start
$start_channel_request = "https://$box_ip/web/remotecontrol?command=2";

// Webrequest
$webrequest = stream_context_create(array (
    'http' => array (
        'header' => 'Authorization: Basic ' . base64_encode("$user:$pass"),
        'ssl' =>array (
        'verify_peer' => false,
        'verify_peer_name' => false,
        )
    )
));

// Null
$x = '';
$y = '';

//Zeit Datum
$datum = date("d.m.Y");
$uhrzeit = date("H:i:s");
//Einstellungen Ende
?>

PHP:
<?php

//PHP Channel Zapper v0.1
//Einstellungen
$box_ip = "";
$user = "root";
$pass = "dreambox";
$sender_anzahl = "50";
// Zeit in Sekunden zum verweilen auf Sender
$sleeptime = "30";
//Request zum zappen
$zapp_request = "http://$box_ip/web/remotecontrol?command=106";

//Request zum einschalten
$turn_on_request = "http://$box_ip/web/remotecontrol?command=116";

//Request zum ausschalten
$turn_off_request = "http://$box_ip/web/remotecontrol?command=116";

//Request für Kanal Start
$start_channel_request = "http://$box_ip/web/remotecontrol?command=2";
//
//Einstellungen Ende

$x = '';
$webrequest = stream_context_create(array (
    'http' => array (
        'header' => 'Authorization: Basic ' . base64_encode("$user:$pass"),
        'ssl' =>array (
        'verify_peer' => false,
        'verify_peer_name' => false,
        )
    )
));

//einschalten
$turn_on = file_get_contents($turn_on_request, false, $webrequest);
sleep(5);

//auf Startkanal wechseln
$start_channel = file_get_contents($start_channel_request, false, $webrequest);
sleep($sleeptime);

//zappen
if ($zapp_request) {
    for ($i = 0; $i <= $sender_anzahl; $i++) {
    $x = $x+1;
    $zapp = file_get_contents($zapp_request, false, $webrequest);
    sleep($sleeptime);
 
    // wenn Senderanzahl erreicht
    if($x == $sender_anzahl ) {
    //ausschalten
    $turn_off = file_get_contents($turn_off_request, false, $webrequest);
    exit; }
    }
}
?>
 
Zuletzt bearbeitet:
Zurück
Oben