diff --git a/config/config.template.ini b/config/config.template.ini index 4469824..e4f60ba 100644 --- a/config/config.template.ini +++ b/config/config.template.ini @@ -596,6 +596,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 # diff --git a/plugins/mqtt/mqtt.py b/plugins/mqtt/mqtt.py index 683d7d6..3abcf53 100644 --- a/plugins/mqtt/mqtt.py +++ b/plugins/mqtt/mqtt.py @@ -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 ##########