michaels110
Ist oft hier
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 (
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.
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.
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 (
Sie müssen registriert sein, um Links zu sehen.
) und Chrome (
Sie müssen registriert sein, um Links zu sehen.
).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 - ",$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: