Jump to content
mrphlox

SuspendGhost: Steuerung von Standby / Ruhezustand mit EventGhost

Recommended Posts

mrphlox

huch! du warst ja ganz schön fleissig :)

 

was meinst Du mit added value?

ganz banal: welchen Nutzen bringt XBMC? Yet another media player??

das ist eine gute Idee. Kannst Du bitte noch ein Event für 'DVBViewer: IsRunning' einbauen? das benutze ich nämlich auch :)

klar, schon drin. ...ABER: löst es dein Problem? Zwischen Sprungbefehl und Ereignis erzeugen gibt es schon einen fundamentalen Unterschied: Ein Sprungbefehl hat die Option "und kehre nach der Ausführung zurück", das heisst, das aufrufende Macro (XBMC bei dir) kann das Ergebnis des Zielmacros ("DVBViewer: IsRunning") auswerten. Beim Erzeugen und Versenden von Ereignissen ist das nicht möglich; das neue Ereignis wird erst ausgeführt, nachdem das erste Ereignis und das aufgerufene Macro komplett fertig abgearbeitet ist. Am besten siehst du das im Screen-Log. Zusammengefasst kann man sagen: Wenn du ein Ergebnis von einem Macro erwartest (z.B. DVBViewer: IsRunning) kommst du um einen Sprungbefehl (fast) nicht herum. Andere Macro-Aufrufe, z.B. DVBViewer: CloseGraph, können auch mit Ereignissen (Events) aufgerufen werden.

gibt's evtl. auch "wenn erfolgreich, erzeuge Ereignis ..."??

ja, in zwei Schritten: "wenn erfolgreich, springe zu XY" und im Macro XY: "Erzeuge Ereignis"

oder ich habe an einigen Stellen auch: "wenn NICHT erfolgreich, springe zu 'EndOfTheStory'", das heisst das aktuelle Macro wird bei "nicht erfolgreich" vorzeitig beendet und bei "erfolgreich" werden die nachfolgenden Aktionen ausgeführt.

Share this post


Link to post
mrphlox

Problem. Wenn DVBViewer von SG gestartet wird und der letzte Sender zufällig der gleiche ist für den der nächste Timer eingestellt ist, dann bekommt man:

hm, ja, ich seh's, ist ein character encoding Problem. Hat der Sender, der zum Fehlerzeitpunkt in DVBViewer eingestellt war, einen Umlaut oder sonst ein Sonderzeichen im Namen?

Werde das korrigieren, ist ein Fehler im Plugin.

Share this post


Link to post
mrphlox

Debug Version läuft und den Output bekommst Du in ca. 5-10 Minuten :)

 

Edit: und da isses :)

habe mir das mal angeschaut - es ist nicht, wie ich vermutete, ein Integer Overflow. Sondern es passiert etwas anderes, seltsames: Das Windows API iphlpapi.GetIfTable() sollte kontinuierlich bei jedem Aufruf die Anzahl Bytes liefern, die total über ein Nw-Interface versendet / empfangen wurden. Bei deinem Nw-Interface liefert dagegen jeder zweite Aufruf 0! Keine Ahnung, warum. Deshalb stimmen die Durchschnittsberechnungen, die darauf aufbauen, nicht.

-> Ich denke, wenn du den Traffic über das virtuelle Interface abfragen kannst und das soweit funktioniert, dann lassen wir das so.

Share this post


Link to post
test

-> Ich denke, wenn du den Traffic über das virtuelle Interface abfragen kannst und das soweit funktioniert, dann lassen wir das so.

jep, denke ich auch :)

Share this post


Link to post
test

hm, ja, ich seh's, ist ein character encoding Problem. Hat der Sender, der zum Fehlerzeitpunkt in DVBViewer eingestellt war, einen Umlaut oder sonst ein Sonderzeichen im Namen?

jep: WDR Köln (deu) (dort läuft der 'Zimmer frei!' Timer am Sonntag)

Share this post


Link to post
mrphlox

Ich würde mal sagen, daß das nicht direkt was mit dem iMON Plugin zu tun hat, weil ist ja eine HTTP Anfrage. Ich denke, daß der Zustand System.Idle irgendetwas im System und/oder EG macht, daß es beim erneuten Antriggern einige Zeit braucht.

hm, ja, als Optimist würde ich sagen: gut, dass es (wahrscheinlich) nicht im iMON Plugin passiert, den restlichen Code habe ich (solange es die Plugins sind) einigermassen unter Kontrolle.

 

als Pessimist würde ich sagen: Sh*t, das riecht nach Arbeit

:)

 

Aber danke schon mal, werde mir das noch genauer anschauen. Ist zum Glück kein Show-stopper, aber wenn man den auch noch weg brächte, hätte ich selbst auch nichts dagegen.

Share this post


Link to post
test
:) ... Wir nähern uns immer mehr zu perfekt ;)

Share this post


Link to post
mrphlox

Ich habe gestern während des Kinoabends EG mal komplett gestoppt - und ich hatte auch dann wieder sporadisch den Effekt, dass die iMON PAD FB erst beim zweiten oder dritten Druck reagierte.

 

Ich werde den Versuch wiederholen, zur Zeit würde ich sagen:

