[SOLVED] KODI binding not working

Hi all,
I have configured kodi binding, and kodi machine “tvpc” shows as online in things.
The machine is openelec 8.04 with Kodi 17.3
I have copy pasted some items to kodi.items from the binding readme like mute, play etc…defined them in site map, and they don’t work. they get predicted to become NULL.

here is the example what I get when I try to mute
2019-09-12 02:42:38.379 [DEBUG] [i.internal.protocol.KodiClientSocket] - send message: {“jsonrpc”:“2.0”,“id”:189,“method”:“Application.GetProperties”,“params”:{“properties”:[“version”]}}
2019-09-12 02:42:38.385 [DEBUG] [i.internal.protocol.KodiClientSocket] - Message received from server: {“id”:189,“jsonrpc”:“2.0”,“result”:{“version”:{“major”:17,“minor”:3,“revision”:“17.3-Krypton”,“tag”:“stable”}}}
2019-09-12 02:42:38.389 [DEBUG] [i.internal.protocol.KodiClientSocket] - callMethod returns {“id”:189,“jsonrpc”:“2.0”,“result”:{“version”:{“major”:17,“minor”:3,“revision”:“17.3-Krypton”,“tag”:“stable”}}}
2019-09-12 02:42:39.357 [DEBUG] [i.internal.protocol.KodiClientSocket] - send message: {“jsonrpc”:“2.0”,“id”:190,“method”:“System.GetProperties”,“params”:{“properties”:[“canhibernate”,“canreboot”,“canshutdown”,“cansuspend”]}}
2019-09-12 02:42:39.364 [DEBUG] [i.internal.protocol.KodiClientSocket] - Message received from server: {“id”:190,“jsonrpc”:“2.0”,“result”:{“canhibernate”:false,“canreboot”:true,“canshutdown”:true,“cansuspend”:true}}
2019-09-12 02:42:39.370 [DEBUG] [i.internal.protocol.KodiClientSocket] - callMethod returns {“id”:190,“jsonrpc”:“2.0”,“result”:{“canhibernate”:false,“canreboot”:true,“canshutdown”:true,“cansuspend”:true}}
2019-09-12 02:42:39.374 [DEBUG] [i.internal.protocol.KodiClientSocket] - send message: {“jsonrpc”:“2.0”,“id”:191,“method”:“Application.GetProperties”,“params”:{“properties”:[“volume”,“muted”]}}
2019-09-12 02:42:39.380 [DEBUG] [i.internal.protocol.KodiClientSocket] - Message received from server: {“id”:191,“jsonrpc”:“2.0”,“result”:{“muted”:false,“volume”:100}}
2019-09-12 02:42:39.384 [DEBUG] [i.internal.protocol.KodiClientSocket] - callMethod returns {“id”:191,“jsonrpc”:“2.0”,“result”:{“muted”:false,“volume”:100}}

what could be the problem?
thx,
regards,
Vanja

Does latest binding only support latest Kodi? or it is backward compatible?
as I see json api changed on kodi from 17 to 18

I’m running openELEC which is still not updated to kodi 18…

thanks,
regards,
Vanja

Hi Vanja,

I really like to help you but currently I have no idea what is wrong. One thing which makes me wonder is that your log misses a call to Application.SetMute - which will be send to Kodi once you try to mute it. How does your configuration for the mute channel and item look like?

The API should be compatible - at least for the mute feature …

One more thing: May I ask you to put the logs into code fences? Thanks.

I know it’s offtopic, but don’t use outdated software when kodi 18 is out for quite a while, use libreelec
I dont have any issues with kodi binding, but i’m running 18.x everywhere.

I dont mind offtopic, you are right, I was not aware that openELEC project is dead in fact :slight_smile:

As I use kodi machine dailly for internet radio, music, some video streaming addons, tv channel streaming etc, everything configured, bunch of addons, favorites… was to lazy to upgrade as everything works good and didnt want it get broken (dont fix it if it aint broken)
But this is a good oportunity as I am forced to upgrade now to libreELEC :slight_smile:

