yaVDR ansible / Lirc mit Atric

  • Jetzt muss ich mal schauen, warum der VDR auf diese Tasten noch nicht reagiert ...

    Läuft eventlircd?

    systemctl status eventlircd.service eventlircd.socket

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Läuft eventlircd? systemctl status eventlircd.service eventlircd.socket

    bringt


    irw meldet

    Code
    8b 0 KEY_MENU devinput


    evtest spuckt die Tastendrücke aus (eventlircd vorher ausgeschaltet).

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    3 Mal editiert, zuletzt von r371769 ()

  • Entwarnung:


    Ich habe das System komplett neu installiert und jetzt funktioniert die Fernbedienung. Ich habe bei den vorherigen vielen Versuchen das System anscheinend zerschossen.


    Nochmal Vielen Dank an alle Hinweisgeber :thumbup::):thumbup:. Ohne Euch wäre ich komplett aufgeschmissen.

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

  • Wie kann ich verhindern, dass meine Änderung in etc/rc_maps.cfg beim nächsten Playbook-Update überschrieben wird?

    Die Datei wird aus einem Template erstellt (das wird in den Kopfzeilen der Datei erwähnt), daher wäre der naheliegende Weg das Template anzupassen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Die Datei wird aus einem Template erstellt

    Ich habe aus dieser Datei gelesen, dass dazu die Template-Datei in /usr/src/yavdr-ansible/roles/yavdr-remote/templates/rc_maps.cfg.j2 gibt. Wie funktionieren diese Template-Dateien grundsätzlich?


    Die Doku zu 0.6 zu den Templates scheint nicht mehr zu gelten. Der dort angegebenen Pfad zu /usr/share/yavdr/templates/etc/vdr/ ist bei mir im System nicht vorhanden. Liegen die Templates jetzt im Git-Verzeichnis roles/ und in diesem Fall in serial_ir? Wo lege ich dann mein custom-Template hin?

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

  • Wie funktionieren diese Template-Dateien grundsätzlich?

    Das sind jinja2-Templates: http://jinja.pocoo.org/docs/2.10/ - die werden dann von Ansible mit Hilfe des template-Modul in die Zieldatei übersetzt - für die rc_maps.cfg passiert das an dieser Stelle: https://github.com/yavdr/yavdr…remote/tasks/main.yml#L58


    Wo lege ich dann mein custom-Template hin?

    Das ersetzt das originale Template.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    ich bin gerade mit yaVDR Ansible angefangen und habe nun auch das Problem meine alte lircd.conf umzusetzen.

    Ich habe nun eine Keymap aus der alten lircd.conf erzeugt:



    und in /etc/rc_maps.cfg eingetragen

    Code
    ...
    #driver table                    file
    ite-cir     rc-rc6-mce          /lib/udev/rc_keymaps/rc-rc6-mce
    nuvoton-cir rc-rc6-mce          /lib/udev/rc_keymaps/rc-rc6-mce
    serial_ir   urc_7960            /lib/udev/rc_keymaps/urc_7960
    mceusb      rc-rc6-mce          /lib/udev/rc_keymaps/HOPLOrc6
    ...

    Aber ich bekomme die noch nicht mal manuell geladen

  • $ sudo ir-keytable -a /etc/rc_maps.cfg -s rc0

    Da der serielle Lirc-Empfänger rc1 ist, musst du den entsprechend angeben, der Technotrend-Empfänger beherrscht kein RC-5.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Stimmt, wer lesen kann ist klar im Vorteil. Hilft aber noch nichts. Ich habe einen selbst gebauten Empfänger an ttyS0. Mit irrecord kommt auch was an /dev/lirc0 an.

    Jetzt sieht es so aus:

    Da wird immer noch rc-rc6-mce geladen. Kommentiere ich die Zeilen in rc_maps.cfg aus kann ich folgendes machen.

    Da scheint ja noch wo anders für serial_ir rc-rc6-mce eingestellt zu sein.

  • Da wird immer noch rc-rc6-mce geladen.

    Die Keymap heißt immer rc-rc6-mce, unabhängig davon, ob ein RC-6 Protokoll verwendet wird - und der Name muss auch im Header der Keytable genutzt werden, also musst du # table urc_7960, type: RC5 durch # table rc-rc6-mce, type: RC5 ersetzen und der Eintrag in der rc_maps.cfg muss so aussehen:

    serial_ir rc-rc6-mce /lib/udev/rc_keymaps/urc_7960

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Puh, da soll man erst mal drauf kommen. 8|

    Danke für den Schubser.

    Damit wird schon mal die richtige Liste geladen. Aber weiter komme ich noch nicht. Weder im VDR noch mit -t kommen Tastendrücke durch.

  • ir-keytable und evtest können nur Tastendrücke anzeigen, wenn eventlircd gestoppt ist - das kannst du vorübergehend so machen:

    systemctl mask --runtime --now eventlircd.{socket,service} - und mit systemctl unmask --now eventlircd.{socket,service} kannst du es wieder rückgängig machen.


    Die IR-Codes für die lircd.conf und das was die Kernel-Decoder liefern, unterscheiden sich oft - daher sollte man die am besten mit ir-keytable auslesen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bei laufendem eventlircd müsstest du mit irw Tastendrücke sehen können, wenn alles passt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ok, systemctl mask --runtime --now eventlircd.{socket,service} hat funktioniert.

    Ich habe mit ir-keytable -t -p rc5 -s rc1 die Codes für meine Hauptfernbedienung rausbekommen und eine Datei angelegt.

    Anschließend habe ich mit ir-keytable -t -p nec -s rc1 die Codes für meine Zweitfernbedienung rausbekommen und eine Datei angelegt.


    Meine /etc/rc_maps.cfg sieht jetzt so aus:

    Code
    ...
    serial_ir   rc-rc6-mce          /etc/rc_keymaps/urc_7960
    serial_ir   rc-rc6-mce          /etc/rc_keymaps/heitech4in1
    ...

    Warum hier rc-rc6-mce stehen muss hat sich mir noch nicht erschlossen, da in den Beispielen auch andere Namen stehen.


    Eventlirc ließ sich mit systemctl unmask --now eventlircd.{socket,service} nicht starten. Ich musste erst mit rm /run/systemd/system/eventlircd.* die beiden angelegten Symlinks wieder löschen und habe dann systemctl start eventlircd.{socket,service} verwendet.


    Nun mit ir-keytable -a /etc/rc_maps.cfg -s rc1 die neue Tabelle aktiviert und irw liefert endlich was. :)

    Leider wurde aber nur die erste Fernbedienung aktiviert.

    Wie bekomme ich die zweite auch noch rein?

  • ir-keytable bricht nach dem ersten zum Empfänger passenden Eintrag in der rc_maps.cfg ab. Probier mal die beiden Dateien zusammenzuführen und in der Kopfzeile beide IR-Protokolle anzugeben:

    #table rc-rc6-mce, type: RC5,NEC

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ja, auch das hat geklappt. Beide Fernbedienungen laufen nun.


    Nun habe ich noch einen lircrc Eintrag nach /etc/lirc/irexec.lircrc übernommen

    Code
    begin
      prog = irexec
      button = KEY_PROG2
      config = /usr/local/sbin/kodionoff
    end

    wobei /usr/local/sbin/kodionoff bisher so aussieht

    Bash
    #!/bin/bash
    if ["`pidof /usr/lib/x86_64-linux-gnu/kodi/kodi.bin`" -eq ""]
    then
      stop vdr-frontend
      start kodi
    else
      stop kodi
      start vdr-frontend
    fi

    Wie muss ich das ändern?

  • Nun habe ich noch einen lircrc Eintrag nach /etc/lirc/irexec.lircrc übernommen

    Bei yavdr-ansible solltest du nach Möglichkeit die /var/lib/vdr/.lircrc nutzen, denn root-Rechte braucht es da ja nicht mehr um KODI zu starten/stopppen, weil das in der Systemd-User Session des Nutzers vdr läuft.


    Im Prinzip musst du in der Datei nur den Tastennamen anpassen, ein Eintrag zum Wechseln zwischen KODI und VDR ist da schon drin: https://github.com/yavdr/yavdr…ktop/templates/.lircrc.j2

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Sorry für das Ausgraben des alten Threads.


    Nachdem die Boot-Platte in meinem alten VDR gestorben ist und ich auf die Schnelle einen VDR brauche, habe ich ein yaVDR Ansible aufgesetzt. Im Rechner ist ein ATRIC seriell eingebaut und als Fernbedienung habe ich eine Hauppauge A415. Allerdings taucht der ATRIC im ir-keytable gar nicht auf. Jetzt stehe ich auf dem Schlauch wie ich den wieder aktiviert bekomme. In der alten Installation lief das alles noch einwandfrei mit LIRC.

    HW VDR: Thermaltake DH102 | Gigabyte GA-M720-US3 | AMD 270u | 8GB RAM | 120GB SSD System + 3TB HDD Daten | L4M Cine CT V6 + Flex S2 | Zotac GT630 | Futaba MDM166A | Atric IR-Einschalter Rev. 5 | NEC P553 | SEDU + 96 PIX | Pioneer SC-LX85 | Jamo S606
    SW VDR: Debian Wheezy | Kernel 3.2.0-4-amd64 | Mate 1.6 | VDR 2.2.0 | nVidia 331.79 | LIRC 0.9.0 | media_build_experimental | Plugins: permashift 1.0.3, softhddevice 0.6.1rc1-git, menuorg 0.5.1, skinnopacity 0.1.3, tvscraper 0.2.0-git, seduatmo 0.0.2-git, mplayer 0.10.2-hg, fritzbox 1.5.3, vdradmin-am 3.6.9, femon 1.7.19, targavfd 0.3.0, span 0.0.7, dvd 0.3.6-cvs, graphtftng 0.4.10-git, extrecmenu 1.2.4-git, epgsearch 1.0.1-git, block 0.1.2-git, cpumon 0.0.6a, ac3mode 0.1, HD-- 1.0.0-hg, u. v. a. ...

  • Allerdings taucht der ATRIC im ir-keytable gar nicht auf. Jetzt stehe ich auf dem Schlauch wie ich den wieder aktiviert bekomme. In der alten Installation lief das alles noch einwandfrei mit LIRC.

    Hast du dem Playbook gesagt, dass du einen Seriellen Empfänger hast? Dazu muss die Rolle serial_ir einkommentiert werden: https://github.com/yavdr/yavdr…lob/focal/yavdr07.yml#L51 und falls du nicht die erste serielle Schnittstelle nutzen willst, kannst du das über https://github.com/yavdr/yavdr…focal/group_vars/all#L184 vorgeben. Dann das Playbook noch mal laufen lassen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!