From d3df56aba22d6f94a9a87fee59810cf9b3ca94e3 Mon Sep 17 00:00:00 2001 From: 2Zero <2Zero@users.noreply.github.com> Date: Wed, 27 Jan 2016 21:17:32 +0000 Subject: [PATCH] Add option to disable noisy local logging. --- .../resources/language/English/strings.po | 4 ++++ service.mqtt/resources/settings.xml | 1 + service.mqtt/service.py | 22 +++++++++++-------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/service.mqtt/resources/language/English/strings.po b/service.mqtt/resources/language/English/strings.po index 9bac79f..892484a 100644 --- a/service.mqtt/resources/language/English/strings.po +++ b/service.mqtt/resources/language/English/strings.po @@ -32,6 +32,10 @@ msgctxt "#30013" msgid "MQTT Topic Prefix" msgstr "" +msgctxt "#30014" +msgid "MQTT Debug Logging" +msgstr "" + msgctxt "#30100" msgid "Authentication" msgstr "" diff --git a/service.mqtt/resources/settings.xml b/service.mqtt/resources/settings.xml index 935dc33..2b7aef6 100644 --- a/service.mqtt/resources/settings.xml +++ b/service.mqtt/resources/settings.xml @@ -4,6 +4,7 @@ <setting label="30011" type="text" id="mqtthost" default="127.0.0.1"/> <setting label="30012" type="number" id="mqttport" default="1883"/> <setting label="30013" type="text" id="mqtttopic" default="kodi/"/> + <setting label="30014" type="bool" id="mqttdebug" default="false"/> </category> <category label="30100"> <setting label="30101" type="bool" id="mqttanonymousconnection" default="true" /> diff --git a/service.mqtt/service.py b/service.mqtt/service.py index 10f61ce..7da80b1 100644 --- a/service.mqtt/service.py +++ b/service.mqtt/service.py @@ -15,9 +15,13 @@ activeplayertype="" lasttitle="" lastdetail={} +def mqttlogging(log): + if __addon__.getSetting("mqttdebug")=='true': + xbmc.log(log) + def sendrpc(method,params): res=xbmc.executeJSONRPC(json.dumps({"jsonrpc":"2.0","method":method,"params":params,"id":1})) - xbmc.log("MQTT: JSON-RPC call "+method+" returned "+res) + mqttlogging("MQTT: JSON-RPC call "+method+" returned "+res) return json.loads(res) # @@ -33,7 +37,7 @@ def publish(suffix,val,more): robj.update(more) jsonstr=json.dumps(robj) fulltopic=topic+"status/"+suffix - xbmc.log("MQTT: Publishing @"+fulltopic+": "+jsonstr) + mqttlogging("MQTT: Publishing @"+fulltopic+": "+jsonstr) mqc.publish(fulltopic,jsonstr,qos=0,retain=True) # @@ -97,7 +101,7 @@ def publishdetails(): class MQTTMonitor(xbmc.Monitor): def onSettingsChanged(self): global mqc - xbmc.log("MQTT: Settings changed, reconnecting broker") + mqttlogging("MQTT: Settings changed, reconnecting broker") mqc.loop_stop(True) startmqtt() @@ -130,7 +134,7 @@ class MQTTPlayer(xbmc.Player): setplaystate(1,"speed") def onQueueNextItem(): - xbmc.log("MQTT onqn"); + mqttlogging("MQTT onqn"); # # Handles commands @@ -172,7 +176,7 @@ def processcommand(topic,data): elif topic=="playbackstate": processplaybackstate(data) else: - xbmc.log("MQTT: Unknown command "+topic) + mqttlogging("MQTT: Unknown command "+topic) # # Handles incoming MQTT messages @@ -186,14 +190,14 @@ def msghandler(mqc,userdata,msg): if mytopic.startswith("command/"): processcommand(mytopic[8:],msg.payload) except Exception as e: - xbmc.log("MQTT: Error processing message %s: %s" % (type(e).__name__,e)) + mqttlogging("MQTT: Error processing message %s: %s" % (type(e).__name__,e)) def connecthandler(mqc,userdata,rc): - xbmc.log("MQTT: Connected to MQTT broker with rc=%d" % (rc)) + mqttlogging("MQTT: Connected to MQTT broker with rc=%d" % (rc)) mqc.subscribe(topic+"command/#",qos=0) def disconnecthandler(mqc,userdata,rc): - xbmc.log("MQTT: Disconnected from MQTT broker with rc=%d" % (rc)) + mqttlogging("MQTT: Disconnected from MQTT broker with rc=%d" % (rc)) time.sleep(5) mqc.reconnect() @@ -213,7 +217,7 @@ def startmqtt(): if not topic.endswith("/"): topic+="/" mqc.will_set(topic+"connected",0,qos=2,retain=True) - xbmc.log("MQTT: Connecting to MQTT broker at %s:%s" % (__addon__.getSetting("mqtthost"),__addon__.getSetting("mqttport"))) + mqttlogging("MQTT: Connecting to MQTT broker at %s:%s" % (__addon__.getSetting("mqtthost"),__addon__.getSetting("mqttport"))) mqc.connect(__addon__.getSetting("mqtthost"),__addon__.getSetting("mqttport"),60) mqc.publish(topic+"connected",2,qos=1,retain=True) mqc.loop_start() -- GitLab