Page 5 of 8

Re: Python plugin: Kodi

Posted: Saturday 17 February 2018 22:09
by Dnpwwo
@jake,

You need to set Debug to True in the Hardware page for the plugin and post that log so I can see what the plugin is doing.

Re: Python plugin: Kodi

Posted: Saturday 17 February 2018 23:37
by jake
I'm sorry, here is the log after I initiate the 'Pause' command from my LUA controlled switch:

Code: Select all

2018-02-17 23:21:19.874 (Kodi Woonkamer - Playing) Updating device from 2:'63' to have values 2:'68'.
2018-02-17 23:21:19.883 (Kodi Woonkamer) Update 2:'68' (Kodi Woonkamer - Playing)
2018-02-17 23:21:22.695 (Virtual Devices) Light/Switch (Koditest)
2018-02-17 23:21:24.994 (Kodi Woonkamer) Calling message handler 'onCommand'.
2018-02-17 23:21:24.994 (Kodi Woonkamer) onCommand called for Unit 4: Parameter 'Pause', Level: 0, Connected: True
2018-02-17 23:21:24.994 (Kodi Woonkamer) Sending 82 bytes of data:
2018-02-17 23:21:24.994 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:21:24.994 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 50 6c 61 79 50 61 thod":"Player.PlayPa
2018-02-17 23:21:24.995 (Kodi Woonkamer) 75 73 65 22 2c 22 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 use","params":{"play
2018-02-17 23:21:24.995 (Kodi Woonkamer) 65 72 69 64 22 3a 30 2c 22 70 6c 61 79 22 3a 66 61 6c 73 65 erid":0,"play":false
2018-02-17 23:21:24.995 (Kodi Woonkamer) 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. }}
2018-02-17 23:21:25.145 (Kodi Woonkamer) Received 146 bytes of data:
2018-02-17 23:21:25.145 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:21:25.146 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 4f 6e 50 61 75 73 thod":"Player.OnPaus
2018-02-17 23:21:25.146 (Kodi Woonkamer) 65 22 2c 22 70 61 72 61 6d 73 22 3a 7b 22 64 61 74 61 22 3a e","params":{"data":
2018-02-17 23:21:25.146 (Kodi Woonkamer) 7b 22 69 74 65 6d 22 3a 7b 22 69 64 22 3a 31 33 31 35 2c 22 {"item":{"id":1315,"
2018-02-17 23:21:25.146 (Kodi Woonkamer) 74 79 70 65 22 3a 22 73 6f 6e 67 22 7d 2c 22 70 6c 61 79 65 type":"song"},"playe
2018-02-17 23:21:25.146 (Kodi Woonkamer) 72 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a 30 2c 22 73 70 r":{"playerid":0,"sp
2018-02-17 23:21:25.146 (Kodi Woonkamer) 65 65 64 22 3a 30 7d 7d 2c 22 73 65 6e 64 65 72 22 3a 22 78 eed":0}},"sender":"x
2018-02-17 23:21:25.146 (Kodi Woonkamer) 62 6d 63 22 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. bmc"}}
2018-02-17 23:21:25.146 (Kodi Woonkamer) Received 153 bytes of data:
2018-02-17 23:21:25.146 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:21:25.146 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 4f 6e 53 70 65 65 thod":"Player.OnSpee
2018-02-17 23:21:25.146 (Kodi Woonkamer) 64 43 68 61 6e 67 65 64 22 2c 22 70 61 72 61 6d 73 22 3a 7b dChanged","params":{
2018-02-17 23:21:25.147 (Kodi Woonkamer) 22 64 61 74 61 22 3a 7b 22 69 74 65 6d 22 3a 7b 22 69 64 22 "data":{"item":{"id"
2018-02-17 23:21:25.147 (Kodi Woonkamer) 3a 31 33 31 35 2c 22 74 79 70 65 22 3a 22 73 6f 6e 67 22 7d :1315,"type":"song"}
2018-02-17 23:21:25.147 (Kodi Woonkamer) 2c 22 70 6c 61 79 65 72 22 3a 7b 22 70 6c 61 79 65 72 69 64 ,"player":{"playerid
2018-02-17 23:21:25.147 (Kodi Woonkamer) 22 3a 30 2c 22 73 70 65 65 64 22 3a 30 7d 7d 2c 22 73 65 6e ":0,"speed":0}},"sen
2018-02-17 23:21:25.147 (Kodi Woonkamer) 64 65 72 22 3a 22 78 62 6d 63 22 7d 7d .. .. .. .. .. .. .. der":"xbmc"}}
2018-02-17 23:21:25.147 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:21:25.147 (Kodi Woonkamer) Player.OnPause recieved, Player ID: 0
2018-02-17 23:21:25.148 (Kodi Woonkamer - Status) Updating device from 5:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne' to have values 2:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne'.
2018-02-17 23:21:25.156 (Kodi Woonkamer) Update 2:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne' (Kodi Woonkamer -Status)
2018-02-17 23:21:25.157 (Kodi Woonkamer - Playing) Updating device from 2:'68' to have values 0:'68'.
2018-02-17 23:21:25.164 (Kodi Woonkamer) Update 0:'68' (Kodi Woonkamer - Playing)
2018-02-17 23:21:25.165 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:21:25.165 (Kodi Woonkamer) Unhandled unsolicited response: {"jsonrpc":"2.0","method":"Player.OnSpeedChanged","params":{"data":{"item":{"id":1315,"type":"song"},"player":{"playerid":0,"speed":0}},"sender":"xbmc"}}
2018-02-17 23:21:29.825 (Kodi Woonkamer) Calling message handler 'onHeartbeat'.
2018-02-17 23:21:29.825 (Kodi Woonkamer) Sending 126 bytes of data:
2018-02-17 23:21:29.825 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:21:29.825 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 47 65 74 50 72 6f thod":"Player.GetPro
2018-02-17 23:21:29.825 (Kodi Woonkamer) 70 65 72 74 69 65 73 22 2c 22 69 64 22 3a 31 30 30 32 2c 22 perties","id":1002,"
2018-02-17 23:21:29.825 (Kodi Woonkamer) 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a params":{"playerid":
2018-02-17 23:21:29.825 (Kodi Woonkamer) 30 2c 22 70 72 6f 70 65 72 74 69 65 73 22 3a 5b 22 6c 69 76 0,"properties":["liv
2018-02-17 23:21:29.825 (Kodi Woonkamer) 65 22 2c 22 70 65 72 63 65 6e 74 61 67 65 22 2c 22 73 70 65 e","percentage","spe
2018-02-17 23:21:29.825 (Kodi Woonkamer) 65 64 22 5d 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. ed"]}}
2018-02-17 23:21:29.876 (Kodi Woonkamer) Received 94 bytes of data:
2018-02-17 23:21:29.876 (Kodi Woonkamer) 7b 22 69 64 22 3a 31 30 30 32 2c 22 6a 73 6f 6e 72 70 63 22 {"id":1002,"jsonrpc"
2018-02-17 23:21:29.876 (Kodi Woonkamer) 3a 22 32 2e 30 22 2c 22 72 65 73 75 6c 74 22 3a 7b 22 6c 69 :"2.0","result":{"li
2018-02-17 23:21:29.876 (Kodi Woonkamer) 76 65 22 3a 66 61 6c 73 65 2c 22 70 65 72 63 65 6e 74 61 67 ve":false,"percentag
2018-02-17 23:21:29.876 (Kodi Woonkamer) 65 22 3a 37 30 2e 38 38 37 33 37 34 38 37 37 39 32 39 36 38 e":70.88737487792968
2018-02-17 23:21:29.876 (Kodi Woonkamer) 37 35 2c 22 73 70 65 65 64 22 3a 30 7d 7d .. .. .. .. .. .. 75,"speed":0}}
2018-02-17 23:21:29.876 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:21:29.876 (Kodi Woonkamer) 1002 response received: {"id":1002,"jsonrpc":"2.0","result":{"live":false,"percentage":70.8873748779296875,"speed":0}}
2018-02-17 23:21:29.876 (Kodi Woonkamer - Playing) Updating device from 0:'68' to have values 0:'71'.
2018-02-17 23:21:29.881 (Kodi Woonkamer) Update 0:'71' (Kodi Woonkamer - Playing)
2018-02-17 23:21:39.801 (Kodi Woonkamer) Calling message handler 'onHeartbeat'.
2018-02-17 23:21:39.801 (Kodi Woonkamer) Sending 126 bytes of data:
2018-02-17 23:21:39.801 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:21:39.801 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 47 65 74 50 72 6f thod":"Player.GetPro
2018-02-17 23:21:39.801 (Kodi Woonkamer) 70 65 72 74 69 65 73 22 2c 22 69 64 22 3a 31 30 30 32 2c 22 perties","id":1002,"
2018-02-17 23:21:39.801 (Kodi Woonkamer) 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a params":{"playerid":
2018-02-17 23:21:39.801 (Kodi Woonkamer) 30 2c 22 70 72 6f 70 65 72 74 69 65 73 22 3a 5b 22 6c 69 76 0,"properties":["liv
2018-02-17 23:21:39.801 (Kodi Woonkamer) 65 22 2c 22 70 65 72 63 65 6e 74 61 67 65 22 2c 22 73 70 65 e","percentage","spe
2018-02-17 23:21:39.801 (Kodi Woonkamer) 65 64 22 5d 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. ed"]}}
2018-02-17 23:21:39.852 (Kodi Woonkamer) Received 94 bytes of data:
2018-02-17 23:21:39.852 (Kodi Woonkamer) 7b 22 69 64 22 3a 31 30 30 32 2c 22 6a 73 6f 6e 72 70 63 22 {"id":1002,"jsonrpc"
2018-02-17 23:21:39.852 (Kodi Woonkamer) 3a 22 32 2e 30 22 2c 22 72 65 73 75 6c 74 22 3a 7b 22 6c 69 :"2.0","result":{"li
2018-02-17 23:21:39.852 (Kodi Woonkamer) 76 65 22 3a 66 61 6c 73 65 2c 22 70 65 72 63 65 6e 74 61 67 ve":false,"percentag
2018-02-17 23:21:39.852 (Kodi Woonkamer) 65 22 3a 37 30 2e 39 30 32 37 38 36 32 35 34 38 38 32 38 31 e":70.90278625488281
2018-02-17 23:21:39.852 (Kodi Woonkamer) 32 35 2c 22 73 70 65 65 64 22 3a 30 7d 7d .. .. .. .. .. .. 25,"speed":0}}
Further down the log, it is pretty much the same of the last request for 'Calling message handler 'onHeartbeat'

Next log is when I click on the LUA controlled 'Play' button, after the above 'Pause'

Code: Select all

2018-02-17 23:30:00.017 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:30:00.018 (Kodi Woonkamer) 1002 response received: {"id":1002,"jsonrpc":"2.0","result":{"live":false,"percentage":70.9347076416015625,"speed":0}}
2018-02-17 23:30:05.323 (Virtual Devices) Light/Switch (Koditest)
2018-02-17 23:30:05.635 (Kodi Woonkamer) Calling message handler 'onCommand'.
2018-02-17 23:30:05.635 (Kodi Woonkamer) onCommand called for Unit 4: Parameter 'Play', Level: 0, Connected: True
2018-02-17 23:30:05.635 (Kodi Woonkamer) Sending 82 bytes of data:
2018-02-17 23:30:05.635 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:30:05.635 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 50 6c 61 79 50 61 thod":"Player.PlayPa
2018-02-17 23:30:05.635 (Kodi Woonkamer) 75 73 65 22 2c 22 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 use","params":{"play
2018-02-17 23:30:05.635 (Kodi Woonkamer) 65 72 69 64 22 3a 30 2c 22 70 6c 61 79 22 3a 66 61 6c 73 65 erid":0,"play":false
2018-02-17 23:30:05.635 (Kodi Woonkamer) 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. }}
2018-02-17 23:30:09.942 (Kodi Woonkamer) Calling message handler 'onHeartbeat'.
2018-02-17 23:30:09.943 (Kodi Woonkamer) Sending 126 bytes of data:
2018-02-17 23:30:09.943 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:30:09.943 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 47 65 74 50 72 6f thod":"Player.GetPro
2018-02-17 23:30:09.943 (Kodi Woonkamer) 70 65 72 74 69 65 73 22 2c 22 69 64 22 3a 31 30 30 32 2c 22 perties","id":1002,"
2018-02-17 23:30:09.943 (Kodi Woonkamer) 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a params":{"playerid":
2018-02-17 23:30:09.943 (Kodi Woonkamer) 30 2c 22 70 72 6f 70 65 72 74 69 65 73 22 3a 5b 22 6c 69 76 0,"properties":["liv
2018-02-17 23:30:09.943 (Kodi Woonkamer) 65 22 2c 22 70 65 72 63 65 6e 74 61 67 65 22 2c 22 73 70 65 e","percentage","spe
2018-02-17 23:30:09.943 (Kodi Woonkamer) 65 64 22 5d 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. ed"]}}
2018-02-17 23:30:09.993 (Kodi Woonkamer) Received 94 bytes of data:
2018-02-17 23:30:09.994 (Kodi Woonkamer) 7b 22 69 64 22 3a 31 30 30 32 2c 22 6a 73 6f 6e 72 70 63 22 {"id":1002,"jsonrpc"
2018-02-17 23:30:09.994 (Kodi Woonkamer) 3a 22 32 2e 30 22 2c 22 72 65 73 75 6c 74 22 3a 7b 22 6c 69 :"2.0","result":{"li
2018-02-17 23:30:09.994 (Kodi Woonkamer) 76 65 22 3a 66 61 6c 73 65 2c 22 70 65 72 63 65 6e 74 61 67 ve":false,"percentag
2018-02-17 23:30:09.994 (Kodi Woonkamer) 65 22 3a 37 30 2e 39 33 34 37 30 37 36 34 31 36 30 31 35 36 e":70.93470764160156
2018-02-17 23:30:09.994 (Kodi Woonkamer) 32 35 2c 22 73 70 65 65 64 22 3a 30 7d 7d .. .. .. .. .. .. 25,"speed":0}}
From a playing situation, I click the LUA controlled 'Play' again:

Code: Select all

2018-02-17 23:34:10.036 (Kodi Woonkamer) Calling message handler 'onMessage'.

2018-02-17 23:34:10.037 (Kodi Woonkamer) 1002 response received: {"id":1002,"jsonrpc":"2.0","result":{"live":false,"percentage":76.812591552734375,"speed":1}}
2018-02-17 23:34:10.037 (Kodi Woonkamer - Playing) Updating device from 2:'71' to have values 2:'77'.
2018-02-17 23:34:10.046 (Kodi Woonkamer) Update 2:'77' (Kodi Woonkamer - Playing)
2018-02-17 23:34:11.390 (Virtual Devices) Light/Switch (Koditest)
2018-02-17 23:34:11.653 (Kodi Woonkamer) Calling message handler 'onCommand'.
2018-02-17 23:34:11.653 (Kodi Woonkamer) onCommand called for Unit 4: Parameter 'Play', Level: 0, Connected: True
2018-02-17 23:34:11.653 (Kodi Woonkamer) Sending 82 bytes of data:
2018-02-17 23:34:11.653 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:34:11.653 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 50 6c 61 79 50 61 thod":"Player.PlayPa
2018-02-17 23:34:11.653 (Kodi Woonkamer) 75 73 65 22 2c 22 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 use","params":{"play
2018-02-17 23:34:11.653 (Kodi Woonkamer) 65 72 69 64 22 3a 30 2c 22 70 6c 61 79 22 3a 66 61 6c 73 65 erid":0,"play":false
2018-02-17 23:34:11.653 (Kodi Woonkamer) 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. }}
2018-02-17 23:34:11.804 (Kodi Woonkamer) Received 146 bytes of data:
2018-02-17 23:34:11.804 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:34:11.804 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 4f 6e 50 61 75 73 thod":"Player.OnPaus
2018-02-17 23:34:11.804 (Kodi Woonkamer) 65 22 2c 22 70 61 72 61 6d 73 22 3a 7b 22 64 61 74 61 22 3a e","params":{"data":
2018-02-17 23:34:11.804 (Kodi Woonkamer) 7b 22 69 74 65 6d 22 3a 7b 22 69 64 22 3a 31 33 31 35 2c 22 {"item":{"id":1315,"
2018-02-17 23:34:11.804 (Kodi Woonkamer) 74 79 70 65 22 3a 22 73 6f 6e 67 22 7d 2c 22 70 6c 61 79 65 type":"song"},"playe
2018-02-17 23:34:11.804 (Kodi Woonkamer) 72 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a 30 2c 22 73 70 r":{"playerid":0,"sp
2018-02-17 23:34:11.804 (Kodi Woonkamer) 65 65 64 22 3a 30 7d 7d 2c 22 73 65 6e 64 65 72 22 3a 22 78 eed":0}},"sender":"x
2018-02-17 23:34:11.804 (Kodi Woonkamer) 62 6d 63 22 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. bmc"}}
2018-02-17 23:34:11.804 (Kodi Woonkamer) Received 153 bytes of data:
2018-02-17 23:34:11.804 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:34:11.804 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 4f 6e 53 70 65 65 thod":"Player.OnSpee
2018-02-17 23:34:11.804 (Kodi Woonkamer) 64 43 68 61 6e 67 65 64 22 2c 22 70 61 72 61 6d 73 22 3a 7b dChanged","params":{
2018-02-17 23:34:11.804 (Kodi Woonkamer) 22 64 61 74 61 22 3a 7b 22 69 74 65 6d 22 3a 7b 22 69 64 22 "data":{"item":{"id"
2018-02-17 23:34:11.804 (Kodi Woonkamer) 3a 31 33 31 35 2c 22 74 79 70 65 22 3a 22 73 6f 6e 67 22 7d :1315,"type":"song"}
2018-02-17 23:34:11.804 (Kodi Woonkamer) 2c 22 70 6c 61 79 65 72 22 3a 7b 22 70 6c 61 79 65 72 69 64 ,"player":{"playerid
2018-02-17 23:34:11.804 (Kodi Woonkamer) 22 3a 30 2c 22 73 70 65 65 64 22 3a 30 7d 7d 2c 22 73 65 6e ":0,"speed":0}},"sen
2018-02-17 23:34:11.804 (Kodi Woonkamer) 64 65 72 22 3a 22 78 62 6d 63 22 7d 7d .. .. .. .. .. .. .. der":"xbmc"}}
2018-02-17 23:34:11.804 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:34:11.805 (Kodi Woonkamer) Player.OnPause recieved, Player ID: 0
2018-02-17 23:34:11.805 (Kodi Woonkamer - Status) Updating device from 5:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne' to have values 2:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne'.
2018-02-17 23:34:11.810 (Kodi Woonkamer) Update 2:'Georg Philipp Telemann:Telemann:Concerto in A; Sicilienne' (Kodi Woonkamer - Status)
2018-02-17 23:34:11.810 (Kodi Woonkamer - Playing) Updating device from 2:'77' to have values 0:'77'.
2018-02-17 23:34:11.820 (Kodi Woonkamer) Update 0:'77' (Kodi Woonkamer - Playing)
2018-02-17 23:34:11.820 (Kodi Woonkamer) Calling message handler 'onMessage'.
2018-02-17 23:34:11.820 (Kodi Woonkamer) Unhandled unsolicited response: {"jsonrpc":"2.0","method":"Player.OnSpeedChanged","params":{"data":{"item":{"id":1315,"type":"song"},"player":{"playerid":0,"speed":0}},"sender":"xbmc"}}
2018-02-17 23:34:19.986 (Kodi Woonkamer) Calling message handler 'onHeartbeat'.
2018-02-17 23:34:19.986 (Kodi Woonkamer) Sending 126 bytes of data:
2018-02-17 23:34:19.986 (Kodi Woonkamer) 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 2c 22 6d 65 {"jsonrpc":"2.0","me
2018-02-17 23:34:19.986 (Kodi Woonkamer) 74 68 6f 64 22 3a 22 50 6c 61 79 65 72 2e 47 65 74 50 72 6f thod":"Player.GetPro
2018-02-17 23:34:19.986 (Kodi Woonkamer) 70 65 72 74 69 65 73 22 2c 22 69 64 22 3a 31 30 30 32 2c 22 perties","id":1002,"
2018-02-17 23:34:19.986 (Kodi Woonkamer) 70 61 72 61 6d 73 22 3a 7b 22 70 6c 61 79 65 72 69 64 22 3a params":{"playerid":
2018-02-17 23:34:19.987 (Kodi Woonkamer) 30 2c 22 70 72 6f 70 65 72 74 69 65 73 22 3a 5b 22 6c 69 76 0,"properties":["liv
2018-02-17 23:34:19.987 (Kodi Woonkamer) 65 22 2c 22 70 65 72 63 65 6e 74 61 67 65 22 2c 22 73 70 65 e","percentage","spe
2018-02-17 23:34:19.987 (Kodi Woonkamer) 65 64 22 5d 7d 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. ed"]}}
2018-02-17 23:34:20.037 (Kodi Woonkamer) Received 94 bytes of data:
2018-02-17 23:34:20.037 (Kodi Woonkamer) 7b 22 69 64 22 3a 31 30 30 32 2c 22 6a 73 6f 6e 72 70 63 22 {"id":1002,"jsonrpc"
2018-02-17 23:34:20.037 (Kodi Woonkamer) 3a 22 32 2e 30 22 2c 22 72 65 73 75 6c 74 22 3a 7b 22 6c 69 :"2.0","result":{"li
2018-02-17 23:34:20.037 (Kodi Woonkamer) 76 65 22 3a 66 61 6c 73 65 2c 22 70 65 72 63 65 6e 74 61 67 ve":false,"percentag
2018-02-17 23:34:20.037 (Kodi Woonkamer) 65 22 3a 37 37 2e 33 36 30 31 35 33 31 39 38 32 34 32 31 38 e":77.36015319824218
2018-02-17 23:34:20.037 (Kodi Woonkamer) 37 35 2c 22 73 70 65 65 64 22 3a 30 7d 7d .. .. .. .. .. .. 75,"speed":0}}
Shall I log with the 'Rewind' command as well? From which situation, from a playing or paused situation?

Re: Python plugin: Kodi

Posted: Monday 19 February 2018 21:00
by jake
@Dnpwwo,
As addition to the above, I clicked on the 'Rewind' button, while the track was playing. Result: the track started playing at 0% (as requested). The same if I paused the track with a Kodi remote. Clicking on the 'Rewind' button, not only 'rewinded', but started playing as well. Although it can be debated if that, after a Pause command, is desired, it is more than OK for me.

I did one more test with a 'SET level 50 after 2' command and that worked as expected as well.

Summarizing, it is the 'Play' command that is not working properly, it acts as the 'Pause' button.

Re: Python plugin: Kodi

Posted: Tuesday 20 February 2018 11:55
by Dnpwwo
@jake,

The Kodi doesn't actually have a 'Play' or 'Pause' command in the JSON API the plugin uses, it has a "Play/Pause" toggle. That means that if you get the timing wrong it may not work like you expect.

From what you have said it sounds like you just need to:
  • Send a Pause to the Kodi
  • Send a 'Rewind AFTER 10' to the Kodi
and it will do what you want

I tried pausing and playing using the 'Kodi - Playing' icon and it toggled as expected. I'll try some more tests

Re: Python plugin: Kodi

Posted: Tuesday 20 February 2018 19:17
by jake
Indeed toggling the Kodi icon in the 'Playing' device pauses and plays the current track.

The LUA 'play command' (commandArray['Kodi Woonkamer - Playing']='Play') doesn't work. It put a track to 'pause', but not to 'play'. No matter how many times I activate that command. The same for the 'pause command' commandArray['Kodi Woonkamer - Playing']='Pause' although there it is expected.

It doesn't matter if I use the 'Playing' or 'Status' device, although the first one is an on/off type, while the second is a media player device.

Re: Python plugin: Kodi

Posted: Thursday 22 February 2018 1:08
by Dnpwwo
@jake,

Pushed version 2.4.2 that should resolve this

Re: Python plugin: Kodi

Posted: Thursday 22 February 2018 19:18
by jake
Dnpwwo wrote:@jake,

Pushed version 2.4.2 that should resolve this
Thanks, this fix resolves the issue. Great!

One minor thing I came across:
I restarted the plugin/hardware and checked the log afterwards:
During initialisation it still shows the following: " Initialized version 2.3.11, author 'dnpwwo' "
I assume this should be 2.4.2 instead.

It would be good when this plugin got it's own page in the wiki. Functionality and LUA options are then easily accessible to all users.
My next step is to convert the mentioned simple script in dzVents. I'm not sure if this framework can handle your plugin, since it is not the original 'Kodi hardware'.

Re: Python plugin: Kodi

Posted: Thursday 22 February 2018 22:48
by jake
I have converted the above mentioned LUA script into a dzVents variant. It turns out that at the moment the specific dzVents Kodi commands are not available. Instead there has to be worked with the 'state' and 'setState' commands instead:

Code: Select all

return {
	active = true,                  -- set to true to activate this script 
	on = {
     devices = {
		   'Koditest'
		}
	},
	
	execute = function(domoticz, device)
		local koditest = domoticz.devices('Koditest').state
		local kodiDevice = domoticz.devices('Kodi Woonkamer - Playing')

	if koditest == 'Pause' then
		kodiDevice.setState ('Pause AFTER 2')
		print('given the Pause command after 2 sec')
	elseif koditest == 'Rewind' then
		kodiDevice.setState ('Rewind')
		print('given the rewind command')
	elseif koditest == 'Play' then
		kodiDevice.setState ('Play')
		print('given the Play command')
	elseif koditest == 'Half' then
		kodiDevice.setState ('Set level 50')
		print('given the Half command')
	end
end
}
1 setback after implementing the above code snippets inside my original script:

While giving the 'Rewind' command, (the amp is ready at that time), Kodi starts playing for a split second, than rewind, than plays from 0.00.
The split second playing unfortunately takes away all the effort I put into getting this to work. It sounds just as bad as missing out the first couple seconds as I had it before when Kodi kept playing, while the amp was still 'booting'.

Re: Python plugin: Kodi

Posted: Sunday 25 February 2018 12:55
by jake
Since 2.4.2? version I have it happening twice that all Kodi devices are red and the log displaying that the onhearbeat failed. While I tried to turn off/on 'kodi players' hardware at the first Kodi freeze, Domoticz locked up. At the second time the above happened, I was able to interact with Domoticz for half a minute, but as soon I tried to open the log files, Domoticz locked up again.
Both times I had to restart the Domoticz service.

During the first problem, Kodi was opening an add-on, which usually takes some time, it may act like if it locks up.
The reason for the 2nd time, I don't have, but Kodi was not running and I manually had to restart the Kodi service.

Domoticz log records every 10 seconds:

Code: Select all

2018-02-25 11:18:49.646  Error: (Kodi Woonkamer) 'onHeartbeat' failed 'AttributeError':''str' object has no attribute 'Connected''.
2018-02-25 11:18:49.646  Error: (Kodi Woonkamer) ----> Line 642 in /home/pi/domoticz/plugins/Kodi/plugin.py, function onHeartbeat
2018-02-25 11:18:49.647  Error: (Kodi Woonkamer) ----> Line 495 in /home/pi/domoticz/plugins/Kodi/plugin.py, function onHeartbeat
The plugin doesn't revive itself after Kodi is brought back to live

Re: Python plugin: Kodi

Posted: Monday 26 February 2018 16:44
by statusever1
Got some knowledge about my problem..thanks

Re: Python plugin: Kodi

Posted: Sunday 04 March 2018 0:20
by Dnpwwo
@jake,

Almost looks like the Kodi has disconnected and the connection hasn't been cleaned up properly. I similar issue has been reported elsewhere with the plugin framework.

As a workaround I've added some exception handling and forced a disconnect in version 2.4.3. I can't test it but can you try it and see if it fixes this?

Re: Python plugin: Kodi

Posted: Sunday 04 March 2018 1:01
by jake

Dnpwwo wrote:@jake,

Almost looks like the Kodi has disconnected and the connection hasn't been cleaned up properly. I similar issue has been reported elsewhere with the plugin framework.

As a workaround I've added some exception handling and forced a disconnect in version 2.4.3. I can't test it but can you try it and see if it fixes this?
Thanks. I tried it by powering down the Pi with Kodi. I waited 5 minutes before booting it back up. After +/- 30 sec? the Kodi devices went from red to 'alive' again.
So far, so good! (a minor, minor thing: during initialisation the plugin still shows 2.4.2)

Re: Python plugin: Kodi

Posted: Thursday 22 March 2018 1:44
by MnM001
Hi,

I have a few users/profiles on my kodi.
Any way to display who is logged in - perhaps in the status?

Cheers.

Re: Python plugin: Kodi

Posted: Friday 06 April 2018 21:21
by sincze
@Dnpwwo, great plugin. Easy to install. Have now 3 kodi machines up and running. :D

Re: Python plugin: Kodi

Posted: Tuesday 24 April 2018 14:08
by TheCondor
Dnpwwo wrote: Friday 03 February 2017 23:15 Thread for all things related to the Python Kodi plugin.

Latest full versions is available here: https://github.com/dnpwwo/Domoticz-Kodi-Plugin

Latest Update: v2.4.2 - February 22nd, 2018
  • Bug fix: Changed handling for Play and Pause commands from scripts,
  • Added initial Description that will appear in Hardware page
Latest Update: v2.3.11 - February 17th, 2018
  • Added Blockly support,
  • Uplift error response handling
  • Added 'Rewind' command
Update: v2.2.1 - February 11th, 2018
  • Activates the screensaver using the proper "ActivateScreensaver" function via the UDP interface
Previous Update: v2.0.6 - December 12th, 2017
  • Optionally highlights devices that can not be found on the network (red banner in web UI)
  • Supports screensaver events (Kodi 17+) and shows Kodi as 'Sleeping' when screensaver is on
Hi Dnpwwo
Do you think it will bè possible to overdose the default in/off button off the switch? Currently when it's on(awake) and we push on the device it send the command spero(screensaver) and it's really good, but the opposite doesn't work:
On -> send the same Active screensaver so it turn on and instantly goes in sleep again.
May it's possible to convert the ON to a simple OK or BACK Just for send a wakeup input when option 'sleep' is set in hardware panel options?
Thanks!

Re: Python plugin: Kodi

Posted: Thursday 10 May 2018 14:22
by Brutus
I have updated to the latest plugin version.
Domoticz is running: V3.9565
Kodi is running 17.6

When executing this command:

Code: Select all

commandArray['Kodi TV Woonkamer'] = 'Play Favorites 0'
At favorites 0 I have a URL Radio stream saved.

I get this as a response:

Code: Select all

2018-05-10 14:10:58.944 EventSystem: Script event triggered: LUA-Kodi 
2018-05-10 14:10:58.996 (Kodi) onCommand called for Unit 1: Parameter 'Play Favorites', Level: 0, Connected: True 
2018-05-10 14:10:58.996 (Kodi) 'Play' command ignored, No active Player ID. Kodi has not reported that it is playing media. 
"Kodi has not reported it is playing media" It doens't have to because I want it to play media ;)

When you Pause the playing stream you can resume it with the: 'Play Favorites 0' comment. Stopping it and then start the stream again gives the given error.

Re: Python plugin: Kodi

Posted: Tuesday 29 May 2018 19:33
by jake
I am running the last version of the Kodi plugin, 2.5.6

Today my Domoticz crashed: these are the last lines in the log:
First:

Code: Select all

(Kodi Woonkamer) Device has disconnected                                                   
(Kodi Woonkamer) Update 9:'Screensaver' (Kodi Woonkamer - Status)                          
(Kodi Woonkamer) Update 20:'20' (Kodi Woonkamer - Source)                                  
(Kodi Woonkamer) Update 2:'100' (Kodi Woonkamer - Volume)                                  
(Kodi Woonkamer) Update 0:'0' (Kodi Woonkamer - Playing)
then a couple seconds later:

Code: Select all

Error: Plugin: Connection Exception: 'resolve: Host not found (authoritative)' connecting to 'onHeartbeat:9090'
(Kodi Woonkamer) Connect directive received, action initiation failed.                     
Domoticz received fatal signal 11 !...                                              
/home/pi/domoticz/domoticz() [0x2522b8]                                           
/home/pi/domoticz/domoticz(_Z14signal_handleri+0x4c) [0x252370]                   
/lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer_v2+0) [0x76cb3180]
The weird thing is that nobody used/started Kodi at all today. Kodi is running fine on it's own pi as well.

A restart of Domoticz got things rolling again, but a plugin crashing the whole setup wasn't what I had in mind today ;-)

Re: Python plugin: Kodi

Posted: Sunday 03 June 2018 15:37
by Brutus
@Dnpwwo:

Any suggestions regarding the commands that not work in the plugin?

The play option isn't working when nothing is playing.
And the "Set Volume" isn't working to.

I trigger the commands in LUA scripts. You see the options being activated in de log but nothing happens.

The only options that work now are:
- Pause when a stream is active.
- Start when a stream is Paused
- Stop

With the Internal "Kodi Media Server" all the commands work great.

Thanks for your help.

Re: Python plugin: Kodi

Posted: Wednesday 06 June 2018 12:42
by Dnpwwo
@Brutus,

Can you be a little more specific? I use the plugin version and don't know of commands that don't work.

If you can turn on debugging for te plugin and execute the commnds I can have a look. Also, what version of Domoticz and the plugin are you running?

thanks, dnpwwo

Re: Python plugin: Kodi

Posted: Wednesday 06 June 2018 18:06
by Brutus
Dnpwwo wrote: Wednesday 06 June 2018 12:42 @Brutus,

Can you be a little more specific? I use the plugin version and don't know of commands that don't work.

If you can turn on debugging for te plugin and execute the commnds I can have a look. Also, what version of Domoticz and the plugin are you running?

thanks, dnpwwo
Have you seen my post from 10May? :roll: viewtopic.php?f=65&t=15892&start=80#p180233