Jump to content
GruberMa

DVBViewer and Recording Service EPG Update Script

Recommended Posts

nuts

In .vbs umbennen und doppelklicken sollte funktionieren. :)

Share this post


Link to post
ZappoB

Wie ich schrieb:

 

...Wenn ich es einfach per doppelklick starte, kommt die Meldung, dass es mit cscript.exe... gestartet werden muss - dieses Programm finde ich aber nicht in der DVBViewer Installation; muss ich das separat herunterladen?...

 

Leider geht es eben nicht (das in .vbs umbenannt werden muss, steht ja jedesmal dabei).

Share this post


Link to post
GruberMa

Leider geht es eben nicht (das in .vbs umbenannt werden muss, steht ja jedesmal dabei).

 

Hallo ZappoB!

 

 

Beim Doppelklich auf die .vbs-Datei kommt nicht nur der Hinweis auf den Start mit wscript statt cscript, sondern auch der passende Befehl: cscript Update-DVBViewer-EPG.vbs /?

 

 

cscript.exe ist Teil von Windows: Eingabeaufforderung öffnen (Start, Ausführen, "cmd"), dann den Befehl "cscript Update-DVBViewer-EPG.vbs /?" eingeben und Enter drücken - das gibt die Hilfe aus.

 

 

cscript.exe samt dem Update Script kann zB automatisiert über den Task Scheduler ("Aufgabenplaner" oder "Aufgabenplanung") gestartet werden.

 

 

 

LG,

 

 

 

GruberMa

Share this post


Link to post
ZappoB

cscript.exe ist Teil von Windows...

DAS war der entscheidende Hinweis!

 

Jetzt habe ich aber noch ein Problem mit der Ausführung: DVBViewer läuft auf dem HTPC ja immer, wie starte ich das Skript, damit es nicht abbricht? /NoUser beendet das Skript ja unmittelbar, wenn es erkennt, dass der DVBViewer läuft, mit einem manuellen "Y" (ohne Parameter) wird das Skript nach dem ersten Kanal beendet, weil es angeblich einen manuellen Senderwechsel erkennt (der aber nicht stattgefunden hat).

 

Außerdem wird der DVBViewer nicht (wie beschrieben) minimiert gestartet, auch wenn die Option Starte im Vollbild nicht aktiviert ist (was eine von mir vermutete Fehlerquelle war).

Share this post


Link to post
GruberMa

DVBViewer wird nur dann minimiert, wenn die Option NoUser bzw. NoUserInteraction übergeben wird und der DVBViewer nicht läuft (siehe auch entsprechender Hilfetext).

 

Minimiert wird der DVBViewer nachdem der Task "Warten auf DVBViewer" beendet ist, der Standardwert liegt hierfür bei 30 Sekunden.

 

Die Erkennung eines manuellen Kanalwechsels gibt es nur, wenn die Option NoUser bzw. NoUserInteraction nicht übergeben wurde - hier war tatsächlich ein Fehler, der in der angehängten Version bei mir nicht mehr auftritt.

 

Danke an ZappoB für den Hinweis!

 

 

 

 

 

Auf "Update-DVBViewer-EPG.vbs" umbenennen.

 

 

 

 

Share this post


Link to post
ZappoB

Danke für die Fehlerbereinigung, es bleibt aber die Frage, wie man das Skript automatisiert starten kann, WENN der DVBViewer permanent läuft. Hier wäre eine Option mit NoUserYes hilfreich...

Share this post


Link to post
GruberMa

Danke für die Fehlerbereinigung, es bleibt aber die Frage, wie man das Skript automatisiert starten kann, WENN der DVBViewer permanent läuft. Hier wäre eine Option mit NoUserYes hilfreich...

 

 

Was spricht gegen einen Start des Scripts mit allen notwendigen Parametern, aber ohne "NoUser"?

 

 

 

Das Script schaltet dann jeden Transponder durch und man kann trotzdem jederzeit manuell umschalten - das Script stoppt dann einfach. Eine Tonbelästigung gibt es nicht, weil das Script den DVBViewer auf lautlos stellt.

Share this post


Link to post
ZappoB

Entschuldigt, aber wenn ich NoUser verwende, muss doch per manuellem "Y" der Start bestätigt werden, wenn der DVBViewer schon läuft - und bislang habe ich keinen Parameter gefunden, der dies umgehen würde. Das wiederum verhindert eine automatisierte Abarbeitung des Skripts.

 

BTW: Das Minimieren des Fensters geht nicht mehr mit dem Parameter 16382, wenn EventGhost läuft - ist wohl ein bekannter Fehler, keiner weiß wieso...

Edited by ZappoB