- die Aussetzer haben nichts mit EG zu tun

- Sie haben auch nichts direkt mit Idle zu tun (während DVBViewer läuft, ist das System nie Idle)

Share this post


Link to post
test

- Sie haben auch nichts direkt mit Idle zu tun (während DVBViewer läuft, ist das System nie Idle)

während der läuft taucht aber trotzdem System.Idle im EG auf ...

Share this post


Link to post
mrphlox

bei mir nicht. Hast du 'Verhindere Bildschirmschoner' in den Optionen abgewählt?

 

Anyway, dass die FB beim ersten Druck nicht reagiert, hat auf meinem System keinen direkten Zusammenhang mit dem Idle Zustand. Aber die Zeit spielt natürlich schon eine Rolle, es passiert ja immer nur dann, wenn man die FB eine Zeit lang nicht benützte.

 

Noch was anderes ist mir auch aufgefallen: Ich schalte den PC ja auch mit der FB ein. Das IR-Signal wird im Hibernate-Zustand direkt von der HW, d.h. ohne einen Treiber etc., verarbeitet. Im Hibernate-Zustand funktioniert die Power-Taste bei mir IMMER auch schon beim ersten Druck. Das nährt meinen Verdacht, dass das Problem vom SoundGraph-Treiber kommt; zumindest ist es ein klares Indiz, dass es ein SW- und nicht ein HW-Problem ist.

Share this post


Link to post
test

bei mir nicht. Hast du 'Verhindere Bildschirmschoner' in den Optionen abgewählt?

grmpf, ja. PEBCAK :>

Share this post


Link to post
masterandy

Ich habe in meinem DVBV Testsystem gerade eine Einblendung ( Evenghost aka Suspend Ghost ) die nicht zu DVB gehört. Ein "Rec" auf einem grauen Kästchen was sich nicht wegblendet. Oder eine Zahl,vermutlich der Kanal wenn er erwacht. Erst wenn ich zappe ist sie weg. Ist das normal?

Und wo stelle ich die Standbyzeiten ein???

Share this post


Link to post
mrphlox

Hallo - und Ja, das ist "normal" :)

 

Der Indikator "Rec" (oben rechts) wird nur während einer unbeaufsichtigten Timeraufnahme angezeigt. Sobald du irgend eine Taste auf der FB drückst (z.B. zappen oder Lautstärke), verschwindet er und das System geht in den interaktiven Modus. Das gleiche gilt für die oben rechts angezeigten Ziffern 5, 4, .. 1 (ein Countdown im Minutentakt), auch diese werden nur im unbeaufsichtigten Modus angezeigt und sind ein Hinweis, wie lange es noch geht, bis DVBViewer geschlossen wird (als Vorbereitung zum automatischen Suspend).

 

Die Frage nach den Standby-Zeiten lässt sich nicht mit einem Satz beantworten, weil es mehrere Timeouts gibt, sie sind -> hier <- beschrieben. Wenn du mir sagst, welchen Timeout du ändern möchtest, kann ich dir sagen, wo.

Share this post


Link to post
mrphlox

grmpf, ja. PEBCAK :>

:D

 

Habe noch ein paar andere Dinge ausprobiert:

- Das Nicht-Reagieren der FB tritt bei mir fast regelmässig beim ersten Druck unmittelbar nach dem Resume auf.

- Ich konnte aber keinen Unterschied ausmachen, ob EG dabei läuft oder nicht.

- Hingegen habe ich gemerkt, dass das Problem verschwindet, wenn ich einen Tick länger auf die Taste drücke, als ich das sonst mache

 

(Und ja, die Batterien habe ich auch mal gewechselt, hat aber rein gar nichts gebracht)

Share this post


Link to post
masterandy

Hallo - und Ja, das ist "normal" :)

 

Der Indikator "Rec" (oben rechts) wird nur während einer unbeaufsichtigten Timeraufnahme angezeigt. Sobald du irgend eine Taste auf der FB drückst (z.B. zappen oder Lautstärke), verschwindet er und das System geht in den interaktiven Modus. Das gleiche gilt für die oben rechts angezeigten Ziffern 5, 4, .. 1 (ein Countdown im Minutentakt), auch diese werden nur im unbeaufsichtigten Modus angezeigt und sind ein Hinweis, wie lange es noch geht, bis DVBViewer geschlossen wird (als Vorbereitung zum automatischen Suspend).

 

Die Frage nach den Standby-Zeiten lässt sich nicht mit einem Satz beantworten, weil es mehrere Timeouts gibt, sie sind -> hier <- beschrieben. Wenn du mir sagst, welchen Timeout du ändern möchtest, kann ich dir sagen, wo.

 

Wie erreiche ich den unbeaufsichtigen Modus? Werden in der letzten Minute oben die Sekunden als countdown angezeigt?

 

Wenn ich deine Erklärung richtig verstanden habe ist der...

1. NonInteractiveModeTimer: Standbytimer mit Countdown. Was darf nicht laufen das anfängt zu laufen, was entspricht einen geschlossenen Graphen?

2. IMSleepTimer: Inaktivitätstimer man vergisst TV aka DVBV auszuschalten. Zeit 2h...wo kann ich die verlängern oder verkürzen?

3. StandbyControl Timer: nur für Streaming und Recordingservicebetrieb ( Netzwerkverkehr Unicast oder Streaming ) ist auch für Remote interessant kann ich in Eventghost einstellen oder sehe ich das falsch?

Share this post


Link to post
mrphlox

Wie erreiche ich den unbeaufsichtigen Modus?

Der 'unbeaufsichtigte Modus' ist das gleiche wie der 'Nicht-Interaktive Modus (NIM)'. Beides sind fürchterlich sperrige Begriffe aber ich habe noch keine besseren gefunden :) Gemeint ist damit, dass der PC unbeaufsichtigt läuft, z.B. weil er eine Timer-Aufnahme macht und keine Benutzerinteraktion stattfindet. Wenn der PC aufwacht, ist er solange im NIM, bis der Anwender die Fernbedienung, Maus oder Tastatur verwendet (= Benutzerinteraktion). Sobald dies geschieht, wechselt der PC in den Interaktiven Modus IM. Als Anwender ist der NIM eigentlich nicht erreichbar.

Werden in der letzten Minute oben die Sekunden als countdown angezeigt?

Probiere es am besten einmal aus (das ist besser als jede Erklärung mit 1000 Worten): PC starten / aufwachen (natürlich bei laufendem EG / SG), Fernbedienung *nicht* benützen, nach 5 Minuten wird der Graph von DVBViewer geschlossen (= schwarzes Bild), nach 2-3 weiteren Minuten geht der PC wieder in den Suspend.

Wenn du genau das gleiche wiederholst, aber die Fernbedienung verwendest, müsstest du ca. 2 Std warten, bis der PC automatisch in den Suspend geht.

-> Genau das ist der zentrale Unterschied von NIM und IM: Im NIM geht der PC sehr schnell in den Suspend, wenn keine Aufnahme läuft. Im IM dagegen sind die Timeouts viel länger, vor allem, wenn DVBViewer läuft.

Wenn ich deine Erklärung richtig verstanden habe ist der...

1. NonInteractiveModeTimer: Standbytimer mit Countdown. Was darf nicht laufen das anfängt zu laufen, was entspricht einen geschlossenen Graphen?

Hm ja, so ungefähr... Der NonInteractiveModeTimer beginnt zu laufen, sobald das System im Nicht-Interaktiven Modus ist, z.B. nach dem Aufwachen. Nach Ablauf des Timers wird der Graph von DVBViewer geschlossen (= schwarzes Bild) und damit eine Voraussetzung für den Automatischen Suspend hergestellt.

2. IMSleepTimer: Inaktivitätstimer man vergisst TV aka DVBV auszuschalten. Zeit 2h...wo kann ich die verlängern oder verkürzen?

Suche das Macro 'Timers > IMSleepTimer'. Doppelclick auf 'Timer: Restart IM SleepTimer'; dort kannst du die Zeit einstellen.

3. StandbyControl Timer: nur für Streaming und Recordingservicebetrieb ( Netzwerkverkehr Unicast oder Streaming ) ist auch für Remote interessant kann ich in Eventghost einstellen oder sehe ich das falsch?

ich verstehe die Frage nicht ganz. Der StandbyControl Timer beginnt in jedem Fall erst zu laufen, wenn *alle* Vorbedingungen für automatischen Suspend erfüllt sind, dazu gehören Netzwerkverkehr und RS Streaming. Was meinst du mit 'Remote'? Edited by mrphlox

Share this post


Link to post
..::Razmataz::..

Hallo

Ich habe ein Problem und zwar plug-in imon im EG nicht zum laufen. Bei mir kommt da immer die Meldung Error Imon nicht gefunden. Was hab ich falsch gemacht. Im Imon plug-in direkt kann ich nichts verstellen ausser zwei Häckchen setzen.

Im Imon Manager hab ich das Häcken drin für Remote freigegeben.

 

Mein System: Imon Ultra Bay, Windows 7 64bit

Share this post


Link to post
..::Razmataz::..

Guten Morgen

 

Ja ist ein Imon Pad.

Habe es die Nacht noch hinbekommen. Muste einfach das neue Imon Plugin nehmen (http://www.eventghost.net/forum/viewtopic.php?f=9&t=2337).

Nun kommen alle FB Befehle im EG an, die Erreignisse heissen anders (iMon_API.Power, iMon_API.*).

 

Aber jetzt werden die Befehle nicht mehr weiter gegeben, an den DVBViewer. Es sieht so aus als ob das Imon Plugin die Befehle vor dem Imon Manager abfängt.

Im Imon Manager werde ja die FB Befehle umgewandelt in in Tastatur Tasten. Also müssten ja zwei Ereignise auftauchen wenn ich eine FB Taste drücke.

Brauch ich da noch ein extra Plugin im EG das die Befehle weiter gibt an den DVBViewer.

Share this post


Link to post
mrphlox

ja genau, das alternative iMON API Plugin hat (gegenüber dem iMON HID Plugin)

- den Vorteil, dass es mit (hoffentlich!) allen iMON Remote Receivers arbeitet, da es über das offizielle, von SoundGraph publizierte API geht

- den (imho grossen) Nachteil, dass es die Events konsumiert, das heisst, andere Applikationen (z.B. DVBViewer) erhalten keine Ereignis-Nachricht, wenn eine Taste gedrückt wird.

 

Du kannst dir also nur entweder eine andere Lösung suchen oder du musst die EG/SG-Config so erweitern, dass die iMON PAD-Tasten DVBViewer-Actions aufrufen. Vielleicht pingst du mal den User v!rus an, er hat glaube ich so was ähnliches.

Share this post


Link to post
mrphlox

Hier nochmals ein kleines Update (Download im 1. Post)

SuspendGhost_1.1.1

 

Änderungen

  • Senderumschaltung während Startup/Resume nur, wenn der Timer innert der nächsten 10 Minuten startet
  • Fix für Graceful Reboot: Anzeige "Aufnahme läuft [...]" war durch andere verdeckt.
  • NetworkDataRateMonitor: Default-Einstellungen geändert: 5000..50000 Byte/sec.
  • DVBViewer-Plugin 2.1.2: Unicode-Problem in GetChannelDetails korrigiert

Share this post


Link to post
..::Razmataz::..

Hab mir jetzt ein Notlösung zusammen gebastel, das dürfte erst mal gehen.

 

Ich habe im Imon Manager Tastatur Kombination (z.B. Shift + A) für die Fb Befehle.

Die Tasten Kombinationen kommen im DVBViewer an, aber beim EG werden keine Ereignise angezeigt.

Gibt es da eine Möglichkeit die Tasten Kombinatonen als Ereignis angezeigt werden.

Wenn ich Tasten auf der Tastatur drücke weden die ja auch angezeigt.

 

Zweiter Lösungsansatz:

Wenn ich das Imon Api Plugin komplett weglasse.

Für das Ereignis Imon.Power, nehme ich das Ereignis DVB.Viewer.Exit.

Für das Imon.* da wird es bisschen schwieriger, aber könnte ja die Meistgenutzen Ereignise nehmen die man brach um den DVBV zu steuern

z.B. DVB.Viewer.OSD.OK, DVB.Viewer.OSD.Down, DVB.Viewer.OSD.Up usw.

 

Könnet das Funktionieren, da bräuchte man garkein Plugin für die FB mehr.

Share this post


Link to post
mrphlox

Gibt es da eine Möglichkeit die Tasten Kombinatonen als Ereignis angezeigt werden.

Wenn ich Tasten auf der Tastatur drücke weden die ja auch angezeigt.

Gemäss dieser Grafik von SoundGraph werden die FB-Tasten auf sehr unterschiedlichen Wegen verarbeitet. Warum ein vom iMON-Manager erzeugtes "Shift-A" vom EG Keyboard-Plugin nicht erkannt wird, kann ich auch nur mutmassen: ich vermute, das EG Plugin ist Listener des HID Devices und ein von der Software (iMON Mgr) erzeugter Key-Event (Shift-A) geht nicht über den HW-Geräte-Treiber und wird daher vom EG-Plugin nicht erkannt.

 

Zweiter Lösungsansatz:

Wenn ich das Imon Api Plugin komplett weglasse.

Für das Ereignis Imon.Power, nehme ich das Ereignis DVB.Viewer.Exit.

Für das Imon.* da wird es bisschen schwieriger, aber könnte ja die Meistgenutzen Ereignise nehmen die man brach um den DVBV zu steuern

z.B. DVB.Viewer.OSD.OK, DVB.Viewer.OSD.Down, DVB.Viewer.OSD.Up usw.

 

Könnet das Funktionieren, da bräuchte man garkein Plugin für die FB mehr.

Zumindest ein cleverer und kreativer Workaround :)

 

Er hat natürlich die Einschränkung, dass die iMON-FB-Ereignisse "vom Rücken durch die Brust ins Auge" durch DVBViewer emuliert werden, d.h. es funktioniert nur, solange DVBViewer tatsächlich läuft. Und willst du wirklich jedesmal, wenn du DVBViewer schliesst, gleichzeitig auch die Kiste runterfahren? Ich brauch meinen HTPC auch noch für ein paar andere Dinge.

Share this post


Link to post
..::Razmataz::..

Ich nutze den HTPC auch für andere Dinge z.B. als Speicher. Das würde ja das Plugin NetworkDataRateMonitor kontrollieren. Wenn man noch andere Dinge dran macht, könnte man ja noch zusätzlich das Ereignis Mouse.LClick oder so für das Ereignis Imon.* mit einfügen.

Man kann ja auch die Programme die öfters genutzt werden mit ins Standby Control einfügen, damit er nicht vorzeitig Herrunterfährt.

 

Mir geht es eigentlich nur darum das ich den Imon Manager wieder nutzen kann, weil dort funktioniert auch Tastenwiederholung.

 

Aber SuspendGhost ist ein super Plugin und funktioniert eigentlich richtig gut. :thumbsup: :thumbsup: :thumbsup:

Edited by ..::Razmataz::..

Share this post


Link to post
epica

Hallo,

 

zum Anfang: Sehr gelungene und interessante Erweiterung, die das Thema HTPC noch einfacher macht!

 

