Jump to content

SuspendGhost: Steuerung von Standby / Ruhezustand mit EventGhost


mrphlox

Recommended Posts

1. Versuch: Rechner hochfahren ohne per RDP darauf zuzugreifen. -->Nach kurzer Zeit Standby. :D

 

2. Versuch: Rechner hochfahren und gleich per RDP zugreifen. -->EG erkennt den Prozess rdpclip.exe-->kein Standby :D

 

3. Versuch: RDP beenden. -->(10:35:42)EG erkennt das ausloggen -->(10:37:18) EG meldet immer noch die aktive rdpclip.exe-->kein Standby :huh:

 

Einen Auszug des Logdatei (geniale Sache) habe ich angefügt. Um festzustellen ob die rdpclip.exe auch nach dem ausloggen noch aktiv ist, oder aber nur das EG-Plug-in spinnt, müsste ich erst einen Monitor "beikarren".

 

 

2012-10-19 10:35:40 EVENT: System.UnIdle

2012-10-19 10:35:40 MACRO: OnSystemUnidle: Disable Suspend

2012-10-19 10:35:40 ACTION: eg.globals.systemIsIdle = False

2012-10-19 10:35:40 ACTION: Disable Suspend, System is not Idle

2012-10-19 10:35:42 EVENT: System.RemoteDisconnect [u'Axel']

2012-10-19 10:36:42 EVENT: System.Idle

2012-10-19 10:36:42 MACRO: OnSystemIdle: Enable Suspend

2012-10-19 10:36:42 ACTION: eg.globals.systemIsIdle = True

2012-10-19 10:36:42 ACTION: Enable Suspend, System is Idle

2012-10-19 10:37:18 EVENT: Timer.NonInteractiveModeTimeout (0, '19.10.2012 10:37:18')

2012-10-19 10:37:18 MACRO: OnNonInteractiveModeTimeout: Show OSD before close DVBViewer

2012-10-19 10:37:18 ACTION: Springe zu "CheckAutoCloseDVBViewerConditions" und kehre zurück

2012-10-19 10:37:18 MACRO: CheckAutoCloseDVBViewerConditions

2012-10-19 10:37:18 ACTION: eg.globals.minWaitInterval = eg.globals.minSuspendInterval

2012-10-19 10:37:18 ACTION: Springe zu "True" und kehre zurück

2012-10-19 10:37:18 MACRO: True

2012-10-19 10:37:18 ACTION: True

2012-10-19 10:37:18 ACTION: Wenn erfolgreich springe zu "IsNonInteractiveMode" und kehre zurück

2012-10-19 10:37:18 MACRO: IsNonInteractiveMode

2012-10-19 10:37:18 ACTION: IsNonInteractiveMode

2012-10-19 10:37:18 interactiveMode = False

2012-10-19 10:37:18 ACTION: Wenn erfolgreich springe zu "IsMonitoredProcessNotRunning" und kehre zurück

2012-10-19 10:37:18 MACRO: IsMonitoredProcessNotRunning

2012-10-19 10:37:18 ACTION: Standby Control: Is Monitored Process Running

2012-10-19 10:37:18 rdpclip.exe is running

2012-10-19 10:37:18 numberOfActiveProcesses = 1

2012-10-19 10:37:18 ACTION: IsMonitoredProcessRunning

2012-10-19 10:37:18 2012-10-19 10:37:18.620000 IsMonitoredProcessRunning= True

2012-10-19 10:37:18 ACTION: not eg.result

Link to comment

Füg der Monitored Processes Liste mal was hinzu und speicher die Liste. Dann kannste den Eintrag auch direkt wieder löschen. Ich hatte das auch mal, daß SG nicht mitbekommen hat, wenn ein Prozess beendet wurde. Lösung war oben beschriebenes.

Link to comment
Füg der Monitored Processes Liste mal was hinzu und speicher die Liste. Dann kannste den Eintrag auch direkt wieder löschen. Ich hatte das auch mal, daß SG nicht mitbekommen hat, wenn ein Prozess beendet wurde. Lösung war oben beschriebenes.

 

Da dran hängts leider auch nicht. Ich lass halt die RDPclip.exe aus der Überwachung, dann funktioniert alles wie es soll.

Link to comment

Da sich die rdpclip.exe nicht von alleine beim logout beenden will, habe ich halt ein bischen nachgeholfen :D

 

EVENT: System.RemoteDisconnect [u'Axel']

2012-10-20 09:38:19 MACRO: UnBlocker

2012-10-20 09:38:19 ACTION: Starte Anwendung: taskkill.exe

2012-10-20 09:38:20 EVENT: StandbyControl.OsdCountdownFinished

2012-10-20 09:38:24 EVENT: StandbyControl.Terminated.rdpclip

2012-10-20 09:38:24 EVENT: StandbyControl.MonitoredProcessesChanged

2012-10-20 09:38:24 EVENT: StandbyControl.AllMonitoredProcessesTerminated

 

Gruß und vielen Dank für die Hilfe

Edited by de66ka
Link to comment

Hallo mrphlox,

 

danke für dieses Spielzeug.

Nun möchte ich ja immer mehr automatisieren, aber da tritt folgendes Problem auf.

