Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions pyduofern/duofern_stick.py
Original file line number Diff line number Diff line change
Expand Up @@ -438,17 +438,23 @@ class DuofernStickThreaded(DuofernStick, threading.Thread):
def __init__(self, serial_port=None, *args, **kwargs):
super().__init__(*args, **kwargs)

if serial_port is None:

self.port = None
if serial_port is not None:
self.port = serial_port
if not self.ephemeral:
self.config['port'] = serial_port
self._dump_config()
elif 'port' in self.config and not self.ephemeral: # pragma: no cover
self.port = self.config['port']
else:
try:
self.port = serial.tools.list_ports.comports()[0].device
except IndexError:
raise DuofernException(
"No serial port configured and unable to autodetect device. Did you plug in your stick?")
logger.debug("no serial port set, autodetected {} for duofern".format(self.port))
else:
self.port = serial_port

# DuofernStick.__init__(self, device, system_code, config_file_json, duofern_parser)
#print("used port:", self.port)
self.serial_connection = serial.Serial(self.port, baudrate=115200, timeout=1)
self.running = False

Expand Down
6 changes: 3 additions & 3 deletions scripts/duofern_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,18 @@

from pyduofern.duofern_stick import DuofernStickThreaded


parser = argparse.ArgumentParser(epilog="use at your own risk")

parser.add_argument('--configfile', help='location of system config file', default=None, metavar="CONFIGFILE")
parser.add_argument('--configfile', help='location of system config file (if omitted the default config file will be used)', default=None, metavar="CONFIGFILE")

parser.add_argument('--code', help='set 4-digit hex code for the system (warning, always use same code for once-paired '
'devices) best chose something on the first run and write it down.',
default=None, metavar="SYSTEMCODE")

parser.add_argument('--device',
help='path to serial port created by duofern stick, defaults to first found serial port, typically '
'something like /dev/ttyUSB0 or /dev/duofernstick if you use the provided udev rules file',
'something like /dev/ttyUSB0 or /dev/serial/by-id/... or /dev/duofernstick if you use the provided udev rules file',
default=None)

parser.add_argument('--pair', action='store_true',
Expand Down Expand Up @@ -269,7 +270,6 @@ def do_off(self, blinds):
if __name__ == "__main__":
args = parser.parse_args()

# print(args.up)
if args.debug:
logging.basicConfig(format=' %(asctime)s: %(message)s', level=logging.DEBUG)
else:
Expand Down