Zur Frage: Der DVBViewer wird ja immer automatisch gestartet, wenn Eventghost/SuspendGhost startet. Genau das passt mir aber nicht in mein Konzept, da ich auf meinem HTPC hauptsächlich nur Aufnahmen via Mediaportal oder XBMC schaue und nebenbei der Recordigservice die Aufnahmen macht. An welcher "Stellschraube" muss ich also in der Config von Eventghost/SuspendGhost drehen, um den automatischen Start des DVB-Viewers zu verhindern? Danke!

Share this post


Link to post
mrphlox

Hallo,

 

zum Anfang: Sehr gelungene und interessante Erweiterung, die das Thema HTPC noch einfacher macht!

 

Zur Frage: Der DVBViewer wird ja immer automatisch gestartet, wenn Eventghost/SuspendGhost startet. Genau das passt mir aber nicht in mein Konzept, da ich auf meinem HTPC hauptsächlich nur Aufnahmen via Mediaportal oder XBMC schaue und nebenbei der Recordigservice die Aufnahmen macht. An welcher "Stellschraube" muss ich also in der Config von Eventghost/SuspendGhost drehen, um den automatischen Start des DVB-Viewers zu verhindern? Danke!

Thx

 

Das geht einfach: Init and Suspend > Initialize > Init Variables. Doppelclick.

Ändere

eg.globals.restartDVBViewer     = True

zu

eg.globals.restartDVBViewer     = False

Share this post


Link to post
mrphlox

Wenn ich das Imon Api Plugin komplett weglasse.

Für das Ereignis Imon.Power, nehme ich das Ereignis DVB.Viewer.Exit.

Dazu hätte ich vlt noch eine bessere Idee: Der Aufruf von

EventGhost.exe -e SuspendRequest

bewirkt in SuspendGhost das gleiche wie die Power-Taste auf der iMON FB.

 

Du könntest also auf dem Desktop eine Verknüpfung anlegen mit Ziel "C:\Program Files\EventGhost\EventGhost.exe" -e SuspendRequest (sowas ist übrigens schon vorbereitet im Ordner 'shortcuts' des SG-Zipfiles). Dieser Verknüpfung kannst du z.B. die Tastenkombination Ctrl-Alt-P zuweisen (Eigenschaften der Verknüpfung aufrufen, den Cursor ins Feld setzen, dann Tastenkonbination Ctrl-Alt-P drücken) und schliesslich im iMON Manager unter "Angepasster Befehl" legst du eine neue Funktion an mit Kürzel Ctrl-Alt-P und weist ihr die Power-Taste auf der FB zu. Hab das mal ausprobiert - es scheint zu funktionieren.

Share this post


Link to post
epica

@ mrphlox

 

Vielen Dank für deine Hilfe und den Hinweis bezüglich des Startvorgangs des DVB-Viewers!

 

Nach einigen Tests habe ich rausgefunden, dass deine Konfiguration - so gut sie auch ist - für meine Bedürfnisse zu komplex und schwer anpassbar ist. Ich habe also die gesamte Konfig gelöscht und nur auf Basis von StandbyControl eine eigene, sehr einfache Konfiguration gebaut.

 

Ziel war es einfach, dass der Recordingservice Aufnahmen macht und dann in den Ruhezustand geht. Sollte aber gleichzeitig Mediaportal laufen, dann soll der Ruhezustand nicht erfolgen. Weiterhin sollte beim Beenden von Mediaportal geprüft werden, ob eventuell gerade eine Aufnahme läuft. Wenn ja, dann soll kein Ruhezustand erfolgen. Wenn nein, dann soll der Ruhezustand erfolgen.

 

Die Konfiguration funktioniert und erfüllt meine Bedürfnisse, ich kämpfe aber mit einem schweren - so vermute ich es - Bug. Dieser Bug macht StandbyControl leider unbenutzbar.

 

Ich will kurz beschreiben, wann der Bug auftritt:

 

Der Recordingservice startet eine Aufnahme (DVBViewerService.StartRecord) und setzt StandbyControl auf "Inhibit Standby". Am Ende aller aktiven Aufnahmen (DVBViewerService.AllActivRecordingsFinished) findet die Prüfung statt, ob Mediaportal (oder ein anderes unter Monitored Process laufendes Programm) noch aktiv ist. Im Anschluss geht es dann je nach Ergebnis der Prüfung weiter mit "Enable Standby" oder "Inhibit Standby".

 

Wenn jetzt ein Doppelklick auf das "StandbyControl-Plugin" erfolgt, dann gibt es die im Screenshot ersichtliche Fehlermeldung und nichts geht mehr und auch Eventghost ist nicht mehr schließbar und kann nur über den Taskmanager abgeschossen werden. Leider tritt die Fehlermeldung aber nicht nur bei einem Doppelklick auf das "StandbyControl-Plugin" auf, sondern auch auch von sich aus nach einer unbestimmten Zeitspanne. Es ist also auch keine Lösung, einfach keinen Doppelklick auf das "StandbyControl-Plugin" zu machen.

 