Share this post


Link to post
GruberMa

Entschuldigt, aber wenn ich NoUser verwende, muss doch per manuellem "Y" der Start bestätigt werden, wenn der DVBViewer schon läuft - und bislang habe ich keinen Parameter gefunden, der dies umgehen würde. Das wiederum verhindert eine automatisierte Abarbeitung des Skripts.

 

 

 

Ab sofort ist die aktuelle Version des EPG Update Script immer auf der ersten Seite dieses Threads zu finden: http://www.DVBViewer.tv/forum/topic/41624-weiterentwicklung-epg-update-script/page__view__findpost__p__305321

 

 

 

Die aktuelle Beta-Version "2011-07-13 08:30 BETA" enthält den neuen Parameter /NoUserYes, der deine Anforderung erfüllen sollte.

 

 

'.) New: Parameter /NoUserYes.

'.) Solved: Script differentiates between manually activated timeshift and the DVBViewer setting Automatic TimeShift. If timeshift is started manually, the script exits.

Share this post


Link to post
ZappoB

Arbeitet wie erhofft - Danke! :)

Share this post


Link to post
Siggi0904

Hallo GruberMa,

 

schön, dass du an dem Script weiterarbeitest. Es erfüllt alle meine Wünsche.

 

Ich habe zwar manchmal das Gefühl, dass nicht für alle meine Favoriten (so ist das Tool eingestellt) die Daten aktualisiert werden. Ich weiß aktuell noch nicht woran das liegt, muss evtl. der ganze Transponder geöffnet werden?

 

Anderes Thema:

 

Ich habe die aktuelle Beta eingespielt und musste beim ersten Startversuch festtellen, das das Tool nicht mehr arbeiten wollte. Die Console zeigt aber schnell den Fehler. Du hast das Startverzeichnis für die DVBViewer.exe in die vbs Datei hardcodiert. Kannst du das über die ini konfigurierbar machen, oder besser automatisch ermitteln?

 

Dank dir für die Arbeit.

Share this post


Link to post
GruberMa

Ich habe zwar manchmal das Gefühl, dass nicht für alle meine Favoriten (so ist das Tool eingestellt) die Daten aktualisiert werden. Ich weiß aktuell noch nicht woran das liegt, muss evtl. der ganze Transponder geöffnet werden?

 

Lösche vor Ausführung des Update Script mal deine epg.dat, dann kannst du mit SIcherheit sagen, ob EPG-Einträge fehlen oder nicht. Sollten welche fehlen, kannst du die Zeit pro Transponder höher stellen. Ob das Öffnen des gesamten Transponders Einfluss auf das EPG hat, kann ich leider nicht sagen.

 

 

 

Du hast das Startverzeichnis für die DVBViewer.exe in die vbs Datei hardcodiert. Kannst du das über die ini konfigurierbar machen, oder besser automatisch ermitteln?<br sab="552">

 

Ich kenne derzeit keinen Weg, die .exe automatisch finden zu lassen. Vor allem bei mehreren Installationen ist das wahrscheinlich sowieso ein Problem. Ich werde in der nächsten Version die Konfiguration über das ini-File vorsehen.

Share this post


Link to post
ZappoB

Evtl. wäre ein relativer Pfed besser, z. B. ..\DVBViewer.exe und die Installationsempfehlung, das Skript im Verzeichnis Scripts abzulegen, was auch sinnvoll ist. Als Fehlertoleranz könnte man noch mit if exists (ich sag das jetzt mal in Batch ;) ) abfragen, ob der DVBViewer zu finden ist und bei einem Fehler die entsprechende Meldung ausgeben: "Bitte das Skript im Ordner Scripts ablegen..." (blabla).

Share this post


Link to post
nuts

So könnt ihr den Pfad zur DVBViewer.exe rausfinden:

 

Func _Get_DVBV_Path($fullpath = False)
; nuts (www.autoit.de)
;
;$fullpath: false => return DVBViewer directory
;           true =>  return  full path of DVBViewer.exe
;
;@error; 1 => path not found
Local $path = RegRead('HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\DVBViewer Pro_is1', 'Inno Setup: App Path')
If Not FileExists($path) Then $path = RegRead('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\DVBViewer Pro_is1', 'Inno Setup: App Path')
If Not FileExists($path) Then Return SetError(1, 0, 0)
Switch $fullpath
	Case False
		Return $path
	Case True
		$path &= '\DVBViewer.exe'
		If Not FileExists($path) Then Return SetError(1, 0, 0)
		Return $path
EndSwitch
#cs
Beschreibung laut Lars
HKLM + Software\Microsoft\Windows\CurrentVersion\Uninstall\DVBViewer Pro_is1' -> 'Inno Setup: App Path' oder
HKCU + Software\Microsoft\Windows\CurrentVersion\Uninstall\DVBViewer Pro_is1' -> 'Inno Setup: App Path' oder
indem man den registry zweig der registrierten COM klasse des DVBCOMServers abfragt und daraus den pfad ermittelt
#ce
EndFunc   ;==>_Get_DVBV_Path

Share this post


Link to post
Siggi0904

Hallo euch alle,

 

ja das Script im DVBViewer Ordner Scripts abzulegen ist die beste Lösung. So habe ich es auch. Ich starte dann eine BAT Datei mit der ini Datei als Parameter. Diese Batch Datei liegt im Root des DVBViewer Ordners.

 

Den Vorschlag, den Installationsort aus der Registry zu lesen hatte ich gestern GruberMa auch schon per PN gegeben, er meinte aber, dass dies Probleme bei mehrfachinstallationen haben könnte. Ich kann mir es aber nicht vorstellen, dass jemand den DVBViewer mehrfach installiert. Geht das überhaupt? Da hakt es dann doch am COM-Service, oder?

 

Die Pfade relativ zu lesen ist da auch nicht schlecht.

Share this post


Link to post
GruberMa

Ich werde noch heute eine neue Version des Scripts veröffentlichen, die bei nicht oder falsch gesetztem Pfad zum DVBViewer die Registry zur Suche nutzt. Standardmässig wird der Pfad im Script und in der ini leer sein.

Share this post


Link to post
Jägermeister

Moin auch,

 

das ist ein sehr nützliches Script. Erstmal danke dafär. Es läuft gut auf meinem Client-PC (Vista Home x64 auf zwei Unicast-Devices aufsetzend). Jedoch setze ich den Recording Service (1.9.0.3) auf meinem Server ein (XP x86 SP3, DVBViewer Pro 4.8.1 ist dort ebenfalls drauf installiert für alle User) und möchte das Script dort lieber einsetzen, als auf dem Client. Der Client läuft nämlich nicht Tag und Nacht.

 

Das Script liegt in "c:\programme\DVBViewer\scripts". Wenn ich es nun manuell auf dem Server starte, wird DVBViewer.EXE nicht gefunden und ich kriege folgende Meldung zurück:

15:50:52 ***** Start *****
15:50:52 Script version: 2011-07-24 14:00
15:50:52 Script start date: 31.07.2011
15:50:52 OS is <=XP or Script runs UAC elevated.
15:50:52 DVBViewerExecutablePath not set, using registry to find DVBViewer.
15:50:52 Path to DVBViewer not found in registry, exiting.
15:50:52 ***** End *****

 

Im VBS finde ich die Suche in der Registry ca. Zeile 510ff. Es sucht bei 64-bit-Versionen von Windows in HKLM oder HKCU software\wow6432node... bei 32-bit-Versionen jedoch nur in HKCU und nicht in HKLM. Ist das beabsichtigt? Auf meinem Server befindet sich nämlich der uninstall-Zweig nur in HKLM\software...

 

Kann mir hier jemand helfen?

-----

Gruß

Mike

Share this post


Link to post
GruberMa

Im VBS finde ich die Suche in der Registry ca. Zeile 510ff. Es sucht bei 64-bit-Versionen von Windows in HKLM oder HKCU software\wow6432node... bei 32-bit-Versionen jedoch nur in HKCU und nicht in HKLM. Ist das beabsichtigt? Auf meinem Server befindet sich nämlich der uninstall-Zweig nur in HKLM\software...

 

 

 

Ein Registry-Pfad war im Script falsch gesetzt, der Fehler ist in der neuen Version "2011-07-31 18:30" behoben.

Share this post


Link to post
Jägermeister

Huhu GruberMa,

 

WOW! Das war eine unheimlich schnelle Reaktion :thumbsup:

Ich habe deine überarbeitete Version grade ausprobiert. Leider findet das Script meine Installation immer noch nicht. Selbst, wenn ich den Pfad fest vorgebe (in der sample.ini oder im VB-Script selbst). Die Meldung bleibt die Selbe. Ich bin eher in PHP zu Hause und kenne mich mit VBS nicht so gut aus.

 

1. Besteht die Möglichkeit für mich, die Suche nach dem Pfad zu debuggen? Ich denke da z.B. an irgendwelche Print/Echo-Ausgaben auf der Konsole.

2. Macht VBS bei der Suche Unterschiede in Groß-/Klein-Schreibung?

 

Herzlichst

Mike

 