Wenn ich meinen Rechner über die Fernbedienung aus dem Ruhezustand starte gehe ich davon aus das ich fernsehen möchte und schalte über einen FS20 Steckdosenschalter meinen Fernseher mit ein. Der Aufruf erfolgt in "DVBViewer commands ;DVBViewer: Start DVBViewer (zum Einschalten) und DVBViewer commands ; DVBViewer: Close DVBViewer (zum Ausschalten).

Leider ist diese Lösung zu einfach gedacht, denn dadurch schaltet der Fernseher immer ein, auch bei Start für Aufnahmen und EPG-Aktualisierungen. Auch wenn ich während einer Aufnahme Standby oder ReBoot anfordere so soll doch der Fenseher auschalten, aber der Rechner die Aufnahme fortsetzen.

Wie könnte ich dieses realisieren?

 

Danke

Edited by doedelmaus
Link to comment

Lässt sich das Plugin auch in Verbindung mit dem Recording Service nutzen?

 

Sprich:

 

Ich schalte via Fernbedienung einen Client in den Standby-Mode, das Plugin prüft, ob der Recording-Service noch einen weiteren Client versorgt und schaltet dann nach erfolgter Prüfung den Server auch in den Standby?

 

Ich frage deshalb, weil die Windows Energie Einstellungen bei mir nur ungenügend funktionieren.

 

Wenn das Plugin das hinbekäme, wäre das natürlich eine super Sache!

Link to comment

hallo sw4y,

 

Suspendghost ist eine Konfiguration die für EventGhost verwendet wird. Es ist kein Plugin für den DVBViewer. Suspendghost wurde aber genau für den von Dir gesuchten Zweck geschrieben und arbeitet auch auf beiden Recnern ( Server mit Recording Service und Client mit DVBViewer ).

Link to comment

Wenn ich meinen Rechner über die Fernbedienung aus dem Ruhezustand starte gehe ich davon aus das ich fernsehen möchte und schalte über einen FS20 Steckdosenschalter meinen Fernseher mit ein. Der Aufruf erfolgt in "DVBViewer commands ;DVBViewer: Start DVBViewer (zum Einschalten) und DVBViewer commands ; DVBViewer: Close DVBViewer (zum Ausschalten).

Leider ist diese Lösung zu einfach gedacht, denn dadurch schaltet der Fernseher immer ein, auch bei Start für Aufnahmen und EPG-Aktualisierungen. Auch wenn ich während einer Aufnahme Standby oder ReBoot anfordere so soll doch der Fenseher auschalten, aber der Rechner die Aufnahme fortsetzen.

 

Hallo Doedelmaus - ein Anwender der allerersten Stunde :)

 

Du könntest den TV im Macro EnterInteractiveMode einschalten und im Macro EnterNonInteractiveMode ausschalten. Den Befehl zum Ein-/Ausschalten kannst du an erster Stelle ins Macro stellen. - Btw, was ist das für ein Plugin?

 

Der Effekt wäre dann: Bei unbeaufsichtigten Timer-Aufnahmen / EPG-Update etc. geht der TV nicht an, erst wenn du die FB in die Hand nimmst, wird auch der TV eingeschaltet. Und wenn du mit der FB während einer Aufnahme Standby oder Reboot anforderst, geht der TV aus, der PC läuft aber weiter bis zum Ende der Aufnahme.

 

Ist es das, wonach du suchst?

Link to comment

Hallo mrphlox,

 

ein Plugin kam erst durch "sw4y" zur Sprache, ich habe dafür kein Plugin geschrieben.

Deinen Vorschlag habe ich ausprobiert. Der er funkioniert zum Teil. Beim Starten ist alles iO. Leider wird das Macro "EnterNonInteractiveMode" beim Ausschalten nicht aufgerufen und damit bleibt der Fernseher an.

Link to comment

War mir schon klar, dass das kein Plugin ist. Hatte mich nur undeutlich ausgedrückt.

 

Ich verstehe den Zusammenhang zwischen Suspendghost und dem Recording Service noch nicht wirklich.

So wie du sagst, muss Suspendghost auf dem Client als auch auf dem Server laufen?

 

Also auf beiden Seiten eine eigene Konfiguration?

 

Kannst du oder mrphlox das vielleicht noch etwas näher erläutern?

Link to comment

Hallo sw4y,

 

auch wenn es zum DVBViewer mit Recording Service und EventGhost gute Beschreibungen gibt, versuch ich mal, es in wenigen Worten zu erklären.

Der DVBViewer, auch wenn er mit der "Erweiterung" dem Recording Service verwendet wird, stellt ein "API" bereit, mit dem EventGhost und darüber die geladene Suspendghost-Konfiguration in Zusammenarbeit mit dem DVBViewer-Plugin den Zustand des DVBViewer ermitteln kann.

Ja, der DVBViewer und EventGhost wird auf beiden Seiten (Server und Client) installiert. Zusätzlich wird auf der Serverseite noch die Erweiterung, der Recording Service, installiert.

Link to comment

Leider wird das Macro "EnterNonInteractiveMode" beim Ausschalten nicht aufgerufen und damit bleibt der Fernseher an.

Ja stimmt, daran habe ich nicht gedacht => du musst den Befehl zum Ausschalten auch noch im Macro PerformSuspend aufrufen, unmittelbar nach dem Befehl 'DVBViewer: Prepare for Standby'.

