Skip to content
Snippets Groups Projects
Commit d3df56ab authored by 2Zero's avatar 2Zero
Browse files

Add option to disable noisy local logging.

parent b8fa6969
No related branches found
No related tags found
No related merge requests found
...@@ -32,6 +32,10 @@ msgctxt "#30013" ...@@ -32,6 +32,10 @@ msgctxt "#30013"
msgid "MQTT Topic Prefix" msgid "MQTT Topic Prefix"
msgstr "" msgstr ""
msgctxt "#30014"
msgid "MQTT Debug Logging"
msgstr ""
msgctxt "#30100" msgctxt "#30100"
msgid "Authentication" msgid "Authentication"
msgstr "" msgstr ""
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<setting label="30011" type="text" id="mqtthost" default="127.0.0.1"/> <setting label="30011" type="text" id="mqtthost" default="127.0.0.1"/>
<setting label="30012" type="number" id="mqttport" default="1883"/> <setting label="30012" type="number" id="mqttport" default="1883"/>
<setting label="30013" type="text" id="mqtttopic" default="kodi/"/> <setting label="30013" type="text" id="mqtttopic" default="kodi/"/>
<setting label="30014" type="bool" id="mqttdebug" default="false"/>
</category> </category>
<category label="30100"> <category label="30100">
<setting label="30101" type="bool" id="mqttanonymousconnection" default="true" /> <setting label="30101" type="bool" id="mqttanonymousconnection" default="true" />
......
...@@ -15,9 +15,13 @@ activeplayertype="" ...@@ -15,9 +15,13 @@ activeplayertype=""
lasttitle="" lasttitle=""
lastdetail={} lastdetail={}
def mqttlogging(log):
if __addon__.getSetting("mqttdebug")=='true':
xbmc.log(log)
def sendrpc(method,params): def sendrpc(method,params):
res=xbmc.executeJSONRPC(json.dumps({"jsonrpc":"2.0","method":method,"params":params,"id":1})) 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) return json.loads(res)
# #
...@@ -33,7 +37,7 @@ def publish(suffix,val,more): ...@@ -33,7 +37,7 @@ def publish(suffix,val,more):
robj.update(more) robj.update(more)
jsonstr=json.dumps(robj) jsonstr=json.dumps(robj)
fulltopic=topic+"status/"+suffix fulltopic=topic+"status/"+suffix
xbmc.log("MQTT: Publishing @"+fulltopic+": "+jsonstr) mqttlogging("MQTT: Publishing @"+fulltopic+": "+jsonstr)
mqc.publish(fulltopic,jsonstr,qos=0,retain=True) mqc.publish(fulltopic,jsonstr,qos=0,retain=True)
# #
...@@ -97,7 +101,7 @@ def publishdetails(): ...@@ -97,7 +101,7 @@ def publishdetails():
class MQTTMonitor(xbmc.Monitor): class MQTTMonitor(xbmc.Monitor):
def onSettingsChanged(self): def onSettingsChanged(self):
global mqc global mqc
xbmc.log("MQTT: Settings changed, reconnecting broker") mqttlogging("MQTT: Settings changed, reconnecting broker")
mqc.loop_stop(True) mqc.loop_stop(True)
startmqtt() startmqtt()
...@@ -130,7 +134,7 @@ class MQTTPlayer(xbmc.Player): ...@@ -130,7 +134,7 @@ class MQTTPlayer(xbmc.Player):
setplaystate(1,"speed") setplaystate(1,"speed")
def onQueueNextItem(): def onQueueNextItem():
xbmc.log("MQTT onqn"); mqttlogging("MQTT onqn");
# #
# Handles commands # Handles commands
...@@ -172,7 +176,7 @@ def processcommand(topic,data): ...@@ -172,7 +176,7 @@ def processcommand(topic,data):
elif topic=="playbackstate": elif topic=="playbackstate":
processplaybackstate(data) processplaybackstate(data)
else: else:
xbmc.log("MQTT: Unknown command "+topic) mqttlogging("MQTT: Unknown command "+topic)
# #
# Handles incoming MQTT messages # Handles incoming MQTT messages
...@@ -186,14 +190,14 @@ def msghandler(mqc,userdata,msg): ...@@ -186,14 +190,14 @@ def msghandler(mqc,userdata,msg):
if mytopic.startswith("command/"): if mytopic.startswith("command/"):
processcommand(mytopic[8:],msg.payload) processcommand(mytopic[8:],msg.payload)
except Exception as e: 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): 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) mqc.subscribe(topic+"command/#",qos=0)
def disconnecthandler(mqc,userdata,rc): 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) time.sleep(5)
mqc.reconnect() mqc.reconnect()
...@@ -213,7 +217,7 @@ def startmqtt(): ...@@ -213,7 +217,7 @@ def startmqtt():
if not topic.endswith("/"): if not topic.endswith("/"):
topic+="/" topic+="/"
mqc.will_set(topic+"connected",0,qos=2,retain=True) 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.connect(__addon__.getSetting("mqtthost"),__addon__.getSetting("mqttport"),60)
mqc.publish(topic+"connected",2,qos=1,retain=True) mqc.publish(topic+"connected",2,qos=1,retain=True)
mqc.loop_start() mqc.loop_start()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment