ds10 - tolle Arbeit!!!
Aufnahmesteuerung funktioniert nun auf dem HTPC-AufnahmePC. Habe gerade von meinem anderen Rechner über TV-Browser die Aufnahme am HTPC abgespeichert - und der nimmt auch wirklich auf! Wunderbare Sache.
Habe gleich deinen neuen ScheduleServer ausprobiert - aber ein TrayIcon kann ich leider nicht entdecken.
Was bei mir noch nicht funktioniert, ist das Wake On Lan mit deinem ServerTool. Prinzipiell funktioniert WOL bei meinen Rechner wunderbar. Ich kann über meinen Windows Home Server in der Konsole ein WOL an meinen HTPC senden und schon wird er munter.
Folgender Parameter wird von ScheduleClient (beim Löschen) ausgeführt:
Code: Alles auswählen
-jar P:\WinTVCap_GUI\ScheduleClient.jar /target IP-Adresse-HTPC /port 9784 /wake xx:xx:xx:xx:xx:xx,yy:yy:yy:yy:yy:yy /delete /taskname "Dr_House_ab_2010_1_28"
Folgende Meldung erhalte ich dann, wenn der HTPC in StandBy ist:
Code: Alles auswählen
Try to wake target machine. Please wait.
Failed to send Wake-on-LAN packet: + e
ERROR: The target machine could not waked be up.
Die Mac-Adresse des HTPC habe ich aus dem WOL-Addin meines Homeserver ermittelt. Dort funktioniert die Adresse. Erhalte dort 2 Meldungen:
1. Wake Up sent to xx:xx:xx - da passiert noch nichts mit dem HTPC
2. Wake Up sent to yy:yy:yy - danach ist der Rechner wieder munter
Wenn ich in ScheduleClient den Parameter /wake nur auf yy:yy:yy... umschreiben, dann erhalte ich eine Fehlermeldung.
Parameter:
Code: Alles auswählen
-jar P:\WinTVCap_GUI\ScheduleClient.jar /target IP-Adresse-HTPC /port 9784 /wake yy:yy:yy:yy:yy:yy /delete /taskname "Dr_House_ab_2010_1_28"
Fehlermeldung (Windows-Dialog von TV-Browser): Fehler bei Ausführen des Kommandos.
In den Details steht dann:
Code: Alles auswählen
----- Start of stacktrace -----
java.lang.IllegalThreadStateException: process has not exited
at java.lang.ProcessImpl.exitValue(Native Method)
at util.io.ExecutionHandler.exitValue(ExecutionHandler.java:216)
at captureplugin.drivers.defaultdriver.CaptureExecute.executeApplication(CaptureExecute.java:314)
at captureplugin.drivers.defaultdriver.CaptureExecute.execute(CaptureExecute.java:176)
at captureplugin.drivers.defaultdriver.CaptureExecute.removeProgram(CaptureExecute.java:146)
at captureplugin.drivers.defaultdriver.DefaultDevice.remove(DefaultDevice.java:230)
at captureplugin.CapturePlugin$1.actionPerformed(CapturePlugin.java:222)
at tvbrowser.core.plugin.ActionProxy.actionPerformed(ActionProxy.java:83)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at util.ui.textcomponentpopup.TextComponentPopupEventQueue.dispatchEvent(TextComponentPopupEventQueue.java:37)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
----- End of stacktrace -----
Eins ist mir noch aufgefallen - die Fernsteuerung der Aufnahme funktioniert nur, wenn ich als User am HTPC (auf dem ScheduleServer läuft) angemeldet bin. Wenn ich also den Rechner mittels WOL aufwecken könnte, aber mich nicht anmelde, dann erhalte ich folgende Meldung:
Code: Alles auswählen
ERROR: The target machine is reachable but the server isn't running or the access to port '9784' is blocked.
Erst wenn ich mich am HTPC anmelde, dann wird die Aufnahme korrekt übermittelt. Das gleiche gilt beim Löschen.
Ich denke mir, dass liegt daran, dass ScheduleServer.jar erst im Autostart des Users geladen wird. Wenn ich ScheduleServer.jar als Dienst installieren würde, der automatisch startet, funktioniert das dann? Was meinst du?
Mein Ziel ist es, irgendwann TV-Browser auf meinem Home Server laufen zu lassen und von dort über das Internet von auswärts die Aufnahmen auf meinen beiden Client-Rechner programmiere. Dazu wäre natürlich das WOL für die Clients toll (das geht aber zur Not auch direkt über die Home Server Konsole) und dann die Übermittlung der Fernsehdaten an die Rechner, ohne dass ich mich dort anmelde.
Werde mal an die Installation der Tools auf den Homeserver gehen. Wünscht mir Glück!