Hallo saggi,
hier ein paar weitere Testergebnisse:
Bekanntes und/oder Erledigtes
Bouquet-Anzeige
Das neue Trennzeichen bei den Bouquets funktioniert.
Das einzelne Aus- und Einblenden funktioniert auch, ebenso wie das "Alle wieder einblenden".
Das betrachte ich also auch als erledigt und als gut gelungen.
Optionen: DBox "REC"
Du schreibst "Fast erledigt", deswegen erstmal nur eine Anmerkung.
Der grüne Kreis sieht gut aus. das weiße Quadrat mit roten Andreaskreuz sieht dagegen eher aus wie ein browsermäßiger Platzhalter für "Grafik nicht gefunden".
Der grüne Kreis in Rot wäre hier schicker.
Einklappen aller Bouquets
Ich hatte ja hier geschrieben, wie das Einklappen funktioniert.
Ja das habe ich gelesen, wobei ich das als "so ist es jetzt" verstanden habe und nicht daraus erkennen konnte, welche Schwierigkeiten es bereiten würde das zu ändern.
Das muss ich letztendlich aber auch nicht verstehen. Deine Information, dass das schwierig oder aufwändig ist, muss mir da reichen.
Ich frage jetzt aber trotzdem mal nach:
Ist das ein von C# vorgegebenes Verhalten bei solcher Art der Baum-Darstellung?
Falls ja, gäbe es dann vielleicht den Workaroud einen zusätzlichen und unsichtbaren Zweig am Ende des Baumes anzufügen und zur Not den unsichtbar aufgeklappt zu lassen um die Möglichkeit zu erlangen alle sichtbaren Zweige einzuklappen.
Eine Übersicht über alle Bouquets, ohne dass eines davon mit aufgeklappter Senderliste die Gesamtansicht unterbricht wäre schon schick.
Boxsteuerung
Boxsteuerung -> Fernbedienung -> Sperren / Entsperren
Das funktioniert.
Boxsteuerung -> RecordMode -> Einschalten / Ausschalten / Status
Das funktioniert soweit, dass die Box in den entsprechenden Modus versetzt wird.
Im Record-Mode sind an der Box alle Sender anderer Transponder ausgegraut und man auf solche nicht umschalten.
u-Grabber wertet diesen Modus nicht aus. Man kann dort nach wie vor auf alle Sender umschalten.
Schaltet man dort auf einen Sender eines anderen Transponders, so wir auf der Box tatsächlich umgeschaltet, der Bildschirm zeigt aber ein Schwarzbild.
Schaltet man auf einen "zulässigen" Sender zurück, so hat man auch wieder Bild.
Man könnte im u-Grabber auch den Record-Mode abbilden, in der Art dass unzulässige Sender ausgegraut werden, aber das ist vermutlich keine kleine Abfrage.
Das bedeutet eine Abfrage der Transponderzugehörigkeit aller Sender und ein Enabled/Disabled-Flag für alle Sender aller Bouquets verbunden mit der Schwierigkeit, dass die Box auch ohne den u-Grabber in den Record-Mode versetzt werden kann, also der Zustand vom u-Grabber auch abgefragt werden müsste und für diese Abfrage geeignete Bedingungen definiert werden müssten unter denen die Abfrage sinnvollerweise stattfinden sollte.
Alles in allem eine eher große Baustelle mit vergleichsweise fraglich kleinem Nutzen.
Boxsteuerung -> TV/Radio-Modus -> TV / Radio / Aktuell
Die Abfrage des aktuellen Modus funktioniert.
Das Schalten auf den TV-Modus funktioniert auch.
Das Schalten auf den Radio-Modus funktioniert zwar an der Box, liefert aber im Info-Fenster im u-Grabber folgende Fehlermeldungen:
Code: Alles auswählen
27.03.2011 11:44:17: SetMode 'radio': ok
27.03.2011 11:44:17: zapto: 3754001100850099
27.03.2011 11:44:17: GetMode: radio
27.03.2011 11:44:17: Debug: NeutrinoHD erkannt
27.03.2011 11:44:17: BouquetList: Bouquetliste geladen
27.03.2011 11:44:17: GetTreeFromBouquet: 26 Bouquet gesamt, 3 Verdopplungen übersprungen
27.03.2011 11:44:18: ChannelList: Kanalliste geladen
27.03.2011 11:44:18: Error: Kanalliste laden gescheitert
27.03.2011 11:44:18: Server: http://coolstream/ Meldung: Syntaxfehler: Fehlender Operand nach dem Operator 'n'.
bei System.Data.ExpressionParser.Parse()
bei System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
bei System.Data.Select..ctor(DataTable table, String filterExpression, String sort, DataViewRowState recordStates)
bei System.Data.DataTable.Select(String filterExpression)
bei u_Grabber.clsHTTPD.CreateSenderTable(String ChannelList)
bei u_Grabber.clsHTTPD.GetChannelList(String BoxIP, TreeNode TreeViewNode)
27.03.2011 11:44:18: GetEPGList: ok
27.03.2011 11:44:18: GetEPG: ok
27.03.2011 11:45:01: GetEPG: ok
und folgenden Ausnahmetext
Code: Alles auswählen
System.InvalidCastException: Ungültige Konvertierung von Typ DBNull in Typ Date.
bei Microsoft.VisualBasic.CompilerServices.Conversions.ToDate(Object Value)
bei u_Grabber.MainForm.Dgv_EPGListCellFormatting(Object sender, DataGridViewCellFormattingEventArgs e)
bei System.Windows.Forms.DataGridView.OnCellFormatting(DataGridViewCellFormattingEventArgs e)
bei System.Windows.Forms.DataGridView.OnCellFormatting(Int32 columnIndex, Int32 rowIndex, Object val, Type formattedValueType, DataGridViewCellStyle cellStyle)
bei System.Windows.Forms.DataGridViewCell.GetFormattedValue(Object value, Int32 rowIndex, DataGridViewCellStyle& cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context)
bei System.Windows.Forms.DataGridViewCell.GetFormattedValue(Int32 rowIndex, DataGridViewCellStyle& cellStyle, DataGridViewDataErrorContexts context)
bei System.Windows.Forms.DataGridViewTextBoxCell.GetPreferredSize(Graphics graphics, DataGridViewCellStyle cellStyle, Int32 rowIndex, Size constraintSize)
bei System.Windows.Forms.DataGridViewCell.GetPreferredWidth(Int32 rowIndex, Int32 height)
bei System.Windows.Forms.DataGridViewCell.OnCellDataAreaMouseEnterInternal(Int32 rowIndex)
bei System.Windows.Forms.DataGridViewCell.OnMouseMoveInternal(DataGridViewCellMouseEventArgs e)
bei System.Windows.Forms.DataGridView.OnCellMouseMove(DataGridViewCellMouseEventArgs e)
bei System.Windows.Forms.DataGridView.UpdateMouseEnteredCell(HitTestInfo hti, MouseEventArgs e)
bei System.Windows.Forms.DataGridView.OnMouseMove(MouseEventArgs e)
bei System.Windows.Forms.Control.WmMouseMove(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.DataGridView.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Boxsteuerung -> PlayBack-Mode SPTS-Mode / PES-Mode / Status
Das ist ja noch ein offenes Thema.
Status meldet: Die Box befindet sich im 'unknown'-Mode.
Boxsteuerung -> Telnet-Funktionen -> Webserver Neustarten / SectionsD Neustarten
Hier schriebst Du ja, dass das noch nicht erledigt sei, deswegen nur zur Info:
Das bringt beides diese Meldung:
Code: Alles auswählen
27.03.2011 12:50:08: Verbinde mit coolstream ...
27.03.2011 12:50:10: Error: Telnet nicht möglich: Failed to connect : no login prompt
bei u_Grabber.MinimalisticTelnet.TelnetConnection.Login(String Username, String Password, Int32 LoginTimeOutMs)
bei u_Grabber.MainForm.TelnetRestartNHTTP(Object sender, DoWorkEventArgs e)
Boxsteuerung -> Standby/Reboot -> Neustarten / Ausschalten / Soft Standby
"Neustarten" schaltet die Box aus ohne Neustart.
Der Fehler liegt aber nicht bei Dir.
Im Browser meldet
http://dbox/control/reboot "ok" und nicht "error", insofern müsste eigentlich ein Neustart erfolgen, tut er aber auch dort nicht.
Auch dann wird die Box einfach ausgeschaltet.
yWeb -> Boxsteuerung -> Steuerung -> [Neustart] führt auch nur zum Abschalten, nicht zum Neustart.
Über die Fernbedienung lässt sich ein Neustart ausführen.
Per telnet einfach reboot eingegeben startet die Box auch neu.
"Ausschalten" funktioniert.
"Soft Standby" funktioniert.
Boxsteuerung -> Streaminfo -> Pids / Komplett
Das funktioniert Beides.
Webinterface und Online - Verbindung DBox
[Das Webinterface]
Das funktioniert.
Das yWeb wird im u-Grabber angezeigt und ist dort auch erfolgreich bedienbar.
[FTP-Verbindung]
Das funktioniert, zumindest kommte ich eine Verbindung herstellen, in den entfernten Ordnern navigieren und eine Datei herunterladen.
Weiter habe ich das nicht getestet.
[Telnet]
Hier schriebst Du ja, dass das noch nicht erledigt sei, deswegen auch hier nur zur Info:
Klicke ich auf [Verbinden] so kommt die Meldung
Verbinde mit Coolstream ... und es bleibt dabei.
Eine Verbindung kommt nicht zustande.
[COM-Port]
Optionen -> u-Grabber -> Allgemein -> [x] COM aktivieren / COM3 / 115200
Mit diesen Einstellungen funktioniert das.
Es werden alle Meldungen ausgegeben und [in Datei speichern], [Löschen] und [Kopieren] funktioniert auch.
Was fehlt ist die Änderung der Statuszeile im u-Grabber.
Beim Wechsel auf [COM-Port] bleibt die Statuszeile bei ihrer Anzeige vorhergehender Aktionen oder Meldungen.
Das gilt übrigens auch für den Wechsel auf [Das Webinterface].
Für Hardcore-Multibox-User bräuchte es eigentlich die Option jeder Box einen eigenen COM-Port mit eigener Port-Nummer und -Geschwindigkeit zu hinterlegen.
Falls das einfach bei
Optionen -> DBox -> IP-Adresse, statt bei
Optionen -> u-Grabber -> Allgemein hinterlegbar wäre, so wäre das schick.
Das ist aber eher mit kleiner Priorität zu betrachten.
Wer hat schon mehr als eine Box, wenn überhaupt, per COM-Port an einem Rechner, also am selben u-Grabber angeschlossen?
Und zur Not könnte auch der die Optionen (Port und Geschwindigkeit) jeweils umstellen.
[Netconsole]
Klicke ich auf [Start] so kommt die Meldung "Verbinde mit Coolstream ..." und es bleibt dabei.
Eine Verbindung kommt nicht zustande. Der Schalter [Stop] bleibt ausgegraut.
Hier weiß ich aber gar nicht, was in dem Zusammenhang eine Netconsole überhaupt ist.
Starte ich eine Netconsole mit einer dbox2 als aktuelle DBox so erhaltet ich diese Ausgabe:
Code: Alles auswählen
Verbinde mit dbox ...
Willkomen auf Ihrer d-box 2 - Kernel 2.4.37.11-dbox2 (14:02:48). - JtG-Image -
dbox login: root
Password:
BusyBox v1.17.3 (2011-01-04 20:12:30 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/var >
Eine Eingabe von Befehlen, beispielsweise wie dort vorgeschlagen
help ist trotz Verbindung zur dbox2 nicht möglich.
Das Consolenfenster reagiert nicht auf Tastatureingaben.
[Stop] führt immerhin zur Ausgabe
/var > exit.
Wie es aussieht sollte man in einer Netconsole also die in BusyBox eingebauten Befehle auf der Box ausführen können.
Das führt mich zu der Frage ob in NeutrinoHD überhaupt BusyBox von Hause aus mit drin ist?
[Unix-Edit]
Ist das eine Copy/Paste-Box oder was kann man damit anfangen?
Datei öffnen oder speichern ist damit ja wohl nicht vorgesehen.
Allgemein
Es ist jetzt nicht mehr immer eine Dbox
Du könntest an allen Stellen an denen es Dir beim Programmieren begegnet, die Zeichenfolge "DBox" gegen "Box" austauschen.
Vielleicht kann das sogar einfach mit Bearbeiten/Ersetzen in den Quellcodes per Notepad oder Entwicklungsumgebung erledigt werden.
Falls Du das ausprobierst, so erstell Dir aber unbedingt vorher eine Sicherungskopie des Projektes.
Ich möchte Dich nicht mit meinem Vorschlag ins Verderben reiten.
Vorhergehende Bug-Reports
Auf
1. u-Grabber beenden und
2. EPG laden bist Du bei Deinem letzten Post nicht eingegangen.
Gehe ich trotzdem davon aus, dass Du es nicht übersehen und jetzt auf Deiner ToDo-Liste hast?
Gruß Frank