Usertimer: Viel hilft viel ...?

Alles - außer Verbesserungsvorschläge - zu JtG hier rein.
Antworten
Nachricht
Autor
newbiestreamer
Einmal-Streamer
Einmal-Streamer
Beiträge: 14
Registriert: Mo 26 Jul 2004, 17:49

Usertimer: Viel hilft viel ...?

#1 Beitrag von newbiestreamer » So 13 Mai 2007, 15:44

Hallo Leute,

ich hab ein Problem mit JtG 0.7.4c:

Da ich seit einiger Zeit vermehrt Probleme mit abstürzenden und nicht mehr ansprechbaren dBoxen habe, habe ich mir nun einen Weg gebaut, wie ich die dBoxen PC-gesteuert ein- und ausschalten kann. Als Frontend für den Schalter agiert ein simples Fenster mit Knöpfen für 'an' und 'aus'. Um das ganze nun mit JtG steuerbar zu machen habe ich entsprechende User-Timer eingetragen (Timer 1: einschalten, Timer 2: ausschalten).
Nun soll JtG diese Aktionen zu bestimmten Zeiten regelmäßig machen. Im Log habe ich schon mehrfach folgende Einträge gefunden:

Code: Alles auswählen

12.05.2007 11:57:03   User Timer 1 beendet 
12.05.2007 11:57:21   User Timer 1 beendet 
12.05.2007 11:57:25   User Timer 1 beendet 
12.05.2007 11:57:32   User Timer 1 beendet 
12.05.2007 11:57:42   User Timer 1 beendet 
12.05.2007 11:57:52   User Timer 1 beendet 
12.05.2007 11:58:02   User Timer 1 beendet 
12.05.2007 11:58:13   User Timer 1 beendet 
12.05.2007 11:58:26   User Timer 1 beendet 
12.05.2007 11:58:32   User Timer 1 beendet 
12.05.2007 11:58:42   User Timer 1 beendet 
12.05.2007 11:58:52   User Timer 1 beendet 
12.05.2007 11:59:02   User Timer 1 beendet 
12.05.2007 11:59:17   User Timer 1 beendet 
12.05.2007 11:59:22   User Timer 1 beendet 
12.05.2007 11:59:34   User Timer 1 beendet 
12.05.2007 11:59:42   User Timer 1 beendet 
12.05.2007 11:59:52   User Timer 1 beendet 
12.05.2007 12:00:06   User Timer 1 beendet 
12.05.2007 12:00:14   User Timer 1 beendet 
12.05.2007 12:00:24   User Timer 1 beendet 
12.05.2007 12:00:33   User Timer 1 beendet 
12.05.2007 12:00:43   User Timer 1 beendet 
12.05.2007 12:00:55   User Timer 1 beendet 
12.05.2007 12:01:05   User Timer 1 beendet 
12.05.2007 12:01:13   User Timer 1 beendet 
12.05.2007 12:01:23   User Timer 1 beendet 
12.05.2007 12:01:33   User Timer 1 beendet 
12.05.2007 12:01:43   User Timer 1 beendet 
12.05.2007 12:01:53   User Timer 1 beendet 
12.05.2007 12:02:03   User Timer 1 beendet 
12.05.2007 12:02:13   User Timer 1 beendet 
12.05.2007 12:02:23   User Timer 1 beendet 
12.05.2007 12:02:33   User Timer 1 beendet 
12.05.2007 12:02:43   User Timer 1 beendet 
12.05.2007 12:02:55   User Timer 1 beendet 
12.05.2007 12:03:03   User Timer 1 beendet 
12.05.2007 12:03:13   User Timer 1 beendet 
12.05.2007 12:03:23   User Timer 1 beendet 
12.05.2007 12:03:36   User Timer 1 beendet 
12.05.2007 12:03:43   User Timer 1 beendet 
12.05.2007 12:03:54   User Timer 1 beendet 
Was solln das ? :( Warum kann JtG den Timer nicht einfach einmal starten und gut ?
Ich habe schon mit verschiedenen Mitteln versucht, diesen Quatsch abzuschalten (Stopzeit=Startzeit, Stopzeit=Startzeit+1min, eine Verzögerung bei der Abarbeitung des Befehls), ohne Erfolg. Ist das ein Bug oder wo kommt das her ? Jemand ne Idee ?

bis denne

newbiestreamer

Benutzeravatar
saggi
u-Grabber Dev
u-Grabber Dev
Beiträge: 1173
Registriert: So 21 Mär 2004, 15:11
Kontaktdaten:

#2 Beitrag von saggi » So 13 Mai 2007, 18:54

Hallo newbiestreamer,
leider weiß ich nicht genau, was Du meinst. Ein gesetzter User-Timer verursacht kein solches Verhalten bei mir. Vielleicht kannst Du etwas genauer erklären, was Du machst, bzw. was Du genau vorhast? Dein Frontend ist ein Programm? Gibt das ein paar Ausgaben zurück, ob es wirklich so oft gestartet wurde?

saggi

MovieGuider aktuelle Version: 0.3.10.6 Anleitung| FilmDB aktuelle Version: 0.1.1.7|u-Grabber aktuelle Version 0.2.7.6

Das Wort heißt Standard ;)

