I’ve been trying to integrate the Ryobi Garage Door Opener into Home Assistant, but am having a few issues… I can get the GDO to respond to open/close commands after restarting HA, but I am receiving a ‘Broken Pipe’ error when trying to attempt the service call after about 30 minutes. I’m not well verse in python or API calls, but the behavior makes it seem like HA is not requesting a new auth token once the original token expires. I would really like to get this working reliably as the HomeKit integration (thus Siri integration) makes it a lot more convenient to get into my garage as we have to open the garage door to get into it (no interior door to the garage for some reason). Below is the trace in the logs. Once this error shows in the logs, it will not work again until I restart HA:
Error executing service <ServiceCall cover.open_cover (c:8ba2ace651bb40649e47247d0ed335f8): entity_id=['cover.ryobi_gdo_e0e5cfbd3236']>
Traceback (most recent call last):
File "/usr/src/app/homeassistant/core.py", line 1117, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/src/app/homeassistant/components/cover/__init__.py", line 174, in async_handle_cover_service
await getattr(cover, method['method'])(**params)
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/app/homeassistant/components/cover/ryobi_gdo.py", line 97, in open_cover
self.ryobi_door.open_device()
File "/usr/local/lib/python3.6/site-packages/py_ryobi_gdo/__init__.py", line 161, in open_device
return self.send_message("doorCommand", 1)
File "/usr/local/lib/python3.6/site-packages/py_ryobi_gdo/__init__.py", line 181, in send_message
websocket.send(pay_load)
File "/usr/local/lib/python3.6/site-packages/websocket/_core.py", line 239, in send
return self.send_frame(frame)
File "/usr/local/lib/python3.6/site-packages/websocket/_core.py", line 264, in send_frame
l = self._send(data)
File "/usr/local/lib/python3.6/site-packages/websocket/_core.py", line 425, in _send
return send(self.sock, data)
File "/usr/local/lib/python3.6/site-packages/websocket/_socket.py", line 112, in send
return sock.send(data)
File "/usr/local/lib/python3.6/ssl.py", line 941, in send
return self._sslobj.write(data)
File "/usr/local/lib/python3.6/ssl.py", line 642, in write
return self._sslobj.write(data)
BrokenPipeError: [Errno 32] Broken pipe
Any help would be appreciated.