zewelor / bt-mqtt-gateway

A simple Python script which provides a Bluetooth to MQTT gateway, easily extensible via custom workers. See https://github.com/zewelor/bt-mqtt-gateway/wiki for more information.
MIT License
550 stars 117 forks source link

Timeout #147

Open ik0adr opened 4 years ago

ik0adr commented 4 years ago

Describe the bug A clear and concise description of what the bug is. Not working anymore

Traceback (most recent call last): File "./gateway.py", line 49, in mqtt.publish(_WORKERS_QUEUE.get(timeout=10).execute()) File "/home/pi/bt-mqtt-gateway/workers_manager.py", line 34, in execute messages = self._callback(*self._args) File "/home/pi/bt-mqtt-gateway/workers/thermostat.py", line 78, in status_update ret += self.update_device_state(name, thermostat) File "/home/pi/bt-mqtt-gateway/workers/thermostat.py", line 115, in update_device_state thermostat.update() File "/usr/local/lib/python3.5/dist-packages/eq3bt/eq3btsmart.py", line 163, in update self._conn.make_request(PROP_WRITE_HANDLE, value) File "/usr/local/lib/python3.5/dist-packages/eq3bt/connection.py", line 71, in make_request with self: File "/usr/local/lib/python3.5/dist-packages/eq3bt/connection.py", line 36, in enter self._conn.connect(self._mac) File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 445, in connect self._connect(addr, addrType, iface) File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 436, in _connect rsp = self._getResp('stat') File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 407, in _getResp resp = self._waitResp(wantType + ['ntfy', 'ind'], timeout) File "/usr/local/lib/python3.5/dist-packages/bluepy/btle.py", line 347, in _waitResp rv = self._helper.stdout.readline() File "/usr/local/lib/python3.5/dist-packages/interruptingcow/init.py", line 74, in handler raise exception TimeoutError: Execution of command ThermostatWorker.status_update timed out after 35 seconds

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Config Used config

Debug gateway logs run gateway.py with -d switch and paste formatted output log

Server (please complete the following information):

zewelor commented 4 years ago

Try to upgrade bluez to newest version: https://github.com/zewelor/bt-mqtt-gateway/wiki/Upgrade-Bluez-on-Raspbian

cauer71 commented 4 years ago

I have found the issue with the timeouts on several pi3b. Restarting the Bluetooth service solves the problem. Also with the actuallest bluez

harristom commented 3 years ago

Same issue on a Pi Zero W with bluez version 5.50-1.2~deb10u1+rpt2. Works for a few hours then stops sending updates.

jjimenezlopez commented 3 years ago

Hi, any update on this? I've started using bt-mqtt-gateway some days ago and I'm having the same issue.