Jump to content

DBOX2 TimerImporter


Recommended Posts

Hallo.

 

Hier mein Tool dass die RECORDING Timer einer DBOX2 (über WebInterface) zum DVBViewer/Recording Service importiert (mit TV-Genial Plugin).

 

Hier ein Auszug der Readme:

DBOX2_TimerImporter v1.0
by pOpY 2010

************************************
**************Info******************
************************************

Deutsch:

	Dieses Tool importiert (mittels TV-Genial Plugin) alle Recording Timer einer DBOX2.

	Unterstützt werden auch tägliche und wöchentliche Wiederholungen der Timer.

	Um eine Gute Zuordnung der Sender von der DBOX zum DVBViewer zu	gewährleisten,
	sollten die Sender GLEICH heißen.

	Wenn das Tool nicht korrekt funktioniert bitte die Log Datei DBOX2_TimerImporter.log
	im Thread geposten.

English:

	With this Tool you could import DBOX2 Recording timers.

	It also supports daily and weekly repeats of the timers.

	The tool compares the Channelnames so that it can map the Channels from the DBOX
	and DVBViewer. So the names SHOULD BE equal.

	If the tool doesnt work correctly you should post the DBOX2_TimerImporter.log
	into the Thread.

************************************
**********Installation**************
************************************

Deutsch:

	Einfach folgende Dateien in den DVBViewer Ordner kopieren (muss der DVBViewer Ordner sein!!):

		DBOX2_TimerImporter.exe
		DBOX2_TimerImporter.ini

	Das TV-Genial Plugin (dvbv_tvg.exe) gibts im Membersbereich. Diese EXE muss auch in den Ordner des DVBViewers

English:

	Just copy the following files into the DVBViewer folder (it must be the DVBViewer Folder!!):

		DBOX2_TimerImporter.exe
		DBOX2_TimerImporter.ini

	The TV-Genial plugin (dvbv_tvg.exe) is available in the members area. This EXE must also be copied to the DVBViewer folder


************************************
****Konfiguration/Configuration*****
************************************

Deutsch:

	Das Tool liest die Einstellungen aus der DBOX2_TimerImporter.ini. Diese muss im gleichen Verzeichniss
	wie die EXE sein.	Es sind folgende Einstellungen möglich:

			DBOX_IP															-				IP Adresse der DBOX2
			TIMEOUT															-				Timeout für timer download von der DBOX2
			RECSVC_IP														-				IP Adresse des Recording Service, wird hier nichts angegeben wird der Lokale DVBViewer verwendet
			RECSVC_PORT													-				WebInterface Port vom Recording Service
			RECSVC_USER													-				Username für Login am Recording Service WebInterface
			RECSVC_PASS													-				Passwort für Login am Recording Service WebInterface
			RECSVC_ACTIONAFTER									-				Aktion nach der Aufnahme (Möglichkeiten Siehe INI)
			DISABLE_LOGGING											-				1 = Logging ausschalten

	Sind alle Einstellungen vorgenommen, kann die "DBOX2_TimerImporter.exe" gestartet werden. Diese sollte nun die
	Timer von der DBOX2 importieren und Löschen.

	Es ist ratsam mittels "Taskplanung" (Windows) die EXE ca. alle 30 Minuten auszuführen.


English:

	The tool reads its settings from file DBOX2_TimerImporter.ini. This file must be in the same folder as the EXE
	The following settings are available:

			DBOX_IP															-				IP adress from the DBOX2
			TIMEOUT															-				timeout for the timer download from the DBOX2
			RECSVC_IP														-				IP adress of the Recording Service, leave it blank to use the local DVBViewer
			RECSVC_PORT													-				webinterface port of the Recording Service
			RECSVC_USER													-				username of the Recording Service WebInterface
			RECSVC_PASS													-				password of the Recording Service WebInterface
			RECSVC_ACTIONAFTER									-				Action after Recording (Available values -> take a look at the INI)
			DISABLE_LOGGING											-				1 = disable logging

	After setting up the INI file, start the file "DBOX2_TimerImporter.exe". Now all timers from DBOX2 should be imported and deleted.

	You should configure a windows task, which executes the EXE every 30 minutes.

*************************************************
********************Changelog********************
*************************************************

v1.0:
* Initial Version


BIG THANKS TO "xarko" fro the DVBViewer forum for his code to read the channels.dat!!!

Sorry for my bad english;-)
Viel Spaß damit
Have fun
pOpY 2010

 

Download v1.0: DBOX2_TimerImporter_v1.0.zip

 

cu

pOpY

Edited by popy
Link to comment
* Gibt es beim TV-Genial Plugin eine Rückmeldung?

Nein, nicht dass ich wüsste - bis auf die mögliche Meldung, dass da prinzipiell was mit den übergebenen Parametern nicht stimmt, bzw. welche fehlen. :bye:

 

Aber was versprichst du dir auch davon?

Was sollte denn als Rückmeldung ausgespuckt werden, was wirklich machbar und effektiv wäre? :(

 

Dafür zu sorgen, dass da ein Timer angelegt wird, ist ja keine große Kunst; du kannst in deinem Skript auch selbst überprüfen ob der RS läuft oder nicht zwecks Timerprogrammierung bzw. diesen starten falls er nicht laufen sollte; bringt dir genau so viel Sicherheit!?

Fallstricke bei der Programmierung gibt es aber auch noch ganz andere, z.B. Überschneidungen bei der Programmierung, Setzen von Aufnahme-Prioritäten, Autosuche Timer, ....

Link to comment

Danke für die Antwort.

 

Mein Script soll mitbekommen ob z.B.: der Übergebene Sendername stimmt. Dieser kommt ja von der DBOX.

Einfach ein Fehlercode wäre super. Mein Script löscht nähmlich den Timer von der DBOX2 wenn er übernommen

wurde, somit wäre es super wenn dieser dann auch richtig angelegt wurde.

 

Überschneidungen usw. sind kein Problem hab 3x DVB-C Karten :-)

 

cu

pOpY

Edited by popy
Link to comment
Mein Script soll mitbekommen ob z.B.: der Übergebene Sendername stimmt.

Also, was die Übereinstimmung bei den Sendernamen betrifft:

Erzeuge doch einfach selber ein Channelmapping innerhalb deines Scripts über den Namen oder die Service-ID der Sender.

Und/oder überprüfe, ob der Name des Senders in der DVBViewer-Kanalliste überhaupt enthalten ist.

 

Ich habe innerhalb des "Tv Genial / Commandline Plugin"-Threads ja schon ein Script hochgeladen, aus dem du auch gerne die notwendigen Zeilen zur Ermittlung der Sendernamen bzw. Service-IDs entnehmen kannst. :(

Hier nochmal ein Auszug, der dir die entsprechenden Arrays anzeigt:

Sendernamen_und_Service_PIDs_anzeigen.zip

Link to comment
So kann ich wenigstens selbst prüfen ob der Sender anhand des Namens vorhanden ist.

Musst halt nur drauf achten, dass Groß-/Kleinschreibung bei der Überprüfung mit berücksichtigt werden muss (entsprechendes Flag setzen); da ist der DVBViewer schon pingelig. :)

Link to comment

Hab ich mit "StringLower" schon so implementiert (Danke für den Tip).

 

Lass das Script bei mir ein paar Tage laufen, wenn alles glatt geht poste ich es.

 

Danke erstmal

pOpY

Link to comment
Hab ich mit "StringLower" schon so implementiert (Danke für den Tip).

Was machst du da mit "StringLower"? ;)

Sieht mir nicht nach einer guten Idee aus. :)

Nicht AutoIt ist pingelig bezüglich der Namen sondern der DVBViewer!

 

Der Sendername muss exakt übereinstimmen, z.B. bei der Funktion:

 

StringCompare ( "string1", "string2" [, casesense] )

 

sollte casesense auf 1 gesetzt werden.

 

 

Oder anderes Beispiel:

 

_ArraySearch(Const ByRef $avArray, $vValue[, $iStart = 0[, $iEnd = 0[, $iCase = 0[, $iPartial = 0[, $iForward = 1[, $iSubItem = 0]]]]]])

 

$iCase [optional] If set to 1, search is case sensitive

Link to comment

Kein Angst, ich mach das schon :) danke aber für deine Tipps

 

Habs jetzt so gelöst:

 

				;Suche Channel im Array
					$tmpChan = RemoveSpecialChars($ChannelName)
					$Found = 0
					For $i = 0 to UBound($Array_Data) - 1
						$string = RemoveSpecialChars($Array_Data[$i])

						$instr = StringInStr(StringLower($string), StringLower($tmpChan))
						If $instr Then
					;Found
							$Found = 1
							$ChannelName = $Array_Data[$i]
							if $DISABLE_LOGGING = "0" then FileWriteLine($file, "Channel: '" & $ChannelName & "' found in channels.dat")								
							if $DISABLE_LOGGING = "0" then FileWriteLine($file, "name: '" & $Array_Data[$i] & "' - SID: '" & $Array_Service_PID[$i] & "'")								
							ExitLoop
						EndIf

					Next

 

cu pOpY

Edited by popy
Link to comment

Aha, die Verwendung von "StringLower" in Verbindung mit einer Vergleichsfunktion ist in diesem Zusammenhang natürlich ok. o:)

Aber als Antwort auf meine Bemerkung "Musst halt nur drauf achten, dass Groß-/Kleinschreibung bei der Überprüfung mit berücksichtigt werden muss" hat sich das schon etwas seltsam angehört. Nicht, dass du da versehentlich nachher die nicht ganz identischen Sendernamen aus der DBOX2-Kanalliste übergeben hättest. :)

 

Ich sehe schon, du willst auch nicht einen absolut gleichen Sendernamen als Voraussetzung für eine Übereinstimmung nehmen. "RemoveSpecialChars" ist natürlich auch ganz sinnvoll; sowas ähnliches hatte ich auch in meinem Script eingebaut. Reguläre Ausdrücke sind da ebenfalls ganz gut zu gebrauchen, weißt du ja selber.

 

Ich habe zwar keine DBOX2, aber schön, dass du dein Programm dann auch hier hochladen willst; können andere ja auch Spaß dran haben. ;)

Link to comment

Ein Stückchen Code sagt mehr als tausend Posts :)

 

Die RemoveSpecialChars löscht einfach Div. Chars (wie ! $ _- + usw.) . Somit sollte ein noch besseres Mapping möglich sein.

 

Sicher lade ich dass hoch, sollen doch andere auch von unseren Erungenschafften profitieren ;)

 

Ich, besser gesagt meine Freundin *gg* muss dass noch gut testen und dann lade ich es hoch.

 

cu

pOpY

Edited by popy
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...