P.S.: Dieser Stolperstein hat mich auf eine Unschönheit aufmerksam gemacht: in der nächsten Version von SG wird 'EnterNonInteractiveMode' nicht nur bei Timeout, sondern auch beim Drücken der Power-Taste aufgerufen - dann ist es symmetrisch zum Startup.

 

ein Plugin kam erst durch "sw4y" zur Sprache, ich habe dafür kein Plugin geschrieben.

Mich interessiert eigentlich nur, wie du einen FS20 Steckdosenschalter aus EventGhost ansteuerst - oder habe ich das falsch verstanden? Wie sonst schaltest du den TV aus EG ein und aus? Edited by mrphlox
Link to comment

Ich verstehe den Zusammenhang zwischen Suspendghost und dem Recording Service noch nicht wirklich.

So wie du sagst, muss Suspendghost auf dem Client als auch auf dem Server laufen?

 

Also auf beiden Seiten eine eigene Konfiguration?

Genau, wenn du zwei Rechner hast, deren Standby du steuern willst (auf dem Server läuft RS, auf dem Client DVBViewer), musst du auf beiden Rechnern EventGhost + SuspendGhost installieren. Installationsanleitung siehe im 1. Beitrag dieses Threads.

 

Die SuspendGhost Konfiguration ist in Bezug auf RS und DVBViewer universell und kann in verschiedenen Umgebungen betrieben werden:

  1. DVBViewer Standalone (ohne Recording Service)
  2. DVBViewer + Recording Service auf dem gleichen Rechner
  3. DVBViewer Client und Recording Service auf getrennten Rechnern

Bei dir also Fall 3.

 

Auf dem Server überwacht SuspendGhost primär den Recording Service sowie den Netzwerk-Verkehr. Hier gibt es nur den automatischen Standby: Wenn keine Aufnahmen laufen, keine Clients aktiv sind, kein EPG-Update läuft und der Netzwerkverkehr klein ist (sowie noch ein paar andere Bedingungen), fährt SG den Rechner herunter (automatischer Standby).

 

Auf dem Client überwacht SuspendGhost primär den DVBViewer und den Nw-Verkehr. Hier ist zwischen automatischem Standby und manuellem Standby zu unterscheiden.

  • Automatischer Standby: Wenn DVBViewer nicht läuft und der Netzwerkverkehr klein ist oder wenn lange Zeit keine Benutzerinteraktion mit FB, Maus oder Keyboard geschah (sowie noch ein paar andere Bedingungen), fährt SG den Rechner automatisch herunter.
  • Manueller Standby: Wenn du an der FB die Power-Taste drückst und keine Direkt-Aufnahme im DVBViewer läuft, fährt SG den Rechner herunter.

Alles klar?

Link to comment

perfekt, so funktioniert es.

 

Ich verwende die Plugins " ELV FS20 PCS " zum Senden von Befehlen und " ELV FS20 PCE " zum Empfang von Befehlen der externen Komponenten. Funktioniert mit dem ELV Sender und Empfänger gleichen Namens und dem Funk-Schalter von ELV problemlos.

Link to comment
  • 2 weeks later...

Suspend Ghost funktioniert soweit auf meinem Testsystem. Ich habe aber 2 Probleme.

 

1. Um den DVBViewer über meine MCE Remote in den Standby zu schicken, musste ich bei den den Haken bei der Standby und Ruhestandüberwachung des RS herausnehmen.

Danach klappt es mit dem Standby. Alle Haken sind ansonsten nach Anleitung gesetzt. ISt es falsch die Standbyhaken im RS zu entfernen?

2. Beim Punkt 'OnAnyKey2 Restart Suspend Timer habe ich immer ein rotes Kreuz. Und trotz richtiger Einstellung schließt sich nicht der DVBViewer und startet nach dem Standby natürlich dann doppelt.

Link to comment

Hallo

 

Ich verstehe deinen Fehlerbericht noch nicht ganz.

  1. Mir ist noch nicht klar, warum dein erstes Problem gelöst ist, wenn du die "Verhindere Standby" Haken im RS löschst. - Mir scheint, dass da generell etwas noch nicht stimmt. Du schreibst, du hast eine MCE FB (habe leider keine Erfahrung damit), aber teste vorab einmal, was passiert, wenn du die Power-Taste drückst. Werden Log-Meldungen im EventGhost Fenster ausgegeben? Damit SG funktioniert, darf NUR SG auf die Power-Taste reagieren. Oder anders gesagt: wenn EventGhost geschlossen ist und du die Power-Taste drückst, darf NICHTS passieren.
  2. Beim zweiten Problem ist mir nicht klar, wo du ein rotes Kreuz siehst. Im Log-Output oder im Macro 'OnAnyKey2' selbst? Hier müsstest du schon noch genauere Angaben liefen, dann helfe ich dir gerne weiter.

Link to comment

Hallo

 

Ein neuer Release ist da:

SuspendGhost 1.3.0

Download wie immer im 1. Beitrag

 

