Code Monkey home page Code Monkey logo

cec-mqtt-bridge's People

Contributors

connorgriffin avatar davidmonro avatar depuits avatar endor-force avatar heikomat avatar janlo avatar jonaseck2 avatar michaelarnauts avatar renemarc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cec-mqtt-bridge's Issues

rPi4 commands do not work

MQTT messages get passed and received from what I can see in the listener, the device accurately advertises its current state properly, but won't power on or off. Is there a configuration that is different for an rPi4 since it's got two HDMI ports?

Install on Openelec: missing cec module

Hi.
I'm trying to get this up and running on Openelec. The main issue here is I cannot install packages the normal way.

I've made a minor adjustment in the top lines of the code to allow paho.mqtt to be loaded in there just fine. I've included this at the top:
import sys sys.path.append("/storage/scripts/modules")

and in that folder I've placed the paho.mqtt module. I'm having a problem regarding the cec module though. I can issue commands using command line just fine (example: echo "tx 4F:82:12:00" | cec-client -s ). However, when I start the mqttbrigde it crashes at cec setup:

Initialising CEC... ('ERROR: Could not initialise CEC:', 'No module named _cec')

could you help me out? is it possible at all on openelec?

Default Config

I had several issues with the config: when I entered a different port it told me it could not compare str and int. I then decided to just change the config in the bridge.py file, which worked, but only after I added "user":"" in the default dictionary, as it does not contain this.

It now works for me, but maybe have a look?

Error when trying to start: ImportError: No module named paho.mqtt.client

Is anyone else having this issue? I tried creating a symlink from the client to that and also paho, but no luck. I'm also a total noob at this, but trying to learn

Traceback (most recent call last):
  File "bridge.py", line 4, in <module>
    import paho.mqtt.client as mqtt
ImportError: No module named paho.mqtt.client

Don't hardcode the path to config

Currently the path to the config file is hardcoded as config.ini. This is causing problems if you want to run bridge.pyusing eg a systemd service. The config could for example be

  • at /etc/cec-mqtt-bridge or similar
  • configurable as a parameter
  • configurable in one of first lines of the script
  • at least be hardcoded to /opt/cec-mqtt-bridge/config.ini

This would be very helpful.

Error on startup "Cannot assign requested address"

I'm trying to install the bridge on a raspberry pi 3 B+. I've tried it on Hassbian and Raspbian Buster with no luck. Currently trying to run it in a docker container (but have tried without docker) and I always get this message on startup:

Initialising CEC...
Initialising MQTT...
Traceback (most recent call last):
  File "bridge.py", line 360, in <module>
    mqtt_client.connect(config['mqtt']['broker'], int(config['mqtt']['port']), 60)
  File "/usr/local/lib/python3.6/site-packages/paho/mqtt/client.py", line 760, in connect
    return self.reconnect()
  File "/usr/local/lib/python3.6/site-packages/paho/mqtt/client.py", line 887, in reconnect
    sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
  File "/usr/local/lib/python3.6/socket.py", line 722, in create_connection
    raise err
  File "/usr/local/lib/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
OSError: [Errno 99] Cannot assign requested address

The docker command is docker run -d --device=/dev/vcsm --device=/dev/vchiq --restart unless-stopped cec-mqtt-bridge

My config is:

; MQTT broker configuration
;
[mqtt]
; Hostname of mqtt broker (required)
broker=192.168.1.34

; Name of your device (default=cec-ir-mqtt)
devicename=cec-ir-mqtt 

; Port to connect to (default=1883)
port=1883

; Use tls
;tls=0

; Username and password
user=*****
password=*****

; MQTT prefix to use
prefix=apartment/tv

;
; HDMI-CEC configuration
;
[cec]
; Enable CEC
enabled=1

; ID of CEC controller
id=1

; Port where the CEC-device is connected
port=RPI

; Devices to query (comma seperated, defaults to all devices)
;devices=0,2,3,4,5

;
; LIRC configuration
;
[ir]
; Enable LIRC
enabled=0

Other info: Running Mosquitto 1.5.7 successfully with various other clients connected

