home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.67k stars 30.43k forks source link

Broadlink sp3 not woirking in new 0.67 version #13983

Closed marine1988 closed 6 years ago

marine1988 commented 6 years ago

Home Assistant release with the issue: 0.67

Last working Home Assistant release (if known): 0.66.1

Operating environment (Hass.io/Docker/Windows/etc.): I using hassbian in virtual environment with orange pi zero runing armbian last version.

Component/platform: https://www.home-assistant.io/components/switch.broadlink/

Description of problem: Not apearing anymore on HA try frontend and sensors page

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

  - platform: broadlink
    host: 192.168.1.12
    mac: '34:EA:34:B5:xx:xx
    type: sp3
    timeout: 45
    friendly_name: 'Kettle'
dshokouhi commented 6 years ago

did u update to 0.67.1 and see if that fixed your issue? you should consider making sure the entire issue template is filled out properly too.

clement38 commented 6 years ago

Hi, same issue for my sp3 device. Appears on frontend but no action when switching on/off

Working on 0.66.1 but broken since 0.67.0 and 0.67.1 (just upgraded)

eglendon commented 6 years ago

I noticed that after 0.67 and also in 0.67.1 the optional "Friendly Name" is no longer being recognized. As a result all of my Broadlink automations and groups are broken (they all pointed to the Friendly Name). Not sure if this is related.

mh-daedalus commented 6 years ago

@moldy-xx , 0.67 had a breaking change from using friendly name to the entity id with broadlink

Danielhiversen commented 6 years ago

Could you check the log for related errors?

clement38 commented 6 years ago

I tried to remove friendly_name but same error.

I'm running a raspbian with HA 0.67.1 in venv.

My configuration is similar to @marine1988 and didn't change since 0.66.1 release:

 - platform: broadlink
   friendly_name: Plug02
   type: sp3
   host: 10.0.0.214
   mac: '34:ea:34:xx:xx:xx'
Update for switch.broadlink_switch fails
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/homeassistant/lib/python3.5/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.5/asyncio/futures.py", line 380, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/switch/broadlink.py", line 293, in update
    self._update()
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/switch/broadlink.py", line 298, in _update
    state = self._device.check_power()
  File "/srv/homeassistant/lib/python3.5/site-packages/broadlink/__init__.py", line 418, in check_power
    if ord(payload[0x4]) == 1 or ord(payload[0x4]) == 3:
TypeError: ord() expected string of length 1, but int found

Similar threads found but no fix or non-working fix:

Danielhiversen commented 6 years ago

That is a bug in the Broadlink library. It is fixed here: https://github.com/mjg59/python-broadlink/pull/178 But there is no new release of the library yet that we could use in HA

clement38 commented 6 years ago

Ok. Thank you

marine1988 commented 6 years ago

thank you guys

marine1988 commented 6 years ago

New update 0.67.1 make it appear but still not working

Update for switch.kettle fails
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/homeassistant/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/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/switch/broadlink.py", line 293, in update
    self._update()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/switch/broadlink.py", line 298, in _update
    state = self._device.check_power()
  File "/srv/homeassistant/lib/python3.6/site-packages/broadlink/__init__.py", line 418, in check_power
    if ord(payload[0x4]) == 1 or ord(payload[0x4]) == 3:
TypeError: ord() expected string of length 1, but int found