def imports(args): if args.timeout is None: args.timeout = 2 if args.output == 'txt': print( "-------------------------------------------------------------------------------" ) print("Import libs") print("Try to import libopenzwave") import libopenzwave print("Try to import libopenzwave.PyLogLevels") from libopenzwave import PyLogLevels print("Try to get options") options = libopenzwave.PyOptions(user_path=".", cmd_line="--logging false") options.lock() time.sleep(0.5) print("Try to get manager") manager = libopenzwave.PyManager() manager.create() print("Try to get python_openzwave version") print(manager.getPythonLibraryVersionNumber()) print("Try to get python_openzwave full version") print(manager.getPythonLibraryVersion()) print("Try to get openzwave version") print(manager.getPythonLibraryVersion()) print("Try to get openzwave version") print(manager.getOzwLibraryVersion()) print("Try to get default config path") print(libopenzwave.configPath()) print("Try to destroy manager") manager.destroy() print("Try to destroy options") options.destroy() time.sleep(0.5) print("Try to import openzwave (API)") import openzwave elif args.output == 'raw': import libopenzwave from libopenzwave import PyLogLevels options = libopenzwave.PyOptions(user_path=".", cmd_line="--logging false") options.lock() time.sleep(0.5) manager = libopenzwave.PyManager() manager.create() print("{0}|{1}|{2}|{3}".format(manager.getOzwLibraryVersion(), manager.getPythonLibraryVersionNumber(), manager.getPythonLibraryVersion(), libopenzwave.configPath())) manager.destroy() options.destroy() time.sleep(0.5) import openzwave
def callback_config(option, opt_str, value, parser): if value is None: value = configPath() if value is None: raise optparse.OptionValueError( "Can't determine the config path automatically.") setattr(parser.values, option.dest, value)
def init_device(args): global home_id if args.timeout is None: args.timeout = 15 if args.output == 'txt': print( "-------------------------------------------------------------------------------" ) print("Intialize device {0}".format(args.device)) import libopenzwave print("Try to get options") options = libopenzwave.PyOptions(config_path=args.config_path, user_path=args.user_path, cmd_line="--logging true") options.lock() time.sleep(1.0) print("Try to get manager") manager = libopenzwave.PyManager() manager.create() print("Try to get python_openzwave version") print(manager.getPythonLibraryVersionNumber()) print("Try to get python_openzwave full version") print(manager.getPythonLibraryVersion()) print("Try to get openzwave version") print(manager.getOzwLibraryVersion()) print("Try to get default config path") print(libopenzwave.configPath()) print("Try to add watcher") manager.addWatcher(zwcallback) time.sleep(1.0) manager.addDriver(args.device) print("Wait for notifications ({0}s)".format(args.timeout)) next_print = args.timeout / 10 delta = 0.1 for i in range(0, int(args.timeout / delta)): time.sleep(delta) next_print -= delta if next_print < 0: next_print = args.timeout / 10 print('.') print("Try to remove driver") manager.removeDriver(args.device) time.sleep(3.0) print("Try to remove watcher") manager.removeWatcher(zwcallback) print("Try to destroy manager") manager.destroy() time.sleep(0.2) print("Try to destroy options") options.destroy() time.sleep(1.0) print("Retrieve HomeID") print("{0:08x}".format(home_id)) elif args.output == 'raw': import libopenzwave options = libopenzwave.PyOptions(config_path=args.config_path, user_path=args.user_path, cmd_line="--logging false") options.lock() time.sleep(1.0) manager = libopenzwave.PyManager() manager.create() manager.addWatcher(zwcallback) time.sleep(1.0) manager.addDriver(args.device) next_print = args.timeout / 10 delta = 0.1 for i in range(0, int(args.timeout / delta)): time.sleep(delta) print("{0}|{1}|{2}|{3}|{4:08x}".format( manager.getOzwLibraryVersion(), manager.getPythonLibraryVersionNumber(), manager.getPythonLibraryVersion(), libopenzwave.configPath(), home_id, )) manager.removeDriver(args.device) time.sleep(0.5) manager.removeWatcher(zwcallback) manager.destroy() time.sleep(0.2) options.destroy()