Core: Hyperion raises error since 0.65

Created on 12 Mar 2018  路  20Comments  路  Source: home-assistant/core

Make sure you are running the latest version of Home Assistant before reporting an issue.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Home Assistant release (hass --version):
0.65.3

Python release (python3 --version):
3.6.3

Component/platform:
Hyperion

Description of problem:
Hyperion raises error when switched on.
Switch go's to off state, Hyperion stays on and can not be switched off.
I'm using the setup with the NodeMCU.

Maybe related PR: https://github.com/home-assistant/home-assistant/pull/12872

Traceback (if applicable):

2018-03-12 11:39:30 ERROR (MainThread) [homeassistant.helpers.entity] Update for light.hyperion fails
Traceback (most recent call last):
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

Additional info:
https://community.home-assistant.io/t/problems-with-hyperion/46594
https://community.home-assistant.io/t/hyperion-on-and-off-command-does-not-work-anymore/46699/6

Most helpful comment

Please test #13429 if it fixes the issue.

All 20 comments

Reverting #12872 fixes the issue.
CC @a-andre

Can confirm this.
IMO the fix from #12872 should be applied to ESP8266 Hyperion (that doesnt comply with the way "normal" hyperion works) not on HA side

Makes no difference to me if i use hyperion with led's connected to a RPi, or if hyperion sends a UDP stream to a NodeMCU.
Issue persists with the fix.

Hi, I got a similar issue. In a previous version, Hyperion did work (47.3 stone age :)) but now it does not,
with the following output:

Update for light.hyperion fails
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

(sorry for the wrong syntax, but I don't get the script input syntax right)

Hyperion does react to the first button toggle "on" but then it turns back off. and in that process HA throws errors. Hyperion does works normal with the android application.

Cheers,

Same issue here on RPi. Hyperion receives all the commands from HA and acts as expected with my automations and scripts. HA recognizes that Hyperion is on when Hyperion is set to an effect. However, HA seems to fail to recognize the state change when turning Hyperion on with a simple switch on my frontend gui.

I have the same problem as Koen00.
I'm running HASSIO 0.65.5 on Rasp Pi 3

Same issue as @garrettdowd
Hassio 0.65.5

me too... :( Same issue 065.6

Me too 065.6 hass.io rasp pi 3

Please test #13429 if it fixes the issue.

YEP! WORKS!
Thanks very much!

Sorry, I am not using Hyperion with NodeMCU, I have 2 Hyperion's running. one on Raspberry Pi Zero and other on Raspberry Pi 3. Both remain broken, even with #13429.

Hyperion switch still returns to off state after switched turned on.

Hassio 0.65.6

Copied #13429 into my custom_components folder.

@sarcasticsapien can you provide a log output with the patch applied

@sarcasticsapien do you have the same problem with any Hassio version between 0.62.* and 0.64.* (there was a bigger change in the hyperion component in 0.62, #11543)?

@sarcasticsapien & @a-andre

I still have the same issue,

Log Details (ERROR)
Sun Mar 25 2018 20:38:04 GMT+0200 (West-Europa (zomertijd))

Update for light.hyperion_ambilight fails
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

This is the output, HassIO 65.6 && hyperion v. 1.03.3 on RPI 2B

config:

  - platform: hyperion
    host: 192.x.x.x
    port: 19444
    name: Hyperion ambilight
    priority: 100
    hdmi_priority: 880
    default_color: [200, 150, 20]
    effect_list: ['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 
      'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs',
      'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single',
      'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random',
      'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue',
      'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']

When I hit the switch to enable the led, it switches to the correct color, but HA does not get a (correct) response while it is waiting for one, and turns off after some time.
I am running hyperion on a rpi zero with wifi dongle with a video grabber.

Cheers

@a-andre I have not used hyperion in some time (I had been using hyperion.ng, but decided to downgrade to hyperion for HomeAssistant integration specifically), so 0.65.5 and 0.65.6 are the only Hass.io versions I have tried it with in the past year.

I apologize, after looking at my log file it appears my Hass.io may not be pulling my custom_components version of hyperion.py

Update for light.hyperion fails
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

I have it located in

<config dir>/custom_components/light/hyperion.py`

and line 217 shows

if not led_color or led_color[0]['RGB Value'] == [0, 0, 0]:

My other custom_components are working fine, so I do not think this is a directory issue.

I tried restarting Hass.io a couple times, but I get the same issue and log file output.

@Koen00 @sarcasticsapien it looks like you haven't applied the PR. After applying it you should see an upper case V in 'RGB Value' in File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, compare with the logs you posted.

@a-andre, I don't find the folder named homeassistant in _"/usr/lib/python3.6/site-packages"_

if I search the hyperion.py file over WinSCP, also unsuccessful.

Maybe try the new 0.66.0beta.
There the patch is implemented.

I've got it working now. renamed the component to ambilight and the file to ambilight.py in the folder custom_components\light to force hassio to recheck the files.
With success. (copied the whole py file from GitHub)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

neotrunks picture neotrunks  路  169Comments

gieljnssns picture gieljnssns  路  277Comments

WilldabeastHA picture WilldabeastHA  路  203Comments

kdschlosser picture kdschlosser  路  374Comments

balloob picture balloob  路  371Comments