summaryrefslogtreecommitdiff
path: root/addons/hw_drivers/controllers/driver.py
diff options
context:
space:
mode:
authorpha-odoo <pha@odoo.com>2019-07-30 12:38:00 +0000
committerpha-odoo <pha@odoo.com>2019-07-31 10:54:46 +0000
commit28c2e642cbf02d65e0f50ec45c590cd0eba0dcfb (patch)
tree37ef4ae9403c2e9f523af8d1e852fda5d94894ae /addons/hw_drivers/controllers/driver.py
parent0e6e80ca05547e33f0b22b3740954c581de16c63 (diff)
[FIX] iot: bluetooth work with serial
Using path such as '/dev/ttyUSB0' to connect to a serial port makes it impossible to use the bluetooth. We now use the locations in '/dev/serial/by-path' to connect to serial port, which does not affect bluetooth connections closes odoo/odoo#35302 Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Diffstat (limited to 'addons/hw_drivers/controllers/driver.py')
-rwxr-xr-xaddons/hw_drivers/controllers/driver.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/addons/hw_drivers/controllers/driver.py b/addons/hw_drivers/controllers/driver.py
index 901d5ed2479..9a6764b7b23 100755
--- a/addons/hw_drivers/controllers/driver.py
+++ b/addons/hw_drivers/controllers/driver.py
@@ -18,7 +18,6 @@ from cups import Connection as cups_connection
from glob import glob
from base64 import b64decode
from pathlib import Path
-from serial.tools.list_ports import comports
import socket
from odoo import http, _
@@ -158,7 +157,7 @@ class Driver(Thread, metaclass=DriverMetaClass):
"""
On specific driver override this method to give connection type of device
return string
- possible value : direct - network - bluetooth
+ possible value : direct - network - bluetooth - serial
"""
return self._device_connection
@@ -309,10 +308,9 @@ class Manager(Thread):
def serial_loop(self):
serial_devices = {}
- for dev in comports():
- dev.identifier = dev.location
- iot_device = IoTDevice(dev, 'serial')
- serial_devices[dev.identifier] = iot_device
+ for identifier in glob('/dev/serial/by-path/*'):
+ iot_device = IoTDevice({'identifier': identifier, }, 'serial')
+ serial_devices[identifier] = iot_device
return serial_devices
def usb_loop(self):