def get_vac(): start_id = manual_seq = 0 try: with open(args.id_file, 'r') as f: x = json.load(f) start_id = x.get("seq", 0) manual_seq = x.get("manual_seq", 0) except (FileNotFoundError, TypeError) as ex: pass vac = mirobo.Vacuum(args.ip, args.token, start_id) vac.manual_seqnum = manual_seq logging.basicConfig(level=logging.CRITICAL) return vac
def cli(ctx, ip, token, debug): """A tool to command Xiaomi Vacuum robot.""" if debug: logging.basicConfig(level=logging.DEBUG) _LOGGER.info("Debug mode active") else: logging.basicConfig(level=logging.INFO) # if we are scanning, we do not try to connect. if ctx.invoked_subcommand == "discover": return vac = mirobo.Vacuum(ip, token) ctx.obj = vac if ctx.invoked_subcommand is None: ctx.invoke(status)
def cli(ctx, ip: str, token: str, debug: int, id_file: str): """A tool to command Xiaomi Vacuum robot.""" if debug: logging.basicConfig(level=logging.DEBUG) _LOGGER.info("Debug mode active") else: logging.basicConfig(level=logging.INFO) # if we are scanning, we do not try to connect. if ctx.invoked_subcommand == "discover": ctx.obj = "discover" return if ip is None or token is None: click.echo("You have to give ip and token!") sys.exit(-1) start_id = manual_seq = 0 try: with open(id_file, 'r') as f: x = json.load(f) start_id = x.get("seq", 0) manual_seq = x.get("manual_seq", 0) _LOGGER.debug("Read stored sequence ids: %s" % x) except (FileNotFoundError, TypeError) as ex: _LOGGER.error("Unable to read the stored msgid: %s" % ex) pass vac = mirobo.Vacuum(ip, token, start_id, debug) vac.manual_seqnum = manual_seq _LOGGER.debug("Connecting to %s with token %s", ip, token) ctx.obj = vac if ctx.invoked_subcommand is None: ctx.invoke(status) cleanup(vac, id_file=id_file)
def cli(ctx, ip, token, debug): """A tool to command Xiaomi Vacuum robot.""" if debug: logging.basicConfig(level=logging.DEBUG) _LOGGER.info("Debug mode active") else: logging.basicConfig(level=logging.INFO) # if we are scanning, we do not try to connect. if ctx.invoked_subcommand == "discover": return if ip is None or token is None: click.echo("You have to give ip and token!") sys.exit(-1) vac = mirobo.Vacuum(ip, token, debug) _LOGGER.debug("Connecting to %s with token %s", ip, token) ctx.obj = vac if ctx.invoked_subcommand is None: ctx.invoke(status)