fix blank STATIC_UNIT from config, update documentation to config, remove from requirements.txt

This commit is contained in:
KF7EEL 2021-04-26 12:25:05 -07:00
parent 6875d95475
commit 0664c4124a
5 changed files with 53 additions and 41 deletions

View File

@ -100,15 +100,13 @@ app_response = {
'app_shortcut':'APP', 'app_shortcut':'APP',
'auth_token':'736a9ced7e7688c951490a7f8e1ebdd4', 'auth_token':'736a9ced7e7688c951490a7f8e1ebdd4',
'data':{ 'data':{
1:{'source_app':'app_name', 1:{ 'destination_id':3153591,
'destination_id':3153591,
'slot':2, 'slot':2,
'msg_type':'unit', 'msg_type':'unit',
'msg_format':'motorola', 'msg_format':'motorola',
'message':'text of the message' 'message':'text of the message'
}, },
2:{'source_id':'app_name', 2:{ 'destination_id':3153591,
'destination_id':3153591,
'slot':2, 'slot':2,
'msg_type':'unit', 'msg_type':'unit',
'msg_format':'motorola', 'msg_format':'motorola',

View File

@ -109,34 +109,38 @@ STALE_DAYS: 1
# GPS/Data Application - by KF7EEL # GPS/Data Application - by KF7EEL
# Configure the settings for the DMR GPS to APRS position application here. # Configure the settings for the DMR GPS to APRS position application here.
# #
# DATA_DMR_ID - This is the DMR ID that users send DMR GPS data. # DATA_DMR_ID - This is the DMR ID that users send SMS and GPS data.
# CALL_TYPE - group, unit, or both. Group if you want users to send data to a talkgroup, # CALL_TYPE - group, unit, or both. Group if you want users to send data to a talkgroup,
# unit if you want users to send data as a private call, or both if you want both options. # unit if you want users to send data as a private call, or both if you want both options.
# UNIT_SMS_TS - Default timeslot for private SMS, where the subscriber's last TS is not known. # UNIT_SMS_TS - Default timeslot for private SMS, where the subscriber's last TS is not known.
# UNIT_SMS_TS can be 1 or 2
[GPS_DATA] [GPS_DATA]
DATA_DMR_ID: 9099 DATA_DMR_ID: 9099
CALL_TYPE: unit CALL_TYPE: unit
UNIT_SMS_TS: 2 UNIT_SMS_TS: 2
#APRS settings # APRS configuration
# This section contains APRS configuration for the gateway.
# USER_APRS_SSID - Default APRS SSID assigned to user APRS positions. # USER_APRS_SSID - Default APRS SSID assigned to user APRS positions.
# USER_APRS_COMMENT - Default Comment attached to user APRS positions. # USER_APRS_COMMENT - Default Comment attached to user APRS positions.
# APRS_LOGIN_CALL, PASSCODE, SERVER, and PORT - Login settings for APRS-IS. # APRS_LOGIN_CALL, PASSCODE, SERVER, and PORT - Gateway login settings for APRS-IS.
# Setting APRS_LOGIN_CALL to N0CALL will cause the gateway to not upload packets to APRS server.
USER_APRS_SSID: 15 USER_APRS_SSID: 15
USER_APRS_COMMENT: HBLink3 D-APRS - USER_APRS_COMMENT: HBLink3 D-APRS -
# Setting APRS_LOGIN_CALL to N0CALL will cause the gateway to not upload packets to APRS server.
# Set to N0CALL if you wish to disable APRS.
APRS_LOGIN_CALL: N0CALL APRS_LOGIN_CALL: N0CALL
APRS_LOGIN_PASSCODE: 12345 APRS_LOGIN_PASSCODE: 12345
APRS_SERVER: rotate.aprs2.net APRS_SERVER: rotate.aprs2.net
APRS_PORT: 14580 APRS_PORT: 14580
# The APRS filter below is used for the message received script. See http://www.aprs-is.net/javAPRSFilter.aspx for details # The APRS filter below is used for receiving messages.
# about APRS filters. #See http://www.aprs-is.net/javAPRSFilter.aspx for details about APRS filters.
APRS_FILTER: r/47/-120/500 t/m APRS_FILTER: r/47/-120/500 t/m
# The following settings are only applicable if you are using the gps_data_beacon_igate script. # The following configuration options are for uploading a position of the gateway itself.
# They do not affect the operation gps_data itself. # When the gateway uploads a position, APRS software such as aprs.fi will see it as an Igate,
# Time in minutes. If time is set to 0, no beacon will be sent. # this is useful if you want aprs.fi to keep statistics.
# Time in minutes. Set IGATE_BEACON_TIME to 0 to disable Igate beaconing.
IGATE_BEACON_TIME = 45 IGATE_BEACON_TIME = 45
IGATE_BEACON_COMMENT = HBLink3 D-APRS Gateway IGATE_BEACON_COMMENT = HBLink3 D-APRS Gateway
IGATE_BEACON_ICON = /I IGATE_BEACON_ICON = /I
@ -150,38 +154,46 @@ IGATE_LONGITUDE = 00000.00W
APRS_STATIC_REPORT_INTERVAL: 15 APRS_STATIC_REPORT_INTERVAL: 15
APRS_STATIC_MESSAGE:Connected to HBLink APRS_STATIC_MESSAGE:Connected to HBLink
###### Removing Soon ###################
# The email gateway settingns below are OPTIONAL. They are NOT REQUIRED if you don't want # The email gateway settingns below are OPTIONAL. They are NOT REQUIRED if you don't want
# http://www.aprs-is.net/javAPRSFilter.aspx# to enable the email gateway. Leave as is to disable. # http://www.aprs-is.net/javAPRSFilter.aspx# to enable the email gateway. Leave as is to disable.
EMAIL_SENDER: test@example.org EMAIL_SENDER: test@example.org
EMAIL_PASSWORD: letmein EMAIL_PASSWORD: letmein
SMTP_SERVER: smtp.gmail.com SMTP_SERVER: smtp.gmail.com
SMTP_PORT: 465 SMTP_PORT: 465
########################################
# The options below are required for operation of the dashboard and will cause errors in gps_data.py
# if configured wrong. Leave them as default unless you know what you are doing. # The options below are required for operation of the dashboard and will cause errors if configures incorrectly.
# If you do change, you must use absolute paths. # Leave them as default unless you know what you are doing.
# If you do change, you MUST use absolute paths.
LOCATION_FILE: /tmp/gps_data_user_loc.txt LOCATION_FILE: /tmp/gps_data_user_loc.txt
BULLETIN_BOARD_FILE: /tmp/gps_data_user_bb.txt BULLETIN_BOARD_FILE: /tmp/gps_data_user_bb.txt
MAILBOX_FILE: /tmp/gps_data_user_mailbox.txt MAILBOX_FILE: /tmp/gps_data_user_mailbox.txt
EMERGENCY_SOS_FILE: /tmp/gps_data_user_sos.txt EMERGENCY_SOS_FILE: /tmp/gps_data_user_sos.txt
# REQUIRED TO CHANGE
# User settings file, MUST configure using absolute path. # User settings file, MUST configure using absolute path.
USER_SETTINGS_FILE: /path/to/user_settings.txt USER_SETTINGS_FILE: /path/to/user_settings.txt
# API settings # API Configuration
# Authorized Apps file - data used for the dashboard API # MY_SERVER_SHORTCUT - Short abbreviation, must match other users access.
# Authorized Tokens File - location of file to store token for app requests, can be left as default # Server name - can be different than dashboard title, used to identify this network/server.
# Authorized Users File - Stores login data for other servers to send messages # AUTHORIZED_TOKENS_FILE, OK to leave as default. This is the file where one time tokens are saved.
# Access Systems File - Contains data for external applications or other networks/servers # MY_SERVER_SHORTCUT, should be something short, ideally 3 or 4 letters. This is used in the authentication and
# that this server can access. # sending process. Should be unique from other servers, especially if you plan on allowing public access.
# My API Name - Short abbreviation, must match other users access files. # SERVER_NAME, the name of your server or network. This is used to identify your server with some external applications.
# Server name - can be different than dashboard title, used to identify this network/server # USE_PUBLIC_APPS, Allow your users to use publically accessible external applications.
# PUBLIC_APPS_LIST, URL to list of public external applications. Leave as default.
USE_API: True USE_API: True
AUTHORIZED_TOKENS_FILE: /tmp/hblink_auth_tokens.txt AUTHORIZED_TOKENS_FILE: /tmp/hblink_auth_tokens.txt
MY_SERVER_SHORTCUT: ABC MY_SERVER_SHORTCUT: ABC
SERVER_NAME: Test HBLink Network SERVER_NAME: Regional HBLink3 Server
USE_PUBLIC_APPS: True USE_PUBLIC_APPS: True
PUBLIC_APPS_LIST: https://raw.githubusercontent.com/kf7eel/hblink_sms_external_apps/main/public_systems.txt PUBLIC_APPS_LIST: https://raw.githubusercontent.com/kf7eel/hblink_sms_external_apps/main/public_systems.txt
# REQUIRED TO CHANGE
RULES_PATH: /path/to/rules.py RULES_PATH: /path/to/rules.py
@ -191,6 +203,7 @@ DASHBOARD_TITLE: HBLink3 D-APRS Dashboard
# Used for API, RSS feed link, etc. This MUST be accessible. # Used for API, RSS feed link, etc. This MUST be accessible.
# Do not add a trailing / # Do not add a trailing /
# You must set this if you are using the API.
DASHBOARD_URL: http://localhost:8092 DASHBOARD_URL: http://localhost:8092
# Logo used on dashboard page # Logo used on dashboard page
@ -220,7 +233,7 @@ MAP_CENTER_LON: -120.00
ZOOM_LEVEL: 7 ZOOM_LEVEL: 7
# List and preview of some map themes at http://leaflet-extras.github.io/leaflet-providers/preview/ # List and preview of some map themes at http://leaflet-extras.github.io/leaflet-providers/preview/
# The following are options for map themes and just work, you should use one of these: “OpenStreetMap”, “Stamen” (Terrain, Toner, and Watercolor), # The following are options for map themes and just work, you should use one of these: “OpenStreetMap”, “Stamen” (Terrain, Toner, and Watercolor).
MAP_THEME: Stamen Toner MAP_THEME: Stamen Toner
##################################################################### #####################################################################

View File

@ -936,8 +936,12 @@ UNIT_MAP = {}
time_20 = 630720000 time_20 = 630720000
# Build a UNIT_MAP based on values in STATIC_MAP. # Build a UNIT_MAP based on values in STATIC_MAP.
for i in STATIC_UNIT: try:
for i in STATIC_UNIT:
UNIT_MAP[bytes_3(i[0])] = i[1], time() + time_20, i[2] UNIT_MAP[bytes_3(i[0])] = i[1], time() + time_20, i[2]
# If empty, return empty dictionary
except:
UNIT_MAP = {}
# Timed loop used for reporting HBP status # Timed loop used for reporting HBP status
# #
@ -1829,6 +1833,8 @@ class routerHBP(HBSYSTEM):
_target_status = systems[_target].STATUS _target_status = systems[_target].STATUS
_target_system = self._CONFIG['SYSTEMS'][_target] _target_system = self._CONFIG['SYSTEMS'][_target]
## print(self._targets)
#print(_target_system)
if self._CONFIG['SYSTEMS'][_target]['MODE'] == 'OPENBRIDGE': if self._CONFIG['SYSTEMS'][_target]['MODE'] == 'OPENBRIDGE':
if (_stream_id not in _target_status): if (_stream_id not in _target_status):

View File

@ -10,5 +10,4 @@ flask
folium folium
libscrc libscrc
requests requests
json
hashlib

View File

@ -33,17 +33,13 @@ configuration file.
''' '''
BRIDGES = { BRIDGES = {
## 'ENGLISH': [ 'STATEWIDE': [
## {'SYSTEM': 'CHANGE_ME-1', 'TS': 1, 'TGID': 13, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []}, {'SYSTEM': 'MASTER-1', 'TS': 2, 'TGID': 3129, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,10], 'RESET': []},
## {'SYSTEM': 'CHANGE_ME-2', 'TS': 1, 'TGID': 13, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [3,], 'OFF': [8,10], 'RESET': []}, {'SYSTEM': 'PEER-2', 'TS': 2, 'TGID': 3129, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,10], 'RESET': []},
## ], ],
## 'STATEWIDE': [
## {'SYSTEM': 'CHANGE_ME-1', 'TS': 2, 'TGID': 3129, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,10], 'RESET': []},
## {'SYSTEM': 'CHANGE_ME-2', 'TS': 2, 'TGID': 3129, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [4,], 'OFF': [7,10], 'RESET': []},
## ],
'ECHO': [ 'ECHO': [
{'SYSTEM': 'MASTER-1', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'ON', 'ON': [9999,], 'OFF': [9,10], 'RESET': []}, {'SYSTEM': 'MASTER-1', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'ON', 'ON': [9999,], 'OFF': [9,10], 'RESET': []},
{'SYSTEM': 'ECHO', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'ON', 'ON': [9999,], 'OFF': [9,10], 'RESET': []}, {'SYSTEM': 'PEER-1', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'ON', 'ON': [9999,], 'OFF': [9,10], 'RESET': []},
] ]
} }
@ -69,15 +65,15 @@ Input the DMR ID and SYSTEM of a subscriber that you would like to have always h
This will not flood all systems. This will not flood all systems.
''' '''
STATIC_UNIT = [ STATIC_UNIT = [
[ 9099, 'MASTER-1'] # [ 9099, 'MASTER-1']
] ]
''' '''
Manually specify other networks/servers that are authorized to send SMS to your server Manually specify other networks/servers that are authorized to send SMS to your server
''' '''
authorized_users = { authorized_users = {
## 'DEF':{ ## 'ABC':{
## 'mode':'msg_xfer', ## 'mode':'msg_xfer',
## 'user':'test_name', ## 'user':'test_name',
## 'password':'passw0rd' ## 'password':'passw0rd'