def main(): parser = argparse.ArgumentParser(description='Moteino gateway') parser.add_argument('--dir', required=True, help='Root directory, should cotains *.config.json') parser.add_argument('--create-db', required=False, help='Crate mgw database. CAUTION: IT WILL REMOVE OLD DATA', action="store_true") parser.add_argument('--sync-db-desc', required=False, help='Sync boards description', action="store_true") args = parser.parse_args() conf = utils.load_config(args.dir + '/global.config.json') sensors_map = utils.load_config(args.dir + '/sensors.config.json') boards_map = utils.load_config(args.dir + '/boards.config.json') db = database.connect(conf['db_file']) if args.create_db: database.create_db(db, boards_map) print('Database created in {}'.format(conf['db_file'])) sys.exit(0) if args.sync_db_desc: database.sync_boards(db, boards_map) print('Syned boards in {}'.format(conf['db_file'])) sys.exit(0) utils.create_logger(conf['logging']['level']) mgmt = mgmt_Thread( conf=conf, boards_map=boards_map, sensors_map=sensors_map, ) mgmt.start()
def main(): parser = argparse.ArgumentParser(description='Fence') parser.add_argument('--dir', required=True, help='Root directory, should cotains *.config.json') args = parser.parse_args() conf = utils.load_config(args.dir + '/global.config.json') utils.create_logger(logging.INFO) logging.getLogger("requests").setLevel(logging.CRITICAL) requests.packages.urllib3.disable_warnings() LOG.info('Starting') while True: mgw_status = api_request('{}/action/status'.format(conf['mgw_api'])) if mgw_status.get('fence'): req = api_request(conf['geo_api'], auth=(conf['geo_user'], conf['geo_pass'])) if req: check_action(req, conf['geo_devices'], mgw_status.get('armed'), conf['mgw_api']) else: set_armed(conf['mgw_api'], 1) time.sleep(conf['loop_time'])