PS: Mit Pfadangabe in der sampe.ini und entsprechendem Aufruf erhalte ich folgende Meldungen:

C:\Programme\DVBViewer\Scripts>cscript Update-DVBViewer-EPG.vbs /ini:sample.ini
Microsoft (R) Windows Script Host, Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

19:19:36 ***** Start *****
19:19:36 Script version: 2011-07-31 18:30
19:19:36 Script start date: 31.07.2011
19:19:36 Argument: /ini:sample.ini
19:19:37 OS is <=XP or Script runs UAC elevated.
19:19:37 Applying settings from ini file.
19:19:37 DVBViewerExecutablePath set to wrong path, using registry to find DVBVi
ewer.
19:19:37 Path to DVBViewer not found in registry, exiting.
19:19:37 ***** End *****

Edited by Jägermeister

Share this post


Link to post
GruberMa

Leider findet das Script meine Installation immer noch nicht. Selbst, wenn ich den Pfad fest vorgebe (in der sample.ini oder im VB-Script selbst).

 

 

 

 

Der Fehler ist gefunden und ab Version "2011-07-31 2000" behoben.

Share this post


Link to post
Siggi0904

Hallo GruberMa,

 

schön, dass es hier weiter geht.

 

Ich habe die letzte Version getestet und bei mir wollte er die exe nicht finden. Bei mir ist der Eintrag für die exe leer, sodass er in der Registry suchen soll. Leider hatte das nicht funktioniert.

 

Ich habe mir die vbs mal angesehen und entsprechend geändert. Es betrifft den Part ab Zeile 525.

So funktioniert es dann bei mir richtig.

 

if DVBViewerExecutablePath="" or not DVBViewerExeFileObject.FileExists(DVBViewerExecutablePath) then
on error resume next
DVBViewerExecutablePathTemp=WshShell.RegRead("HKLM\software\wow6432node\microsoft\windows\currentversion\uninstall\DVBViewer pro_is1\inno setup: app path")
if err.number <>0 and (DVBViewerExecutablePathTemp="" or DVBViewerExecutablePathTemp="0") then 
	DVBViewerExecutablePathTemp=WshShell.RegRead("HKCU\software\wow6432node\microsoft\windows\currentversion\uninstall\DVBViewer pro_is1\inno setup: app path")
end if
if err.number <>0 and (DVBViewerExecutablePathTemp="" or DVBViewerExecutablePathTemp="0") then 
	DVBViewerExecutablePathTemp=WshShell.RegRead("HKLM\software\microsoft\windows\currentversion\uninstall\DVBViewer pro_is1\inno setup: app path")
end if
if err.number <>0 and (DVBViewerExecutablePathTemp="" or DVBViewerExecutablePathTemp="0") then 
	DVBViewerExecutablePathTemp=WshShell.RegRead("HKCU\software\microsoft\windows\currentversion\uninstall\DVBViewer pro_is1\inno setup: app path")
end if
if err.number <>0 and (DVBViewerExecutablePathTemp="" or DVBViewerExecutablePathTemp="0") then 
	DVBViewerExecutablePathTemp=""
	err.clear
end if
on error goto 0

If DVBViewerExecutablePathTemp="" then
	LogMsg("Path to DVBViewer not found in registry, exiting.")
	LogMsg("***** End *****")
	wscript.quit 1
else
	DVBViewerExecutablePath=DVBViewerExecutablePathTemp & "\DVBViewer.exe"
end if
end if

 

Vielleicht kannst du das ja verwenden.

 

Andere Frage: Wenn du das Tool übersetzen wollen würdest, wie würdest du es machen?

Wenn du nämlich keine Zeit dafür hast, würde ich mich dem annehmen. Evtl. kannst du ja den Rumpf zur Übersetzung einbauen und ich stricke den Rest fertig.

 

Bis dann.

Share this post


Link to post
GruberMa

Ich habe die letzte Version getestet und bei mir wollte er die exe nicht finden. Bei mir ist der Eintrag für die exe leer, sodass er in der Registry suchen soll. Leider hatte das nicht funktioniert.

 

Ich habe mir die vbs mal angesehen und entsprechend geändert. Es betrifft den Part ab Zeile 525.

So funktioniert es dann bei mir richtig.

 

Danke, dein Code hat mich auf die richtige Fährte gebracht - der Fehlerspeicher innerhalb des Registry-Abfrage-Zweigs wurde nie gelöscht, sondern weitergeführt. Das Problem ist ab "2011-08-01 20:00" behoben.

 

 

Andere Frage: Wenn du das Tool übersetzen wollen würdest, wie würdest du es machen?

Wenn du nämlich keine Zeit dafür hast, würde ich mich dem annehmen. Evtl. kannst du ja den Rumpf zur Übersetzung einbauen und ich stricke den Rest fertig.

 

Ich denke über eine Lokalisierung nach, allerdings hat das für mich derzeit keine hohe Prioriät.

Share this post


Link to post
GruberMa

Ich denke über eine Lokalisierung nach.

 

 

 

AKTUELLE TEST-VERSION / CURRENT TEST VERSION

'########## New/Changed in "2011-08-12 21:00" ##########

'.) New: Script output can bow be set do different languages by using language files.

'.) New: Parameter /LanguageFile (only works from the command line).

'.) New: Added files en.txt and de.txt.

 

 

Sie wollen sich beteiligen und eine zusätzliche Sprachdatei zur Verfügung stellen? Bitte melden Sie sich bei mir.

You want to support by providing an additional translation file? Please contact me.

 

 

 

Download über Seite 1 dieses Themas.

Download via page 1 of this thread.

Edited by GruberMa

Share this post


Link to post
Siggi0904

Hi GruberMa,

 

coole Sache, dass du die Sprachdateien angegangen bist.

 

Wie muss ich den Parameter angeben? Ich habe es so:

 

cscript.exe C:\DVBViewer\Scripts\Update-DVBViewer-EPG.vbs /UseIniFile:C:\DVBViewer\Scripts\Update-DVBViewer-EPG.ini /LanguageFile="de.txt"

 

und da kommt als Fehler:

 

C:\DVBViewer\Scripts\Update-DVBViewer-EPG.vbs(164, 4) Laufzeitfehler in Microsoft VBScript: Index außerhalb des gültigen Bereichs: '[number: 1]'

 

Dank dir.

Share this post


Link to post
GruberMa

cscript.exe C:\DVBViewer\Scripts\Update-DVBViewer-EPG.vbs /UseIniFile:C:\DVBViewer\Scripts\Update-DVBViewer-EPG.ini /LanguageFile="de.txt"

 

 

Bitte die Parameter so übergeben, wie sie in der Hilfe beschrieben sind. Korrekt ist /LanguageFile:de.txt, analog zu /UseIniFile:abc.ini.

Edited by GruberMa

Share this post


Link to post
Faust

Hallo!

Die Idee für dieses Script ist Super und genau das was ich suche, aber ich bekomme das Script nicht zum laufen.

 

Das Starten ohne Optionen funktioniert zwar aber dann durchläuft der DVBViewer alle 55 Transponder. Das dauert zu lange und ist unnötig, weil ich ausschließlich die Favoritensender sehe.

 

1. Wenn ich mit " /IncludeFavoriteCategories /IncludeFavorites" starte dann passiert nichts! (Log im anhang)

Das Script durchläuft zwar alle Sender, DVBViewer wechselt aber zu keinem Sender und das Script beendet sich nach 1 min.

Müssen die Favoriten für dieses Script gesondert markiert werden, oder reicht es wenn man im DVBViewer die Favoritenliste erstellt?

 

2. (eigentlich schon ein Bug und grob fahrlässige Programmierung) Das Script endet per default mit einem Hybernate Modus !!!

 

Ich habe Bauklötze gestaunt, als ich das Script das erste mal gestartet habe und dann plötzlich der Bildschirm schwarz wurde.

Ich musste den Rechner Hardreseten weil das Hybernating auf meiner Hardware nicht so recht funktionieren will. Außerdem gingen dabei ein paar geöffnete Dateien verloren. Zu meinem Glück nichts wichtiges...

 

Bitte per default KEINE Aktion nach dem Script ende! ARGH

 

 

 

mfg

Update-DVBViewer-EPG-1favoriten.log

Share this post


Link to post
GruberMa

1. Wenn ich mit " /IncludeFavoriteCategories /IncludeFavorites" starte dann passiert nichts! (Log im anhang)

Das Script durchläuft zwar alle Sender, DVBViewer wechselt aber zu keinem Sender und das Script beendet sich nach 1 min.

Müssen die Favoriten für dieses Script gesondert markiert werden, oder reicht es wenn man im DVBViewer die Favoritenliste erstellt?

 

 

Die Option IncludeFavoriteCategories wurde dem Script zwar übergeben, es wurden aber keine Kategorien gesetzt - sIncludeCat ist leer, was die selbe Auswirkung hat, als wäre IncludeFavoriteCategories gar nicht übergeben (das hat keine Auswirkungen auf IncludeFavorites).

 

Das Script läuft mit Admin-Rechten oder das Betriebssystem ist XP oder kleiner. Läuft der DVBViewer normalerweise auch so bzw. sind Sender in der Favoritenliste wenn der DVBViewer mit administrativen Rechten gestartet wird? Das Script und der DVBViewer müssen mit denselben Rechten laufen, damit die benutzte COM-Schnittstellte korrekt funktioniert.

 

Die von dir benutzte Script-Version mit den von dir beschriebenen Parametern funktioniert bei mir tadellos (Script und DVBViewer ohne UAC gestartet).

 

Beende einmal den DVBViewer, führe das Script ohne UAC aus und lass das Script den DVBViewer starten - funktioniert es dann?

 

 

 

 

2. (eigentlich schon ein Bug und grob fahrlässige Programmierung) Das Script endet per default mit einem Hybernate Modus !!!

 

 

Die Option ist im Script dokumentiert und kann dort auch geändert werden:

'How should DVBViewer be ended (Hibernate=12323, Standby=12324, Close DVBViewer=12326)?

'Default: 12323

ShutDownMode=12323

 

 

Generell empfehle ich den Einsatz einer ini-Datei, da diese bequemer zu konfigurieren ist.

Share this post


Link to post
Faust

danke für deine Ausführung.

 

Bevor ich das Script noch einmal Starte habe ich noch ein paar Fragen:

 

- Wird die sample.ini von dem Script standardmäßig verwendet und die Einstellungen darin auch berücksichtigt, wenn das Script normal gestartet wird?

 

- In den Einstellungen für "ShutDownMode" fehlt der Befehl "minimize" (minimize to tray) oder "do nothing"

 

Bisher geht ja nur:

'How should DVBViewer be ended (Hibernate=12323, Standby=12324, Close DVBViewer=12326)?

 

Die Option IncludeFavoriteCategories wurde dem Script zwar übergeben, es wurden aber keine Kategorien gesetzt

 

Bedeutet das, dass extra eine Kategorie für die Favoriten zugeteilt werden muss?

 

Also z.B. /IncludeFavoriteCategories=Fav-ordner-meiner-wahl

Wenn ja dann ist dies nicht aus der Help ersichtlich.

Ich bin davon ausgegangen, dass das Script die von DVBViewer "markierten" Favoritensender automatisch erkennt, und man nicht manuell noch eine Liste erstellen muss, welche die Favoritensender enthält.

 

 

Das Script läuft mit Admin-Rechten oder das Betriebssystem ist XP oder kleiner.

Mein OS: Win7 64bit und UAC ist deaktiviert = alles läuft als admin.

Die Popupliste ist sortiert = "Zeige Favoriten"

 

 

Zur ini:

wäre es nicht besser immer eine ini Datei zu verwenden (z.b. default.ini) welche bei scriptstart immer verwendet wird, aber durch eine eigene ini ersetzt werden kann? (/ini=meine.ini)

 

So ähnlich machen das auch andere Tools ;)

 

 

mfg

Share this post


Link to post
GruberMa

Die ini wird nur verwendet, wenn sie dem Script auch übergeben wird, Parameter /UseIniFile.

 

 

Die Nummern für den ShutDownMode kommen aus der actions.ini des DVBViewer, ich glaube, da ist auch ein "minimize" dabei. Wenn du die Option leer läßt, sollte nichts passieren.

 

 

Wenn die Option /IncludeFavorites verwendet wird, genügt es, wenn die Sender in der Favoritenliste sind. Über die Option /IncludeFavoriteCategories können ergänzend zu den Favoriten ganze Kategorien von Sendern (Sender-, nicht Favoritenliste) übergeben werden.

 

 

Möglicherweise funktioniert es bei dir auch nicht, weil die Sender-IDs der Favoriten bei einem Update des DVBViewer geändert, aber nicht automatisch in den Favoriten angepasst wurden - in diesem Thread gibt es eine Lösung von Siggi0904 dazu (http://www.DVBViewer.tv/forum/topic/41624-weiterentwicklung-epg-update-script/page__view__findpost__p__334605).

Edited by GruberMa

Share this post


Link to post
Faust

Ich habe jetzt mal die unveränderte sample.ini verwendet aber dann passiert das hier:

 

 

21:43:09 ***** Start *****

21:43:09 Version des Scripts: 2011-08-19 23:00

21:43:09 Start des Scripts: 22.08.2011

21:43:09 Parameter: /IncludeFavorites

21:43:09 Betriebssystem ist <=XP oder Script läuft mit administrativen Rechten.

21:43:09 DVBViewerExecutablePath nicht gesetzt, suche in der Registry.

21:43:09 Finale Einstellungen in der Form "Variable: Wert" sind:

21:43:09 IncludeFavoriteCategories: Falsch

21:43:09 IncludeFavorites: Wahr

21:43:09 NoUserInteraction: Falsch

21:43:09 NoUserYes: Falsch

21:43:09 TestRun: Falsch

21:43:09 sIncludeCat:

21:43:09 sExcludeCat:

21:43:09 TimeToStartDVBV: 30

21:43:09 TimeToGetData: 20

21:43:09 MinTimeToNextRecord: 60

21:43:09 StartDVBV: Wahr

21:43:09 ShutDownMode: 12323

21:43:09 RunsToKeepInLog: 10

21:43:09 WaitBeforeStart: 30

21:43:09 ReceiveAdditionalEPG: Falsch

21:43:09 TimeToReceiveAdditionalEPG: 600

21:43:09 DVBViewerExecutablePath: "C:\Program Files (x86)\DVBViewer\DVBViewer.exe"

21:43:09 LanguageFile: "de.txt"

21:43:09 10 Durchläufe des Scripts in der Logdatei behalten.

21:43:09 Weniger als 10 Durchläufe in der Logdatei, es wird nichts entfernt.

21:43:09 DVBViewer läuft. Fortfahren? (j/n)

21:43:15 Antwort: j

21:43:15 DVBViewer läuft, Benutzer hat "Fortfahren" gewählt.

21:43:15 Mit COM-Objekt des bereits laufenden DVBViewer verbunden.

21:43:15 Warten auf DVBViewer.

21:43:45 Script endet. Kein DVBViewer COM-Objekt, DVBViewer nimmt auf manuelles Timeshift aktiviert.

21:43:45 Script läuft mit administrativen Rechten, bereits laufender DVBViewer wahrscheinlich nicht.

21:43:45 ***** Ende *****

 

Ist die sample.ini NICHT die defaut.ini ?

Edited by Faust

Share this post


Link to post
GruberMa

Ist die sample.ini NICHT die defaut.ini ?

 

Die sample.ini wird mit dem Script mitgeliefert und wird zB von mir 1:1 verwendet.

 

 

 

Der Abbruch des Scripts ist im Log erklärt:

 

21:43:45 Script endet. Kein DVBViewer COM-Objekt, DVBViewer nimmt auf manuelles Timeshift aktiviert.

 

 

 

Das Script beendet sich aus Sicherheitsgründen bei manuell aktiviertem Timeshift oder wenn eine Aufnahme läuft.

 

 

Vor dem nächsten Lauf:

.) Manuelles Timeshift deaktivieren.

.) IDs der Favoriten aktualisieren (siehe Link in meinem vorigen Post).

.) Sicherstellen, dass in den nächsten Minuten keine Aufnahmen starten (Höchst zulässige Zeit bis zur nächsten Aufnahme ist definierbar.

Share this post


Link to post
GruberMa

AKTUELLE VERSION / CURRENT VERSION

 

##### New/Changed in "2011-11-21 20:00"

.) New: When DVBViewer is in standby mode when the script starts, DVBViewer will be closed (with ShutdownMode option value).

.) Fixed: Sub ScanChannels did not work correctly in parameter constellations.

 

 

Download über Beitrag #1 dieses Threads / Download via post #1 of this thread

Share this post


Link to post
Siggi0904

Hi GruperMa,

 

funktioniert super. Hatte bloß einen Hänger da du den Aufruf der Sprachdatei geändert hast. Im alten Script hatte ich den Parameter "/LanguageFile=C:\DVBViewer\Scripts\de.txt" stehen. Mit dem neuen Script hast du da ein Doppelpunkt aus dem Istgleich gemacht. Darauf muss man erstmal kommen, ich habe mich dusselig gesucht. Aber erst der Blick ins Script gab das Ergebnis.

 

Kannst du das Aufrufverzeichnis des Skripts allein lesen und dann auch den Pfad zur de.txt entsprechend dem Scriptverzeichnis setzen? Dachte da an:

 

scriptname = Wscript.ScriptFullName
scriptpath = fs.getparentfoldername(scriptname)

 

Und dann das vor die de.txt setzen. So muss man nur noch die txt angeben.

 

 

 

Oder gleich weiter gesponnen, könntest du die Betriebssystemsprache als default nehmen?

 

Die Funktion

Function GetLanguageID()
DIM colItems : Set colItems = ObjWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each objItem in colitems
LANGID = objItem.Locale
Next
Select Case LANGID
Case "0409" : LANGLE = "EN" : MsgBox "Language : English (American)"'
Case "0407" : LANGLE = "DE" : MsgBox "Language : Deutsch (Germany)"
Case "040c" : LANGLE = "FR" : MsgBox "Language : French (Standard)"
Case "0c0a" : LANGLE = "ES" : MsgBox "Language : Spain (Modern Sort)"
Case "040a" : LANGLE = "ES" : MsgBox "Language : Spain (Traditional Sort)"
Case "0410" : LANGLE = "IT" : MsgBox "Language : Italian (Standard)"
End Select
End Function

 

sollte das lösen, so ist das alles ein Parameter weniger und man muss nur noch den Pfad zur ini angeben.

Hier gibts eine Tabelle aller zur Verfügung stehenden Sprachen: http://msdn.microsoft.com/en-us/goglobal/bb895996.aspx

 

Wenn doch der Language Parameter angegeben wird oder in der ini ein Parameter für "en" definiert ist könnte man das alles umgehen und dann wieder englisch nehmen.

 

Was denkst du?

Dank dir und hoffe das waren wieder gute Tipps von mir. Das wär eine schöne Lösung.

Edited by Siggi0904

Share this post


Link to post
GruberMa

Hallo Siggi0904!

 

Hatte bloß einen Hänger da du den Aufruf der Sprachdatei geändert hast. Im alten Script hatte ich den Parameter "/LanguageFile=C:\DVBViewer\Scripts\de.txt" stehen. Mit dem neuen Script hast du da ein Doppelpunkt aus dem Istgleich gemacht. Darauf muss man erstmal kommen, ich habe mich dusselig gesucht. Aber erst der Blick ins Script gab das Ergebnis.

 

Kannst du das Aufrufverzeichnis des Skripts allein lesen und dann auch den Pfad zur de.txt entsprechend dem Scriptverzeichnis setzen? Dachte da an:

 

 

Es war immer schon ein Doppelpunkt und kein "="-Zeichen, da gibt es sogar einen Post dazu. Möglicherweise nutzt du eine alte Testversion.

 

Es genügt vollkommen, nur den Namen der Sprachdatei anzugeben, auch ich übergebe keinen Pfad. Voraussetzung ist natürlich, dass das Script von dem Ordner aus ausgeführt wird, in dem es liegt. Der Befehl "cscript c:\scripts\Update-DVBViewer-EPG.vbs /languagefile:de.txt" funktioniert zB von "c:\temp" aus nicht, wenn de.txt nicht in c:\temp liegt. Man muss also entweder zuerst in den Pfad wechseln oder das Ausführungsverzeichnis angeben (in Batch-Files zB über pushd/popd, start /b, bei scheduled tasks "ausführen in" angeben etc.).

 

 

 

Deinen anderen Vorschlag finde ich gut, ich werde mir das bei der nächsten Gelegenheit ansehen (wird aber dauern).

 

 

GruberMa

Share this post


Link to post
GruberMa

##### New/Changed in "2011-12-29 04:00"

.) Fixed: Problems with sIncludeCat and sExcludeCat solved.

.) Changed: sample.ini now uses all channel every day for the EPG update per default.

Share this post


Link to post
Search&Destroy

Könnte mir mal jemand erklären wie genau das funktioniert?

Ich bekomme beim Starten nur:

 

EPG Update Script was not started with cscript.exe, exiting.

 

Help for EPC Update Script:

 

cscript.exe Update-DVBViewer-EPG.vbs /?

Share this post


Link to post
Tjod

Gib einfach im Starmenü bei Ausführen cscript.exe [pfad zum Script]Update-DVBViewer-EPG.vbs ein.

 

Du kannst das auch in einer Verknüpfung machen.

Share this post


Link to post
Search&Destroy

Also wenn ich das so mache, dann blitzt die Kommandozeile kurz auf - quasi ohne Feedback.

DVBViewer reagiert auch nicht.

 

Öffne ich die Kommandozeile selbst und gebe den Befehl ein, kommt:

Microsoft ® Windows Script Host, Version 5.8

Copyright © Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.

 

21:08:02 File "en.txt" not found, setting language file to default value "en.txt

".

21:08:02 Default language file "en.txt" not found, exiting.

 

Die en.txt aus dem Archiv ist allerdings im selben Ordner wie die Update-DVBViewer-EPG.vbs

 

Den Pfad hab ich natürlich in ""-Zeichen gesetzt, da die Ordner Leerzeichen enthalten.

Edited by Search&Destroy

Share this post


Link to post
Tjod

Wenn du das über die Kommentarzeilen macht musst du glaube ich erst in das Verzeichnis wechseln in dem sich Update-DVBViewer-EPG.vbs befindet. Und bei der Verknüpfung müsstest du dann Verzeichnis dann als Arbeitsverzeichnis angeben.

Share this post


Link to post
Search&Destroy

Ahh jetzt hat's geklappt, Danke :)

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