Ich habe bereits mit unterschiedlichen Versionen von Eventghost und auf verschiedenen Rechnern (Windows 7 und XP) getestet, und das Problem bleibt immer dasselbe. Eventuell kannst du aus der Fehlermeldung einen Grund für dieses Verhalten erkennen und hier einen Lösungsansatz bieten. Bei Bedarf kann ich auch die Konfiguration mit anhängen.

 

Ich wäre dir wirklich sehr dankbar, wenn du einen Blick auf dieses Problem werfen könntest.

 

MfG

 

epica

post-123718-0-42092900-1335009304_thumb.jpg

Share this post


Link to post
mrphlox

Die Konfiguration funktioniert und erfüllt meine Bedürfnisse, ich kämpfe aber mit einem schweren - so vermute ich es - Bug. Dieser Bug macht StandbyControl leider unbenutzbar.

Hallo

 

erst mal sorry für die späte Antwort - ich hatte in den letzten Wochen schlicht keine Zeit, mich diesem Hobby zu widmen.

 

Keine Frage, dein Screenshot sieht nach einem Bug aus. Nur: ich kann ihn hier nicht reproduzieren. Habe sogar deine Config anhand des Screenshots nachgebaut, und das funktioniert hier ohne Probs. Was mich jedoch an deinem Screenshot stutzig macht: Hat der Blocking Counter, den du in Inhibit / Enable Standby verwendest, auch wirklich einen Namen?

 

Wenn ich das bei mir nachbaue, erscheint in der Anzeige nicht nur "Standby Control: Inhibit Standby" (wie bei dir) sondern "Standby Control: Inhibit Standby: <Name des Counters>"

 

Ansonsten müsstest du schon mal deine Config hochladen; ich denke, das Problem steht zumindest in direktem Zusammenhang damit.

 

Noch eine Bemerkung zur SuspendGhost Config: Du hast schon recht, die Config ist komplex, aber sie ist auch raffiniert. Und: man muss die Config nicht verstanden haben, um sie brauchen zu können. Jede andere Software verwendet man ja auch mit Selbstverständlichkeit, ohne den Quellcode zu kennen, geschweige denn verstanden zu haben. Anyway, ich mache hier keine Werbung für das SuspendGhost Projekt; wer SG brauchen will, der kann das gerne tun, die anderen lassen es bleiben :)

Share this post


Link to post
doedelmaus

Hallo mrphlox,

 

ich konnte jetzt mehrmals beobachten das mein Rechner nach einer Aufnahme nicht in der Ruhezustand wechselt. Im Standby Control Plugin ist dann "DVBViewerRecord" noch auf 1. Es scheint so als ob sich RS und EG nicht mehr verstehen. Die Event's "DVBViewer.AllActiveRecordingsFinished" und/oder "DVBViewerService.AllActiveRecordingsFinished" konnte ich dann auch nicht im Log finden. Dieses Verhalten zeigt sich nur selten meistens geht der PC in den Ruhezustand. Sicher funktioniert es nur, wenn ich den Zweig "Record" deaktiviere was aber zu anderen Problemen führt(viele unnötige Events, große Log-Datei).

Ist es möglich da eine Überwachung einzubauen? Hat nochjemand derartige Probleme?

Und noch eine Frage, wenn im Log rot dargestellte Meldungen erscheinen kann man daraus ein Event generieren und wenn ja dann wie?

Ich verwende: Win7 64bit Ultimate, RS 1.9.6.0, SuspendGhost in einer älteren an meine Anforderungen angepasste Version (aufbauend auf V1.0.4), Standby Control Plugin V1.12,DVBViewer V4.9.6.20

Share this post


Link to post
mrphlox

Ich verwende: Win7 64bit Ultimate, RS 1.9.6.0, SuspendGhost in einer älteren an meine Anforderungen angepasste Version (aufbauend auf V1.0.4), Standby Control Plugin V1.12,DVBViewer V4.9.6.20

Hallo

 

ältere und geänderte Versionen von SG kann ich nicht unterstützen, sorry. Bisherige Versuche in diese Richtung schlugen fehl. Siehe z.B. zwei Beiträge weiter oben: nachdem ich mir die Mühe machte, die beschriebene Konfiguration nachzubauen, um den beschriebenen "Fehler" zu reproduzieren, erhielt ich nicht mal eine Antwort...

 

Und noch eine Frage, wenn im Log rot dargestellte Meldungen erscheinen kann man daraus ein Event generieren und wenn ja dann wie?

roter Text im Log bedeutet einen unerwarteten Fehler im Plugin, evtl. in EG selbst. Grundsätzlich sollten in einer funktionierenden Umgebung keine solchen Fehler auftreten. Als Event lässt sich ein Fehler m.W. nicht verwenden, ohne den Plugin-Code (Python) selbst zu modifizieren.

Share this post


Link to post
doedelmaus

Hallo mrphlox,

 

danke für die schnelle Antwort. Natürlich ist es sehr schwer eine Konfiguration nachzubauen. Ich wollte Dich auch nicht zu so einer aufwendigen Fehlersuche animieren. Aus Deiner Antwort schließe ich, Du hast solche Probleme nicht beobachten können.

Edited by doedelmaus

Share this post


Link to post
test

Moin mrphlox :)

 

ist ja sehr ruhig geworden hier ;)

 