Changes

  • Alle wichtigen Timers und OSD Countdowns können nun an zentraler Stelle in der 'SuspendGhost Configuration' eingestellt werden. Ein Feature für Power-User, die wissen, was sie tun ;)
  • Neue Option: KeepDVBViewerRunning
    • Wenn eingeschaltet, wird DVBViewer vor dem Suspend nicht mehr beendet und läuft nach Resume sofort weiter. Das Mediacenter verhält sich so wie jeder TV - der WAF lässt grüssen :)
    • Wenn ausgeschaltet, Verhalten wie bisher: DVBViewer wird vor Suspend beendet

    [*]Neue Option DVBViewerAutostartDelay

    • Bei einem Wert grösser oder gleich 0 wird DVBViewer nach Resume gestartet.
    • Ist der Wert 0, startet DVBViewer nach Resume sofort und ohne OSD Countdown.
    • Wird ein Wert grösser 0 eingestellt: Verzögerung in Sekunden vor dem Start; es wird ein OSD Countdown angezeigt, mit welchem der Start abgebrochen werden kann
    • Der Wert -1 schaltet Autostart komplett ab.

    [*]Verschiedene interne Optimierungen und Verbesserungen (Refactoring). Z.B. wird 'EnterNonInteractiveMode' neu auch beim Drücken der Powertaste ausgeführt - das Verhalten ist damit symmetrisch zum Startup.

Viel Spass B)

Link to comment

Hallo mrphlox,

 

ich bekomme immer eine Fehlermeldung bei der Ausführung von "DVBViewer.IsDVBViewerProcessRunning()"

danach folgt:

Fehler in Befehl: "DVBViewer.IsDVBViewerProcessRunning()"

Traceback (most recent call last) (1582):

File "<string>", line 1, in <module>

NameError: name 'DVBViewer' is not defined

 

Es scheint so als ob, bei mir, EG die Anweisung nicht findet. Alle Odrner aus Eventghost wurden definitiv in das Installationsverzeichnis von EG kopiert. Woran könnte das noch liegen?

Ich möchte ja lernen! Könnte man hier nicht den Befehl aus dem Bereich "DVBViewer","DVBViewer:Is DVBViewer running and connected" einsetzen?

Link to comment

Also mein HTPC lässt sich auschalten, obwohl im IMON Manager und Energiespareinstellungen der Powerbefehl abgeschaltet ist. Auch SG ist abgeschaltet. Trotzdem fährt der Rechner in Standby. RS und DVBV laufen auf einen Rechner.Ich hatte ein MCE-Remote.

Link to comment

ich bekomme immer eine Fehlermeldung bei der Ausführung von "DVBViewer.IsDVBViewerProcessRunning()"

...

NameError: name 'DVBViewer' is not defined

Das sieht schon irgendwie nach einem Installationsproblem aus. Die Action "DVBViewer.IsDVBViewerProcessRunning()" ist einfach die erste, die während der Initialisierung aufgerufen wird. Das heisst, EventGhost findet das Plugin nicht oder kann es nicht initialisieren.

 

- Ist das Plugin aktiv? - Wahrscheinlich schon, sonst wäre die Meldung eine andere.

 

- Doppelclick auf das Plugin > Description: DVBViewer plugin version: 3.0.1 (das wäre erwartet).

 

- 'EventGhost.exe -debug' starten. In "C:\Users\<username>\AppData\Roaming\EventGhost\Log.txt" findest du evtl. weitere Informationen. Wahrscheinlich kann das Plugin nicht geladen werden.

 

- Vielleicht hilft das: "C:\Users\<username>\AppData\Roaming\EventGhost\gen_py" Verzeichnis löschen. (Hier werden die compilierten Scripts gespeichert. Python compiliert die Scripts 'on the fly' bei der ersten Ausführung.)

 

- Wenn das nicht hilft: EG deinstallieren, "C:\Programme (x86)\EventGhost" löschen, EG neu installieren.

Link to comment

Also mein HTPC lässt sich auschalten, obwohl im IMON Manager und Energiespareinstellungen der Powerbefehl abgeschaltet ist. Auch SG ist abgeschaltet. Trotzdem fährt der Rechner in Standby. RS und DVBV laufen auf einen Rechner.Ich hatte ein MCE-Remote.

OK, dann musst du erst mal herausfinden, warum der PC dennoch in den Standby geht. SuspendGhost muss exklusiv die Kontrolle über Standby haben, wenn noch eine andere Instanz reinpfuscht, funktioniert es nicht.

 

Double check:

- DVBViewer > Einstellungen > Optionen > Allgemein > Beenden > Folgende Aktion beim Beenden per Fernbedienung ausführen: DVBViewer beenden (und nicht etwa Standby etc.)

 

Wenn das nicht hilft (d.h. DVBViewer bereits schon richtig konfiguriert ist) heisst es "weitersuchen"...

- Fährt der Rechner auch in den Standby, wenn der iMON Manager beendet ist?

 

- Vielleicht verrät das folgende Kommando den Übeltäter (in einem CMD Window mit Admin Rechten ausführen):

powercfg -energy -trace

Während dieser Befehl läuft, die Power-Taste an der FB drücken.

Der Befehl schreibt zwei trace Files 'energy-trace.etl' und 'energy-ntkl.etl' ins aktuelle Verzeichnis. Die Trace Files kannst du mit dem Windows EventViewer (eventvwr.exe) analysieren.

powercfg -energy

schreibt dagegen einen HTML-Bericht 'Energieeffizienzdiagnose' ins aktuelle Verzeichnis. Das ist aber eher für mobile Geräte gedacht, um allfällige Energiespar-Störungen zu finden.

Link to comment

Hallo mrphlox,

 

ich komme nicht mehr weiter. Zuerst wurde "...AppData\Roaming\EventGhost\gen_py" Verzeichnis löscht, dann EG deinstalliert und EG Version: 0.4.1.r1582 erneut installiert. Alles ohne Erfolg. Die letzte Hoffnung hatte ich in der Installation der EG Version: 0.4.1.r1572. Bei allen Aktionen wurden die Installationsverzeichnisse(aus SuspendGhost_1.3.0) kopiert und die Konfiguration des EG Plugin "DVBVierwer" überprüft. Auch ein Warten von 30s vor "DVBViewer.IsDVBViewerProcessRunning()" bracht keine Änderung.

Meine Auswertung des Log-Files bringt mich auch nicht weiter. Ich sehe nur das dass Plugin initialisert wird. Warum es später nicht mehr gefunden wird und einige Sekunden später dann doch ansprechbar ist, ist mir nicht erklärbar.

Log.txt

Link to comment
  • 2 weeks later...

Moin mrphlox :)

 

mir ist ein Problem aufgefallen, allerdings mit v1.2.0 (noch keine Zeit gehabt für's Updaten), daß das Auto-Tuning vom Kanal für die nächste Aufnahme nicht funktioniert. Log Eintrag:

 

2012-12-04 21:10:26        ACTION: eg.globals.AutoTuneRecChannel and eg.globals.AutoStartDVBViewer
2012-12-04 21:10:26        ACTION: Wenn erfolgreich springe zu "DVBViewer: Tune channel of next recording" und kehre zurück
2012-12-04 21:10:26           MACRO: DVBViewer: Tune channel of next recording
2012-12-04 21:10:26              ACTION: All In One Script: Tune channel of next recording if necessary
2012-12-04 21:10:27                 Tuning not necessary, next recording channel group is already tuned.
2012-12-04 21:10:27              ACTION: Springe zu "EndOfTheStory"
2012-12-04 21:10:27                 MACRO: EndOfTheStory
2012-12-04 21:10:27                    ACTION: Do nothing

 

Der Timer ist Dr. House auf RTL, der um 21:13 Uhr angefangen hat, der Sender der läuft ist der letzte der aktiv war, N24.

 

Idee?

Link to comment

Moin test

 

gemäss deinem Log funktioniert das Script eigentlich "as designed" - der Sender wird nur dann eingestellt, wenn er auf einer anderen TSID als dem aktuell eingestellten liegt. Will heissen: RTL und N24 liegen auf der gleichen TSID, daher keine Sender-Umstellung.

 

Meine Motivation für dieses Script war mein (früherer) Setup: ich hatte eine gute und eine "miese" (Technisat) DVB-C Karte. Wenn der Rechner für eine Timer-Aufnahme und mit ihm DVBViewer startete, bekam DVBViewer die gute Karte zugewiesen, da diese natürlich auch als "Bevorzugt" in den Einstellungen definiert war. Für die Timer-Aufnahme blieb dann die miese Karte übrig. Durch die automatische Senderumstellung beim Starten konnte ich das umgehen.

 

Wenn du nun möchtest, dass in jedem Fall auf den Aufnahme-Sender tuned wird, kannst du das relativ einfach im Script 'Tune channel of next recording' anpassen, etwa Zeile 38, ändere:

       ...
       nextTSID = nextRecChannelData[23]
       if currTSID != nextTSID:
           retune = True

zu:

       ...
       nextTSID = nextRecChannelData[23]
       retune = True

d.h. du löschst die Bedingung 'currTSID != nextTSID' (Einrückung beachten)

 

viel Spass!

Link to comment

ich komme nicht mehr weiter. [...]

Erst mal sorry für die späte Antwort, mein Beruf liess mir in den letzten Wochen kaum mehr Zeit für die netteren Dinge des Lebens :)

 

Ich bin hier auch etwas ratlos. Das letzte, was ich im Log sehe, ist dass das DVBViewer Plugin das COM-Interface zum DVBViewer testet, um zu ermitteln, ob DVBViewer läuft. Ich hatte vor einiger Zeit mal ein ähnliches Phänomen, bei welchem die Neu-Installation von DVBViewer schliesslich die Lösung war (vielleicht war die COM-Registrierung in der Registry irgendwie korrupt, ich kenn mich da aber nicht gut aus). Vielleicht hilft das auch bei dir; du kannst einfach DVBViewer über den bestehenden installieren. Als zweites könntest du mal eine blanke, neue EG Konfiguration erstellen welche nur das DVBViewer-Plugin mit den mitgelieferten Macros enthält. Funktionieren die Macros dann?

Link to comment

  • Neue Option: KeepDVBViewerRunning
    • Wenn eingeschaltet, wird DVBViewer vor dem Suspend nicht mehr beendet und läuft nach Resume sofort weiter. Das Mediacenter verhält sich so wie jeder TV - der WAF lässt grüssen :)
    • Wenn ausgeschaltet, Verhalten wie bisher: DVBViewer wird vor Suspend beendet

 

Ich hab eine etwas andere Konfig, kuck mir bei Dir aber gerne was ab.

 

Die neue Option finde ich interessant, hab dazu aber eine Frage:

Wenn ich beim DVBViewer den Graph schließe und dann den Rechner in den Ruhemodus schicke, dann hab ich doch den gleichen Effekt, oder?

 

Mein Problem ist nämlich, dass bei mir EG und der DVBViewer nach dem Aufwachen länger brauchen, bis sie endlich startklar sind.

Und deshalb würde ich gerne wissen, was diese o.a. Option anders macht als einfach nur den Graphen schließen ...

 

 

Gruß GBWebmaster

Edited by GBWebmaster
Link to comment
  • 3 weeks later...

Hallo,

 

nun habe ich auch Zeit gefunden das Programm zu testen und möchte mich erstmal bedanken dass sich der Thematik überhaupt jemand annimmt. Tolle Sache.

 

Kurzes Feedback nach einigen Standby-Versuchen

 

1) In ca. 20 Standby Versuchen trat 2mal der Fall auf dass der DVBViewer nicht startet nach dem Aufwachen. Es erscheint zwar die Anzeige das er es gleich tun wird aber es passiert nicht. Neuer Standby und es klappt.

2) Ich habe XBMC als einzigen Standbyblocker eingetragen. Läuft das Programm während dem Auslösen des STandby dann erscheint eine große Anzeige dass mindestens ein Blocker Programm läuft. Nach ca. 3 Sekunden verschwindet dass aber, es erscheint "Und Tschüss" der DVBViewer wird geschlossen und der Rechner fährt trotz geöffnetem XBMC wieder in den Standy. Nach dem Aufwachen ist das Programm natürlich noch geöffnet.

 

Ich mich an die Installationsanleitung gehalten die aktuelle Eventghost Version installiert. DVBViewre ist der Aktuelle 5.0. Ich habe lediglich das XBMC Plugin und meine eigenen Tastendrücke aktiviert - hoffentlich ohne dabei etwas zu zerstören.

 

Wenn es hilft dann schicke ich gerne irgendwelche LOGfiles, wüsste aber momentan nicht genau was.

 

Grüße

 

A

Link to comment

Hallo Nochmals,

 

durch ein bisschen rumprobieren hab ich nun rausgefunden wo der Fehler liegt:

 

Zu meinem ersten Punkt Starten nach Standby: Das liegt daran dass Eventghost nicht mehr reagiert. Man sieht nur noch einen roten Pfeil unten. Hier hilft nur noch den Prozess abzuschießen und Eventghost neu zu starten dann klappt der Rest auch sofort wieder. Es liegt also nicht an dem (zimelich genialen) Suspend Skript sondern an Eventghost selber. Keine Ahnung ob das bei anderen auch auftritt. Jede3´nfalls ist das natürlich ziemlich schlecht weil man garnichts mehr steuern kann.

 

Zum zweiten Punkt: Hat sich erledigt. Nur der automatische Suspend wird geblockt. Die Meldung hat mich einfach etwas verwirrt. Bei manuellem Ausschalten fährt das System natürlich runter. Sorry mein Fehler.

 

Grüße

 

A

Link to comment

Hi

[...] Das liegt daran dass Eventghost nicht mehr reagiert. Man sieht nur noch einen roten Pfeil unten. Hier hilft nur noch den Prozess abzuschießen und Eventghost neu zu starten dann klappt der Rest auch sofort wieder.

korrekt, wenn das EG Tray Icon rot bleibt, hängt irgend was und meine Erfahrung deckt sich mit deiner: da hilft nur noch ein EG Restart. Allerdings ist der Verursacher mit grosser Wahrscheinlichkeit nicht EG selbst, EG an sich ist ein stabiles Framework mit sehr wenigen Bugs. Aber die Plugins... EG ist ein kollaboratives System (tönt bekannt? richtig, Win95/98 war auch eins...) und wenn nur eine Komponente aus der Reihe tanzt, hängt das ganze System. Konkret, ein einzelnes Plugin kann problemlos EG zum Stillstand bringen. Verwendest du noch andere Plugins als die bei SuspendGhost mitgelieferten?

 

Da bei Dir die Hänger nach Resume auftreten: Machst du noch irgendwelche Aktionen während/nach Suspend, z.B. auf den Event 'System.Suspend' getriggert? Das kann auch zu Problemen führen, z.B. dann, wenn die Aktion vor dem Suspend nicht mehr fertig wird.

 

Schliesslich gibt es in der SG Konfiguration noch die Option

# If True, EventGhost application will automatically restart after system resume (increases stability)
# Default is True
eg.globals.AutoRestartEGAfterResume = True

Ich nehme an, die Option hast du auf 'True' belassen? (Sie bewirkt, dass sich EG nach Resume erst mal selbst neu startet, was einiges zur Stabilität beiträgt.) Falls ja, würde ich die Fehlersuche erst mal auf den Suspend selbst fokussieren. Wenn du nicht weiter kommst, müsstest du mal die Logs posten (Screen Log und Debug Log + Deine Config).

 

Zum zweiten Punkt: Hat sich erledigt. Nur der automatische Suspend wird geblockt. Die Meldung hat mich einfach etwas verwirrt. Bei manuellem Ausschalten fährt das System natürlich runter. Sorry mein Fehler.

