nuts Posted May 16, 2013 Share Posted May 16, 2013 (edited) Hallo zusammen, anbei mal ein Skript zur Steuerung eines PC/Servers über TCP. Folgende Befehle kann das Skript per TCP annehmen: ; isrecording (true return1 / false return 0) ; istimeshift (true return1 / false return 0) ; isplaying (true return1 / false return 0) ; isrunning (true return1 / false return 0) ; isnotrunning (true return1 / false return 0) ; restart (return 0) ; exit (return 0) ; sendcommand (return 0) ; run (return 0) ; shutdown (return 0) ; section (return 0) ; devcon (return 0) ; devcon2 (return 0) ; execute (return 0) Ein Testclient und ein Eventghost-Plugin befindet sich auch im Anhang. Außerdem kann das Skript über: Extended Exit: http://www.DVBViewer.tv/forum/topic/48512-erweitertes-beenden-v2-extended-exit-v2/ ProcesstaskEX: http://www.DVBViewer.tv/forum/topic/51926-processtasksex/ angesprochen werden. Diese Befehle benötigen einen weitere Parameter, die über ein Trennzeichen (default ="%") mitgegeben werden: ; sendcommand%actionID ; run%Pfad zur Anwendung ; shutdown% 0 = Logoff | 1 = Shutdown | 2 = Reboot | 4 = Force | 8 = Power down | 16= Force if hung | 32= Standby | 64= Hibernate) ; section%section in tcpcontrol.ini (voller Funktionsumfang wie bei "Extended Exit") ; devcon%hardwareID ; devcon2%hardwareID ; execute%Autoit Skript Zeile Ausführlichere Doku kommt noch. Hier zumindest mal die Einträge der Konfig-INI: 1. Sektion [settings]Header=TCPControl (unwichtig, aber bitte stehen lassen)ExtendedLog=1 (0=disable | 1=enable)Runtime_max=48 (nach X Stunden (default=48) wird die Sektion [Runtime Max] abgearbeitet) delay=500 (noch ohne Funktion) 2. Sektion [serversettings]IP=127.0.0.1 (unwichtig, aber bitte stehen lassen)Port=24089 (der Port über den das Skript angesprochen werden kann) 3. Sektion [info] Hier stehen nur ein paar Pfade zur Information drin. Die Einträge haben im Skript keine Funktion 4. Sektion [Runtime Max] Hier können wie Befehlsfolgen eingetragen werden, die alle X Stunden ausgeführt werden sollen. Voller Funktionsumfang wie bei "Extended Exit": http://www.DVBViewer.tv/forum/topic/48512-erweitertes-beenden-v2-extended-exit-v2/ 5. Sektion [Resume Auto] Das Skript reagiert auf "PBT_APMRESUMEAUTOMATIC" und arbeitet die in dieser Sektion eingetragenene Befehle ab. Voller Funktionsumfang wie bei "Extended Exit": http://www.DVBViewer.tv/forum/topic/48512-erweitertes-beenden-v2-extended-exit-v2/ Die Nachricht wird normalerweise abgefeuert, wenn der PC aufgeweckt wurde (z.B. vom RS für eine Aufnahme). 6. Sektion [Resume User] Das Skript reagiert auf "PBT_APMRESUMESUSPEND" und arbeitet die in dieser Sektion eingetragenene Befehle ab. Voller Funktionsumfang wie bei "Extended Exit": http://www.DVBViewer.tv/forum/topic/48512-erweitertes-beenden-v2-extended-exit-v2/ Die Nachricht wird abgefeuert, sobald eine Benutzereingabe nach dem Aufwachen erfolgt oder wenn grundsätzlich wenn der Benutzer den PC selbst aufweckt. "Extended Exit" reagiert ggf. auch auf dieses Event. Je nach Konfig. muss man also etwas aufpassen. Gruß nuts P.S. Sourcen sind im Download - includes für Skripter gibt es im Startpost von "Extended Exit". TCPControl.zip TCP Control EG-Plugin.zip Edited May 23, 2013 by nuts Quote Link to comment
Tüftler Posted May 20, 2013 Share Posted May 20, 2013 Scheint alles soweit zu funktionieren, super Arbeit nuts, danke Quote Link to comment
nuts Posted May 20, 2013 Author Share Posted May 20, 2013 Sehr schön. Ich hab jetzt zumindest mal die Einträge in der Konfig-INI kommentiert. Quote Link to comment
Tüftler Posted May 22, 2013 Share Posted May 22, 2013 Oh nuts hätte da noch eine Bitte, kannst du ismediaplayback als Abfrage hinzufügen, mir hat es gerade während des Film schauens den Viewer geschlossen. isplaying fängt das derzeit nicht ab, ist ja keine Live Wiedergabe. Quote Link to comment
nuts Posted May 23, 2013 Author Share Posted May 23, 2013 Hm ich verwende dafür "IDVBViewer.OSD.ispayling" Bei mir funktioniert das für LiveTV, Aufnahmen und Videos. Steht auch so in der COM-Doku: Returns if the DVBViewer program is playing a mediafile. To see if it a Audio only playback you can use IDVBOSD.IsPlayingVideo = False. ReturnsTrue if playing, False if not. Vielleicht ein anderer Bug in einem der Skripte? Kannst du mal schauen was im Log dazu steht? P.S. ismediaplayback kann ich aber natürlich zusätzlich einbinden. Vielleicht braucht man das mal für was anderes. Quote Link to comment
Tüftler Posted June 1, 2013 Share Posted June 1, 2013 Späte Rückmeldung aber ich kam nicht eher zum Testen, offensichtlich gab es ein Problem bei der Verbindung, TCP Control konnte laut Log keine Verbindung aufbauen. Ich habe die exe neu gestartet, jetzt geht es offensichtlich. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.