diff --git a/service.mqtt/resources/language/English/strings.po b/service.mqtt/resources/language/English/strings.po index 049c1e45c18fce038a9cfb513bef23fefa82331b..9bac79f4a9ff7aa69aa45fb669742cbeafd81432 100644 --- a/service.mqtt/resources/language/English/strings.po +++ b/service.mqtt/resources/language/English/strings.po @@ -32,3 +32,18 @@ msgctxt "#30013" msgid "MQTT Topic Prefix" msgstr "" +msgctxt "#30100" +msgid "Authentication" +msgstr "" + +msgctxt "#30101" +msgid "Use anonymous connection" +msgstr "" + +msgctxt "#30102" +msgid "Username" +msgstr "" + +msgctxt "#30103" +msgid "Password" +msgstr "" diff --git a/service.mqtt/resources/settings.xml b/service.mqtt/resources/settings.xml index a0da45ef22c787073e463fb8bf53d88a70e4e588..935dc334e83c36daf809063fe1d44838f64c70e1 100644 --- a/service.mqtt/resources/settings.xml +++ b/service.mqtt/resources/settings.xml @@ -5,4 +5,9 @@ <setting label="30012" type="number" id="mqttport" default="1883"/> <setting label="30013" type="text" id="mqtttopic" default="kodi/"/> </category> -</settings> \ No newline at end of file + <category label="30100"> + <setting label="30101" type="bool" id="mqttanonymousconnection" default="true" /> + <setting label="30102" type="text" id="mqttusername" default="" visible="eq(-1,false)" /> + <setting label="30103" type="text" id="mqttpassword" option="hidden" default="" visible="eq(-2,false)" /> + </category> +</settings> diff --git a/service.mqtt/service.py b/service.mqtt/service.py index 552a88a276fd9c04e21232be28fdb15d23f960f8..10f61ce21a0ef7a32ed5dd98ed099793786fc1ef 100644 --- a/service.mqtt/service.py +++ b/service.mqtt/service.py @@ -207,6 +207,8 @@ def startmqtt(): mqc.on_message=msghandler mqc.on_connect=connecthandler mqc.on_disconnect=disconnecthandler + if __addon__.getSetting("mqttanonymousconnection")=='false': + mqc.username_pw_set(__addon__.getSetting("mqttusername"), __addon__.getSetting("mqttpassword")) topic=__addon__.getSetting("mqtttopic") if not topic.endswith("/"): topic+="/" @@ -228,4 +230,4 @@ if (__name__ == "__main__"): while not monitor.waitForAbort(20): publishdetails() mqc.loop_stop(True) - \ No newline at end of file +