Skip to content
Snippets Groups Projects
Commit 18a4eb57 authored by Oliver Wagner's avatar Oliver Wagner
Browse files

Merge pull request #8 from 2Zero/debugOption

Add option to disable noisy local logging.
parents b8fa6969 d3df56ab
Branches
Tags
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