Jump to content

SuspendGhost: Steuerung von Standby / Ruhezustand mit EventGhost


mrphlox

Recommended Posts

keine Verbindung nach draußen macht über die TeamViewer Server um dann wieder reinzukommen ;) ... Ich hab' sowas halt immer gerne intern.

Hab ich auch lieber - du kannst das auch in TeamViewer so konfigurieren ("Eingehende LAN-Verbindungen: Ausschliesslich zulassen")

 

Habe übrigens soeben herausgefunden, dass es auch in TeamViewer einen Prozess gibt, der nur bei einer Remote-Sitzung läuft, 'TeamViewer_Desktop.exe'. Der ist natürlich geradewegs in den Monitored Processes gelandet.

Edited by mrphlox
Link to comment

hmm, ist es gewollt, daß wenn ein Blocker Programm aktiv ist, und das im Log auch vermerkt wird, das System bei ManualSuspend Request trotzdem in den Standby geht?

 

Ich war via RDP auf dem HTPC, FB Power gedrückt, schwubs: standby.

Link to comment

hmm, ist es gewollt, daß wenn ein Blocker Programm aktiv ist, und das im Log auch vermerkt wird, das System bei ManualSuspend Request trotzdem in den Standby geht?

 

Ich war via RDP auf dem HTPC, FB Power gedrückt, schwubs: standby.

ja, das ist gewollt. Wenn der Anwender die Powertaste drückt, ist die Absicht klar und eindeutig. Nach dem Hinweis kann ja immer noch der Standby abgebrochen werden.

Link to comment

hmm naja, nicht wirklich ;)

 

wenn man per RDP drauf ist, sieht man nichts von der Console Session, das würde man nur sehen, wenn man per RDP auf die Console direkt geht, dann hat man aber am Fernseher nichts mehr außer den Login Screen.

 

per DameWare hat man die Console, würde aber beim Fernsehen stören, wenn man dort schaut.

 

per TeamViewer hat man ebenso die Console, würde aber ebenso beim Fernsehen stören, wenn man da was macht.

 

IMHO sollte ein Blocker Programm auch einen manuellen Suspend Request blockieren, man kann es ja forcen indem man z.B. die Power Taste länger drückt. Hier würden mir 3 Modi einfallen:

  • kurz drücken: manueller Request, falls da was blockiert, OSD Hinweis mit Programm XYZ ist noch aktiv und kein Standby oder falls Aufnahme kurz bevorsteht oder läuft.
  • bei ~1.5 Sekunden drücken: gleiches Spiel aber mit Möglichkeit den Standby noch abzubrechen mittels einem Countdown
  • bei ~3 Sekunden drücken dann forced OnGracefulReboot, wie Du's jetzt auch hast.

 

Es kommt manchmal vor, daß ich per RDP auf dem HTPC bin und dort irgendwas arbeite, sei es Videoschnitt oder irgendwas neu encodieren oder so, die Programme dafür sind alle in den Blocker Prozessen gelistet, nur dann kommt meine Freundin oder auch ich irgendwann auf die Idee die Powertaste auf der FB zu drücken, Fernseher aus, gut.

 

Dann ist es egal ob da noch Blocker-Prozesse laufen oder nicht, die Kiste geht in den Standby und macht erst weiter sobald man den HTPC wieder aus dem Schlaf holt.

 

was denkst Du darüber? :)

Edited by test
Link to comment

hm, ja... ich habe eine leicht andere Philosophie, resp. ein anderes Anwendungsszenario und möchte daher die Blocker-Programme nicht zu einer harten Bedingung für den Manuellen Suspend machen, sondern weiterhin nur einen Hinweis anzeigen. Dein Änderungswunsch ist jedoch einfach umsetzbar: Im Macro 'CheckManualSuspendConditions' muss einfach als zusätzliche Bedingung 'IsMonitoredProcessNotRunning' eingefügt werden. In der nächsten Version werde ich diese Bedingung bereits einbauen, aber deaktivieren. Gleichzeitig musst du evtl. noch OSD Meldungen anpassen ("Aufnahme läuft oder steht kurz bevor" ersetzen durch einen geeigneten Text)

 

Eigentlich wäre es bei den 'Manual Suspend Conditions' mindestens ebenso sinnvoll zu prüfen, ob externe Clients mit dem RS verbunden sind (-> Streaming Clients). Das Dumme ist nur, dass der lokale Client (DVBViewer) nicht von externen Clients und Web-Interface Clients unterschieden werden kann. Ich muss mal ein wenig forschen, ob diese Unterscheidung doch irgendwie gelingt...

Link to comment

Hier wieder ein Update: SuspendGhost_1.0.5_rc2

 

Changes:

  • Auto-Close DVBViewer verbessert. Zusätzliche Bedingungen eingeführt, wann DVBViewer automatisch geschlossen wird:
    • Das System ist im 'Nicht-Interaktiven Modus' (bisher)
    • Es ist kein Blocker-Programm aktiv (neu)
    • Es läuft keine Aufnahme und es steht auch keine kurz bevor (neu)
    • Es ist keine 'Keep Alive' Phase (neu)

    [*]Timeout für den Nicht-Interaktiven Modus von 1 Std auf 10 Minuten verkürzt.

    [*]Log redirector Plugin wieder aus Config entfernt.

    [*]Macro 'CheckManualSuspendConditions' für zusätzliche Prüfung auf Blocker-Programme vorbereitet.

    [*]Interne Doku aktualisiert und ein paar kleinere Refactorings.

Man muss das nicht alles bis ins Detail begriffen und intus haben, um SuspendGhost verwenden zu können. Wen es jedoch genauer interessiert, hier noch etwas anschaulicher formuliert (ich versuch's mal): Im Interaktiven Modus, d.h. wenn ein Benutzer am TV sitzt, wird DVBViewer sowieso nie automatisch geschlossen, ausser bei einem Sleep-Timeout. Im Nicht-Interaktiven Modus, d.h. bei einer unbeaufsichtigten Timer-Aufnahme, bleibt DVBViewer neu mindestens bis zum Ende der Aufnahme am Laufen (bisher wurde er nach spätestens 1 Std geschlossen). Wenn das System dann immer noch im Nicht-Interaktiven Modus ist, wird weiter geprüft, ob Blocker-Programme oder eine 'Keep Alive' Phase aktiv ist und nur wenn auch das nicht zutrifft, wird DVBViewer geschlossen und damit die Voraussetzung für automatischen Suspend hergestellt.

 

Mit dieser Änderung kann der Timeout für den Nicht-Interaktiven Modus auf 10 Minuten verkürzt werden. Der Sleep-Timer für den Interaktiven Modus bleibt bei 2 Std voreingestellt. Bei Nichtbenützung von Fernbedienung, Maus und Tastatur dauert es demnach 2 Std (IM Timeout) + 10 Min (NIM Timeout) + ca. 10 Minuten (Idle Timeout und OSD Countdowns), bis der HTPC in den automatischen Suspend geht. Wenn man den PC versehentlich einschaltet und dann davon läuft, dauert es ca. 10 + 10 Minuten bis zum automatischen Suspend. Wenn DVBViewer nicht läuft, dauert es knapp 10 Minuten bis zum automatischen Suspend, unabhängig ob IM oder NIM.

 

Die Änderungen an der Config sind nochmals recht umfangreich ausgefallen - kritisches Testen erwünscht :)

 

(Attachment entfernt, da obsolet)

Edited by mrphlox
Link to comment

was mir gerade spontan dazu einfällt, gestern leider wieder mal passiert:

 

Frau guckt TV, macht dann irgendwann was anderes und läßt, wie immer, die Glotze/HTPC laufen, kommt irgendwann wieder und hat gerade die Phase getroffen, indem sich der DVBViewer beendet hat wegen Idle Timeout, aber der HTPC noch nicht in den Suspend gegangen ist. Dann wieder die Frage: "Schaaatz, wie geht das nochmal mit Fernsehprogramm starten?????"

 

Gibt's da eine Möglichkeit, daß wenn der DVBViewer geschlossen wird, das Ding direkt in den Suspend/Standby geht?

Link to comment

nein, das ist konzept-bedingt so. Damit Auto-Suspend greift, muss das System u.a. im Idle-Zustand sein, und das ist nie der Fall, solange DVBViewer läuft.

 

Du kannst allenfalls die Phase etwas verkürzen, im Standby Control Plugin die 'Standby Default Time' auf z.B. 2 Minuten herabsetzen. Für meine Langsamkeit wäre das aber doch wacker kurz ...

 

Das einfachste ist sicher, den Start von DVBViewer auf die iMON-Quicklaunch Taste legen.

Link to comment

wie wär's denn mit Stop Graph für sowas? :)

Stop Graph müsste gehen... und im 'OnAnyKey' Macro könnte man 'DVBViewer: Last Channel' aufrufen. Werde das bei Gelegenheit mal testen

Link to comment

nein, das ist konzept-bedingt so. Damit Auto-Suspend greift, muss das System u.a. im Idle-Zustand sein, und das ist nie der Fall, solange DVBViewer läuft.

solange er auch was tut :)

 

Das einfachste ist sicher, den Start von DVBViewer auf die iMON-Quicklaunch Taste legen.

Das ist ne Idee. Das sollte sich selbst meine Freundin merken können ;)
Link to comment

OK, hier nochmals eine Version zum Testen... SuspendGhost_1.0.5_rc3

 

Changes

  • Auto-Close DVBViewer verbessert. Nach Timeout oder am Ende einer Aufnhame im NIM wird DVBViewer nicht mehr geschlossen, sondern nur noch der Graph. Eine beliebige Taste holt den letzten Sender zurück. Ansonsten geht die Kiste ein paar Minuten später in den Suspend.
  • Non-Interactive-Mode-Timeout auf 5 Minuten verkürzt
  • Bug Fix: Aufruf IM korrigiert (broken in RC2)

 

(attachment entfernt, da obsolet)

Edited by mrphlox
Link to comment

sieht bis jetzt gut aus :)

 

darf ich Dich um 3 Sachen bitten?

 

  1. bei den DVBViewer Commands jeweils ein Event einfügen, damit man das mit -e aufrufen kann.
    Beispiel: Main.DVBViewer.Start / Main.DVBViewer.Close ... ich hab' das als Aufgaben im RecordingService drin, sodaß ich über die GUI das auch fernsteuern kann. Das mache ich über das EG WebServer Plugin und im RecordingService mit cURL, z.B. so: C:\Program Files\curl\curl.exe --silent http://127.0.0.1:81/?Main.DVBViewer.Restart
     
  2. bei einigen DVBViewer Commands fehlt ein DVBViewer.IsConnected und 'Wenn erfolglos springe zu "EndOfTheStory"
    imho sollte das drin sein weil wenn nicht, DVBViewer extra gestartet wird, nur um z.B. Stop Graph auszuführen.
     
  3. DVBViewer: Close OSD einbauen. Benutze ich z.B. für XBMC Steuerung, wenn gestartet wird, Stop Graph, Close OSD usw.
    das ist zwar alles nicht lebenswichtig, erspart mir, und vll. auch anderen, die Sachen jedesmal neu einzupflegen bei einem Update :)

 

Vielen Dank!

post-11251-0-82368200-1330168222_thumb.png

Link to comment

was ich auch manchmal habe, sehr sporadisch, hat auch nichts mit EG/SG zu tun, daß sich beim beenden des DVBViewers dieser nicht normal beendet sondern das berühmte Windows Fenster (dw20) kommt mit "DVBViewer Pro funktioniert nicht mehr" mit einem Stacktrace.

 

Das fange ich ebenso mit einem EG Makro ab, allerdings ziemlich global, ich fange nur Task.Created.dw20 ab (kann ja auch was anderes sein, ist es aber eigentlich nie ;)), allerdings greift vorher das Makro von Dir "DVBViewer:Close DVBViewer" mit "Close DVBViewer: true", heißt: er wartet, daß dieser sich erfolgreich beendet hat. Das tritt aber NICHT auf, solange das dw20 Fenster da ist, sprich EG hängt.

 

Ich habe das auf Close DVBViewer: False gesetzt (do NOT wait until DVBViewer is terminated), damit EG sich an der Stelle nicht aufhängt und weiter arbeitet und dann zu dem Makro von mir geht, indem das dw20 Fenster gekillt wird.

 

Das beendet unter anderem auch noch mehr, weil sich manchmal auch EPGPlus nicht beendet, manchmal auch die Ringbuffer.exe von TimeShiftPlus sich nicht beendet, der HTTPServer.exe vom DVBViewer beim erneuten Start dann meint, daß der nicht läuft, somit kille ich das alles und starte den HTTPServer dann neu.

 

Screenshot attached.

 

Vielleicht hast Du eine Idee/Ideen wie man das evtl. besser lösen könnte.

 

und eine weitere Frage hätte ich noch: kann man EG irgendwie dazu überreden, daß es Multithreaded arbeitet? sprich, ein Befehl der hängt nicht das ganze Ding blockiert?

post-11251-0-52505500-1330170438_thumb.png

Link to comment

Im Macro 'CheckManualSuspendConditions' muss einfach als zusätzliche Bedingung 'IsMonitoredProcessNotRunning' eingefügt werden. In der nächsten Version werde ich diese Bedingung bereits einbauen, aber deaktivieren. Gleichzeitig musst du evtl. noch OSD Meldungen anpassen ("Aufnahme läuft oder steht kurz bevor" ersetzen durch einen geeigneten Text)

hmm, hab' das grade mal ausprobiert. Die Bedingung aktiviert, XBMC in die Blocked Processes gepackt, XBMC gestartet, Power auf der FB gedrückt, dann sah ich GANZ kurz das OSD, daß mindestens 1 Blocker-Programm läuft, dann direkt schwarzer Bildschirm und Standby.

 

Hier das Log dazu:

 

2012-02-25 13:14:13  EVENT: iMON.Power
2012-02-25 13:14:13     MACRO: OnPowerButton: Start Manual Suspend
2012-02-25 13:14:13        ACTION: Wenn Tastendruck länger als 1.5 s, gehe zu: OnGracefulReboot: Start Graceful Reboot
2012-02-25 13:14:13        ACTION: eg.globals.gracefulReboot = False
2012-02-25 13:14:13        ACTION: Springe zu "DisableOnPowerButton" und kehre zurück
2012-02-25 13:14:13           MACRO: DisableOnPowerButton
2012-02-25 13:14:13              ACTION: Deaktiviere: OnPowerButton: Start Manual Suspend
2012-02-25 13:14:13              ACTION: Deaktiviere: OnGracefulReboot: Start Graceful Reboot
2012-02-25 13:14:13              ACTION: Deaktiviere: OnForceSuspend: Start Forced Suspend
2012-02-25 13:14:13        ACTION: Springe zu "Show OSD: Standby wird vorbereitet" und kehre zurück
2012-02-25 13:14:13           MACRO: Show OSD: Standby wird vorbereitet
2012-02-25 13:14:13              ACTION: Standby Control: Show OSD: Standby wird vorbereitet...
2012-02-25 13:14:13        ACTION: eg.globals.keepDisabled = True
2012-02-25 13:14:13        ACTION: Springe zu "OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd" und kehre zurück
2012-02-25 13:14:13     ACTION: eg.globals.keepDisabled = False
2012-02-25 13:14:13     ACTION: Springe zu "IsMonitoredProcessNotRunning" und kehre zurück
2012-02-25 13:14:13        MACRO: IsMonitoredProcessNotRunning
2012-02-25 13:14:13           ACTION: Standby Control: Is Monitored Process Running
2012-02-25 13:14:14              xbmc.exe  is running
2012-02-25 13:14:14              numberOfActiveProcesses =  1
2012-02-25 13:14:14           ACTION: IsMonitoredProcessRunning
2012-02-25 13:14:14              2012-02-25 13:14:14.175000 IsMonitoredProcessRunning= True
2012-02-25 13:14:14           ACTION: not eg.result
2012-02-25 13:14:14     ACTION: Wenn erfolglos springe zu "ShowOsdBlockerProgramsActive" und kehre zurück
2012-02-25 13:14:14        MACRO: ShowOsdBlockerProgramsActive
2012-02-25 13:14:14           ACTION: Standby Control: Show OSD: Mindestens ein Blocker-Programm ist noch aktiv.\nDer nächste automatische Standby wird verhindert, \nsolange das Programm läuft.
2012-02-25 13:14:14           ACTION: Warte: 3.0 s
2012-02-25 13:14:17     ACTION: Springe zu "CheckManualSuspendConditions" und kehre zurück
2012-02-25 13:14:17        MACRO: CheckManualSuspendConditions
2012-02-25 13:14:17           ACTION: Springe zu "True" und kehre zurück
2012-02-25 13:14:17              MACRO: True
2012-02-25 13:14:17                 ACTION: True
2012-02-25 13:14:17           ACTION: Wenn erfolgreich springe zu "IsDvbvNotRecording" und kehre zurück
2012-02-25 13:14:17              MACRO: IsDvbvNotRecording
2012-02-25 13:14:17                 ACTION: DVBViewer: Is Recording
2012-02-25 13:14:18                 ACTION: IsRecording
2012-02-25 13:14:18                    2012-02-25 13:14:18.268000 IsRecording= False
2012-02-25 13:14:18                 ACTION: not eg.result
2012-02-25 13:14:18           ACTION: Wenn erfolgreich springe zu "IsDvbvNotRecordingSoon" und kehre zurück
2012-02-25 13:14:18              MACRO: IsDvbvNotRecordingSoon
2012-02-25 13:14:18                 ACTION: Returns True if there's no recording starting within next XX minutes. Time to be configured in 'Initialize' macro!
2012-02-25 13:14:18                 ACTION: DVBViewer: Get date of next recording
2012-02-25 13:14:19                 ACTION: IsNotRecordingSoon
2012-02-25 13:14:19                    Time till next recording: 32:55:40
2012-02-25 13:14:19                    2012-02-25 13:14:19.279000 IsRecordingOrRecordingSoon= False
2012-02-25 13:14:19           ACTION: Wenn erfolgreich springe zu "IsMonitoredProcessNotRunning" und kehre zurück
2012-02-25 13:14:19              MACRO: IsMonitoredProcessNotRunning
2012-02-25 13:14:19                 ACTION: Standby Control: Is Monitored Process Running
2012-02-25 13:14:19                    xbmc.exe  is running
2012-02-25 13:14:19                    numberOfActiveProcesses =  1
2012-02-25 13:14:19                 ACTION: IsMonitoredProcessRunning
2012-02-25 13:14:19                    2012-02-25 13:14:19.393000 IsMonitoredProcessRunning= True
2012-02-25 13:14:19                 ACTION: not eg.result
2012-02-25 13:14:19           ACTION: Wenn erfolgreich springe zu "True" und kehre zurück
2012-02-25 13:14:19     ACTION: Wenn erfolgreich springe zu "ShowOsdByeByeCountdown"
2012-02-25 13:14:19     ACTION: Springe zu "ShowOsdCannotSuspend" und kehre zurück
2012-02-25 13:14:19        MACRO: ShowOsdCannotSuspend
2012-02-25 13:14:19           ACTION: Springe zu "EnableOnAnyKey1" und kehre zurück
2012-02-25 13:14:19              MACRO: EnableOnAnyKey1
2012-02-25 13:14:19                 ACTION: Aktiviere: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd
2012-02-25 13:14:19                 ACTION: Deaktiviere: OnAnyKey2 (IM): Restart Suspend Timer
2012-02-25 13:14:19                 ACTION: Springe zu "StartMouseAllListener" und kehre zurück
2012-02-25 13:14:19                    MACRO: StartMouseAllListener
2012-02-25 13:14:19                       ACTION: Mouse Event: Start Mouse Event Listener: True
2012-02-25 13:14:19           ACTION: Standby Control: Show OSD: Aufnahme läuft oder steht kurz bevor.\nMediacenter PC jetzt nicht ausschalten!\nTV ausschalten ist OK.
2012-02-25 13:14:19           ACTION: Verwerfe alle ausstehenden Ereignisse
2012-02-25 13:14:19           ACTION: Beende Bearbeitung dieses Ereignisses
2012-02-25 13:14:19     ACTION: Springe zu "EnterNonInteractiveMode" und kehre zurück
2012-02-25 13:14:19        MACRO: EnterNonInteractiveMode
2012-02-25 13:14:19           ACTION: eg.globals.interactiveMode = False
2012-02-25 13:14:19           ACTION: Springe zu "EnableOnAnyKey1" und kehre zurück
2012-02-25 13:14:19              MACRO: EnableOnAnyKey1
2012-02-25 13:14:19                 ACTION: Aktiviere: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd
2012-02-25 13:14:19                 ACTION: Deaktiviere: OnAnyKey2 (IM): Restart Suspend Timer
2012-02-25 13:14:19                 ACTION: Springe zu "StartMouseAllListener" und kehre zurück
2012-02-25 13:14:19                    MACRO: StartMouseAllListener
2012-02-25 13:14:19                       ACTION: Mouse Event: Start Mouse Event Listener: True
2012-02-25 13:14:19           ACTION: Springe zu "StartNonInteractiveModeTimer" und kehre zurück
2012-02-25 13:14:19              MACRO: StartNonInteractiveModeTimer
2012-02-25 13:14:19                 ACTION: Timer: Abort SleepTimer
2012-02-25 13:14:19                 ACTION: Timer: Start NonInteractiveModeTimer
2012-02-25 13:14:19           ACTION: eg.globals.restartDVBViewer
2012-02-25 13:14:19           ACTION: Wenn erfolgreich springe zu "DVBViewer: Restart DVBViewer" und kehre zurück
2012-02-25 13:14:19           ACTION: eg.globals.restartDVBViewer = False
2012-02-25 13:14:19     ACTION: eg.globals.keepNIMode = True
2012-02-25 13:14:19     ACTION: Springe zu "EnableOnPowerButton" und kehre zurück
2012-02-25 13:14:19        MACRO: EnableOnPowerButton
2012-02-25 13:14:19           ACTION: eg.globals.keepDisabled
2012-02-25 13:14:19           ACTION: Wenn erfolgreich springe zu "EndOfTheStory"
2012-02-25 13:14:19           ACTION: Aktiviere: OnPowerButton: Start Manual Suspend
2012-02-25 13:14:19           ACTION: Aktiviere: OnForceSuspend: Start Forced Suspend
2012-02-25 13:14:19           ACTION: Aktiviere: OnGracefulReboot: Start Graceful Reboot
2012-02-25 13:14:19  EVENT: DVBViewer.Action 112
2012-02-25 13:14:20  EVENT: DVBViewer.Action 112
2012-02-25 13:14:20  EVENT: DVBViewer.Action 112
2012-02-25 13:14:21  EVENT: DVBViewer.Action 112
2012-02-25 13:14:21  EVENT: DVBViewer.Action 112
2012-02-25 13:14:22  EVENT: DVBViewer.Action 112
2012-02-25 13:14:22  EVENT: DVBViewer.Action 112
2012-02-25 13:14:23  EVENT: StandbyControl.Terminated.xbmc
2012-02-25 13:14:23  EVENT: StandbyControl.MonitoredProcessesChanged
2012-02-25 13:14:23  EVENT: StandbyControl.AllMonitoredProcessesTerminated
2012-02-25 13:14:23  EVENT: DVBViewer.Action 112
2012-02-25 13:14:23  EVENT: DVBViewer.Action 112
2012-02-25 13:14:24  EVENT: DVBViewer.Action 112
2012-02-25 13:14:24  EVENT: DVBViewer.Action 112
2012-02-25 13:14:25  EVENT: DVBViewer.Action 112
2012-02-25 13:14:25  EVENT: DVBViewer.Action 112
2012-02-25 13:14:26  EVENT: DVBViewer.Action 112
2012-02-25 13:14:26  EVENT: DVBViewer.Action 112
2012-02-25 13:14:27  EVENT: DVBViewer.Action 112
2012-02-25 13:14:27  EVENT: DVBViewer.Action 112
2012-02-25 13:14:28  EVENT: DVBViewer.Action 112
2012-02-25 13:14:29  EVENT: DVBViewer.Action 112
2012-02-25 13:14:29  EVENT: DVBViewer.Action 112
2012-02-25 13:14:30  EVENT: DVBViewer.Action 112
2012-02-25 13:14:30  EVENT: DVBViewer.Action 112
2012-02-25 13:14:31  EVENT: DVBViewer.Action 112
2012-02-25 13:14:31  EVENT: DVBViewer.Action 112
2012-02-25 13:14:32  EVENT: DVBViewer.Action 112
2012-02-25 13:14:32  EVENT: DVBViewer.Action 112
2012-02-25 13:14:57  EVENT: System.ResumeAutomatic
2012-02-25 13:14:57  EVENT: System.Resume

Link to comment

OK, hier nochmals eine Version zum Testen... SuspendGhost_1.0.5_rc3

Changes

  • Auto-Close DVBViewer verbessert. Nach Timeout oder am Ende einer Aufnhame im NIM wird DVBViewer nicht mehr geschlossen, sondern nur noch der Graph. Eine beliebige Taste holt den letzten Sender zurück. Ansonsten geht die Kiste ein paar Minuten später in den Suspend.

hmm, noch ein Bug?

 

System eingeschaltet, DVBViewer hat sich gestartet, sonst nix. Irgendwann kam das OSD, daß der DVBViewer in XX Sekunden geschlossen wird, auch dann nichts unternommen, keine Taste drückt, kein Client gestartet, einfach nix, und dann wurde der letzte Sender eingestellt?!

 

Hier das Log dazu:

 

2012-02-25 13:31:41  EVENT: System.Idle
2012-02-25 13:31:41     MACRO: OnSystemIdle: Enable Suspend
2012-02-25 13:31:41        ACTION: eg.globals.systemIsIdle = True
2012-02-25 13:31:41        ACTION: Enable Suspend, System is Idle
2012-02-25 13:34:29  EVENT: Timer.NonInteractiveModeTimeout (0, '25.02.2012 13:34:29')
2012-02-25 13:34:29     MACRO: OnNonInteractiveModeTimeout: Conditional Close DVBViewer
2012-02-25 13:34:29        ACTION: Springe zu "CheckAutoCloseDVBViewerConditions" und kehre zurück
2012-02-25 13:34:29           MACRO: CheckAutoCloseDVBViewerConditions
2012-02-25 13:34:29              ACTION: Springe zu "True" und kehre zurück
2012-02-25 13:34:29                 MACRO: True
2012-02-25 13:34:29                    ACTION: True
2012-02-25 13:34:29              ACTION: Wenn erfolgreich springe zu "IsNonInteractiveMode" und kehre zurück
2012-02-25 13:34:29                 MACRO: IsNonInteractiveMode
2012-02-25 13:34:29                    ACTION: IsNonInteractiveMode
2012-02-25 13:34:29                       interactiveMode = False
2012-02-25 13:34:29              ACTION: Wenn erfolgreich springe zu "IsMonitoredProcessNotRunning" und kehre zurück
2012-02-25 13:34:29                 MACRO: IsMonitoredProcessNotRunning
2012-02-25 13:34:29                    ACTION: Standby Control: Is Monitored Process Running
2012-02-25 13:34:29                       numberOfActiveProcesses =  0
2012-02-25 13:34:29                    ACTION: IsMonitoredProcessRunning
2012-02-25 13:34:29                       2012-02-25 13:34:29.753000 IsMonitoredProcessRunning= False
2012-02-25 13:34:29                    ACTION: not eg.result
2012-02-25 13:34:29              ACTION: Wenn erfolgreich springe zu "IsNotKeepAlive" und kehre zurück
2012-02-25 13:34:29                 MACRO: IsNotKeepAlive
2012-02-25 13:34:29                    ACTION: Standby Control: Is Keep Alive
2012-02-25 13:34:29                    ACTION: IsKeepAlive
2012-02-25 13:34:29                       2012-02-25 13:34:29.755000 IsKeepAlive= False
2012-02-25 13:34:29                    ACTION: not eg.result
2012-02-25 13:34:29              ACTION: Wenn erfolgreich springe zu "IsDvbvNotRecording" und kehre zurück
2012-02-25 13:34:29                 MACRO: IsDvbvNotRecording
2012-02-25 13:34:29                    ACTION: DVBViewer: Is Recording
2012-02-25 13:34:30                    ACTION: IsRecording
2012-02-25 13:34:30                       2012-02-25 13:34:30.770000 IsRecording= False
2012-02-25 13:34:30                    ACTION: not eg.result
2012-02-25 13:34:30              ACTION: Wenn erfolgreich springe zu "IsDvbvNotRecordingSoon" und kehre zurück
2012-02-25 13:34:30                 MACRO: IsDvbvNotRecordingSoon
2012-02-25 13:34:30                    ACTION: Returns True if there's no recording starting within next XX minutes. Time to be configured in 'Initialize' macro!
2012-02-25 13:34:30                    ACTION: DVBViewer: Get date of next recording
2012-02-25 13:34:31                    ACTION: IsNotRecordingSoon
2012-02-25 13:34:31                       Time till next recording: 32:35:28
2012-02-25 13:34:31                       2012-02-25 13:34:31.779000 IsRecordingOrRecordingSoon= False
2012-02-25 13:34:31              ACTION: Wenn erfolgreich springe zu "True" und kehre zurück
2012-02-25 13:34:31                 MACRO: True
2012-02-25 13:34:31                    ACTION: True
2012-02-25 13:34:31        ACTION: Wenn erfolgreich springe zu "EnterReadyForSuspendMode1: Show OSD"
2012-02-25 13:34:31           MACRO: EnterReadyForSuspendMode1: Show OSD
2012-02-25 13:34:31              ACTION: eg.globals.interactiveMode = False
2012-02-25 13:34:31              ACTION: Timer: Abort NonInteractiveModeTimer
2012-02-25 13:34:31              ACTION: Springe zu "DVBViewer: IsRunning" und kehre zurück
2012-02-25 13:34:31                 MACRO: DVBViewer: IsRunning
2012-02-25 13:34:31                    ACTION: Finde Fenster: DVBViewer.exe
2012-02-25 13:34:31                    ACTION: len(eg.result) > 0
2012-02-25 13:34:31              ACTION: Wenn erfolgreich springe zu "ShowOsdCloseDvbViewer"
2012-02-25 13:34:31                 MACRO: ShowOsdCloseDvbViewer
2012-02-25 13:34:31                    ACTION: Springe zu "EnableOnAnyKey1" und kehre zurück
2012-02-25 13:34:31                       MACRO: EnableOnAnyKey1
2012-02-25 13:34:31                          ACTION: Aktiviere: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd
2012-02-25 13:34:31                          ACTION: Deaktiviere: OnAnyKey2 (IM): Restart Suspend Timer
2012-02-25 13:34:31                          ACTION: Springe zu "StartMouseAllListener" und kehre zurück
2012-02-25 13:34:31                             MACRO: StartMouseAllListener
2012-02-25 13:34:31                                ACTION: Mouse Event: Start Mouse Event Listener: True
2012-02-25 13:34:31                    ACTION: Standby Control: Show OSD: DVBViewer wird in %c% Sekunden geschlossen.\nBeliebige Taste für Abbruch.
2012-02-25 13:35:32  EVENT: StandbyControl.OsdCountdownPrepStandbyFinished
2012-02-25 13:35:32     MACRO: OnOsdCountdownPrepStandbyFinished
2012-02-25 13:35:32        ACTION: Springe zu "EnterReadyForSuspendMode2: Close DVBViewer" und kehre zurück
2012-02-25 13:35:32           MACRO: EnterReadyForSuspendMode2: Close DVBViewer
2012-02-25 13:35:32              ACTION: Springe zu "DVBViewer: IsRunning" und kehre zurück
2012-02-25 13:35:32                 MACRO: DVBViewer: IsRunning
2012-02-25 13:35:32                    ACTION: Finde Fenster: DVBViewer.exe
2012-02-25 13:35:32                    ACTION: len(eg.result) > 0
2012-02-25 13:35:32              ACTION: Wenn erfolgreich springe zu "DVBViewer: Stop Graph" und kehre zurück
2012-02-25 13:35:32                 MACRO: DVBViewer: Stop Graph
2012-02-25 13:35:32                    ACTION: DVBViewer: IsConnected
2012-02-25 13:35:32                    ACTION: Wenn erfolglos springe zu "EndOfTheStory"
2012-02-25 13:35:32                    ACTION: DVBViewer: Stop Graph
2012-02-25 13:35:32                    ACTION: eg.globals.graphStopped = True
2012-02-25 13:35:32  EVENT: DVBViewer.Action 16383
2012-02-25 13:35:32  EVENT: DVBViewer.Channel -1
2012-02-25 13:35:32     MACRO: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd
2012-02-25 13:35:32        ACTION: Springe zu "CancelOsdCountdown" und kehre zurück
2012-02-25 13:35:32           MACRO: CancelOsdCountdown
2012-02-25 13:35:32              ACTION: Standby Control: Cancel OSD Count Down
2012-02-25 13:35:32              ACTION: Springe zu "EnableOnPowerButton" und kehre zurück
2012-02-25 13:35:32                 MACRO: EnableOnPowerButton
2012-02-25 13:35:32                    ACTION: eg.globals.keepDisabled
2012-02-25 13:35:32                    ACTION: Wenn erfolgreich springe zu "EndOfTheStory"
2012-02-25 13:35:32                    ACTION: Aktiviere: OnPowerButton: Start Manual Suspend
2012-02-25 13:35:32                    ACTION: Aktiviere: OnForceSuspend: Start Forced Suspend
2012-02-25 13:35:32                    ACTION: Aktiviere: OnGracefulReboot: Start Graceful Reboot
2012-02-25 13:35:32              ACTION: Verwerfe alle ausstehenden Ereignisse
2012-02-25 13:35:32              ACTION: Beende Bearbeitung dieses Ereignisses
2012-02-25 13:35:32        ACTION: not eg.globals.keepNIMode
2012-02-25 13:35:32        ACTION: Wenn erfolgreich springe zu "EnableOnAnyKey2" und kehre zurück
2012-02-25 13:35:32           MACRO: EnableOnAnyKey2
2012-02-25 13:35:32              ACTION: Deaktiviere: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd
2012-02-25 13:35:32              ACTION: Aktiviere: OnAnyKey2 (IM): Restart Suspend Timer
2012-02-25 13:35:32              ACTION: Springe zu "StartMouseMoveListener" und kehre zurück
2012-02-25 13:35:32                 MACRO: StartMouseMoveListener
2012-02-25 13:35:32                    ACTION: Mouse Event: Start Mouse Event Listener: False
2012-02-25 13:35:32        ACTION: Springe zu "StartSleepTimer" und kehre zurück
2012-02-25 13:35:32           MACRO: StartSleepTimer
2012-02-25 13:35:32              ACTION: Timer: Abort NonInteractiveModeTimer
2012-02-25 13:35:32              ACTION: Timer: Start SleepTimer
2012-02-25 13:35:32              ACTION: Standby Control: Restart Suspend timer
2012-02-25 13:35:32        ACTION: not eg.globals.interactiveMode and not eg.globals.keepNIMode
2012-02-25 13:35:32        ACTION: Wenn erfolgreich springe zu "EnterInteractiveMode" und kehre zurück
2012-02-25 13:35:32           MACRO: EnterInteractiveMode
2012-02-25 13:35:32              ACTION: eg.globals.interactiveMode = True
2012-02-25 13:35:32              ACTION: Springe zu "StartSleepTimer" und kehre zurück
2012-02-25 13:35:32                 MACRO: StartSleepTimer
2012-02-25 13:35:32                    ACTION: Timer: Abort NonInteractiveModeTimer
2012-02-25 13:35:32                    ACTION: Timer: Start SleepTimer
2012-02-25 13:35:32                    ACTION: Standby Control: Restart Suspend timer
2012-02-25 13:35:32              ACTION: Springe zu "ShowOsdConfirmInteractiveMode" und kehre zurück
2012-02-25 13:35:32                 MACRO: ShowOsdConfirmInteractiveMode
2012-02-25 13:35:32                    ACTION: Standby Control: Show OSD:  I
2012-02-25 13:35:32              ACTION: eg.globals.graphStopped
2012-02-25 13:35:32              ACTION: Wenn erfolgreich springe zu "DVBViewer: Last Channel" und kehre zurück
2012-02-25 13:35:32                 MACRO: DVBViewer: Last Channel
2012-02-25 13:35:32                    ACTION: DVBViewer: IsConnected
2012-02-25 13:35:32                    ACTION: Wenn erfolglos springe zu "EndOfTheStory"
2012-02-25 13:35:32                    ACTION: DVBViewer: Last Channel
2012-02-25 13:35:32                    ACTION: eg.globals.graphStopped = False
2012-02-25 13:35:32        ACTION: eg.globals.keepNIMode = False
2012-02-25 13:35:33  EVENT: DVBViewer.Action 63
2012-02-25 13:35:33  EVENT: DVBViewer.Playbackstart
2012-02-25 13:35:33  EVENT: DVBViewer.DisplayChange:MEDIA 'MEDIA'
2012-02-25 13:35:33  EVENT: DVBViewer.Window 500
2012-02-25 13:35:33  EVENT: DVBViewer.Channel 8
2012-02-25 13:35:33     MACRO: OnAnyKey2 (IM): Restart Suspend Timer
2012-02-25 13:35:33        ACTION: Springe zu "StartSleepTimer" und kehre zurück
2012-02-25 13:35:33           MACRO: StartSleepTimer
2012-02-25 13:35:33              ACTION: Timer: Abort NonInteractiveModeTimer
2012-02-25 13:35:33              ACTION: Timer: Start SleepTimer
2012-02-25 13:35:33              ACTION: Standby Control: Restart Suspend timer
2012-02-25 13:35:33  EVENT: DVBViewer.DisplayChange:TV 'TV'
2012-02-25 13:35:33     MACRO: OnDvbvTvMode
2012-02-25 13:35:33        ACTION: Disable Suspend, TV is displaying
2012-02-25 13:35:33        ACTION: eg.globals.dvbvIsPerforming  = True
2012-02-25 13:35:33  EVENT: DVBViewer.SelectedItemChange
2012-02-25 13:35:34  EVENT: StandbyControl.OsdCountdownFinished
2012-02-25 13:35:37  EVENT: DVBViewer.SelectedItemChange
2012-02-25 13:35:37  EVENT: DVBViewer.Window -1
2012-02-25 13:35:37  EVENT: DVBViewer.ControlChange (-1, -1)
2012-02-25 13:35:37  EVENT: DVBViewer.ControlChange (0, 0)
2012-02-25 13:35:37  EVENT: DVBViewer.SelectedItemChange
2012-02-25 13:35:37  EVENT: DVBViewer.ControlChange (-1, 5000)
2012-02-25 13:35:37  EVENT: DVBViewer.SelectedItemChange
2012-02-25 13:35:37  EVENT: DVBViewer.SelectedItemChange
2012-02-25 13:35:41  EVENT: DVBViewer.RenderPlaystateChange (-1, 178)
2012-02-25 13:35:41  EVENT: DVBViewer.RatioChange 178
2012-02-25 13:35:53  EVENT: DVBViewerService.NumberOfClientsChanged 1
2012-02-25 13:35:53     MACRO: OnDvbvNumberOfClientsChanged
2012-02-25 13:35:53        ACTION: Disable Suspend: Client started

Link to comment

Hallo,

 

zunächst einmal vielen Dank für das klasse Tool.

Jetzt habe ich aber noch eine Frage.

Ich habe ein Problem mit der Steuerung meiner Fernbedienung.

Bin leider noch nicht so lange mit DVBViewer vertraut und auch mit Eventghost/SuspendGhost leider noch nicht,

daher hoffe ich ihr könnt mir weiterhelfen.

Wenn ich Suspendghost eingestellt habe und dort das Plugin meiner Fernbedienung (Hauppauge IR) hinzugefügt habe, bekomme ich im DVBViewer eine sehr schlechte Reaktion auf die Tasten der Fernbedienung.

Das heisst ich muss manchmal 10 mal auf eine Taste drücken bevor im DVBViewer eine Reaktion kommt.

Das Log vom Eventghost erkennt die Fernbedienung allerdings bei jedem Druck auf eine Taste.

Zur Zeit habe ich noch das IR Tool von Hauppauge im Autostart. Ohne das wird die FB ja auch nicht erkannt.

Was muss ich einstellen damit im DVBViewer auch die Steuerung wieder normal funktioniert?

Ich hatte es mal probiert alles was die FB betrifft aus dem SuspendGhost zu deaktivieren, dann hat es auch geklappt allerdings natürlich nur mit Einschränkungen.

Anbei mal ein Auszug aus dem Log:

HauppaugeIR.OK
  OnAnyKey2 (IM): Restart Suspend Timer
     Springe zu "StartSleepTimer" und kehre zurück
        StartSleepTimer
           Timer: Abort NonInteractiveModeTimer
           Timer: Start SleepTimer
           Standby Control: Restart Suspend timer

 

Anbei noch ein paar Infos:

Windows 7 SP1 (32Bit)

DVBViewer Pro 4.9.0.0

EventGhost 0.4.1.r1544

SuspendGhost SuspendGhost_1.0.5_rc3 (Problem aber auch mit 1.0.4)

Hauppauge WinTV HVR 4400-HD

 

Vielen Dank für eure Hilfe schon vorab.

Viele Grüsse

Holti

Link to comment

Hi,

 

noch mal ich. ;-)

Also ich habe das Problem jetzt zunächst gelöst indem ich das Fernbedienungsplugin deaktiviert habe und dann im SuspendGhost bei "OnAnyKey2 (IM): Restart Suspend Timer" noch den Punkt "DVBViewer.Action" hinzugefügt habe. So reagiert er auch auf jeden Druck auf der Fernbedienung und diese reagiert auch wieder so wie sie es sollte.

Wenn es allerdings eine bessere Lösung gibt bin ich natürlich sehr dankbar.

 

Viele Grüsse

Holti

Link to comment

sieht bis jetzt gut aus :)

 

darf ich Dich um 3 Sachen bitten?

 

  1. bei den DVBViewer Commands jeweils ein Event einfügen, damit man das mit -e aufrufen kann.
    Beispiel: Main.DVBViewer.Start / Main.DVBViewer.Close ... ich hab' das als Aufgaben im RecordingService drin, sodaß ich über die GUI das auch fernsteuern kann. Das mache ich über das EG WebServer Plugin und im RecordingService mit cURL, z.B. so: C:\Program Files\curl\curl.exe --silent http://127.0.0.1:81/?Main.DVBViewer.Restart
     
  2. bei einigen DVBViewer Commands fehlt ein DVBViewer.IsConnected und 'Wenn erfolglos springe zu "EndOfTheStory"
    imho sollte das drin sein weil wenn nicht, DVBViewer extra gestartet wird, nur um z.B. Stop Graph auszuführen.
     
  3. DVBViewer: Close OSD einbauen. Benutze ich z.B. für XBMC Steuerung, wenn gestartet wird, Stop Graph, Close OSD usw.
    das ist zwar alles nicht lebenswichtig, erspart mir, und vll. auch anderen, die Sachen jedesmal neu einzupflegen bei einem Update :)

 

Vielen Dank!

ja, kann ich in die nächste Version einbauen, kein Problem.

Link to comment

Vielleicht hast Du eine Idee/Ideen wie man das evtl. besser lösen könnte.

da ich diese Erweiterungen nicht einsetze, habe ich zum Glück bis jetzt auch keine Abstürze beim Beenden von DVBViewer und kann daher kaum weiter helfen. Auf den Wait beim Close DVBViewer möchte ich nicht verzichten, weil ich sicher sein will, dass DVBViewer beendet hat, bevor Suspend ausgeführt wird.

 

und eine weitere Frage hätte ich noch: kann man EG irgendwie dazu überreden, daß es Multithreaded arbeitet? sprich, ein Befehl der hängt nicht das ganze Ding blockiert?

EG arbeitet intern bereits multi-threaded. Aber es gibt nur _einen_ actionthread, in welchem die ganzen Macros ausgeführt werden. Das bewirkt einerseits, dass Events seriell verarbeitet werden und andererseits, dass zu einem gegebenen Zeitpunkt immer nur ein Macro ausgeführt wird. Dies zu ändern, dazu müsste man quasi EG und vor allem diverse Plugins neu programmieren, denn Actions in den Plugins sind nicht thread-safe, wenn der Programmierer sie nicht explizit thread-safe programmierte. Einige Plugins, darunter das DVBViewer und Standby Control Plugin, sind von Haus aus bereits thread-safe, deshalb gibt es z.B. die Möglichkeit, ein OSD anzuzeigen und das Macro läuft gleichzeitig weiter oder 'Close DVBViewer' ohne wait. Aber das sind Ausnahmen.

Link to comment

hmm, hab' das grade mal ausprobiert. Die Bedingung aktiviert, XBMC in die Blocked Processes gepackt, XBMC gestartet, Power auf der FB gedrückt, dann sah ich GANZ kurz das OSD, daß mindestens 1 Blocker-Programm läuft, dann direkt schwarzer Bildschirm und Standby.

keine Ahnung, aber anhand des Logs glaube ich nicht, dass es mit SG zu tun hat. Jedenfalls sehe ich im Log nirgends, dass SG den Suspend aufgerufen hätte. Ausserdem es gibt noch einen Event

2012-02-25 13:14:23  EVENT: StandbyControl.Terminated.xbmc
2012-02-25 13:14:23  EVENT: StandbyControl.MonitoredProcessesChanged
2012-02-25 13:14:23  EVENT: StandbyControl.AllMonitoredProcessesTerminated

d.h. irgendwoher wurde auch noch XBMC beendet.

Link to comment

hmm, noch ein Bug?

 

System eingeschaltet, DVBViewer hat sich gestartet, sonst nix. Irgendwann kam das OSD, daß der DVBViewer in XX Sekunden geschlossen wird, auch dann nichts unternommen, keine Taste drückt, kein Client gestartet, einfach nix, und dann wurde der letzte Sender eingestellt?!

 

Hier das Log dazu:

 

2012-02-25 13:35:32  EVENT: DVBViewer.Channel -1
2012-02-25 13:35:32     MACRO: OnAnyKey1 (NIM): EnterInteractiveMode and CancelOsd

Das ist keine originale SG-Konfiguration. Da kann ich nicht weiter helfen :)

Link to comment

Wenn ich Suspendghost eingestellt habe und dort das Plugin meiner Fernbedienung (Hauppauge IR) hinzugefügt habe, bekomme ich im DVBViewer eine sehr schlechte Reaktion auf die Tasten der Fernbedienung.

Das heisst ich muss manchmal 10 mal auf eine Taste drücken bevor im DVBViewer eine Reaktion kommt.

Das ist allerdings unschön... das sieht für mich danach aus, dass das Hauppauge IR Plugin die Events (Tastendrücke auf der FB) konsumiert und nicht weiter gibt. Spontan kommen mir folgende Ideen:

  1. Im EG Forum mal suchen / nachfragen, ob andere das Problem auch kennen und ob es eine Lösung gibt
  2. Ein anderes Plugin für die FB ausprobieren, vielleicht funktioniert X10?
  3. Einen anderen IR-Receiver + andere FB verwenden
  4. Theoretisch könnte man auch DVBViewer komplett über EG fernsteuern, d.h. für jede Taste auf der FB ein EG-Macro machen, welches die entsprechende Aktion in DVBViewer aufruft. Soweit ich das DVBViewer Plugin überblicke, kann so (fast?) jede Aktion in DVBViewer über EG aufgerufen werden. Allerdings ist das sicher ein rel. aufwändiger Ansatz, aber ich denke, er würde funktionieren.

Also ich habe das Problem jetzt zunächst gelöst indem ich das Fernbedienungsplugin deaktiviert habe und dann im SuspendGhost bei "OnAnyKey2 (IM): Restart Suspend Timer" noch den Punkt "DVBViewer.Action" hinzugefügt habe.

Eigentlich ein guter Lösungsansatz, aber ich schätze, dass das an anderer Stelle zu Problemen führt - siehe meine letzte Antwort an @test, das sieht überraschend ähnlich aus ;)

Ausserdem wird die Power-Taste dann nicht in SuspendGhost funktionieren und wenn du darauf verzichten müsstest, fehlt dir die Kernfunktionalität von SG.

Edited by mrphlox
Link to comment

bekommst Du SG evtl. 64-bit tauglich?

 

auf einem Win7 64bit, ebenso mit DVBViewer installiert:

 

14:12:54                           Springe zu "DVBViewer: Start DVBViewer" und kehre zurück
14:12:54                              DVBViewer: Start DVBViewer
14:12:54                                 DVBViewer: IsConnected
14:12:54                                 DVBViewer: Start DVBViewer
14:12:54                                    Fehler in Befehl: "DVBViewer: Start DVBViewer"
14:12:54                                    Traceback (most recent call last) (1544):
14:12:54                                      File "C:\Program Files (x86)\EventGhost\eg\Classes\ActionBase.py", line 170, in CallWrapper
14:12:54                                        return self(*args)
14:12:54                                      File "C:\Program Files (x86)\EventGhost\plugins\DVBViewer\__init__.py", line 2921, in __call__
14:12:54                                        self.plugin.Connect( WAIT_CHECK_START_CONNECT, lock = True )
14:12:54                                      File "C:\Program Files (x86)\EventGhost\plugins\DVBViewer\__init__.py", line 2240, in Connect
14:12:54                                        if len( WMI.ExecQuery('select * from Win32_Process where Name="DVBViewer.exe"') ) > 0 :
14:12:54                                      File "<COMObject winmgmts:>", line 3, in ExecQuery
14:12:54                                      File "win32com\client\dynamic.pyc", line 276, in _ApplyTypes_
14:12:54                                    com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, u'SWbemServicesEx', u'Allgemeiner Fehler ', None, 0, -2147217407), None)
14:12:54                                 eg.globals.graphStopped = False
14:12:54                     eg.globals.restartDVBViewer = False

 

ebenso die Prozessliste im Standby Control Plugin ist leer, wenn man das Dropdown-Menü anschaut.

Link to comment

ähm, bitte? :) was soll das sonst sein??

ähm, bitte? :) wie sonst kommt dieser Log-Output zustande? Das Macro 'OnAnyKey1' hat keinen Event Listener auf den Event 'DVBViewer.Channel' registriert. Aus deinem Log geht hervor, dass das Macro beim Event 'DVBViewer.Channel' aufgerufen wurde.

Link to comment

bekommst Du SG evtl. 64-bit tauglich?

EG, SG und die Plugins laufen auch unter W7-64bit.

 

Der Fehler im Log weist darauf hin, dass die Prozessliste über das WMI nicht abgefragt werden kann. Vielleicht ein Berechtigungsproblem? Hat der User Admin-Rechte (wobei mir bis jetzt nicht bewusst gewesen wäre, dass es zwingend Admin-Rechte braucht, wäre aber schon möglich).

Link to comment

hmm hier nicht. Mein User ist Admin, auch EG mit "Als Administrator ausführen" bringt keine Änderung, ebenso UAC deaktivieren bringt keine Änderung.

 

whatever, nicht weiter schlimm, mein HTPC ist 32bit und da funktionierts.

Link to comment

ähm, bitte? :) wie sonst kommt dieser Log-Output zustande? Das Macro 'OnAnyKey1' hat keinen Event Listener auf den Event 'DVBViewer.Channel' registriert. Aus deinem Log geht hervor, dass das Macro beim Event 'DVBViewer.Channel' aufgerufen wurde.

ich bitte vielmals um Entschuldigung. Warum auch immer war da das Event drin. Hab's gelöscht und gut :)

 

rc4 in Arbeit? :)

Link to comment

hmm irgendwie ist da immernoch der Wurm drin:

 

2012-02-29 22:55:28                    ACTION: Standby Control: Show OSD: DVBViewer wird in %c% Sekunden geschlossen.\nBeliebige Taste für Abbruch.
2012-02-29 22:56:29  EVENT: StandbyControl.OsdCountdownPrepStandbyFinished
2012-02-29 22:56:29     MACRO: OnOsdCountdownPrepStandbyFinished
2012-02-29 22:56:29        ACTION: Springe zu "EnterReadyForSuspendMode2: Close DVBViewer" und kehre zurück
2012-02-29 22:56:29           MACRO: EnterReadyForSuspendMode2: Close DVBViewer
2012-02-29 22:56:29              ACTION: Springe zu "DVBViewer: IsRunning" und kehre zurück
2012-02-29 22:56:29                 MACRO: DVBViewer: IsRunning
2012-02-29 22:56:29                    ACTION: Finde Fenster: DVBViewer.exe
2012-02-29 22:56:29                    ACTION: len(eg.result) > 0
2012-02-29 22:56:29              ACTION: Wenn erfolgreich springe zu "DVBViewer: Stop Graph" und kehre zurück
2012-02-29 22:56:29                 MACRO: DVBViewer: Stop Graph
2012-02-29 22:56:29                    ACTION: DVBViewer: IsConnected
2012-02-29 22:56:29                    ACTION: Wenn erfolglos springe zu "EndOfTheStory"
2012-02-29 22:56:29                    ACTION: DVBViewer: Stop Graph
2012-02-29 22:56:29                    ACTION: eg.globals.graphStopped = True
2012-02-29 22:56:30  EVENT: DVBViewer.Action 16383
2012-02-29 22:56:30  EVENT: DVBViewer.Channel -1
2012-02-29 22:56:30  EVENT: DVBViewer.DisplayChange:MEDIA 'MEDIA'
2012-02-29 22:56:30  EVENT: DVBViewer.RenderPlaystateChange (2, 0)
2012-02-29 22:56:30  EVENT: DVBViewer.PlaybackEnd
2012-02-29 22:56:30  EVENT: DVBViewer.DisplayChange:NONE 'NONE'
2012-02-29 22:57:22  EVENT: DVBViewerService.NoClientActive
2012-02-29 22:57:22     MACRO: OnDvbvNoClientActive
2012-02-29 22:57:22        ACTION: Enable Suspend: Client finished
2012-02-29 23:09:48  EVENT: DVBViewerService.NumberOfClientsChanged 1
2012-02-29 23:09:48     MACRO: OnDvbvNumberOfClientsChanged
2012-02-29 23:09:48        ACTION: Disable Suspend: Client started
2012-02-29 23:11:52  EVENT: DVBViewerService.NoClientActive
2012-02-29 23:11:52     MACRO: OnDvbvNoClientActive
2012-02-29 23:11:52        ACTION: Enable Suspend: Client finished
2012-02-29 23:14:48  EVENT: StandbyControl.Release.DVBViewerTV
2012-02-29 23:14:48     MACRO: OnDvbvReleaseTvMode
2012-02-29 23:14:48        ACTION: Enable Standby, DVBViewerPlay
2012-02-29 23:14:48        ACTION: eg.globals.dvbvIsPerforming  = False

während dessen ist niemand angemeldet, keiner schaut, kein Browser offen, nix, dennoch ist er ab und zu der Meinung, daß ein Client da ist, dann wieder nicht, und somit findet auch kein Standby statt. Es ist jetzt 23:21 und die Kiste ist immernoch nicht im Standby. hmmmm ...

 

Edit 23:51 Uhr: das System ist immernoch nicht standby gegangen. Letzter Logeintrag:

 

2012-02-29 23:14:48        ACTION: eg.globals.dvbvIsPerforming  = False
2012-02-29 23:29:27  EVENT: DVBViewerService.NumberOfClientsChanged 1
2012-02-29 23:29:27     MACRO: OnDvbvNumberOfClientsChanged
2012-02-29 23:29:27        ACTION: Disable Suspend: Client started
2012-02-29 23:31:32  EVENT: DVBViewerService.NoClientActive
2012-02-29 23:31:32     MACRO: OnDvbvNoClientActive
2012-02-29 23:31:32        ACTION: Enable Suspend: Client finished

Edited by test
Link to comment

Erst mal "Sorry", dass ich mich so lange nicht meldete - jetzt bin ich wieder da :)

 

hmm irgendwie ist da immernoch der Wurm drin:

Den Fehler kann ich bestätigen, er hat sich mit der 'Close Graph' Funktion von RC3 eingeschlichen, ist im nächsten Release behoben.

ich bitte vielmals um Entschuldigung. Warum auch immer war da das Event drin. Hab's gelöscht und gut :)

 

rc4 in Arbeit? :)

Kein Problem, hab's ja sofort gesehen :)

 

Ja, RC4 ist in den Startlöchern, noch ein wenig testen, dann geht's raus.

 

hmm hier nicht. Mein User ist Admin, auch EG mit "Als Administrator ausführen" bringt keine Änderung, ebenso UAC deaktivieren bringt keine Änderung.

 

whatever, nicht weiter schlimm, mein HTPC ist 32bit und da funktionierts.

Hat der User evtl. Umlaute im Account Namen? Schau hier

Link to comment

Erst mal "Sorry", dass ich mich so lange nicht meldete - jetzt bin ich wieder da :)

kein Problem :) welcomem back!

 

Den Fehler kann ich bestätigen, er hat sich mit der 'Close Graph' Funktion von RC3 eingeschlichen, ist im nächsten Release behoben.

sehr schön.

 

Ja, RC4 ist in den Startlöchern, noch ein wenig testen, dann geht's raus.

*froi* ;)

 

Hat der User evtl. Umlaute im Account Namen? Schau hier

bin ich denn deppert? ;) ich komm' aus der UNIX Ecke ... nix Umlaute :)
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...