Automatische Programmumschaltung aus TV-Genial via Infrarot

Hier können Sie Verbesserungsvorschläg für TVgenial einbringen und diskutieren.
ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 26.07.2004, 00:02

Zur Registry:
Ich erstelle keine Schlüssel, sondern nur Werte. Selbst Run unter CurrentVersion ist nicht von mir. Es sollte von mir nur der Eintrag TVGChannelChange unter Run erstellt worden sein. Wenn der nicht da ist, muss man die Ursache herausfinden. Wenn er da ist, ist für mein Programm alles korrekt. Windows führt dann beim Start alles im Schlüssel Run aus.

Zum Kill:
Ich hatte bei mir noch keine Langzeittests. Ich verwende es selber auch gar nicht. Werds aber mal laufen lassen um zu sehen, ob es klappt.
Ich wüsste keinen Grund, warum es sich verabschieden sollte. In Ruhe (keine Message von TVgenial oder Windows) ist es in Ruhe. Außer von TVgenial erhält es von Windows die Messages für Klicks und falls die Taskbar neu initialisiert wird (Explorer-Absturz). Durch letzteres soll ein verschwinden des Icons beim Neuladen des Explorers verhindert werden.
Bis auf ein paar Ausnahmen wird immer eine Meldung bei einem Fehler angezeigt. Die Ausnahmen sind
- Starten des Befehls: Kann das Programm nicht lahmlegen. Fehler ist nur ein Rückgabewert<>0
- Laden aus Dateien, Schreiben in Registy: Fehler bei beidem werden abgefangen, aber nicht ausgewertet. Außerdem werden beide Betriebsmittel (Datei und Registry) ordnungsgemäß wieder freigeben.
Ich sehe wirklich keinen Grund für einen Absturz. Werd aber mal mehr testen.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

Beitragvon SmartEIB » 01.08.2004, 18:44

Hallo ArnF,

so Fernseher hat nach der Bastelei mit IRTRANS jetzt aus TV-Genial umgeschaltet. Allerdings habe ich es bisher nur geschafft die Programme 0-9 umzuschalten. Ich habe das mit den beiden Befehlen wohl noch nicht verstanden. Vielleicht kannst du mir mal ein konkretes Beispiel für einen Sender machen.

Also WDR:
In der Tabelle steht:

;|WDR|West Deutscher Rundfunk
0010014 = 1|2

Ich muss also eine 1 und eine 2 senden.

[Commands]
;1 = C:\Programme\HSIP\HSIP.exe 1."Du hast " s " gewählt, das ist die Nummer " i
1 = C:\Programme\IRTrans\IRClient.exe 10.0.0.60 loewerc1 i

in i steht 1

woher bekomme ich die 2 für einen 2. Sendeaufruf von IRClient?

Es liegt sicher daran, dass ich das Grundprinzip noch nicht verstanden habe.

Gruß Bruno
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 01.08.2004, 19:54

Es muss nicht 1|2, sondern 1||2 heißen.
Ich wollte einen Trenner nehmen, der garantiert nicht andere Software stört. || kommt wohl sonst niergends vor.
Beim ersten sollte i=1|2 rauskommen, statt i=2

Habe es nochmal gesestet. Mit Doppelstrich wird der Befehl mehrfach ausgeführt, jeweils mit dem nächsten i
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

das wars

Beitragvon SmartEIB » 01.08.2004, 20:06

habs gerade geändert und probiert und klappt. :D
Nochmal vielen Dank für das super Teil

Gruß Bruno
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 01.08.2004, 21:05

Nochmal vielen Dank für das super Teil

Schön, dass es jetzt geht.

@Gebby: Macht es bei dir immernoch Probleme. Hab bei mir seither einmal neugestartet, danach wollte es wirklich nicht starten. Werd wohl in Zukunft den Registry-Eintrag sofort beim Klick auf die Schaltfläche ändern und nicht erst beim Beenden des Programms.

Ich kann nur wiederholen, dass dieses Programm kein Ersatz für einen fehlende Funktion in TVgenial sein soll. Es soll nur eine Zwischenlösung sein und ich hoffe, dass es in TVgenial auch so eine Version geben wird.

Das einzige, was mein Programm kann, was nicht durch einen einfachen Befehl im Script möglich wäre:
- Mehrere Tabelleneinträge für einen Sender (Trennung z.B. durch ||)
- Option alle Nachrichten oder nur Senderwechsel

Alles drei (Befehl, mehrere Einträge und die Option) könnte man aber recht leicht ins vorhandene Skript übernehmen. Dann wäre mit dem Skript wieder einiges mehr möglich.

Als Ergänzung zu den mehreren Tabelleneinträgen:
Da es mehrere Befehle gibt, wären auch mehrere einzeln anwählbare Einträge schön. So könnte man für die verschiedenen Befehle und damit i.d.R. für verschiedene Programme andere Einträge für den gleichen Sender verwenden.
Die Trennung, also die Einträge selber könnten bleiben. Die Variable i würde auch noch immer für jeden Eintrag die Befehle mehrfach ausführen.
Jetzt die Erweitung: Nicht nur i, sondern z.B. i[Bereich]. Damit werden nur die is für den Bereich durchlaufen. Für das Format des Bereichs schlage ich Delphy-Syntax vor:
- Trennung durch , (z.B. 2,3,5)
- Listen mit .. (z.B. 3..6 = 3,4,5,6)
- Kombination möglich (z.B. 1,3..5, 7)
- Steuerzeichen werden ignoriert (Leerzeichen, Tab,...)
Wäre recht einfach zu programmieren und man kann damit wirklich gute Befehle zaubern.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

2 stellige IR Befehle mit IRClient.exe

Beitragvon SmartEIB » 02.08.2004, 08:10

Ein Problem gibt es doch noch.

Beim senden eines 2stelligen IR Codes mit IRClient.exe kommt es bezüglich der Sendereihenfolge zu einem Zufallsergebnis.

Beispiel es soll 2||1 gesendet werden als Programm 21.
Dann sendet er willkürlich 12 oder 21.
Kann natürlich auch an der IRTrans liegen?
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

Funktionswunsch mehrere Fernbedienungen

Beitragvon SmartEIB » 02.08.2004, 08:18

Hallo ArnF.

könnte man die Auswahl "aktiv" oder "nicht aktiv" im Auswahlmenue etwas aufbohren?
Habe folgenden Wunsch bzw. Idee:
Durch den Bedienungswunsch in mehreren Räumen (tragbarer PC) brauche ich die Ansteuerung von mehreren FB's. Kann man in der Setup.ini diese als Einträge hinterlegen und dann statt "aktiviert" ein "Fernbedienung" auswählen? Also Umschaltung: "Wohnzimmer", "Schlafzimmer", "Wintergarten" usw. oder dBox, Fernseher...
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

Gebby
Beiträge: 2049
Registriert: 16.06.2002, 15:49
Wohnort: Neusechsland

Beitragvon Gebby » 02.08.2004, 11:17

ArnF hat geschrieben:@Gebby: Macht es bei dir immernoch Probleme. Hab bei mir seither einmal neugestartet, danach wollte es wirklich nicht starten.

Im Augenblick startet es jeden Tag. Es lag wohl daran, das es aus unerfindlichen Gründen beendet wurde. Den Tag darauf startet es dann nicht automatisch. Bleibt es aber aktiv bis zum runterfahren des Rechners, startet es auch wieder.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 02.08.2004, 12:49

SmartEIB hat geschrieben:Beim senden eines 2stelligen IR Codes mit IRClient.exe kommt es bezüglich der Sendereihenfolge zu einem Zufallsergebnis.
Es liegt an IRTrans. Die Befehle werden immer in der selben Reihenfolge ausgeführt. irclient.exe beendet sich auch fast sofort wieder. Wenn der zweite Aufruf, der nahezu zur gleichen Zeit erfolgt, doch schneller ist, wird dieser zuerst aufgeführt. Beim IRTrans-Server sollte es eine Warteschlange geben, die die Ausführungsreihenfolge festlegt.

Lösung dazu: Einführung der Parameter
{WaitFor} = Warten auf das Ende des Programms
{Pause=200} = angegebene Zeit (z.B. 200ms) warten, bis dieser Befehl nochmal ausgeführt wird.

SmartEIB hat geschrieben:könnte man die Auswahl "aktiv" oder "nicht aktiv" im Auswahlmenue etwas aufbohren?
Sollte sich machen lassen. Wird dann schon etwas spezieller für IRTrans, aber ich versuch es mal, etwas allgemeiner zu gestalten. Die Funktion bleibt aber gleich.

@Gebby: Werd in der nächsten Version etwas in der Registry-Anbindung ändern. Dann sollte es damit eigentlich keine Probleme mehr geben.
Komisch ist, dass der Eintrag nicht bleibt, wenn er einmal gesetzt wurde. Eigentlich sollte er nur gelöscht werden, wenn das Programm beendet wird und dabei der Haken weg ist.
Mal sehen, ob das in der nächsten Version besser klappt.


Da ich gerade Semesterferien hab *freu* werd ich mal gleich die Extras einbauen.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

Beitragvon SmartEIB » 02.08.2004, 15:15

Hallo ArnF,

für die Umschaltung auf eine wählbare Fernbedienung wäre ein Initialisierungsbefehl noch hilfreich.

Beispiel Umschaltung des AV-Receivers für Dbox Betrieb was im allgemeinen ein Makro macht. Schaltet man die Fernbedienung um sollte ein Befehl (oder Befehlsfolge statt Makro) gesendet werden können.

Gruß Bruno
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 02.08.2004, 15:31

Bin mir nicht sicher was du da jetzt meinst. Meinst du eine Befehlsfolge, die jedes Mal ausgeführt wird, wenn der Modus=Fernbedienung gewechselt wird?
Das könnte aber Probleme geben, wenn das zu steuernde Gerät schon an ist. Dann werden erneut verschiedene Befehle gesendet, die zur Folge haben können, dass sich das Gerät ausschaltet (nochmaliges Drücken auf Power). Das Ergebnis kommt immer auf das Gerät an.

Müsste sich aber recht einfach einbauen lassen.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

Beitragvon SmartEIB » 02.08.2004, 16:09

ArnF hat geschrieben:Bin mir nicht sicher was du da jetzt meinst. Meinst du eine Befehlsfolge, die jedes Mal ausgeführt wird, wenn der Modus=Fernbedienung gewechselt wird?


ja genau


ArnF hat geschrieben:Das könnte aber Probleme geben, wenn das zu steuernde Gerät schon an ist. Dann werden erneut verschiedene Befehle gesendet, die zur Folge haben können, dass sich das Gerät ausschaltet (nochmaliges Drücken auf Power). Das Ergebnis kommt immer auf das Gerät an.

Die Überlegung ist richtig, aber das kann man ja nach den Möglichkeiten oder Sinnhaftigkeit über die verwendeten Befehle anpassen.

Wäre schön wenn du es machst.

ArnF hat geschrieben:Lösung dazu: Einführung der Parameter
{WaitFor} = Warten auf das Ende des Programms
{Pause=200} = angegebene Zeit (z.B. 200ms) warten, bis dieser Befehl nochmal ausgeführt wird.

Ist das so zu verstehen, dass du diese Befehle noch einführst oder geht das schon. Wenn es schon geht wäre ein Beispiel hilfreich.

Grüße Bruno
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 02.08.2004, 16:51

Die neuen Dinge, die ich hier schon teilweise erwähnt habe, kommen erst noch. Hab jetzt eine ganze Liste von neuen Dingen, die ich implementieren oder verbessern kann.
Bald (noch diese Woche) kommt dann die neue Version mit neuer Beschreibung der neuen Möglichkeiten.
Mal sehen, vielleicht kommt auch noch ein Konfigurationsfenster mit rein. Dann wäre die Bedienung leichter. Besonders die TVUID-Anpassung.
Aber erst mal die neuen Versionen.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.

SmartEIB
Beiträge: 25
Registriert: 14.01.2004, 19:15

Beitragvon SmartEIB » 03.08.2004, 19:54

Überlege mir gerade welche Ereignisse für eine Fernbedienung noch sinnvoll wären?

Man kann doch über der Kanalliste links Gruppen selektieren. Ich habe dort eingestelt unter "ANALOG" alle Kanäle die ich unter Kabel empfange und unter "DIGITAL" alle digitalen Kanäle usw.
Könnte man diese Umschaltung der Gruppen (Z.B. ANALOG/DIGITAL) eine Fernbedienung umschalten? Bekommt man dieses als Ereignis mit?
Welche Ereignisse gibt es sonst noch, die für Fernbedienungsfunktionen sinnvoll wären?

Gruß Bruno
Wenn bereits der Ansatz falsch ist, so führt strenge Logik unweigerlich zum falschen Ergebnis. Nur Unlogik gibt Dir jetzt noch die Chance, wenigstens zufällig richtig zu liegen.

ArnF
Beiträge: 3553
Registriert: 16.10.2001, 20:51
Wohnort: Schwaigern, Deutschland

Beitragvon ArnF » 03.08.2004, 20:22

Die verfügbaren Ereignisse stehen unter http://www.arakon-systems.de/tv_interfaces.htm

Man kann noch abfangen, wenn eine Erinnerung eingeblendet wird.

Erste Neuerungen in meinem Programm funktionieren schon ganz gut.
Computer lösen Probleme, die es ohne sie überhaupt nicht geben würde.


Zurück zu „Verbesserungsvorschläge“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast