Fernbedienungssignale senden um LCD zu steuern

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

hallo zusammen,

ich möchte beim Starten bzw. beim Ausschalten der dbox meinen Fernseher über die interne IR-Diode
mit Ein- bzw. Ausschalten.

Da der Fernseher (Grundig LCD) leider oder zum Glück teilweise auf die Befehle der alten Nokia reagiert
sind nun meine Fragen...

Zur Info: ich bediene die Dbox mit der neuen Variante der Nokia FB, da der Fernsehr drauf nicht reagiert

1. Wie kann ich die Taste "2" der alten Nokia-FB über die interne Diode senden (damit geht der Fernseher an bzw. aus)?

2. Wie kann ich der dbox abgwöhnen auf die "alte" FB zu reagieren damit die dbox nicht auf die 2 reagiert (was aber eigentlich egal seinen sollte, da ich aus der StartNeutrino beim booten bzw beim runterfahren senden möchte)?

Hoffe es kann mir jemand ein paar Tipps geben wie ich das realisieren kann, damit die LCD FB im Schrank bleiben kann... :D


Gruß
____Paule
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von Barf »

1. Lirc benutzen. Dabei lieber eine richtige Konfiguration für den Fernseher besorgen (bei lirc.org kucken), als zufällig funktionierenden dboxtaste zu missbrauchen. Leider gibt es in tuxbox keine .lirc-dateien für hoch-und runterfahren, deswegen entsprechende irsend-Kommando in z.B. init.end und start_neutrino einfügen. (Benutzt dein Fernseher möglicherweis RC5-Befehle?)

2. touch /var/etc/.newrc
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Danke für die Antwort...

zu 1.

- Bei Lirc.org gibt es für Grundig leider garnichts. Deshalb würde die Krücke über den dbox-befehel doch Sinn machen,oder?
- Kann man den einen kleinen Patch erstellen, damit man beim Starten und Runterfahren entsprechende .lirc-Dateien verwenden kann? Hab gesehen für Standby gibt es das ja...
- Ob mein Fernseher RC5 nutzt... Keine Ahnung... :-?

zu 2.
THX


Gruß
____Paule
Zuletzt geändert von PauleFoul am Montag 17. August 2009, 11:03, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

PauleFoul hat geschrieben:damit man beim Starten und Runterfahren entsprechende .lirc-Dateien verwenden kann?
Ein (ungetesteter) Patch: EDIT: Patch ist im CVS
Zuletzt geändert von rhabarber1848 am Montag 17. August 2009, 11:24, insgesamt 1-mal geändert.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von Barf »

PauleFoul hat geschrieben:Bei Lirc.org gibt es für Grundig leider garnichts.
:gruebel: Es gibt:

Code: Alles auswählen

$ ls remotes/grundig/
2500S               RC24-03        TP660         TP_715      TP_820_SAT.jpg
ASIS                RC300          TP820SAT.jpg  TP_715.jpg  TVP_763
CDM_700             RP25           TP_160C       TP_715_SAT  TelePilot_100C
FineARTS            RP700          TP_160C.jpg   TP_720      TelePilot_84D
FineArts_AMP_V1     RP75_LCD       TP_621        TP_750C     rc8300ac
M38-C               RP75_LCD.jpg   TP_623        TP_750C-2
Personal_Remote_10  RP_35          TP_661_TOP    TP_760
RC1CD               System_Series  TP_711        TP_820_SAT
Falls dein Fernseher RC5 versteht (liegt nahe, da der Signale des alten Protokols (fehl)interpretiert, RC5 und alte dbox (NRC17) recht ähnlich sind (biphasecodierung, auch Manchester genannt), kannst du z.B. bei lircrepository remotes/philips/TV benutzen.
rhabarber1848 hat geschrieben:Ein (ungetesteter) Patch: neutrino_lirc_onoff.diff
Keine Einwände, es fallt nur auf wie unsystematisch und willkürlich die "Lircunterstützung" ist.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

rhabarber1848 hat geschrieben:
PauleFoul hat geschrieben:damit man beim Starten und Runterfahren entsprechende .lirc-Dateien verwenden kann?
Ein (ungetesteter) Patch: neutrino_lirc_onoff.diff
Kann leider nicht testen, weil ich nicht selber baue... Bin also auf CVS und/oder Riker angewiesen... :wink:

Aber vielen Dank für die schnelle Reaktion.


Gruß
____Paule
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Barf hat geschrieben:
PauleFoul hat geschrieben:Bei Lirc.org gibt es für Grundig leider garnichts.
:gruebel: Es gibt:

Code: Alles auswählen

$ ls remotes/grundig/
2500S               RC24-03        TP660         TP_715      TP_820_SAT.jpg
ASIS                RC300          TP820SAT.jpg  TP_715.jpg  TVP_763
CDM_700             RP25           TP_160C       TP_715_SAT  TelePilot_100C
FineARTS            RP700          TP_160C.jpg   TP_720      TelePilot_84D
FineArts_AMP_V1     RP75_LCD       TP_621        TP_750C     rc8300ac
M38-C               RP75_LCD.jpg   TP_623        TP_750C-2
Personal_Remote_10  RP_35          TP_661_TOP    TP_760
RC1CD               System_Series  TP_711        TP_820_SAT
Falls dein Fernseher RC5 versteht (liegt nahe, da der Signale des alten Protokols (fehl)interpretiert, RC5 und alte dbox (NRC17) recht ähnlich sind (biphasecodierung, auch Manchester genannt), kannst du z.B. bei lircrepository remotes/philips/TV benutzen.
Hab ich jetzt auch gesehen... :dash: War wohl noch zu früh nach dem Aufstehen... 8)

Jedoch keine Ahnung welches Modell meine Grundig RC ist. Im Batteriefach steht RC2133402/01

Barf hat geschrieben:
rhabarber1848 hat geschrieben:Ein (ungetesteter) Patch: neutrino_lirc_onoff.diff
Keine Einwände, es fallt nur auf wie unsystematisch und willkürlich die "Lircunterstützung" ist.
Wenn unkritisch wäre schön wenn es jemand einchecken könnte...


@Barf
Wie genau müsste denn ein Aufruf in der Start_neutrino aussehen, damit über Lirc die "2" der alten FB gesendt wird?

Gruß
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

PauleFoul hat geschrieben:
Barf hat geschrieben:
rhabarber1848 hat geschrieben:Ein (ungetesteter) Patch: neutrino_lirc_onoff.diff
Keine Einwände, es fallt nur auf wie unsystematisch und willkürlich die "Lircunterstützung" ist.
Wenn unkritisch wäre schön wenn es jemand einchecken könnte...
erledigt: http://article.gmane.org/gmane.comp.vid ... ox.scm/987
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

rhabarber1848 hat geschrieben:erledigt: http://article.gmane.org/gmane.comp.vid ... ox.scm/987
THX
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von Barf »

PauleFoul hat geschrieben:@Barf
Wie genau müsste denn ein Aufruf in der Start_neutrino aussehen, damit über Lirc die "2" der alten FB gesendt wird?
Du muss erst Lirc konfigurieren, es kann nicht z.B. dbox-kommandos out-of-the-box, dann hängt es davon ab. Bitte Dokumentation lesen.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Ok aktueller Stand:

--- Lirc.conf im Ordner var/tuxbox/config/lirc/ angelegt.

Code: Alles auswählen

#
# this config file was derived from the DBOX config file
#
# brand:             Nokia
# model:             ?
# supported devices: D-Box2
#

begin remote

  name  D-BOX2
  bits            8
  flags SHIFT_ENC|CONST_LENGTH
  eps            10
  aeps          300

  header        510  2520
  one           450   550
  zero          450   550
  pre_data_bits   1
  pre_data       0x0
  post_data_bits  8
  post_data      0xC5
  gap          59500
  repeat_bit      0

      begin codes
          power                    0x00000000000000CF
          home                     0x00000000000000FB
          d-box                    0x000000000000001B
          1                        0x000000000000007F
          2                        0x00000000000000BF
          3                        0x000000000000003F
          4                        0x00000000000000DF
          5                        0x000000000000005F
          6                        0x000000000000009F
          7                        0x000000000000001F
          8                        0x00000000000000EF
          9                        0x000000000000006F
          0                        0x00000000000000FF
          blue                     0x0000000000000023
          yellow                   0x00000000000000B5
          green                    0x0000000000000055
          red                      0x000000000000004B
          ok                       0x00000000000000F3
          vol_+                    0x0000000000000097
          vol_-                    0x0000000000000017
          mute                     0x00000000000000EB
          right                    0x000000000000008B
          up                       0x000000000000008F
          down                     0x000000000000000F
          next                     0x00000000000000D5
          prev                     0x0000000000000035
          left                     0x000000000000000B
          help                     0x00000000000000BE
      end codes

end remote

begin remote

  name  D-BOX2
  bits            8
  flags SHIFT_ENC|CONST_LENGTH
  eps            10
  aeps          300

  header        510  2520
  one           450   550
  zero          450   550
  pre_data_bits   1
  pre_data       0x0
  post_data_bits  8
  post_data      0x0
  gap          40000
  repeat_bit      0

      begin codes
          _D-BOX_                    0x0000000000000080
      end codes

end remote

--- Lircd per Befehl /sbin/lircd /var/tuxbox/config/lirc/lirc.conf (Im JTG-Image wird Lircd anscheinend nicht automatisch gestartet wenn die Datei Lirc.conf im Pfad var/tuxbox/config/lirc/ vorhanden ist und die lirc.conf wird in etc/ als lircd.conf gesucht.)

Testdatei tvonoff.lirc angelegt

Code: Alles auswählen

D-BOX2 2 1000
Problem:
- Wenn ich die tvonoff.lirc aus dem Ordner var/bin/ starte kommt die Meldung /var/bin/tvonoff.lirc: line 1: D-BOX2: not found
- Wenn ich die tvonoff.lirc aus dem Ordner var/tuxbox/config/lirc/ starte kommt die Meldung -sh: tvonoff.lirc: not found


Bedeutet ich bin ein Stück weiter aber moch nicht am Ziel. Hoffe es kann mir jemand einen Tipp geben...


Gruß
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Barf hat geschrieben: 2. touch /var/etc/.newrc
Funktioniert leider nicht... Reagiert immer noch auf die "alte" Nokia-FB
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Workaround in der Start_Neutrino...

Beim Starten, also irgendwo vor neutrino -u -f

Code: Alles auswählen

if [ -r /var/tuxbox/config/lirc/lirc.conf ]; then
	/sbin/lircd /var/tuxbox/config/lirc/lirc.conf
	# Hier RC Befehle eintragen
	rc send_once D-BOX2 2
fi;	
Beim Beenden, bei mir nach pzapit -kill

Code: Alles auswählen

if [ -r /var/tuxbox/config/lirc/lirc.conf ]; then
	sleep 4
	# Hier RC Befehle eintragen
	rc send_start D-BOX2 2
	sleep 2
	rc send_stop D-BOX2 2
fi;
Witzigerweise benötige ich die Sleep 4, sonst verschluckt der LCD den Ausschaltbefehl. Eventuell hat das was mit einem ScartImpuls beim Ausschalten zu tun...

Mal sehen wie es weiter geht... Ich werde die Erkenntnisse dann auch im Wiki als Alternative dokumentierten.


Gruß
____Paule
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

Barf hat geschrieben:
rhabarber1848 hat geschrieben:Ein (ungetesteter) Patch: neutrino_lirc_onoff.diff
Keine Einwände, es fallt nur auf wie unsystematisch und willkürlich die "Lircunterstützung" ist.
Dazu eine Frage zum aktuellen CVS-Stand.
Was bewirkt cdk/configure --enable-lirc?
Afaics wird das target flash-lircd gebaut und lirc landet im Yadd-Image.
cdk/root/etc/init.d/start_lircd wird überhaupt nicht genutzt, stattdessen
wird lircd über rcS.m4 gestartet.

Auf Neutrino hat das keinen Einfluss.

apps/tuxbox/neutrino/lib/irsend/irsend.cpp

Code: Alles auswählen

if(lirc.Connect())
d.h. wenn lircd nicht läuft, werden keine IR-Signale von Neutrino
aus gesendet. Würde es nicht Sinn machen, den lirc-Code in
Neutrino optional zu machen in Abhängigkeit von --enable-lirc?

Testet bitte diesen Patch: EDIT: Patch ist im CVS
Zuletzt geändert von rhabarber1848 am Dienstag 18. August 2009, 20:06, insgesamt 1-mal geändert.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von Barf »

rhabarber1848 hat geschrieben:cdk/root/etc/init.d/start_lircd wird überhaupt nicht genutzt, stattdessen
cvs remove
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Afaics wird das target flash-lircd gebaut und lirc landet im Yadd-Image.
Ein Problem könnte mein Patch auslösen:
Wenn jemand ohne --enable-lirc ein Image baut, aber im
customization-Skript den Befehl "make flash-lircd" ausführt,
wurde damit ein voll funktionsfähiges lirc-Image erstellt.
Mit meinem Patch wird das nicht mehr funktionieren,
da der komplette lirc-Code aus Neutrino entfernt wird.

Diese Feststellung wird aber nicht dazu führen, dass ich
den Patch für nicht-CVS-tauglich halte. Ich möchte nur
das o.g. Problem dokumentieren.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

Barf hat geschrieben:es fallt nur auf wie unsystematisch und willkürlich die "Lircunterstützung" ist.
Ein User auf der dunklen Seite der Macht möchte, dass beim
Ein-/Ausschalten des Scart-Eingangs LIRC-Befehle ausgeführt
werden können.

Könnte daher jemand mit entsprechender Hardware bitte
diesen Patch testen? EDIT: Patch ist im CVS
Zuletzt geändert von rhabarber1848 am Dienstag 3. November 2009, 21:21, insgesamt 1-mal geändert.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von seife »

Würde IMHO nach zapit / controld gehören.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

seife hat geschrieben:Würde IMHO nach zapit / controld gehören.
Du hast vollkommen Recht, ich hatte vergessen,
dass zapit auch LIRC-Unterstützung hat. Ich werde
den Patch aktualisieren.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Könnte daher jemand mit entsprechender Hardware bitte
diesen Patch testen? EDIT: Patch ist im CVS
Besser so?
Zuletzt geändert von rhabarber1848 am Dienstag 3. November 2009, 21:22, insgesamt 1-mal geändert.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von seife »

Sieht gut aus (aber ungetestet ;))
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von Barf »

Ich halte die Lirc-Unterstützung in Neutrino für ein sehr schlechtes design.

Hier habe ich geschrieben
Die beide genannten Libs (libirsend.so und liblircdclient.so) duplizieren irsend.c von den Lirc-Quellen (am mindestens große Teile einfach reinkopiert und mit anderen Copyright versehen... ...). Schweizer Armemesserdenken, dass man so oft in Neutrino begegnet: Alles selbst machen können, aber schlecht. :cry: Anstatt sollte wir untersuchen, falls es nicht besser wäre, z.B. der Lirc-client (irsend) einzubinden, entweder als executable oder als library.
Die Unterstützung mit *.lirc-Files dupliziert (unsystematisch) die *.start, *.end und *.timer-Files. Es gibt mehr als Lirc um externe Geräte zu steuern, siehe z.B. hier.

Rhabarbers Patch(es) machen eher das Problem schlimmer.

Ein Vorschlag, nicht getestet:
1. Volumsteuerung über Lirc entfernen. Broken by design; und ich kann mich nicht vorstellen, dass jemanden es wirklich benutzt.
2. Die explicite Lirc-Unterstützung (inklusive libirsend und liblircdclient) entfernen. (Entsprecht etwa --disable-lirc (was auch entfernt wird)).
3. Die *.start/*.end-Unterstützung vervollständigen.

Danach kann der User Lirc von *.start/*.end-Files aufrufen mittels dem Program irsend, dass mit dem make-targets lirc und flash-lirc installiert wird. Kein Funktionalität (mit Ausnahme von Lirc-volumensteuerung) geht verloren.

Ich glaube irsend war früher rc genannt. Falls ich mich richtig erinnere, ist irsend erst relativ neulich in Tuxbox-Lirc drin.
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von PauleFoul »

Dann aber bitte auch eine Neutrion.start und -.end mit einbauen, damit man nicht in der Startneutrino rumpfriemeln muss.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von seife »

Ihc habe zum testen mal ein LIRC-setup gebastelt, und tatsächlich funktioniert die Lautstärkesteuerung per LIRC einigermassen.
Ja, das design ist doof, aber es ist so etwa nutzbar (nicht perfekt, aber es geht).

Um den "Schaden" zu begrenzen will ich ja auch den Code möglichst nur im zapit haben (momentan ist der LIRC code nämlich 2x im Image - einmal im zapit, einmal im neutrino, weil der nämlich AFAICS statisch reingelinkt wird).

Für die tägliche Benutzung funktioniert es mir allerdings auch zu schlecht (und der AV-switch meiner boxen ist gut genug), so dass ich mit AVS-Regelung besser hinkomme ;)

Von mir aus kann das gerne weg, insbesondere da das nur die dbox kann, allerdings kann ich das Heulen und Zähneknirschen hier schon jetzt hören ;)

Ist der IR-Ausgang eigentlich DC-gekoppelt, also sprich: könnte man da einen generischen Schaltausgang draus machen? Das wäre dann mal ne sinnvolle Anwendung ;)

Paule: neutrino.start gibts doch schon: init.end ;)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fernbedienungssignale senden um LCD zu steuern

Beitrag von rhabarber1848 »

Barf hat geschrieben:Danach kann der User Lirc von *.start/*.end-Files aufrufen mittels dem Program irsend
Die LIRC-Lautstärkeeinstellung ist ein wichtiges Features,
das durch dieses Design auf der Dbox2 extrem langsam
werden könnte.