SwitchPlugin
Inhaltsverzeichnis
Was ist das?
Das Switch-Plugin dient dazu ein externes Programm mit einem Parameter zu starten. Damit werden z.B. TV-Sender einer TV-Applikation umgeschaltet.
Einstellungen
- Zu startendes externes Programm
- Über Einstellungen (Strg+S) -> Plugin-SwitchPlugin gelangen Sie in die Einstellungen zum SwitchPlugin. Hier wird unter "Zu startendes externes Programm" die TV-Applikation angegeben. Diese muss auch Parameter annehmen können.
- Parameter
- Bei "Parameter" geben Sie die an die Applikation zu übergebende Parameter an.
- Sonstige Einstellungen
- Unter "Sonstige Einstellungen" kann der Text angepasst werden, der einem zum Umschalten auffordert.
Der Kontextmenüeintrag dient der Identifizierbarkeit des Menüpunktes, wenn man mit der rechten Maustaste auf eine Sendung klickt. - Sender-Einstellungen
- Damit auch wirklich der richtige Sender in der TV-Applikation eingeschaltet werden kann, muss die Senderliste angepasst werden. Hier werden nur die Sender aufgeführt, die man im TV-Browser zur Anzeige definiert hat. Der "Externe Sender-Name" wird an die TV-Applikation als Parameter übergeben. Es sollten also auch Werte sein, die die Applikation beherrschen und umsetzen kann.
Einstellungen für TV-Anwendungen
- DVB Dream (Nummer als externer Sender-Name)
- /chno={channel_name_external}
- DVB Dream (Name als externer Sender-Name)
- /chname='{channel_name_external}'
- DVBViewer (Nummer oder Name als externer Sender-Name)
- -c{channel_name_external}
- WinTV32
- -nc -c{channel_name_external}
- WinTV2000
- -c{channel_name_external}
Weitere Einstellungen für WinTV sind auf der Webseite von Hauppauge dokumentiert.
- Terratec Home Cinema (THC)
Das Script ein einen Texteditor kopieren und als "switch_channel.vbs" speichern. Natürlich müssen der Benutzername die IP und das Passwort entsprechend angepasst werden. Die entsprechenden Werte könnt Ihr im HTC unter "Optionen - Netzwerk - Netzwerkfernbedienung (Telenet)" nachschauen.
Option Explicit Dim objShell Set objShell = CreateObject("WScript.Shell") objShell.run "telnet 127.0.0.1" WScript.Sleep 500 'Anmelden objShell.SendKeys "zeus{enter}" 'Benutzer objShell.SendKeys "hermes{enter}" 'Passwort 'enter command objShell.SendKeys "ch " + WScript.Arguments(0) + "{enter}" WScript.Sleep 500 'close PuTTY window objShell.SendKeys "exit" objShell.SendKeys "{enter}" WScript.Sleep 500 objShell.SendKeys "{enter}" Set objShell = Nothing WScript.Quit 0 'Commands currently supported: 'help this help 'channel display the current channel 'ch ... short form 'channel + watch the next channel 'ch + ... short form 'channel - watch the previous channel 'ch - ... short form 'channel <new channel> set the current channel 'ch <new channel> ... short form 'favorites display the current favorites list 'fav ... short form 'favorites <new list> set the current favorites list 'fav <new list> ... short form 'list favorites show all favorites lists 'list fav ... short form 'list channels show all channels of the current favorite list 'list ch ... short form 'Parameter - It's not required to enclose arguments in quotes 'channel Das Erste' is valid ' - are case sensitive 'info display info about current stream 'timer display current timer list 'play simulate a keystroke on 'play' 'pause simulate a keystroke on 'pause' 'rec simulate a keystroke on 'rec' 'stop simulate a keystroke on 'stop' 'multicast get multicast state (multicast IP and port when multicast is on) 'multicast <on|off> enable/disable multicast 'echo <on|off> enable/disable echo for Telnet 'exit close Telnet session 'exitthc close TerraTec Home Cinema
Im TV Browser muss das VB-Script mit folgenden Parametern eingetragen werden. Natürlich muss es auch unter dem Angegebenen Pfad gefunden werden ;-)
Es ist wichtig, die im 2. Bild eingetragenen Sendernamen genauso zu schreiben, wie sie im THC in der Favoriten Liste stehen.
Funktionsweise
Aus dem Hauptfenster vom TV-Browser aus kann eine Sendung mit der rechten Maustaste angeklickt werden. Im Kontextmenü erscheint der Eintrag "Umschalten", den man anklickt. Es erscheint ein Fenster mit der Frage ob das externe Programm gestartet werden soll.
Man hat hier noch die Wahl des Abbruches. Bestätigt man mit Ja, so wird das externe Programm gestartet und gleichzeitig der richtige Sender eingestellt. Ist die Applikation schon am Laufen, so wird nur der Sender eingestellt.
Besondere Anwendung
Im TV-Browser hat man die Möglichkeit Erinnerungen an ein anderes Plugin weiterzureichen. Diese Option ist in den Einstellungen (Strg+S), Plugins-Erinnerer einstellbar. Wird die Erinnerung an das SwitchPlugin weitergereicht, wird bei einer anstehenden Erinnerung gefragt ob die TV-Applikation gestartet werden soll (nachfolgendes Bild).
Somit kann es sehr komfortabel eingesetzt werden.
Weitere Anwendung
Mit dem SwitchPlugin ist es außerdem möglich externe Geräte, wie z.B. Digital Receiver zu steuern. Vorraussetzung ist ein USB UIRT oder Y.A.R.D. (Weitere IR-transceiver wie z.B. Microsoft MCE Remote sind in Arbeit). Mit diesen Geräten kann man vom Computer aus Infrarotsignale senden. Weiterhin benötigt man die Open Source Software EventGhost die als Verbindung zwischen TVB und dem Infrarotgerät dient. Eine genaue Anleitung (am Beispiel eines Humax PR Fox C Digital Receivers) findet man im Forum von EventGhost.
Technisat Receiver über RS232 Umschalten
Ältere Technisat Receiver haben nur eine RS232 Schnittstelle,trotzdem können diese Geräte (über ein angeschlossenes Serielles Kabel) fernbedient werden. Ein einfaches 1:1 9-poliges D-Sub Kabel wie es für die Updatefunktion benutzt wird reicht aus (kein Nullmodemkabel), die Länge ist relativ Unkritisch, 10 Meter geht immer. (getestet am Digit D)
Parameter
Ein Script übernimmt die Steuerung eines DOS-Fensters welches die Daten an die COM Schnittstelle sendet. Das Script in einen Texteditor kopieren und als "switch_channel.vbs" speichern. Mit diesem Script wird COM1 angesprochen, bei Bedarf com1 in gewünschte Nummer ändern.
Option Explicit Dim objShell Set objShell = CreateObject("WScript.Shell") objShell.run "cmd", 2 WScript.Sleep 600 'enter command objShell.SendKeys "type " + WScript.Arguments(0) + ">com1" + "{enter}" WScript.Sleep 500 'close window objShell.SendKeys "exit" objShell.SendKeys "{enter}" WScript.Sleep 2500 Set objShell = Nothing WScript.Quit 0
Danach die Parameter im SwitchPlugin wie folgt eintragen. Pfade können frei angepasst werden.
Sender
Es ist Sinnvoll beim Start des Rechners eine .bat Datei im Autostart zu haben die folgenden Inhalt hat.
mode com1:115000,n,8,1
dadurch wird der Modus Eingeschaltet den die Box benötigt.
Zu jedem Sender muss eine Datei vorliegen die die Codes zum Umschalten beinhaltet. Dabei ist für jeden zu sendenden Befehl eine neue Zeile nötig die immer mit ltt0001 beginnt und danach den Code beinhaltet. Der Pfad zu den Dateien muss mit dem Pfad des Scriptes übereinstimmen.
Die Codierung ist einfach; 00=0, 01=1, ...09=9. Die 24 ist die OK Taste auf der Fernbedienung. Leider können nur Senderplätze bis 99 angesprochen werden.
Beispiel: Umschaltung auf Programm 45 mit Übermittlung der 'OK' Taste (sofortige Ausführung der Umschaltung)
ltt000104 ltt000105 ltt000124
Beispiel: Umschaltung auf Programm 1 mit Übermittlung der 'OK' Taste (sofortige Ausführung der Umschaltung)
ltt000101 ltt000124
Die Dateien können freie Namen haben (1.txt, ard.dat usw.), sie werden dann als externer Sender-Name unter Sender eingetragen.
Sonstige Einstellungen
Sind ja irgendwie Selbsterklärend... wer unkompliziertes Umschalten möchte deaktiviert die Sicherheitsabfrage.
Danach kann über das Kontextmenü (rechte Maustaste) im TV-Browser auf den Kanal Umgeschaltet werden.
Das SwitchPlugin als Bestandteil einer offenen bidirektionalen Schnittstelle
In den bisherigen Abschnitten wurde das SwitchPlugin stets in Verbindung mit einer konkreten externnen Anwendung betrachtet. Das SwitchPlugin kann aber auch in einem viel allgemeineren Kontext gestellt werden. So besteht in Verbindung mit einer Filterkomponente vom Typ BeanShell-Filter und dem Plugin Filter-Info-Icons die Möglichkeit zur Konfiguration einer offenen bidirektionalen Schnittstelle.