def main(): """ the main function. :return: none """ args = setup_args_parser() setup_logging(args.loglevel) controller = Controller(ble_adapter=args.adapter) try: controller.load_data(args.file) except HomeKitException as exception: print(exception) logging.debug(exception, exc_info=True) sys.exit(-1) if args.alias not in controller.get_pairings(): print('"{a}" is no known alias'.format(a=args.alias)) sys.exit(-1) try: pairing = controller.get_pairings()[args.alias] pairing.add_pairing(args.pairing_id, args.key, args.permission) if pairing.pairing_data['Connection'] == 'IP': text = 'Please add this to homekit.finish_add_remote_pairing:\n' \ ' -c {c} -i {id} -k {pk}' \ .format(c=pairing.pairing_data['Connection'], id=pairing.pairing_data['AccessoryPairingID'], pk=pairing.pairing_data['AccessoryLTPK'] ) print(text) elif pairing.pairing_data['Connection'] == 'BLE': text = 'Please add this to homekit.finish_add_remote_pairing:\n' \ ' -c {c} -i {id} -m {mac} -k {pk}' \ .format(c=pairing.pairing_data['Connection'], id=pairing.pairing_data['AccessoryPairingID'], mac=pairing.pairing_data['AccessoryMAC'], pk=pairing.pairing_data['AccessoryLTPK'] ) print(text) else: print('Not known') except HomeKitException as exception: print(exception) logging.debug(exception, exc_info=True) sys.exit(-1)
proxy_characteristic.perms = characteristic_perms proxy_characteristic.set_set_value_callback( generate_set_value_callback(accessory['aid'], proxy_characteristic)) proxy_characteristic.set_get_value_callback( generate_get_value_callback(accessory['aid'], proxy_characteristic)) logging.info('%<------ finished creating proxy ------') return accessories if __name__ == '__main__': args = setup_args_parser() setup_logging(args.loglevel) client_config_file = os.path.expanduser(args.client_data) server_config_file = os.path.expanduser(args.server_data) controller = Controller() try: controller.load_data(client_config_file) except Exception as e: logging.error(e, exc_info=True) sys.exit(-1) if args.alias not in controller.get_pairings(): logging.error('"%s" is no known alias', args.alias) sys.exit(-1)