Genauso ist es... ist halt auch eine Philosophie-Frage. Ich persönlich möchte automatischen Suspend blockieren, manuellen Suspend aber dennoch zulassen (man kann die Meldung auch abbrechen, dann läuft das System weiter).
Link to comment

Hallo mrphlox,

 

hier ein Feedback zu meiner Fehlermeldung mit dem Befehl "DVBViewer.IsDVBViewerProcessRunning()". Alle Neuinstallationen brachten keinen Erfolg. Also begann ich nochmal von vorn. V1.3 aus dem ersten Posting geholt. Damit hatte ich keinen Fehler mehr. Meine Erweiterungen eingefügt und die Konfiguration funktionierte immer noch fehlerfrei. Also die fehlerhafte Konfig "zurückgebaut" und mit der originalen SuspendGhost_1.3.0.xml verglichen. Dabei wurde besagter Befehl unterschiedlich geschrieben.

 

SuspendGhost_1.3.0_original.xml

<Action>

DVBViewer.IsDVBViewerProcessRunning()

</Action>

 

SUSPENDGHOST_1.3.0_fehlerhaft.xml

<Action>

EventGhost.PythonCommand('DVBViewer.IsDVBViewerProcessRunning()')

</Action>

 

Ich habe keine Ahnung wie es zu dieser Änderung kam!? Ich hatte aber schon zweimal ein Problem mit einer "leeren" SuspendGhost_1.3.0.xml. Dabei blieb die Länge der Datei erhalten. Ein Problem der automatische Sicherung?

 

mrphlox, ich hätte eine Anregung zu einer Erweiterung. Ich verwende einen HTPC mit SuspendGhost,DVBViewer und RS. Wenn der RS den Rechner aus dem Ruhezustand ruft um eine Aufnahme zu starten, muss bei mir nicht der DVBViewer gestartet werden. Wenn ein Benutzer ihn aus dem Ruhezustand ruft soll natürlich der Viewer starten. Dazu könntest Du einen neuen OperatingModes einführen z.B. "EnterRecordingMode" in dem nur der "EnterNonInteractiveMode" aktiviert wird. Es wäre in den "Initialize" eine Abfrage auf "IsDvbvRecording" und "IsDvbvRecordingSoon" notwendig und in der "SuspendGhost Configuration" könnte man dafür einen neuen Schalter deffinieren.

Link to comment

Ich habe keine Ahnung wie es zu dieser Änderung kam!?

Ich kann mir vorstellen, wie es dazu kam. In der aktuellen EG-Distribution ist das DVBViewer Plugin noch in der Version 2.1.x enthalten, die Action 'IsDVBViewerProcessRunning' kam erst in 3.0.0 hinzu. Wenn du nun in einer jungfräulichen EG-Installation zuerst die Config lädst und erst nachträglich das neue DVBViewer Plugin, versucht EventGhost unbekannte Referenzen auf diese Art aufzulösen.

 

Das zweite, was du erwähnst, ein zerschossenes Config-File, hatte ich letzthin auch mal; nach einem Resume stand plötzlich nur noch binärer Trash statt XML im Config File. War aber ein einmaliges Ereignis und ich fand noch keinen Weg das zu reproduzieren, daher ist die Fehlersuche so gut wie unmöglich. Sachdienliche Hinweise bitte an die nächste ...ehm... :)

 

mrphlox, ich hätte eine Anregung zu einer Erweiterung. Ich verwende einen HTPC mit SuspendGhost,DVBViewer und RS. Wenn der RS den Rechner aus dem Ruhezustand ruft um eine Aufnahme zu starten, muss bei mir nicht der DVBViewer gestartet werden. Wenn ein Benutzer ihn aus dem Ruhezustand ruft soll natürlich der Viewer starten. [...]

Eine solche Änderung scheint nicht unmöglich, will aber gut überlegt sein... die erste Frage, die sich mir stellt: was gewinnst du dabei? Wen stört es, dass DVBViewer auch bei einer unbewachten Timeraufnahme mitläuft?
Link to comment

Hallo Zusammen,

 

erstmal vielen Dank für eure Antworten. Leider habe ich auch nach etlichen Tests nicht herausfinden können warum EG manchmal nach dem Standby hängt, es manchmal aber auch problemlos klappt. Ich gebe einige der Plugins deaktiviert wieder aktviert konnte aber kein Muster feststellen.

 

Ich habe mir nun folgendes dazu überlegt. Theoretisch könnte doch im Hintergrund ein kleines Überwachsungsprogramm laufen lassen. Idealerweise würde dieses Programm den Zustand von Eventghost prüfen - leider fehlen mir dafür aber die Kentnisse.

 

Was ich aber auf die schnelle realisieren konnte, war, zu prüfen ob der Viewer nach einer bestimmten Zeit nach dem Aufwecken läuft. Tut er das nicht so gibt es zwei Möglichkeiten

1) Der Viewer hängt (kam auch schonmal vor bei mir)

2) Eventghost hängt und sendet deshalb kein Start des DVBViewers.

 

In Beiden fällen hilft es zunächst den Viewer Prozess abzuschießen (falls er den läuft) dann den EG Prozess abzuschießen und wieder neu zu starten. Damit hat man beide Möglichkeiten abgedeckt und der Viewer startet neu.

 

Das ganze ist realtiv einfach in AutoIT umsetzbar. Ich habe das geschrieben und stelle es hier gerne allen zur Verfügung. Das Programm sollte (hoffentlich) keine weiteren Probleme verursachen - es tut ja auch nicht viel. Sollte ich irgendwo einen Fehler eingebaut haben bitte ich um kurzes Feedback. Schon mal Danke.

 

Optional:

Weiterhin habe ich noch eine Optionale Abfrage der Fenstergröße eingebaut. Ist bestimmt auch simple in EG zu realisieren aber wie gesagt fehlen mir in EG einfach die Kentnisse :-) Hintergrund ist folgender: Es kommt beim Ein und Ausschalten vor dass aufgrund der Unterbrechung des HDMI Signals die Auflösung umgeschalten wird. Nach dem Wiederaufbau wird diese dann zurückgesetzt auf die eigentlich gewünschte. Der Viewer läuft im Voll Bildmodus und macht diesen Auflösungswechsel mit bleibt aber dann u.U. in der niedrigeren Auflösung hängen. Ergebnis ist zwar ein Bild allerdings nur ein kleiner Ausschnitt. Man muss also per Maus und Tastatur wieder zurückschalten. Das nervt :-) Also überprüft die Funktion ob die Fenstergrößer der tatsächlichen Auflösung entspricht und falls nicht sendet diese den Befehl Vollbild aus. Damit passt es dann wieder.

 

Installation:

Das fertige Skript einfach in den Autostart legen. Ich hab den Code mit beigelegt falls jemand die Optionale Funktion nutzen möchte.

 

Grüße

Alex

DVB_Watcher.zip

Link to comment

Hallo mrphlox,

 

die Frage warum man den Start des DVBViewer bei Aufnahmen durch den RS verhindern sollte kann ich bei der heutigen Leistung der Rechner natürlich nur schwer begründen. Ich versuche es mal mit dem Resourcenverbrauch und der Abwärme des Rechner.

Man stelle sich vor, der HTPC steht in einer relativ kleinen Nische einer Schrankwand. Er erzeugt bei der Aufzeichnung und gleichzeitiger (ungenutzter) Livewiedergabe vor "rechenintensiven" Sendern eine schon enorme Abwärme. Diese treibt die Drehzahl der Lüfter nach oben und damit die Rechnerlautstärke (Ja ist mir schon klar, ist nicht schlimm, sitz ja keiner davor). Aber diese Wärme verkürzt auf jeden Fall die Lebensdauer der verbauten ELKO's! Der Resourcenverbrauch des DVBViewer ist sehr abhängig vom verwendeten codec und Renderer und eben nicht zu vernachlässigen. Es kann auch nicht schaden, wenn der Rechner nicht an seiner Leistungsgrenze arbeitet. So hat man etwas Reserven für automatisch startende Prozesse, ohne Aufzeichnungsfehler durch fehlende Frames zu haben.

Link to comment

[...] Leider habe ich auch nach etlichen Tests nicht herausfinden können warum EG manchmal nach dem Standby hängt, es manchmal aber auch problemlos klappt. [...]

Dein AutoIt-Script in Ehren, aber es ist definitiv nur zweite Wahl. Dass deine Umgebung nach Resume immer wieder hängt, ist nicht normal. An deiner Stelle würde ich alles daran setzen, die Ursache zu finden. Z.B. EG, DVBViewer und SuspendGhost from scratch neu installieren; erst wenn alles 100% läuft, weitere Plugins hinzufügen etc.

Link to comment

[...]Er erzeugt bei der Aufzeichnung und gleichzeitiger (ungenutzter) Livewiedergabe vor "rechenintensiven" Sendern eine schon enorme Abwärme. [...]

Alles klar - vielleicht steht der Rechner etwas suboptimal ;) - aber vorgegebene Realitäten verhindern halt manchmal die Ideallösung, so ist das nun mal, kann ich verstehen.

 

In dem Fall empfehle ich dir, DVBViewer-Autostart auf 'False' zu setzen:

# If True, DVBViewer will automatically start after system resume
# Default is True
eg.globals.AutoStartDVBViewer       = False

Link to comment

Hallo mrphlox,

 

DVBViewer und SuspendGhost from scratch neu installieren; erst wenn alles 100% läuft, weitere Plugins hinzufügen etc

 

genau das habe ich ja versucht. Erst Eventghost dann sukzessive die Plugins. Lief alles und irgendwann hängte es sich dann doch wieder auf. Es ist ja nicht so dass es bei jedem mal hängt leider nur sehr sporadisch und nach keinem Muster. Und nach 2 Tagen Fehlersuche hatte ich einfach keinen Nerv mehr :-) wahrscheinlich auch einfach zu wenig Kentnisse im EG.

 

Trotzdem nochmals danke für das geniale Skript und Grüße

 

Alex

Link to comment

Hallo nochmals,

 

vielleicht doch noch eine kurze Frage: Ist es denn möglich von außen abzufragen ob EG hängt? Abgesehen davon dass man es neustarten kann wäre es vielleicht ganz für die Fehlersuche. Momentan mache ich es ja über den Umweg ob der Viewer läuft aber zuverlässig ist das natürlich nicht. Vielleicht hat da jemand eine Idee?

 

Grüße

 

Alex

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...