thx,
regards,
Vanja

Hi,
Noted, will use code fence
I really hope upgrade will help…

kodi.things
Thing kodi:kodi:myKodi "Kodi" @ "Living Room" [ipAddress="192.168.4.3", port=9090, httpPort=8080, httpUser=root, httpPassword=*****

kodi.items

Switch myKodi_mute                  "Mute"                      { channel="kodi:kodi:myKodi:mute" }
Dimmer myKodi_volume                "Volume [%d]"               { channel="kodi:kodi:myKodi:volume" }
Player myKodi_control               "Control"                   { channel="kodi:kodi:myKodi:control" }
Switch myKodi_stop                  "Stop"                      { channel="kodi:kodi:myKodi:stop" }
String myKodi_title                 "Title [%s]"                { channel="kodi:kodi:myKodi:title" }
String myKodi_showtitle             "Show title [%s]"           { channel="kodi:kodi:myKodi:showtitle" }
String myKodi_album                 "Album [%s]"                { channel="kodi:kodi:myKodi:album" }
String myKodi_artist                "Artist [%s]"               { channel="kodi:kodi:myKodi:artist" }
String myKodi_playuri               "Play URI"                  { channel="kodi:kodi:myKodi:playuri" }
String myKodi_playfavorite          "Play favorite"             { channel="kodi:kodi:myKodi:playfavorite" }
String myKodi_pvropentv             "Play PVR TV channel"       { channel="kodi:kodi:myKodi:pvr-open-tv" }
String myKodi_pvropenradio          "Play PVR Radio channel"    { channel="kodi:kodi:myKodi:pvr-open-radio" }
String myKodi_pvrchannel            "PVR channel [%s]"          { channel="kodi:kodi:myKodi:pvr-channel" }
String myKodi_notification          "Notification"              { channel="kodi:kodi:myKodi:shownotification" }
String myKodi_input                 "Input"                     { channel="kodi:kodi:myKodi:input" }
String myKodi_inputtext             "Inputtext"                 { channel="kodi:kodi:myKodi:inputtext" }
String myKodi_systemcommand         "Systemcommand"             { channel="kodi:kodi:myKodi:systemcommand" }
String myKodi_mediatype             "Mediatype [%s]"            { channel="kodi:kodi:myKodi:mediatype" }
String myKodi_genrelist             "Genres [%s]"               { channel="kodi:kodi:myKodi:genreList" }
Image  myKodi_thumbnail                                         { channel="kodi:kodi:myKodi:thumbnail" }
Image  myKodi_fanart                                            { channel="kodi:kodi:myKodi:fanart" }
Number:Time myKodi_currenttime      "Current Time [%d %unit%]"  { channel="kodi:kodi:myKodi:currenttime" }
Number:Dimensionless myKodi_ctp     "Current Time [%d %unit%]"  { channel="kodi:kodi:myKodi:currenttimepercentage" }
Number:Time myKodi_duration         "Duration [%d %unit%]"      { channel="kodi:kodi:myKodi:duration" }
String myKodi_playnotification      "Play notification URI"     { channel="kodi:kodi:myKodi:playnotification" }

I have tried all of them,none of them work…

thx,
Vanja

Hi,
I managed to fix it…
instead of kodi:kodi:mykodi it should be kodi:kodi:8f67bed9-afbe-92b8-5cad-c6db39e53ecb

I found this GUID in the paperUI which detected automatically kodi machine.
I had the same issue with TPLINK HS100 power switch, and then I found here in the community forums that you need to go to paper UI and find the actual identifier of the thing and use it in your things/items config files.
Up until now I was using strictly config files, never touched paperUI as it’s kind of confusing to me…KNX integration was possible entirely with config files, no UI involved…

regards,
Vanja

I am glad you got it working. But the solution sounds a little bit spooky … But never mind …

well if you use autogenerated paperUI items … then yes
I would strongly recommend to rename it to something meaningfull… if you are using files, do it manually.

I know in here are people who likes to have mixture paperui and files, but personally I would suggest to have it consistent, files only :slight_smile: