added possibility to login to mqtt broker (anonymous login does not work for every broker)

This commit is contained in:
Jonas Arnold 2022-03-07 13:58:54 +01:00
parent 5ebbaba6f1
commit 54bccf3d68
2 changed files with 14 additions and 1 deletions

View file

@ -555,6 +555,9 @@ commandPOC =
#Adress from MQTT-Broker
brokeraddress = 192.168.178.27
topic = alarm/data
# username and password for the broker. leave username empty to use anonymous login
brokerusername =
brokerpassword =
#####################
##### Not ready yet #

View file

@ -77,7 +77,11 @@ def run(typ,freq,data):
########## User Plugin CODE ##########
broker_address = globalVars.config.get("mqtt", "brokeraddress")
topic = globalVars.config.get("mqtt", "topic")
mqttClient = mqtt.Client()
broker_username = globalVars.config.get("mqtt", "brokerusername")
broker_password = globalVars.config.get("mqtt", "brokerpassword")
mqttClient = mqtt.Client()
if typ == "FMS":
x = {
@ -112,6 +116,12 @@ def run(typ,freq,data):
logging.warning("Invalid Typ: %s", typ)
y = json.dumps(x)
## only login if there is a username given
if( len(broker_username) > 0 ):
mqttClient.username_pw_set(broker_username, broker_password)
mqttClient.connect(broker_address)
mqttClient.publish(topic,y)
########## User Plugin CODE ##########