Very rarely I have received an error similar to "Cannot connect to CEC adapter", but 90% of the time it is the above traceback. Any help would be hugely appreciated, thanks.

MQTT client id

There should be a config option or append a random # on end of MQTT client ID for those of us that want to run this on multiple devices and push to same MQTT server.

As noted here

Each client must have a unique client id, the broker will kick off the oldest client when a new one connects with the same client id. Other than that you can run as many clients as you want connecting from anywhere that can reach the broker

MQTT logs:

1547942724: New client connected from 10.0.0.216 as cec-ir-mqtt (c1, k60).
1547942725: New connection from 10.0.0.128 on port 1883.
1547942725: Client cec-ir-mqtt already connected, closing old connection.
1547942725: Socket error on client cec-ir-mqtt, disconnecting.
1547942725: New client connected from 10.0.0.128 as cec-ir-mqtt (c1, k60).
1547942726: New connection from 10.0.0.216 on port 1883.
1547942726: Client cec-ir-mqtt already connected, closing old connection.
1547942726: Socket error on client cec-ir-mqtt, disconnecting.
1547942726: New client connected from 10.0.0.216 as cec-ir-mqtt (c1, k60).
1547942727: New connection from 10.0.0.128 on port 1883.
1547942727: Client cec-ir-mqtt already connected, closing old connection.
1547942727: Socket error on client cec-ir-mqtt, disconnecting.
1547942727: New client connected from 10.0.0.128 as cec-ir-mqtt (c1, k60).

(repeating)

Can't "Activate Source" via MQTT (Using directly via cec-client works)

As the title suggests - I'm having issues activating the 'source' video using the cec-mqtt bridge...

  • When I run echo 'tx 5f:82:32:00' | /usr/bin/cec-client -s - I can broadcast to change the source on my AVR to 3.2.0.0 (and it works)

  • However when I try and run the same command via MQTT (so in this case i'm running mosquitto_pub -h x.x.x.x -t homeassistant/cec/tx -m '5f:82:32:00' the command is received fine, however nothing is executed...

To make matters more interesting, I can use the prefix/cec/cmd arguments (such as mute/unmute etc) -- So the issue appears only when running raw TX commands...

Anyone have any suggestions? I have a feeling this is a bug but I'm not sure what other information to provide...

Using latest build on github

Error Running

Initialising CEC...
Initialising IR...
Initialising MQTT...
Traceback (most recent call last):
File "bridge.py", line 263, in
mqtt_client.connect(config['mqtt']['broker'], config['mqtt']['port'], 60)
File "/usr/local/lib/python3.4/dist-packages/paho/mqtt/client.py", line 685, in connect
self.connect_async(host, port, keepalive, bind_address)
File "/usr/local/lib/python3.4/dist-packages/paho/mqtt/client.py", line 741, in connect_async
if port <= 0:
TypeError: unorderable types: str() <= int()

Re-implement cache

I need to add back the cache so the broker doesn't get spammed every 10 seconds.

No installation instructions for Home Assistant?

I’ve been using your great tool with Node-RED for a while, but after recently moving from Raspbian to Hassio (HassOS), I don’t know how to install it?

I still want to use with Node-RED, but installed on Hassio (HassOS) rather than Raspbian.

Ideally this could also be a self contained node in Node-RED. (I am aware of the node-red-contrib-cec, but that does not support sending raw commands in simple format.)

If this is not possible what is the best way of sending and receiving raw cec commands with Hassio?

Allow specifying the location of the lirc daemon

It seems that on OSMC, the lirc daemon is not on the default /var/run/lircd socket.

You need to change the code like this:

diff --git a/bridge.py b/bridge.py
index 7be2d11..387f570 100755
--- a/bridge.py
+++ b/bridge.py
@@ -192,7 +192,7 @@ def ir_listen_thread():


 def ir_send(remote, key):
-    subprocess.call(["irsend", "SEND_ONCE", remote, key])
+    subprocess.call(["irsend", "--device=/run/lirc/lircd-lirc0", "SEND_ONCE", remote, key])


 def cec_refresh():

This needs to be a configuration option.

Support arm64 - Can't compile Docker image on Pi

I get the following error message when trying to compile on a Raspberry Pi 4 running Raspberry Pi OS 64-bit Bookworm.

Base image jonaseck/rpi-raspbian-libcec-py was pulled with platform "linux/arm/v7", expected "linux/arm64" for current build (line 1)

Does this project currently only support 32-bit versions, or maybe just older versions of Debian?

Mute/Volume Issue

I'm running on a RPi connected to my Sony TV. Power on/off commands and status reporting work fine, but mute commands/status and volume commands/status do not work (with TV internal speakers). Do these only work with an external amp connected?

Hotplug doesnt detect CEC adapter

I have this working well on a raspberry pi zero w.

When the pi is connected to the HDMI port before being powered up, everything works well.

However, if HDMI is plugged in afterward the Pi has booted, the cec never initalises.

If I scan the bus using:
echo scan | cec-client -s -d 1

The adapter opens, and all works as expected.

So I tried adding the scan line to my supervisord script. When it restarts (with no HDMI plugged in) the adapter opens, and initalises MQTT. But if you plug in HDMI cable, it nevers finds a new device on the bus unless rebooted or scanned again.

Is this an issue with cec-mqtt-bridge or raspberry pi?

Thank you

Cannot get it to work

Hi there,

Great little tool and exactly what I was looking for however I cannot get the tool to send the status to MQTT on the terminal it says device status changed to on but subsrcbing on media/cec# gives me nothing at all?

Any ideas?

Initialising MQTT...
Initialising CEC...
Broadcast (F): osd name set to 'Broadcast'
InitHostCEC - vchiq_initialise succeeded
InitHostCEC - vchi_initialise succeeded
InitHostCEC - vchi_connect succeeded
logical address changed to Free use (e)
Open - vc_cec initialised
connection opened
<< Broadcast (F) -> TV (0): POLL
initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
<< e0
Starting main loop...
Refreshing....
processor thread started
initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
<< e0

POLL not sent
TV (0): device status changed into 'not present'
registering new CEC client - v3.0.1
detecting logical address for type 'recording device'
trying logical address 'Recorder 1'
<< Recorder 1 (1) -> Recorder 1 (1): POLL
<< 11
<< 11
POLL not sent
using logical address 'Recorder 1'
Recorder 1 (1): device status changed into 'handled by libCEC'
Recorder 1 (1): power status changed from 'unknown' to 'on'
Recorder 1 (1): vendor = Pulse Eight (001582)
Recorder 1 (1): CEC version 1.4
AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
logical address changed to Recorder 1 (1)
Recorder 1 (1): osd name set to 'cec-ir-mqtt'
Recorder 1 (1): menu language set to 'eng'
GetPhysicalAddress - physical address = 2400
AutodetectPhysicalAddress - autodetected physical address '2400'
Recorder 1 (1): physical address changed from ffff to 2400
<< Recorder 1 (1) -> broadcast (F): physical adddress 2400
<< 1f:84:24:00:01
CEC client registered: libCEC version = 3.0.1, client version = 3.0.1, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 2.4.0.0, compiled on Fri Jul 3 19:20:43 UTC 2015 by [email protected] on Linux 3.16.0-41-generic (armv7l), features: P8_USB, P8_detect, 'RPi'
<< Recorder 1 (1) -> TV (0): OSD name 'cec-ir-mqtt'
<< Recorder 1 (1) -> TV (0): POLL
<< 10
<< 10
POLL not sent
not sending command 'set osd name': destination device 'TV' marked as not present
<< requesting power status of 'TV' (0)
<< Recorder 1 (1) -> TV (0): POLL
<< 10
<< 10
POLL not sent
not sending command 'give device power status': destination device 'TV' marked as not present
<< 11:8f
not sending data to myself!

Config:

`;
; MQTT broker configuration
;
[mqtt]
; Hostname of mqtt broker (required)
broker=192.168.20.10

; Port to connect to (default=1883)
port=1883

; Username and password
user=REDACTED
password=REDACTED

; MQTT prefix to use
prefix=media

;
; HDMI-CEC configuration
;
[cec]
; Enable CEC
enabled=1

; ID of CEC controller
id=1

; Port where the CEC-device is connected
port=RPI

; Devices to query (comma seperated, defaults to all devices)
devices=1

;
; LIRC configuration
;
[ir]
; Enable LIRC
enabled=0
`

Execute commands

I have done something like this long time before (CEC<-> Telnet) and it is time to move to MQTT. What I miss in your bridge is the ability to execute commands. There should be a topic where PI will subscribe to commands like 'click' and then execute 'xdotool click 1'. So clicking OK on the remote will send it to the home automation system and it will reply back to simulate Click. I use it to navigate web page and click buttons without a mouse

http://tuxradar.com/content/xdotool-script-your-mouse'

ERROR: Could not initialise CEC: Could not connect to cec adapter

I keep getting this error when trying to start the application. I've tried changing the port in the config but the error remains.

I've tried the default port=RPI. Using cec-client -l I got following output:

libCEC version: 6.0.2, compiled on Linux-5.10.63-v8+ ... , features: P8_USB, DRM, P8_detect, randr, RPi, Exynos, Linux, AOCEC
Found devices: 1

device:              1
com port:            /dev/cec0
vendor id:           0000
product id:          0000
firmware version:    0
type:                Linux

What to me looked like I should use port /dev/cec0 but with the same result.

I followed the setup as described here. Only things different is that is don't have the /dev/vcsm and I had to change the dockerfile as in AlecLetourneau#1.

Any idea how to resolve this issue?

Change how cec-mqtt-bridge advertises itself. E.g. Playback 3 instead of Recorder 1

Hi :)

Thanks again for making this great tool.

How do I change how the cec-mqtt-bridge advertises itself? e.g. Playback 3 (9) instead of Recorder 1 (1) or as Unregistered (F). Tried changing "id" in the default configuration in bridge.py from 1 to 9, but that did not seem to change anything?

I see that under "setup CEC" it says "cec_config.deviceTypes.Add(cec.CEC_DEVICE_TYPE_RECORDING_DEVICE)"

Is it possible to control other CEC devices without appearing as a device itself?

Install instructions?

Any chance you can provide some basic instructions to install, setup, and run for an RPi running Raspbian?

install dependencies issue (raspi)

I run pip3 install -r requirements.txt and get (also tried with sudo)

Collecting python-lirc==1.2.3 (from -r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/20/37/5614ed0459439a96430e1aac479b6608b51e69ca0bd7d91277517d5895e9/python-lirc-1.2.3.tar.gz
Collecting paho-mqtt==1.3 (from -r requirements.txt (line 2))
  Using cached https://www.piwheels.org/simple/paho-mqtt/paho_mqtt-1.3.0-py3-none-any.whl
Building wheels for collected packages: python-lirc
  Running setup.py bdist_wheel for python-lirc ... error
  Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-48kj4bye/python-lirc/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpmm8tstinpip-wheel- --python-tag cp35:
  running bdist_wheel
  running build
  running build_ext
  building 'lirc' extension
  creating build
  creating build/temp.linux-armv6l-3.5
  creating build/temp.linux-armv6l-3.5/lirc
  arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/lirc/ -I/usr/include/python3.5m -c lirc/lirc.c -o build/temp.linux-armv6l-3.5/lirc/lirc.o
  lirc/lirc.c:276:30: fatal error: lirc/lirc_client.h: No such file or directory
   #include "lirc/lirc_client.h"
                                ^
  compilation terminated.
  error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for python-lirc
  Running setup.py clean for python-lirc
Failed to build python-lirc
Installing collected packages: python-lirc, paho-mqtt
  Found existing installation: python-lirc 1.2.1
    Not uninstalling python-lirc at /usr/lib/python3/dist-packages, outside environment /usr
  Running setup.py install for python-lirc ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-48kj4bye/python-lirc/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-zwiaan5i-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'lirc' extension
    creating build
    creating build/temp.linux-armv6l-3.5
    creating build/temp.linux-armv6l-3.5/lirc
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/lirc/ -I/usr/include/python3.5m -c lirc/lirc.c -o build/temp.linux-armv6l-3.5/lirc/lirc.o
    lirc/lirc.c:276:30: fatal error: lirc/lirc_client.h: No such file or directory
     #include "lirc/lirc_client.h"
                                  ^
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

    ----------------------------------------
  Can't rollback python-lirc, nothing uninstalled.
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-48kj4bye/python-lirc/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-zwiaan5i-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-48kj4bye/python-lirc/

Any idea what is wrong? Thanks for your help.

[Bug] Vendor and physical address broadcasts set power status to 'on'

Within bridge.py, it seems the decision was made to set power status to on when a device broadcasts its vendor ID or physical address. This invalidates the actual Report power status routine just above!

I can't see any reason for either of those two routines to exist at all so I'd propose removing them. I just have in my own install and it means the power status can actually be trusted again! Before, it was just constantly flapping to on every time it broadcasted itself, and then back off once it broadcasted its power status.

No way to provide ca_certs, certfile, and keyfile for TLS

There is an option to enable TLS, but there is no way to provide a certificate for it. I use a cert-based auth and a self-signed cert for my mqtt broker. The paho-mqtt documentation (https://pypi.org/project/paho-mqtt/#client) suggests to put these parameters to tls_set function:

tls_set(ca_certs=None, certfile=None, keyfile=None, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLS, ciphers=None)

While the tls_version and ciphers might not be so important, the first 3 arguments are more common to be set.

Out of memory on r-pi 3

My r-pi kernel is killing bridge.py after a few days due to it being out of memory. Has anyone else had this issue?

Python version 3.5.3
Kernel version Linux raspberrypi 4.9.59+

In kern.log about the kill:

May  9 07:20:57 raspberrypi kernel: [584030.004827] 151 pages in swap cache                                                                                                                   
May  9 07:20:57 raspberrypi kernel: [584030.004832] Swap cache stats: add 26489, delete 26338, find 2254/2535                                                                                 
May  9 07:20:57 raspberrypi kernel: [584030.004835] Free swap  = 0kB                                                                                                                          
May  9 07:20:57 raspberrypi kernel: [584030.004838] Total swap = 102396kB                                                                                                                     
May  9 07:20:57 raspberrypi kernel: [584030.004842] 114688 pages RAM                                                                                                                          
May  9 07:20:57 raspberrypi kernel: [584030.004844] 0 pages HighMem/MovableOnly                                                                                                               
May  9 07:20:57 raspberrypi kernel: [584030.004847] 3555 pages reserved                                                                                                                       
May  9 07:20:57 raspberrypi kernel: [584030.004849] 2048 pages cma reserved                                                                                                                   
May  9 07:20:57 raspberrypi kernel: [584030.004853] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name                                                         
May  9 07:20:57 raspberrypi kernel: [584030.004889] [   91]     0    91     2404      702       8       0       59             0 systemd-journal                                              
May  9 07:20:57 raspberrypi kernel: [584030.004899] [  129]     0   129     3575       15       8       0      135         -1000 systemd-udevd                                                
May  9 07:20:57 raspberrypi kernel: [584030.004910] [  202]   100   202     4316       19       9       0       92             0 systemd-timesyn                                              
May  9 07:20:57 raspberrypi kernel: [584030.004920] [  231]     0   231     1321       13       5       0       41             0 cron                                                         
May  9 07:20:57 raspberrypi kernel: [584030.004929] [  233]   105   233     1622       45       7       0       59          -900 dbus-daemon                                                  
May  9 07:20:57 raspberrypi kernel: [584030.004939] [  236]     0   236     5712       94      11       0       80             0 rsyslogd                                                     
May  9 07:20:57 raspberrypi kernel: [584030.004948] [  240]     0   240     1842      157       7       0       73             0 systemd-logind                                               
May  9 07:20:57 raspberrypi kernel: [584030.004958] [  247] 65534   247     1321        4       6       0       57             0 thd                                                          
May  9 07:20:57 raspberrypi kernel: [584030.004967] [  256]   108   256     1596      215       7       0       61             0 avahi-daemon                                                 
May  9 07:20:57 raspberrypi kernel: [584030.004976] [  266]   108   266     1596        5       7       0       72             0 avahi-daemon                                                 
May  9 07:20:57 raspberrypi kernel: [584030.005027] [  340]     0   340     2530       79       8       0      113             0 wpa_supplicant                                               
May  9 07:20:57 raspberrypi kernel: [584030.005040] [  360]     0   360      520        0       5       0       33             0 hciattach                                                    
May  9 07:20:57 raspberrypi kernel: [584030.005051] [  365]     0   365     1766        0       7       0       75             0 bluetoothd                                                   
May  9 07:20:57 raspberrypi kernel: [584030.005060] [  421]     0   421      717       26       5       0       57             0 dhcpcd                                                       
May  9 07:20:57 raspberrypi kernel: [584030.005070] [  422]     0   422     2546        0       8       0      137         -1000 sshd                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005079] [  430]   999   430     8979      245       9       0      124             0 snapclient                                                   
May  9 07:20:57 raspberrypi kernel: [584030.005089] [  435]     0   435     1045        0       6       0       34             0 agetty                                                       
May  9 07:20:57 raspberrypi kernel: [584030.005098] [  453]  1000   453     2413       51       9       0      119             0 systemd                                                      
May  9 07:20:57 raspberrypi kernel: [584030.005108] [  456]  1000   456     2821       42       8       0      270             0 (sd-pam)                                                     
May  9 07:20:57 raspberrypi kernel: [584030.005118] [  484]  1000   484     1364       35       7       0       63             0 tmux: server                                                 
May  9 07:20:57 raspberrypi kernel: [584030.005128] [  485]  1000   485     1542        0       6       0      339             0 bash                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005138] [  510]  1000   510   142561    97832     257       0    23076             0 python3                                                      
May  9 07:20:57 raspberrypi kernel: [584030.005149] [ 4460]     0  4460     1694       79       6       0        8             0 cron                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005159] [ 4466]     0  4466     1694       79       6       0        8             0 cron                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005168] [ 4480]     0  4480      471       21       5       0        0             0 sh                                                           
May  9 07:20:57 raspberrypi kernel: [584030.005178] [ 4482]     0  4482      471       21       5       0        0             0 sh                                                           
May  9 07:20:57 raspberrypi kernel: [584030.005187] [ 4483]     0  4483      451       22       5       0        0             0 run-parts                                                    
May  9 07:20:57 raspberrypi kernel: [584030.005197] [ 4484]     0  4484      451       22       5       0        0             0 run-parts                                                    
May  9 07:20:57 raspberrypi kernel: [584030.005206] [ 4485]     0  4485     1433      170       6       0       13             0 cron                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005216] [ 4486]     0  4486      471       20       4       0        0             0 fake-hwclock                                                 
May  9 07:20:57 raspberrypi kernel: [584030.005225] [ 4489]     0  4489      471       21       5       0        0             0 fake-hwclock                                                 
May  9 07:20:57 raspberrypi kernel: [584030.005235] [ 4491]     0  4491      438      145       4       0        0             0 bsdmainutils                                                 
May  9 07:20:57 raspberrypi kernel: [584030.005244] [ 4492]     0  4492      435      146       4       0        0             0 date                                                         
May  9 07:20:57 raspberrypi kernel: [584030.005250] Out of memory: Kill process 510 (python3) score 886 or sacrifice child                                                                    
May  9 07:20:57 raspberrypi kernel: [584030.005299] Killed process 510 (python3) total-vm:570244kB, anon-rss:390332kB, file-rss:996kB, shmem-rss:0kB
May  9 07:20:58 raspberrypi kernel: [584030.679268] oom_reaper: reaped process 510 (python3), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

"No module named 'cec'" on latest OSMC

After following all the instructions related to CEC (including the "install libcec" step) on your guide, I am getting the following error when trying to run bridge.py:

osmc@osmc:/opt/cec-mqtt-bridge$ python3 bridge.py
Initialising CEC...
ERROR: Could not initialise CEC: No module named 'cec'

On this machine (Raspberry Pi) I can run cec-client commands just fine to turn on/off the connected devices (just a TV in my case). It also shows up on my Samsung as any Anynet+ device and can be controlled by my stock TV remote.

Any ideas? I love the project concept and would absolutely love to get this going!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.