diff --git a/config.template b/config.template index 3a16f09..b3f7ae9 100644 --- a/config.template +++ b/config.template @@ -122,7 +122,11 @@ enabled = False # and rebroadcasted on the same channel on the other device/node/interface # with great power comes great responsibility, danger could be lurking in use of this feature # if you have the two nodes on the same radio configurations, you could create a feedback loop -repeater_channels = +repeater_channels = + +[scheduler] +# enable or disable the scheduler module +enabled = False [radioMon] # using Hamlib rig control will monitor and alert on channel use diff --git a/mesh_bot.py b/mesh_bot.py index 6eb2ddf..c3e32d3 100755 --- a/mesh_bot.py +++ b/mesh_bot.py @@ -1054,6 +1054,9 @@ async def start_rx(): if scheduler_enabled: # Examples of using the scheduler, Times here are in 24hr format # https://schedule.readthedocs.io/en/stable/ + + # Reminder Scheduler is enabled every Monday at noon send a log message + schedule.every().monday.at("12:00").do(lambda: logger.info("System: Scheduled Broadcast Reminder")) # Good Morning Every day at 09:00 using send_message function to channel 2 on device 1 #schedule.every().day.at("09:00").do(lambda: send_message("Good Morning", 2, 0, 1)) @@ -1070,6 +1073,9 @@ async def start_rx(): # Send a joke every 6 hours using tell_joke function to channel 2 on device 1 #schedule.every(6).hours.do(lambda: send_message(tell_joke(), 2, 0, 1)) + # Send a joke every 2 minutes using tell_joke function to channel 2 on device 1 + #schedule.every(2).minutes.do(lambda: send_message(tell_joke(), 2, 0, 1)) + # Send the Welcome Message every other day at 08:00 using send_message function to channel 2 on device 1 #schedule.every(2).days.at("08:00").do(lambda: send_message(welcome_message, 2, 0, 1)) @@ -1078,8 +1084,6 @@ async def start_rx(): # Send bbslink looking for peers every other day at 10:00 using send_message function to channel 3 on device 1 #schedule.every(2).days.at("10:00").do(lambda: send_message("bbslink MeshBot looking for peers", 3, 0, 1)) - - # logger.debug("System: Starting the broadcast scheduler") await BroadcastScheduler() diff --git a/modules/settings.py b/modules/settings.py index abeb9b8..e7aaa25 100644 --- a/modules/settings.py +++ b/modules/settings.py @@ -24,7 +24,6 @@ max_retry_count1 = 4 # max retry count for interface 1 max_retry_count2 = 4 # max retry count for interface 2 retry_int1 = False retry_int2 = False -scheduler_enabled = False # enable the scheduler currently config via code only wiki_return_limit = 3 # limit the number of sentences returned off the first paragraph first hit playingGame = False GAMEDELAY = 28800 # 8 hours in seconds for game mode holdoff @@ -78,6 +77,10 @@ if 'fileMon' not in config: config['fileMon'] = {'enabled': 'False', 'file_path': 'alert.txt', 'broadcastCh': '2'} config.write(open(config_file, 'w')) +if 'scheduler' not in config: + config['scheduler'] = {'enabled': 'False'} + config.write(open(config_file, 'w')) + # interface1 settings interface1_type = config['interface'].get('type', 'serial') port1 = config['interface'].get('port', '') @@ -158,6 +161,9 @@ try: repeater_enabled = config['repeater'].getboolean('enabled', False) repeater_channels = config['repeater'].get('repeater_channels', '').split(',') + # scheduler + scheduler_enabled = config['scheduler'].getboolean('enabled', False) + # radio monitoring radio_detection_enabled = config['radioMon'].getboolean('enabled', False) rigControlServerAddress = config['radioMon'].get('rigControlServerAddress', 'localhost:4532') # default localhost:4532 diff --git a/modules/system.py b/modules/system.py index d6271fb..6d9c22b 100644 --- a/modules/system.py +++ b/modules/system.py @@ -158,8 +158,6 @@ else: # Scheduled Broadcast Configuration if scheduler_enabled: import schedule # pip install schedule - # Reminder Scheduler is enabled every Monday at noon send a log message - schedule.every().monday.at("12:00").do(lambda: logger.info("System: Scheduled Broadcast Reminder")) # Sentry Configuration if sentry_enabled: