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
    1. 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

    The post was edited 3 times, last by 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

  • 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

  • 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
    1. ...
    2. #driver table file
    3. ite-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce
    4. nuvoton-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce
    5. serial_ir urc_7960 /lib/udev/rc_keymaps/urc_7960
    6. mceusb rc-rc6-mce /lib/udev/rc_keymaps/HOPLOrc6
    7. ...

    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
    1. ...
    2. serial_ir rc-rc6-mce /etc/rc_keymaps/urc_7960
    3. serial_ir rc-rc6-mce /etc/rc_keymaps/heitech4in1
    4. ...

    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
    1. begin
    2. prog = irexec
    3. button = KEY_PROG2
    4. config = /usr/local/sbin/kodionoff
    5. end

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

    Shell-Script
    1. #!/bin/bash
    2. if ["`pidof /usr/lib/x86_64-linux-gnu/kodi/kodi.bin`" -eq ""]
    3. then
    4. stop vdr-frontend
    5. start kodi
    6. else
    7. stop kodi
    8. start vdr-frontend
    9. 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.)

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