Hdmi_cec kills homeassistant process during startup

hdmi_cec has stopped working for me and actually crashes HA during startup if it’s enabled.

I have tried limiting the configuration to only this with the same result:

homeassistant:
  name: Home
  latitude: !secret home_latitude
  longitude: !secret home_longitude
  elevation: !secret home_elevation
  unit_system: !secret unit_system
  time_zone: !secret time_zone

http:
  api_password: !secret http_password
  base_url: !secret http_base_url
  ssl_key: !secret http_ssl_key
  ssl_certificate: !secret http_ssl_certificate

frontend:
config:
logger:
hdmi_cec: !include cfg/hdmi_cec.yaml

cfg/hdmi_cec.yaml:

devices:
  tv: 0.0.0.0
  yamaha: 1.0.0.0
  teliatv: 1.4.0.0

This is the relevant output from journalctl after a homeassistant restart:

Apr 20 12:40:44 razberry systemd[1]: Starting Home Assistant...
...
Apr 20 12:40:50 razberry hass[14799]: INFO:homeassistant.loader:Loaded hdmi_cec from homeassistant.components.hdmi_cec
...
Apr 20 12:40:51 razberry hass[14799]: INFO:homeassistant.setup:Setting up hdmi_cec
Apr 20 12:40:51 razberry hass[14799]: DEBUG:homeassistant.components.hdmi_cec:Parsing config {'yamaha': '1.0.0.0', 'teliatv': '1.4.0.0', 'tv': '0.0.0.0'}
Apr 20 12:40:51 razberry hass[14799]: DEBUG:homeassistant.components.hdmi_cec:Parsed devices: {'yamaha': <pycec.network.PhysicalAddress object at 0x7.....b0>, 'teliatv': <pycec.network.PhysicalAddress object at 0x7.....d0>, 'tv': <pycec.network.PhysicalAddress object at 0x7.....70>}
Apr 20 12:40:51 razberry systemd[1]: homeassistant.service: main process exited, code=killed, status=11/SEGV
Apr 20 12:40:51 razberry systemd[1]: Unit homeassistant.service entered failed state.

hdmi_cec has worked before, and it doesn’t matter if all I have in the config is just hdmi_cec: or something more complex.

I am not sure what has caused this change. My libcec installation is the same as from when it worked, and I can use cec-client from the command line without problems.

echo scan | cec-client -s -d 1 shows a list of all devices as it should.

Any ideas on what might be wrong, or how to further debug this?


HomeAssistant 0.42.4 on Raspberry3

What has changed in your system between when it worked and when it crashes the system?

Update? or config change?

Wish that I knew, but in short: I can’t say for sure.

I had problem restarting HA one day and ended up reinstalling the whole virtualenv. Hdmi_cec may have been the root of my problems at that time, but if it was I must have missed it. I have ended up doing other changes since then, including upgrading to the latest homeassistant.

I know the following though:

  • hdmi_cec config hasn’t changed, and I get the same error even with an empty hdmi_cec: section in the configuration file.
  • libcec is the same as before (symlinked /srv/homeassistant/lib/python3.4/site-packages/cec -> /usr/local/lib/python3.4/dist-packages/cec ).
  • No relevant system packages have been upgraded since it was working.