Probleme mit irrecord

  • Hallo,


    ich verschwende gerade großteile des Morgens mit irrecord...

    Ich habe nun mehrmals angelernt mit


    Das Ergebnis sieht dann so aus:


    Was unschön ist:

    1) man muss erst wirklich alle Buttons anlernen, und dann kommt der Fehler. Kann man in kleineren Häppchen lernen, so dass der Verlust nicht so groß ist, wenn es schief geht?

    2) man muss die Button-Namen selbst jedes mal eintippen - viel schneller ginge es, wenn irrecord sagen würde 'please press KEY_UP' usw.


    Aber unabhängig davon: Was läuft hier schief?

    Normalerweise kommt ja noch eine Abfrage am Ende, dass man einen Button ganz schnell drücken soll. Diese fehlt hier auch.


    Gruß,

    Hendrik

  • Aber unabhängig davon: Was läuft hier schief?

    Kann es sein, dass du nicht mit einer leeren Datei angefangen hast, sondern mit einer unvollständigen lircd.conf?


    2) man muss die Button-Namen selbst jedes mal eintippen - viel schneller ginge es, wenn irrecord sagen würde 'please press KEY_UP' usw.

    Mit expect (oder moderneren Varianten wie https://pexpect.readthedocs.io/en/stable/) kannst du auf Ausgaben eines Programm reagieren und es dann mit neuen Daten füttern - alles eine Frage der Aufwand-Nutzen-Relation

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 1 time, last by seahawk1986 ().

  • Hallo,


    danke für deine Antwort.

    Beim ersten Aufruf war keine Datei da.

    Der Aufruf war:

    Code
    1. irrecord  --driver=ya_usbir lircd.conf


    Beim zweiten Aufruf, war die Datei natürlich da. Und dann wurde eine lircd.conf.conf erzeugt...


    Also irgendwas scheint da mit dem Datei-Handling faul zu sein.


    Zum pexpect: Danke für den Tipp. Für mich hätte sich das wahrscheinlich schon gelohnt ;-) Mich wundert nur, dass das noch niemand gemacht hat.


    Gruß,

    Hendrik

  • Mich wundert nur, dass das noch niemand gemacht hat.

    Dazu müsstest du vorab wissen, welche Tasten du anlernen willst, also mindestens eine Datei anlegen, die die Tasten definiert, die angelernt werden sollen.

    Kann man in kleineren Häppchen lernen, so dass der Verlust nicht so groß ist, wenn es schief geht?

    Ja, das geht. einfach jedes Mal eine neue Datei anlegen lassen und später die Abschnitte mit den Tastencodes zusammenkopieren.


    Wenn man eine Universalfernbedienung hat, kann man einfach ein typisches Profil wie das für die MS MCE Remote 1039 (oder mit einer Logitech Harmony auch KLS VDR 1.6) nehmen und sich danach wichtigeren Dingen zuwenden.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Dazu müsstest du vorab wissen, welche Tasten du anlernen willst, also mindestens eine Datei anlegen, die die Tasten definiert, die angelernt werden sollen.

    Das wissen wir doch im Wesentlichen. Und wenn man eine Taste nicht anlernen will nimmt man eine doppelt und löscht sie nachher.

    Ja, das geht. einfach jedes Mal eine neue Datei anlegen lassen und später die Abschnitte mit den Tastencodes zusammenkopieren.

    Das hat aber zwei Probleme:
    1) Lirc macht dann den Spaß mit den vielen Punkten (erkennen des Musters der Remote, nehme ich an) jedes Mal und das dauert
    2) Die Muster / Gaps sonstwas werden unterschiedlich erkannt, so dass man nicht einfach die Keys zusammenkopieren muss (wenn man den Header aber mit kopiert, geht das

    seahawk1986 wrote:

    Wenn man eine Universalfernbedienung hat, kann man einfach ein typisches Profil wie das für die MS MCE Remote 1039 (oder mit einer Logitech Harmony auch KLS VDR 1.6) nehmen und sich danach wichtigeren Dingen zuwenden.

    Ja, ich packe mir echt an den Kopf, was ich da schon wieder an Zeit verschwendet habe..
    Ein bisschen Historie:
    Ich hatte einen VDR. Dazu eine Universalfernbedienung. Der FireTV mit Kodi hat den nach und nach quasi ersetzt (vdr noch als backend).
    Irgendwann hat der Hersteller das WebInterface der Universalfernbedienung abgedreht und mich quasi enteignet...
    Dann habe ich den FireTV durch den neuen FireTV Stick ersetzt, weil der auch den TV steuern kann. Nur noch eine Fernbedienung.
    Darauf lief Kodi mit VDR dann aber noch schlechter als vorher.

    Also jetzt wieder den VDR aktivieren...

    Welche günstige, schmerzfreie Fernbedienung könnt ihr mir denn empfehlen?
    Universal ist nur optional. Hauptsache kein Frickeln mehr (und Universal ist das ja auch schnell).

    Gruß,
    Hendrik

  • Ach, ich hab übrigens mit Pexpect gespielt. Bin aber nicht ganz erfolgreich gewesen:

  • Da ich kein Ubuntu 14.04 mehr habe, kann ich nur einen Vorschlag mit Python 3.6 und python3-pexpect für lirc 0.10.x unter yavdr-ansible (Ubuntu 18.04) machen:


    irrecord legt dann eine yavdr_remote.lircd.conf an und wenn man den Befehl erneut aufruft, updated er die Key-Definitionen in der Datei (laut Manpage muss man dazu bei aktuellen Lirc-Versionen das Argument -u nutzen, bei älteren Versionen gab es das noch nicht).

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das hat aber zwei Probleme:
    1) Lirc macht dann den Spaß mit den vielen Punkten (erkennen des Musters der Remote, nehme ich an) jedes Mal und das dauert

    Neuere Lirc-Versionen sind da unproblematischer, mit -u kann man in bestehenden Dateien für eine Remote-Definition Tasten überschreiben und neu anlegen.

    2) Die Muster / Gaps sonstwas werden unterschiedlich erkannt, so dass man nicht einfach die Keys zusammenkopieren muss (wenn man den Header aber mit kopiert, geht das

    Da muss man eigentlich nur die jeweiligen Mini- und Maximalwerte nehmen, mit denen die Zeiten für die Erkennung von bestimmten Mustern definiert werden.


    Welche günstige, schmerzfreie Fernbedienung könnt ihr mir denn empfehlen?

    Ich habe schon länger keine mehr gekauft - ich habe zwei Harmony 600 und eine Harmony 300, die lassen sich immer noch über die MyHarmony Software konfigurieren.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,

    Quote

    Neuere Lirc-Versionen sind da unproblematischer, mit -u kann man in bestehenden Dateien für eine Remote-Definition Tasten überschreiben und neu anlegen.

    Ja, das hatte ich in den man-pages gesehen, aber diese neueren Versionen gibt es in yaVDR (mit dem yaUSBir patch) nicht, oder?


    Gruß,

    Hendrik

  • aber diese neueren Versionen gibt es in yaVDR (mit dem yaUSBir patch) nicht, oder?

    Nicht für yaVDR 0.6, weil sich bei denen auch das Schema für die Konfigurationsdateien geändert hat, was einiges an Anpassungen an den Templates und Actions für das WFE erfordern würde, was sich bei obsoleten Versionen für mich nicht mehr wirklich lohnt..


    Bei yavdr-ansible ist die neue Lirc-Version dabei und der Treiber für den yaUsbIR steckt im Paket lirc-drv-yausbir (die neue Lirc-Version unterstützt Treiber als Plugins) - das Ansible-Playbook richtet den Empfänger (bis auf die lircd.conf automatisch ein, wenn er angeschlossen ist): https://github.com/yavdr/yavdr…ll-yausbir/tasks/main.yml

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    danke für deine Antwort. Das verstehe ich. Auf yavdr-ansible wollte ich nicht aktualisieren.

    Hm.


    Kaum zu glauben, dass das so schwierig ist. Stelle ich mich so blöd an?

    Ich habe einen laufenden yaVDR 0.6 mit einem laufenden yausbir. Ich muss nur die FB anlernen und das schlägt fehl.... und zwar immer wieder.


    Ich hab noch eine alte programmierbare Fernbedienung gefunden. Vielleicht kann die ja MCE...


    Gruß,

    Hendrik

  • irrecord: fatal error in configfile line 50:
    irrecord: "begin remote" isn't valid at this position

    Immer der Fehler?

    Wie sieht denn die konkrete Zeile aus? Das angehängte Beispiel hat keine Zeile 50!


    Kann man in kleineren Häppchen lernen, so dass der Verlust nicht so groß ist, wenn es schief geht?

    Man kann mit einer lircd.conf mit Header, also mit "remote" aber ohne "codes" starten.

    Dann fällt die Erkennung der FB weg und man kann gleich anlernen.


    Die Muster / Gaps sonstwas werden unterschiedlich erkannt,

    Bei deutlichen Unterschieden, läuft schon bei der Erkennung der FB was schief.

    Weitere Versuche ohne korrekten Header sind nach meiner Erfahrung zwecklos.


    Leider senden die Universal-FBs oft mit einem ziemlichen Jitter, so dass die Erkennung schwierig ist.

    Ich hatte den Fall selber mal, dass eine funktionierende RC5-FB nicht als solche erkannt wurde. Erst als ich den Header von einer anderen RC-5-lircd.conf "geborgt" habe ging es dann.


    Dein Codeschnipsel (SPACE_ENC|CONST_LENGTH und 32Bit) sieht nach NEC oder Samsung-Protokoll aus (Die_IR-Protokolle_im_Detail). Die Werte sind etwas daneben.

    Entweder mal anpassen versuchen oder bei Lirc eine entsprechende lircd.conf suchen und nur deren Kopfteil verwenden.

    Gruss
    SHF