Breaking change on 0.67 for Broadlink

Hello,

Device: Broadlink SP3
Home Assitant: 67.1

I got my switches to connect but I can not control them through home assistant. I checked the logs and this is what I found. The first is when I try to turn the device on. The second is checking the status and is constantly updating with that error. Anyone have any ideas on how to get them working again.

I have read through the breaking change and did the fixes or so I thought. I can control them through the e-control app so the switches to function.

Thank you to all with advice

Turn on log:

Error executing service <ServiceCall switch.turn_on: entity_id=['switch.device4']>

    Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/core.py", line 1002, in _event_to_service_call
    await service_handler.func(service_call)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/__init__.py", line 109, in async_handle_switch_service
    await switch.async_turn_on()
  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/switch/broadlink.py", line 219, in turn_on
    if self._sendpacket(self._command_on):
  File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/broadlink.py", line 267, in _sendpacket
    self._device.set_power(packet)
  File "/usr/lib/python3.6/site-packages/broadlink/__init__.py", line 394, in set_power
    if self.check_nightlight():
  File "/usr/lib/python3.6/site-packages/broadlink/__init__.py", line 432, in check_nightlight
    if ord(payload[0x4]) == 2 or ord(payload[0x4]) == 3:
TypeError: ord() expected string of length 1, but int found

Status update log:

Update for switch.device4 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/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/broadlink.py", line 293, in update
    self._update()
  File "/usr/lib/python3.6/site-packages/homeassistant/components/switch/broadlink.py", line 298, in _update
    state = self._device.check_power()
  File "/usr/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

Logs Screen shot

1 Like