ballle98 / cec-mqtt-bridge

A HDMI-CEC to MQTT bridge for connecting HDMI-CEC-devices to your Home Automation system.
2 stars 1 forks source link

python-lirc is not being updated consider using lirc instead #2

Closed ballle98 closed 2 weeks ago

ballle98 commented 7 months ago

This is not being updated - https://pypi.org/project/python-lirc/ Consider moving to - https://pypi.org/project/lirc/

ballle98 commented 7 months ago

According to https://github.com/tompreston/python-lirc

This repository has been archived by the owner on Nov 18, 2020. It is now read-only.

ballle98 commented 1 month ago

see https://sourceforge.net/p/lirc/git/ci/master/tree/python-pkg/

External python code could from 0.9.5 use the new python API. See Python client bindings and Client API manual excerpt..

ballle98 commented 1 month ago
pip install /usr/share/lirc/python-pkg
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing /usr/share/lirc/python-pkg
Building wheels for collected packages: lirc
  Building wheel for lirc (setup.py) ... done
  Created wheel for lirc: filename=lirc-0.0.0-cp39-cp39-linux_aarch64.whl size=28585 sha256=e6791f8f40c775781a76e4a965540a42135e531419a2fa6dcc71618f5df0cf4c
  Stored in directory: /home/openhabian/.cache/pip/wheels/3c/02/18/0c48abbc90aa07c30c53e50a6e3702d24e25f2acd523bee59c
Successfully built lirc
Installing collected packages: lirc
  WARNING: The script lirctool is installed in '/home/openhabian/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed lirc-0.0.0
ballle98 commented 1 month ago

python-lirc is a simple wrapper around lircrc. There is also the base socket interface. "lirc" package on pypi does not support receiving events so it is not a good option.

https://pypi.org/project/lirc/

This package is for emitting IR signals, but it does not support listening to IR codes. If you’d like to monitor the IR signals you recieve on Linux, which has built-in support in the kernel for recieving IR signals, you can try using python-evdev. They have a tutorial on reading the events.

Some additional info on lirc architecture here https://kodi.wiki/view/LIRC#Historical_Information

ballle98 commented 1 month ago

python-lirc (deprecated) Since Linux 4.18, IR is now handled in-kernel and IR events appear just like keyboard or mouse events, making the LIRC daemon and clients (like python-lirc) mostly redundant. The new way to configure keymaps is using ir-keytable which comes with v4l-utils. See #28 (comment)

From https://github.com/tompreston/python-lirc?tab=readme-ov-file

https://lirc.org/html/configuration-guide.html#why-use-lirc

ballle98 commented 2 weeks ago

might also consider https://github.com/bengtmartensson/Lirconian as a pure python alternative to lirc built in python bindings but only supports send.