diff --git a/data_gateway.py b/data_gateway.py
index 3c170a8..9434654 100644
--- a/data_gateway.py
+++ b/data_gateway.py
@@ -692,54 +692,57 @@ def decdeg2dms(dd):
def user_setting_write(dmr_id, setting, value, call_type):
## try:
- # Open file and load as dict for modification
- logger.info(setting.upper())
- with open(user_settings_file, 'r') as f:
-## if f.read() == '{}':
-## user_dict = {}
- user_dict = ast.literal_eval(f.read())
- logger.info('Current settings: ' + str(user_dict))
- if dmr_id not in user_dict:
- user_dict[dmr_id] = [{'call': str(get_alias((dmr_id), subscriber_ids))}, {'ssid': ''}, {'icon': ''}, {'comment': ''}, {'pin': ''}, {'APRS': False}]
- if setting.upper() == 'ICON':
- user_dict[dmr_id][2]['icon'] = value
- if setting.upper() == 'SSID':
- user_dict[dmr_id][1]['ssid'] = value
- if setting.upper() == 'COM':
- user_comment = user_dict[dmr_id][3]['comment'] = value[0:35]
- if setting.upper() == 'APRS ON':
- user_dict[dmr_id][5] = {'APRS': True}
- if call_type == 'unit':
- send_sms(False, dmr_id, 0000, 0000, 'unit', 'APRS MSG TX/RX Enabled')
- if call_type == 'vcsbk':
- send_sms(False, 9, 0000, 0000, 'group', 'APRS MSG TX/RX Enabled')
- if setting.upper() == 'APRS OFF':
- user_dict[dmr_id][5] = {'APRS': False}
- if call_type == 'unit':
- send_sms(False, dmr_id, 0000, 0000, 'unit', 'APRS MSG TX/RX Disabled')
- if call_type == 'vcsbk':
- send_sms(False, 9, 0000, 0000, 'group', 'APRS MSG TX/RX Disabled')
- if setting.upper() == 'PIN':
- #try:
- #if user_dict[dmr_id]:
- user_dict[dmr_id][4]['pin'] = value
- if call_type == 'unit':
- send_sms(False, dmr_id, 0000, 0000, 'unit', 'You can now use your pin on the dashboard.')
- if call_type == 'vcsbk':
- send_sms(False, 9, 0000, 0000, 'group', 'You can now use your pin on the dashboard.')
- #if not user_dict[dmr_id]:
- # user_dict[dmr_id] = [{'call': str(get_alias((dmr_id), subscriber_ids))}, {'ssid': ''}, {'icon': ''}, {'comment': ''}, {'pin': pin}]
- #except:
- # user_dict[dmr_id].append({'pin': value})
- f.close()
- logger.info('Loaded user settings. Write changes.')
- # Write modified dict to file
- with open(user_settings_file, 'w') as user_dict_file:
- user_dict_file.write(str(user_dict))
- user_dict_file.close()
- logger.info('User setting saved')
- f.close()
- packet_assembly = ''
+ if CONFIG['WEB_SERVICE']['REMOTE_CONFIG_ENABLED'] == True:
+ send_sms_cmd(CONFIG, dmr_id, 'APRS-' + setting + '=' + str(value))
+ if CONFIG['WEB_SERVICE']['REMOTE_CONFIG_ENABLED'] == False:
+ # Open file and load as dict for modification
+ logger.info(setting.upper())
+ with open(user_settings_file, 'r') as f:
+ ## if f.read() == '{}':
+ ## user_dict = {}
+ user_dict = ast.literal_eval(f.read())
+ logger.info('Current settings: ' + str(user_dict))
+ if dmr_id not in user_dict:
+ user_dict[dmr_id] = [{'call': str(get_alias((dmr_id), subscriber_ids))}, {'ssid': ''}, {'icon': ''}, {'comment': ''}, {'pin': ''}, {'APRS': False}]
+ if setting.upper() == 'ICON':
+ user_dict[dmr_id][2]['icon'] = value
+ if setting.upper() == 'SSID':
+ user_dict[dmr_id][1]['ssid'] = value
+ if setting.upper() == 'COM':
+ user_comment = user_dict[dmr_id][3]['comment'] = value[0:35]
+ if setting.upper() == 'APRS ON':
+ user_dict[dmr_id][5] = {'APRS': True}
+ if call_type == 'unit':
+ send_sms(False, dmr_id, 0000, 0000, 'unit', 'APRS MSG TX/RX Enabled')
+ if call_type == 'vcsbk':
+ send_sms(False, 9, 0000, 0000, 'group', 'APRS MSG TX/RX Enabled')
+ if setting.upper() == 'APRS OFF':
+ user_dict[dmr_id][5] = {'APRS': False}
+ if call_type == 'unit':
+ send_sms(False, dmr_id, 0000, 0000, 'unit', 'APRS MSG TX/RX Disabled')
+ if call_type == 'vcsbk':
+ send_sms(False, 9, 0000, 0000, 'group', 'APRS MSG TX/RX Disabled')
+ if setting.upper() == 'PIN':
+ #try:
+ #if user_dict[dmr_id]:
+ user_dict[dmr_id][4]['pin'] = value
+ if call_type == 'unit':
+ send_sms(False, dmr_id, 0000, 0000, 'unit', 'You can now use your pin on the dashboard.')
+ if call_type == 'vcsbk':
+ send_sms(False, 9, 0000, 0000, 'group', 'You can now use your pin on the dashboard.')
+ #if not user_dict[dmr_id]:
+ # user_dict[dmr_id] = [{'call': str(get_alias((dmr_id), subscriber_ids))}, {'ssid': ''}, {'icon': ''}, {'comment': ''}, {'pin': pin}]
+ #except:
+ # user_dict[dmr_id].append({'pin': value})
+ f.close()
+ logger.info('Loaded user settings. Write changes.')
+ # Write modified dict to file
+ with open(user_settings_file, 'w') as user_dict_file:
+ user_dict_file.write(str(user_dict))
+ user_dict_file.close()
+ logger.info('User setting saved')
+ f.close()
+ packet_assembly = ''
# Process SMS, do something bases on message
diff --git a/web/app.py b/web/app.py
index d711f1c..baf8cfa 100644
--- a/web/app.py
+++ b/web/app.py
@@ -3225,6 +3225,33 @@ Name: ''' + p.name + ''' - Port: ''' + str(
)
db.session.add(add_ss)
db.session.commit()
+
+ def oo_server_add(_server, _other_options):
+ s = ServerList.query.filter_by(name=_server).first()
+ s.other_options = str(_other_options)
+ db.session.commit()
+
+ def sms_aprs_edit(_user, _dmr_id, _setting, _value):
+ u = User.query.filter(User.username.ilike(_user)).first()
+ aprs_settings = ast.literal_eval(u.aprs)
+ print(_setting)
+ if _setting == 'ssid':
+ aprs_settings[_dmr_id][1][_setting] = _value
+ if _setting == 'icon':
+ aprs_settings[_dmr_id][2][_setting] = _value
+ if _setting == 'com':
+ aprs_settings[_dmr_id][3]['comment'] = _value
+ if _setting == 'pin':
+ aprs_settings[_dmr_id][4][_setting] = int(_value)
+ if _setting.upper() == 'APRS':
+ if _value.upper() == 'ON':
+ aprs_settings[_dmr_id][5][_setting] = True
+ if _value.upper() == 'OFF':
+ aprs_settings[_dmr_id][5][_setting] = False
+ print(aprs_settings[_dmr_id])
+
+ u.aprs = str(aprs_settings)
+ db.session.commit()
def tp_del(_id):
tpd = TinyPage.query.filter_by(id=_id).first()
@@ -6890,10 +6917,10 @@ Name: ''' + p.name + ''' - Port: ''' + str(
)
sms_que_purge(hblink_req['get_sms_que'])
elif 'sms_cmd' in hblink_req:
- print(get_aprs_settings())
+## print(get_aprs_settings())
if hblink_req['sms_cmd']:
split_cmd = str(hblink_req['cmd']).split(' ')
- print(split_cmd)
+## print(split_cmd)
if hblink_req['cmd'][:1] == '?':
## tst = ServerList.query.filter(ServerList.other_options.ilike('%DATA_GATEWAY%')).first()
## print(tst)
@@ -6943,6 +6970,18 @@ Name: ''' + p.name + ''' - Port: ''' + str(
sms_que_add('', '', 0, hblink_req['rf_id'], 'motorola', 'unit', hblink_req['sms_cmd'], '', str(i.snd_id) + ': ' + re.sub('<.*?>', '', str(i.message)))
except:
sms_que_add('', '', 0, hblink_req['rf_id'], 'motorola', 'unit', hblink_req['sms_cmd'], '', 'Not found or other error')
+ elif hblink_req['cmd'][:5] == 'APRS-':
+ if hblink_req['cmd'][5:9] == 'APRS':
+ if 'ON' in split_cmd[1]:
+ sms_aprs_edit(hblink_req['call'], hblink_req['rf_id'], 'APRS', 'ON')
+ if 'OFF' in split_cmd[1]:
+ sms_aprs_edit(hblink_req['call'], hblink_req['rf_id'], 'APRS', 'OFF')
+
+ elif hblink_req['cmd'][5:9] != 'APRS':
+
+ aprs_set = re.sub('APRS-|=.*','',split_cmd[0])
+ aprs_val = re.sub('.*=|,','',split_cmd[0])
+ sms_aprs_edit(hblink_req['call'], hblink_req['rf_id'], aprs_set.lower(), aprs_val)