mirror of https://github.com/kf7eel/hbnet
drop other networks if *NO_SMS, only display apps
This commit is contained in:
parent
fc9647c4f8
commit
678c5fff60
|
|
@ -203,8 +203,9 @@ def mqtt_main(mqtt_user, mqtt_pass, mqtt_user2, mqtt_pass2, broker_url = 'localh
|
||||||
# Process received msg here
|
# Process received msg here
|
||||||
def on_message(client, userdata, message):
|
def on_message(client, userdata, message):
|
||||||
topic_list = str(message.topic).split('/')
|
topic_list = str(message.topic).split('/')
|
||||||
print(topic_list)
|
## print(topic_list)
|
||||||
dict_payload = json.loads(message.payload.decode())
|
dict_payload = json.loads(message.payload.decode())
|
||||||
|
## print(dict_payload)
|
||||||
logger.debug(dict_payload)
|
logger.debug(dict_payload)
|
||||||
if len(topic_list) == 1:
|
if len(topic_list) == 1:
|
||||||
# Add service/network to dict of known services
|
# Add service/network to dict of known services
|
||||||
|
|
@ -218,13 +219,24 @@ def mqtt_main(mqtt_user, mqtt_pass, mqtt_user2, mqtt_pass2, broker_url = 'localh
|
||||||
elif topic_list[0] == 'ANNOUNCE':
|
elif topic_list[0] == 'ANNOUNCE':
|
||||||
if '*NO_SMS' in dict_payload['shortcut']:
|
if '*NO_SMS' in dict_payload['shortcut']:
|
||||||
logger.debug('Service discovered, NO_SMS flag, not adding to known services.')
|
logger.debug('Service discovered, NO_SMS flag, not adding to known services.')
|
||||||
|
elif dict_payload['shortcut'] == '':
|
||||||
|
pass
|
||||||
else:
|
else:
|
||||||
logger.info('Service discovered: ' + dict_payload['shortcut'])
|
if '*NO_SMS' in mqtt_shortcut_gen:
|
||||||
logger.debug((dict_payload))
|
if dict_payload['type'] == 'network':
|
||||||
mqtt_services[dict_payload['shortcut']] = dict_payload
|
logger.debug('NO_SMS flag, not adding other networks to known services')
|
||||||
logger.debug('Known services: ')
|
elif dict_payload['type'] == 'app':
|
||||||
logger.debug(mqtt_services)
|
logger.info('Service discovered: ' + dict_payload['shortcut'])
|
||||||
|
logger.debug((dict_payload))
|
||||||
|
mqtt_services[dict_payload['shortcut']] = dict_payload
|
||||||
|
logger.debug('Known services: ')
|
||||||
|
logger.debug(mqtt_services)
|
||||||
|
else:
|
||||||
|
logger.info('Service discovered: ' + dict_payload['shortcut'])
|
||||||
|
logger.debug((dict_payload))
|
||||||
|
mqtt_services[dict_payload['shortcut']] = dict_payload
|
||||||
|
logger.debug('Known services: ')
|
||||||
|
logger.debug(mqtt_services)
|
||||||
elif len(topic_list) > 1:
|
elif len(topic_list) > 1:
|
||||||
# Incoming MSG
|
# Incoming MSG
|
||||||
if topic_list[0] == 'ANNOUNCE' and topic_list[1] == 'MQTT':
|
if topic_list[0] == 'ANNOUNCE' and topic_list[1] == 'MQTT':
|
||||||
|
|
@ -233,14 +245,20 @@ def mqtt_main(mqtt_user, mqtt_pass, mqtt_user2, mqtt_pass2, broker_url = 'localh
|
||||||
logger.debug('Received MQTT server message.........................................................')
|
logger.debug('Received MQTT server message.........................................................')
|
||||||
elif topic_list[0] == 'MSG' and list(dict_payload.keys())[1] == 'network' and topic_list[1] == mqtt_shortcut_gen:
|
elif topic_list[0] == 'MSG' and list(dict_payload.keys())[1] == 'network' and topic_list[1] == mqtt_shortcut_gen:
|
||||||
try:
|
try:
|
||||||
if mqtt_services[dict_payload['network']]['type'] == 'network':
|
if dict_payload['network'] in mqtt_services.keys():
|
||||||
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + '/' + list(dict_payload.keys())[0] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
if mqtt_services[dict_payload['network']]['type'] == 'network':
|
||||||
if mqtt_services[dict_payload['network']]['type'] == 'app':
|
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + '/' + list(dict_payload.keys())[0] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
||||||
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
if mqtt_services[dict_payload['network']]['type'] == 'app':
|
||||||
|
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
||||||
|
else:
|
||||||
|
logger.debug('Received incoming message from network/app that is not discovered yet, dropping.')
|
||||||
|
pass
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error('Unable to determine if message from network or app, defaulting to network...')
|
logger.error('Unable to determine if message from network or app, defaulting to network...')
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + '/' + list(dict_payload.keys())[0] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
send_sms(False, int(topic_list[2]), data_id[0], data_id[0], 'unit', dict_payload['network'] + '/' + list(dict_payload.keys())[0] + ': ' + dict_payload[list(dict_payload.keys())[0]])
|
||||||
|
## else:
|
||||||
|
print(dict_payload)
|
||||||
|
|
||||||
mqtt_client = mqtt.Client(client_id = mqtt_shortcut_gen + '-' + str(random.randint(1,99)))
|
mqtt_client = mqtt.Client(client_id = mqtt_shortcut_gen + '-' + str(random.randint(1,99)))
|
||||||
if broker_url2 != '':
|
if broker_url2 != '':
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue