From 6f121b7aacfc43c641f01343c23b01e58ac44a52 Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Fri, 31 Jan 2025 22:04:03 -0800 Subject: [PATCH] enhance QRZ default to training mode, a new mode --- README.md | 1 + config.template | 5 ++--- mesh_bot.py | 7 ++++--- modules/qrz.py | 4 ++++ modules/settings.py | 1 + 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4f803a3..235f9b8 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ This isnt QRZ.com this is Q code for who is calling me, this will track new node [qrz] enabled = True # QRZ Hello to new nodes qrz_hello_string = "send CMD or DM me for more info." # will be sent to all heard nodes once +training = True # Training mode will not send the hello message to new nodes, use this to build up database ``` ### Scheduler diff --git a/config.template b/config.template index b6a872a..b486f39 100644 --- a/config.template +++ b/config.template @@ -153,9 +153,6 @@ ignoreFEMAtest = True # find your SAME https://www.weather.gov/nwr/counties mySAME = 053029,053073 -# Use UK Alert Broadcast Data -enableGBalerts = False - # Use DE Alert Broadcast Data enableDEalerts = False # comma separated list of regional codes trigger local alert. @@ -179,6 +176,8 @@ reverse_in_out = False enabled = False qrz_db = data/qrz.db qrz_hello_string = "send CMD or DM me for more info." +# Training mode will not send the hello message to new nodes +training = True # repeater module [repeater] diff --git a/mesh_bot.py b/mesh_bot.py index b406bc3..ef3f7c5 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -1262,9 +1262,10 @@ def onReceive(packet, interface): # add to qrz_hello list hello(message_from_id, name) # send a hello message as a DM - time.sleep(responseDelay) - send_message(f"Hello {name} {qrz_hello_string}", channel_number, message_from_id, rxNode) - time.sleep(responseDelay) + if not train_qrz: + time.sleep(responseDelay) + send_message(f"Hello {name} {qrz_hello_string}", channel_number, message_from_id, rxNode) + time.sleep(responseDelay) else: # Evaluate non TEXT_MESSAGE_APP packets consumeMetadata(packet, rxNode) diff --git a/modules/qrz.py b/modules/qrz.py index 05353f5..29a4402 100644 --- a/modules/qrz.py +++ b/modules/qrz.py @@ -23,12 +23,16 @@ def never_seen_before(nodeID): row = c.fetchone() conn.close() if row is None: + # we have not seen this node before return True else: + # we have seen this node before return False except sqlite3.OperationalError as e: if "no such table" in str(e): initalize_qrz_database() + logger.error("QRZ database table not found, created new table") + # we have not seen this node before return True else: raise diff --git a/modules/settings.py b/modules/settings.py index e2f2caf..66349b9 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -278,6 +278,7 @@ try: qrz_hello_enabled = config['qrz'].getboolean('enabled', False) qrz_db = config['qrz'].get('qrz_db', 'data/qrz.db') qrz_hello_string = config['qrz'].get('qrz_hello_string', 'send CMD or DM me for more info.') + train_qrz = config['qrz'].getboolean('training', True) # E-Mail Settings sysopEmails = config['smtp'].get('sysopEmails', '').split(',')