Ansich läuft SG bei mir auch ohne Probleme, nur ab und zu (sehr selten, nicht reproduzierbar) startet DVBViewer sofort neu nachdem man Standby gedrückt hat, obwohl er zuvor korrekt beendet wurde. Sieht ein bißchen komisch aus: beendet sich, startet sich, beendet sich und geht dann in den Standby.

 

nunja, wollte ansich nur mal hallo sagen :)

Share this post


Link to post
mrphlox

Moin test :)

 

komme grad aus dem Urlaub zurück

 

Es ist in der Tat im Augenblick hier sehr ruhig – als wären Interesse und Projekt eingeschlafen – weit gefehlt!

 

Seit einer Weile arbeite ich – im Rahmen der verfügbaren Zeit – an einem neuen Release, welcher eine ganze Reihe Verbesserungen und Erweiterungen bringt. Er lief soeben während meines Urlaubs im unbeaufsichtigten Dauertest – works as expected so far :)

 

Werde also demnächst ein hier eine erste Beta hochladen – Beta-Tester sind wie immer willkommen.

 

Was den von dir beschriebenen sporadischen Fehler anbelangt: Bitte erst mal mit dem neuen Release testen, falls es dann auch wieder auftreten sollte, bräuchte ich die Logs (v.a. LogRedirector), um mehr sagen zu können.

Share this post


Link to post
test

sehr schön :) bin schon ganz gespannt.

Share this post


Link to post
mrphlox

Hallo allerseits :)

 

Hier kommt eine erste Vorab-Version für SuspendGhost 1.2.0

 

Ich bin immer wieder mal am austüfteln von neuen Ideen und Funktionen, und so hat sich eine ganze Reihe grösserer und kleinerer Änderungen angesammelt.

 

SuspendGhost 1.2.0_rc1

  • Serienkiller: Mit einer neuen Funktion im DVBViewer Plugin kann man jetzt veraltete Serien-Aufnahmen automatisch löschen. Weiter unten dazu noch mehr.
  • Autostart DVBViewer: Bevor DVBViewer startet (nach Resume) wird neu ein abbrechbarer OSD Countdown angezeigt. Ist sehr praktisch, wenn man den HTPC startet, ohne gleich DVBViewer verwenden zu wollen.
  • Auto Reboot: Nach einer konfigurierbaren Zeit, z.B. nach 7 Tagen, wird statt Standby ein Reboot ausgeführt. Erhöht Stabilität und Zuverlässigkeit – „Reboot tut gut“.
    • DEFAULT: Das Feature ist ausgeschaltet
    • Feature Einschalten: SuspendGhost_1.2.0 > Init and Suspend > SuspendGhost Configuration: Ändere
    •  eg.globals.AutoRebootHours = 0

      zum Beispiel auf

    •  eg.globals.AutoRebootHours = 7*24 

      Mit dieser Einstellung würde nach 7*24 Stunden (d.h. nach 1 Woche) seit dem letzten Reboot erneut ein Reboot anstelle eines Standby’s ausgeführt. Die Zeit des letzten Shutdowns/Reboots wird aus der Windows Registry ausgelesen.

    [*]Auto Restart EventGhost:

    • Beim (neuen) Event ‚DVBViewer.SevereError‘ wird EventGhost neu gestartet und die Konfiguration neu geladen. Der Event ‚DVBViewer.SevereError‘ wird vom DVBViewer Plugin getriggert, wenn z.B. ein unerwarteter Fehler im COM-Interface zu DVBViewer auftritt. In dieser Situation hilft (nach meiner Erfahrung) eigentlich nur noch, DVBViewer und EventGhost neu zu starten.
    • Optional könnte man den Auto Restart EG auch nach Resume einsetzen (das war eine Weile mein Fallback, als ich mit der Stabilität nicht zufrieden war... scheint mir jetzt aber nicht mehr nötig)

    [*]OSD Texte mehrsprachig

    • SuspendGhost goes multilingual: Die OSD Texte werden neu in der in EventGhost eingestellten Sprache angezeigt. Aktuell sind die Texte in DE und EN vorhanden.

    [*]WICHTIG: Neu sind bei Auslieferung von SuspendGhost einige Plugins und der Root-Folder der Konfiguration deaktiviert! Grund: In einer neuen Umgebung kann so erst in Ruhe alles konfiguriert werden; vor allem die Plugin-Einstellungen für DVBViewer müssen stimmen, ansonsten treten zahlreiche sinnlose Fehler auf. Nach der Installation müssen also die Plugins und der Root-Folder manuell aktiviert werden.

 

Erweiterungen / Verbesserungen / Änderungen in den verwendeten Plugins

  • DVBViewer Plugin 3.0.0_rc1
    • Verbesserte Stabilität und verbessertes Fehlerhandling. Vermeidung von ‚dead lock‘ Fehlern.
    • Korrektur des Bugs, dass EG hängt, wenn DVBViewer abschmiert (was zwar äusserst selten passiert, aber z.B. mit AviSynth Filter aus ffmpeg kann man’s provozieren).
    • Neue Action: GetRecordingDetails – Liefert Details zu allen DVBViewer- und RS-Aufnahmen
    • Neue Action: DeleteRecordings – Löscht DVBViewer- und RS-Aufnahmen, zahlreiche Filter-Möglichkeiten

    [*]Neues Plugin ‚EventGhost Application Control‘ 0.1.1

    • Stellt Actions für die EG Programmsteuerung zur Verfügung. Damit kann man z.B. EG aus einem EG-Macro neu starten oder das EG Programmfenster aus einem EG Macro minimieren / wiederherstellen.

    [*]MouseEvent Plugin 1.0.1

    • Bug Fix: Nach längerer Zeit und mehreren Suspend-Resume-Zyklen wurden keine Maus-Events mehr produziert.
    • Bug Fix: Action 'Stop Event Listener' funktionierte nicht richtig

    [*]StandbyControl Plugin 1.13

    • OSD Countdown: Unterstützt Mehrsprachigkeit
    • Kleinere Bug Fixes und Verbesserungen

 

Neue Funktion: Serienkiller (aka „Putzfisch“) :)

Wer im Recording Service Serienaufnahmen programmiert, z.B. tägliche Nachrichten oder eine Sitcom, musste bis anhin immer wieder die alten Aufnahmen von Hand löschen – eine langweilige und wiederkehrende Aufgabe! Mit der neuen Action im DVBViewer Plugin ‚Delete Recordings‘ kann man sehr einfach und komfortabel einen Putzfisch programmieren, der (wenn er regelmässig aufgerufen wird), die alten Aufnahmen löscht. Besonders praktisch: Mit Filterkriterien kann man definieren, dass die zu löschenden Aufnahmen ein Mindestalter haben müssen (z.B. älter als 7 Tage) und gleichzeitig dass z.B. die letzten 3 Aufnahmen in jedem Fall beibehalten werden sollen.

 

Pro Serie, die man so pflegen will, braucht es einen separaten Putzfisch (d.h. eine eigene ‚DeleteRecordings‘ Action). Die Actions werden beim Event ‚DVBViewer.AllRecordingsFinished‘ aufgerufen, d.h. nach Abschluss aller Aufnahmen wird aufgeräumt.

post-92949-0-10172100-1342630955_thumb.png

 

Das wär's für den Moment. Zusammenführen der neuen Config mit einer bestehenden wie weiter vorne beschrieben.

 

EDIT: Attachment entfernt, da obsolet (s.u.)

Edited by mrphlox

Share this post


Link to post
test

Respekt!! Direkt testen nachher :)

Share this post


Link to post
test

Moin mrphlox,

 

habe die neue Version installiert. Bekomme leider folgenden, reproduzierbaren, EG Output nach einem Resume, was ansich nicht weiter tragisch wäre, aber DVBViewer startet sich nicht. Idee?

 

2012-07-18 22:38:33  Error showing OSD
2012-07-18 22:38:33  Traceback (most recent call last) (1572):
2012-07-18 22:38:33  File "C:\Program Files\EventGhost\plugins\StandbyControl\CountDownOSD.py", line 474, in run
2012-07-18 22:38:33  osdFrame.ShowOSD,
2012-07-18 22:38:33  File "wx\_core.pyc", line 14610, in __getattr__
2012-07-18 22:38:33  PyDeadObjectError: The C++ part of the MyOSDFrame object has been deleted, attribute access no longer allowed.
2012-07-18 22:38:33  The C++ part of the MyOSDFrame object has been deleted, attribute access no longer allowed.
2012-07-18 22:38:36  Unknown source: 00010000000000028C

 

anbei die Log Datei die mehr enthält (vor Standby, nach Resume)

EG.txt

Share this post


Link to post
mrphlox

habe die neue Version installiert. Bekomme leider folgenden, reproduzierbaren, EG Output nach einem Resume, was ansich nicht weiter tragisch wäre, aber DVBViewer startet sich nicht. Idee?

 

Moin test! :)

 

werd's mir morgen genauer anschauen, irgendwas ist da schon nicht in Ordnung. Kannst du bitte mehr Log-Output (Log Redirector und debug-Log) attachen, so dass ich sehe, was vorher so lief? Am besten ganzen Log ab System.Resume.

 

Tritt der Fehler auch auf, wenn du EG neu startest?

 

Als Workaround könntest du auch mal die Config so ändern, dass EG einen Restart nach Resume macht: SG > Init and Suspend Events > OnSystemResume: Erzeuge Ereignis 'RestartEventGhost' aktivieren und Springe zu 'Initialize' deaktivieren. Hilft das?

Share this post


Link to post
test

Moin mrphlox,

 

der Workaround funktioniert so wie's scheint.

 

Ich komme leider erst am Samstag Abend / Sonntag dazu die Logs genau zusammen zu stellen, also mit den Fällen wie Auto-Standby wenn DVBViewer läuft, Auto-Standby wenn nicht, Auto-Standby nach Ablauf der Timer, manueller Standby usw. weil sich das alles irgendwie nicht gleich verhält bzw. die gleichen Bugs zeigt. Evtl. findest Du bis dahin ja den Verursacher / das Problem, ansonsten poste ich die Logs dann am Samstag/Sonntag.

Share this post


Link to post

Join the conversation

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

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