DMS-Reboot

Hier gibt es ein kleines Tool, welches einen Rechner, auf dem der DVB-Viewer Media Server läuft, neu startet. Aber nur, wenn gerade keine Aufnahme läuft oder der DMS nicht von einem Klienten gebraucht wird. Das macht auch dann Sinn, wenn der DMS Rechner normalerweise im Standby ist. Trotzdem liebt Windows es, regelmäßig neu gestartet zu werden.

Das Programm selbst hat kein GUI und benötigt eigentlich keine Installation. Man kann den im Archiv enthaltenen Ordner einfach irgendwohin entpacken. Die Konfiguration beschränkt sich auf das Anpassen der URL zum DMS. Dazu muss die Datei “DMS-Reboot.ini” in einem Text Editor geöffnet werden und der Standard- Pfad  “localhost:8089” entsprechend geändert werden. Das :8089 ist der verwendete Port, der bei Bedarf angepasst werden muss. In der Regel sollte man localhost nicht ändern müssen, es sei denn, man möchte dieses Tool dazu nutzen, ein Klient- System neu zu starten, abhängig davon, ob der DMS gerade verwendet wird. Dann muss man localhost durch die IP Adresse des DMS- Systems ersetzen.

Benötigt man einen Benutzernamen und ein Passwort für den Zugriff auf den DMS müssen diese in die URL eingetragen werden und zwar in der Form:

user:passwort@localhost:8089

wobei user und passwort natürlich durch den tatsächlichen Benutzername und das tatsächliche Passwort ersetzt werden müssen.

Nun nur noch die .ini abspeichern und das Programm ist einsatzbereit. Wird es aufgerufen und eine Aufnahme läuft gerade, so wartet es, bis die Aufnahme beendet ist. Dazu wird einmal pro Minute der Status des DMS abgefragt. Sobald sich dieser ändert und keine Aufnahme durch den Neustart zerstört werden kann, wird der Neustart nachgeholt.

Wirklich Sinn macht das Ganze aber nur, wenn das Tool regelmäßig automatisch aufgerufen wird. Dazu kann man die Windows Aufgabenplanung verwenden.

Hier legt man eine einfache Aufgabe an, die in dem gewünschten Rhythmus einfach die Datei DMS-Reboot.exe ausführt. Weitere Parameter sind nicht notwendig…

Da es Nachfrage nach einem Konfigurationstool gab, habe ich kurzerhand eines geschrieben. Nun wird das Programm als Installer- Paket angeboten. Nach der völlig gewöhnlichen Installation hat man einen neuen Eintrag im Startmenü, über den man das Konfig- Tool aufrufen kann. Da es eine Aufgabe in die Windows Aufgabenplanung eintragen muss, benötigt es Admin Rechte. Bei Bedarf wird nach den entsprechenden Daten gefragt, wenn das Tool gestartet wird. Da Windows es nicht zulässt, Eintragungen in der Aufgabenplanung durch externe Programme ohne Admin Rechte vorzunehmen, ist das leider unvermeidlich. Weiter nicht dramatisch, da man das Konfig- Tool normalerweise nur ein einziges Mal benötigt.

Die eigentliche Konfiguration ist nahezu selbsterklärend. man wählt die Wochentage aus (einen, mehrere oder alle) an denen der Rechner neu gestartet werden soll. Außerdem stellt man die Uhrzeit ein. Diese muss im 24 Stunden Format eingetragen werden. Daneben kann man noch ein paar andere Einstellungen für die Aufgabe vornehmen. Man kann eine bestehende Aufgaben löschen (sofern sie vorher schon mit dem Konfig- Tool angelegt wurde) und eine neue Aufgabe hinzufügen. Das Löschen ist nur nötig, wenn man das automatische Rebooten komplett ausschalten will. Sonst wird beim Erzeugen einer neuen Aufgabe eine eventuell existierende alte Aufgabe überschrieben.

Rechts kann man dann die Zugangsdaten für den DMS eingeben. URL und Port müssen ausgefüllt werden. Die vor eingestellten Werte passen bei einer Standard- Installation vom DMS direkt. Bei User und Password gibt man einen eventuellen Benutzername und das dazugehörende Passwort ein. Sofern kein Passwort vergeben wurde, müssen die beiden Felder unbedingt leer sein, dürfen also nicht etwa “0” oder “kein Nutzername” oder sowas enthalten.

Da sich die Version der Taskplaner XML seit Win 10 2004 von 1.2 auf 1.4 erhöht hat, muss man auch noch angeben, welche Windows version man verwendet. Sonst funktioniert der Eintrag in die Aufgaben- Bibliothek nicht. Bei 8.1 oder 7 passt die 1.2 auch. Hier wählt man also “Höchstens Windows 10 1909” aus.

Man kann die Oberfläche auf Englisch und Deutsch einstellen. Danach ist ein Neustart nötig, um die neue Sprache zu verwenden.

Wer schon seine Konfiguration erledigt hat, muss nicht unbedingt die neue Version installieren. Allerdings habe ich im eigentlichen Programm einen kleinen Fehler behoben. Bisher war es so, das das Tool falls es keine gültige Status XML laden konnte (meist, wenn die URL bzw. die Zugangsdaten nicht stimmen) bisher immer abgestürzt ist. Weiter nicht schlimm, denn man bekommt davon nichts mit. Nun wird in so einem Fall das Programm beendet. Der Effekt ist derselbe (es gibt keinen Neustart), aber so ist es sauberer…