newbiestreamer
Einmal-Streamer
Einmal-Streamer
Beiträge: 14
Registriert: Mo 26 Jul 2004, 17:49

#3 Beitrag von newbiestreamer » So 13 Mai 2007, 21:41

Hallo,

Also der Usertimer soll nur einmal gestartet werden, er steht auch nur einmal in der Liste drin (Dauertimer). Es fällt aber auf, das dieser Timer nach der Ausführung (auch nach mehrmaliger) in der Timerliste nicht nach unten wandert, sondern ganz oben stehen bleibt.

Das Programm, was dahinter steht (eine simple .exe) wurde auch jedesmal, wenn eine entsprechende Meldung im Log auftaucht, gestartet. Da sich diese exe nur durch ein icon im Systray bemerkbar macht (diese simuliert Mausklicks auf die Buttons im Frontend) im dabei der Fokus des Vordergrund-Fensters geändert wird, ist dieser Effekt mehr als nervig.

Das Frontend ist die Software, mit der der verwendete Stromschalter durch einen normalen Menschen gesteuert werden kann. Ich habe ein Bild des Frontends angehängt. Dieses Fenster liegt normalerweise minimiert in der Taskbar und wird beim Aufruf der .exe jedesmal kurz hervorgeholt, der Mausklick auf den Knopf simuliert und dann wieder in den Hintergrund geschickt. Was dann dazu führt, daß das bisherige Fenster aus dem Vordergrund nicht mehr aktiv ist. Stört halt, wenn man gerade z.B. ein e-mail tippt.
Mit ist klar, daß sich dieser Effekt nicht vermeiden läßt (zumindestens einmal nicht), aber damit ließe sich leben. Die 10-12mal, die diese .exe ausgeführt wird, nerven dann aber doch sehr.

Gruß

newbiewstreamer
Dateianhänge
Frontend zum Steuern des Stromschalters für die DBoxen
Frontend zum Steuern des Stromschalters für die DBoxen
DBoxen Frontend.JPG (35.26 KiB) 2247 mal betrachtet

Benutzeravatar
saggi
u-Grabber Dev
u-Grabber Dev
Beiträge: 1173
Registriert: So 21 Mär 2004, 15:11
Kontaktdaten:

#4 Beitrag von saggi » So 13 Mai 2007, 21:46

Hallo,
ich versuche morgen einmal, mehrere Timer anzulegen, um das Verhalten zu simulieren. Heute schon ist es schon etwas spät ;) Bei den ersten Versuchen ist es mir nicht passiert.

saggi

MovieGuider aktuelle Version: 0.3.10.6 Anleitung| FilmDB aktuelle Version: 0.1.1.7|u-Grabber aktuelle Version 0.2.7.6

Das Wort heißt Standard ;)

newbiestreamer
Einmal-Streamer
Einmal-Streamer
Beiträge: 14
Registriert: Mo 26 Jul 2004, 17:49

#5 Beitrag von newbiestreamer » Mo 14 Mai 2007, 8:20

Morgen,

Mir fällt grade noch ein Detail ein, welches eventuell noch wichtig sein könnte:
Mein erster Ansatz war, das Einschalten der DBoxen nicht über einen Usertimer mit Uhrzeit, sondern über einen Usertimer zu starten, der 5 mins vor Aufnahmestart gestartet wird. Es hat sich allerdings herausgestellt, daß dieser 'Aufnahme-Usertimer' sehr unzuverlässig funktioniert hat und etliche Male nicht ausgeführt wurde ( => Aufnahme mangels Box fehlgeschlagen, Dauertimer daraufhin gelöscht :( )
Vor allem wenn man erst mehrere Tage später merkt, daß der Dauertimer weg ist, ist das mehr als ärgerlich. Es bringt ja nix, wenn ich bei jeder Aufnahme daneben sitzen muß um sicherzustellen, daß die Aufnahme klappt ... :(

ns

Benutzeravatar
saggi
u-Grabber Dev
u-Grabber Dev
Beiträge: 1173
Registriert: So 21 Mär 2004, 15:11
Kontaktdaten:

#6 Beitrag von saggi » Mo 14 Mai 2007, 18:53

Hallo,
ich kann das von Dir beschriebene Problem nachvollziehen. JtG scheint für die Dauer des Timers (im Test bei mir eine Minute) das Programm immer wieder neu zu starten. Bei mir hat er es 6 mal geschafft, das Testprogramm, welches sich selbst beendet, wieder zu starten. Lösungsansatz: eine Verzögerung im Programmaufruf selbst über die Dauer des Timers, minimal wohl eine Minute.

Falls Du eine Funktion benötigst, die das erledigt, melde Dich nochmal. Auf die schnelle habe ich nichts passendes gefunden. Im Forum gibt es als Lösungsansatz für eine Verzögerung diesen Vorschlag von Pedant.

saggi

MovieGuider aktuelle Version: 0.3.10.6 Anleitung| FilmDB aktuelle Version: 0.1.1.7|u-Grabber aktuelle Version 0.2.7.6

Das Wort heißt Standard ;)

newbiestreamer
Einmal-Streamer
Einmal-Streamer
Beiträge: 14
Registriert: Mo 26 Jul 2004, 17:49

#7 Beitrag von newbiestreamer » Mo 14 Mai 2007, 20:20

Hallo,
also die Idee mit der Verzögerung hatte ich auch schon. Da die .exe das Compilat eines Skriptes ist, war es kein Problem, einen sleep() einzusetzen. Ich hatte eine Dauer von 70000ms (=70sec) eingesetzt, die auch ablaufen. Allerdings hat dies das Problem selbst nicht gelöst. Obendrein kommt ja noch, daß diese Zeitdauer auch JtG daran hindert, selbst etwas zu unternehmen (er wartet ja noch auf die Beendigung des Timers). Sprich wenn man den Wert zu hoch ansetzt mit dem Sleep führt das dazu, daß man u.U. eine Verzögerung hineinbekommt, die der Aufnahme nicht zuträglich ist.
Der Ansatz von Pedant läuft ja im Grunde auf das gleiche hinaus. Den Befehl sleep gibt es meines Wissens auch auf der Kommandozeile unter WindowsXP, sodaß der Trick mit dem ping imho eigentlich nicht nötig ist.

Aber unabhängig davon, daß Problem ist auf diesem Wege nicht gelöst. Die Anzahl der Usertimer nimmt etwas ab, aber es sind dennoch viele Male.

ns

Benutzeravatar
saggi
u-Grabber Dev
u-Grabber Dev
Beiträge: 1173
Registriert: So 21 Mär 2004, 15:11
Kontaktdaten:

#8 Beitrag von saggi » Sa 26 Mai 2007, 18:37

Hallo newbiestreamer,
das Problem hat mich nicht losgelassen und ich habe jetzt noch folgendes probiert: Startzeit wie gewünscht und keine Ende-Zeit, damit wurde der Timer nur einmal ausgeführt. Vielleicht hilft Dir das weiter.

saggi

MovieGuider aktuelle Version: 0.3.10.6 Anleitung| FilmDB aktuelle Version: 0.1.1.7|u-Grabber aktuelle Version 0.2.7.6

Das Wort heißt Standard ;)

Benutzeravatar
Pedant
admin-c
admin-c
Beiträge: 4287
Registriert: Mo 04 Aug 2003, 16:22
Wohnort: Bad Vilbel
Kontaktdaten:

#9 Beitrag von Pedant » Sa 02 Jun 2007, 12:00

Hallo newbiestreamer,
... Den Befehl sleep gibt es meines Wissens auch auf der Kommandozeile unter WindowsXP...
im Lieferumfang ist er nicht enthalten.

Bei meinen Usertimern gebe ich auch keine Endzeit an und habe mit denen kein Problem. Ich kann aber nicht sagen, ob ich bei Angabe einer Endezeit Probleme hätte.

Wählst Du zuerst bei Timerart den entsprechenden Usertimer, dann [x] Neu und dann [Now], so sind die Felder für Ende und Dauer leer. Das nur als kleiner Tipp zur Eingabeerleichterung.

Falls bei Deinem Programm der Verzicht auf die Angabe einer Endezeit keine Besserung bringt, dann versuch alternativ das Prgramm mit einer Batch zu starten und diese als Usertimer zu verwenden.

@echo off
c:
cd \programme\dein_tool
start c:\programme\dein_tool\deine.exe
exit


Der Gedanke dahinter ist, dass dadurch der eingetragene Usertimer sofort wieder beendet ist, auch wenn deine.exe noch aktiv sein sollte, für Jack ist das Thema dann erledigt.

Zu ping als Wait-Ersatz noch eine Anmerkung:
Mittlerweile finde ich es eleganter diese Syntax zu verwenden:
ping -n 4 localhost > nul
Es wird der localhost, also der eigene Rechner angepingt, was üblicherweise nach <1ms Erfolg hat. Die Angabe -n # weist an, den ping entsprechend oft auszuführen. Das geschieht ganz von alleine im Sekundentakt. Ein Wait von 3 Sekunden erreicht man also mit der Angabe -n 4, da die erste Ausführung <1ms dauert und die verbleibenden drei Wiederholungen 3x1 Sekunde beanspruchen. Insgesamt also 3 Sekunden + 4 x <1ms + Start- und Laufzeit von ping.exe.
Das Anfügen von > nul ist wie üblich optional und dient nur dazu Textausgaben des vorangehenden Befehls zu unterdrücken.

Diese Vorgehensweise hat den Vorteil, dass dabei keine passende IP angegeben werden muss. Die Zeile funktioniert bei jeden Rechner ohne Anpassung und auch ohne funktionierendes Netzwerk. Der einzige Nachteil dabei ist, dass nur ganzzahlige Sekunden angegeben werden können, was aber normalerweise ausreichend sein sollte.

Gruß Frank
Sagem 1xi + HDD Kabel, JtG-Team Image v2.4.6 (19.12.2015), avia600vb028, ucode int., cam_01_02_105D
Coolstream Neo, FW 2.10 (leider kaputt)
Win 10 Pro x64, i7 920, 12 GB, SSD
u-Grabber 0.2.7.6-> TS -> PX 0.91.0.08 -> IfoEdit 0.971 -> ImgBurn 2.5.0.0 -> DVD-R

newbiestreamer
Einmal-Streamer
Einmal-Streamer
Beiträge: 14
Registriert: Mo 26 Jul 2004, 17:49

SOLVED

#10 Beitrag von newbiestreamer » Mo 04 Jun 2007, 6:44

Hallo Leute,

Danke für die Hilfe,
der Tipp mit dem Weglassen der End-Zeit hats gebracht.
Ich habe mich nur als nicht gemeldet, weil ich zuviel anderes zu tun hatte.

Trotzdem nochmal Danke für alle Beteiligungen.

newbiestreamer

Antworten