- type: picture-elementsimage: /local/banners/empty_long_placeholder.pngelements:- type: imageimage: /local/icons/animated/media-card/up-arrow.pngtap_action: call-serviceservice: shell_command.kodi_upstyle:top: 5emleft: 10emwidth: 54pxheight: 54pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/home-button.pngtap_action: call-serviceservice: shell_command.kodi_homestyle:top: 5emleft: 6emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/update-button.pngtap_action: call-serviceservice: shell_command.kodi_updatestyle:top: 5emleft: 14emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/poweroff-button.pngtap_action: call-serviceservice: shell_command.kodi_powerstyle:top: 5emleft: 19emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/left-arrow.pngtap_action: call-serviceservice: shell_command.kodi_leftstyle:top: 9emleft: 6emwidth: 54pxheight: 54pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/context-button.pngtap_action: call-serviceservice: shell_command.kodi_contextstyle:top: 9emleft: 10emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/right-arrow.pngtap_action: call-serviceservice: shell_command.kodi_rightstyle:top: 9emleft: 14emwidth: 54pxheight: 54pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/reboot-button.pngtap_action: call-serviceservice: shell_command.kodi_restartstyle:top: 9emleft: 19emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/down-arrow.pngtap_action: call-serviceservice: shell_command.kodi_downstyle:top: 13emleft: 10emwidth: 54pxheight: 54pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/clean-button.pngtap_action: call-serviceservice: shell_command.kodi_cleanstyle:top: 13emleft: 19emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/back-button.pngtap_action: call-serviceservice: shell_command.kodi_backstyle:top: 13emleft: 6emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/enter-button.pngtap_action: call-serviceservice: shell_command.kodi_enterstyle:top: 13emleft: 14emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/volumedown-button.pngtap_action: call-serviceservice: shell_command.kodi_volumedownstyle:top: 18emleft: 6emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/mute-button.pngtap_action: call-serviceservice: shell_command.kodi_mutestyle:top: 18emleft: 10emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(200, 200, 200, 0.5)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/volumeup-button.pngtap_action: call-serviceservice: shell_command.kodi_volumeupstyle:top: 18emleft: 14emwidth: 24pxheight: 24pxpadding: 15pxbackground-color: rgb(255, 255, 255, 0.8)filter: invert(0.20)border-radius: 4pxz-index: 2- type: imageimage: /local/icons/animated/media-card/kodi-icon.pngentity: media_player.kodistyle:top: 18emleft: 19emwidth: 56pxheight: 56pxz-index: 2
And then some shell_command to send commands to kodi
kodi_bedroom_clean: "kodi_remote --clean"kodi_bedroom_update: "kodi_remote --update"kodi_bedroom_up: "kodi_remote --up"kodi_bedroom_down: "kodi_remote --down"kodi_bedroom_left: "kodi_remote --left"kodi_bedroom_right: "kodi_remote --right"kodi_bedroom_enter: "kodi_remote --select"kodi_bedroom_home: "kodi_remote --home"kodi_bedroom_power: "kodi_remote --poweroff"kodi_bedroom_back: "kodi_remote --back"kodi_bedroom_mute: "kodi_remote --mute"kodi_bedroom_volumeup: "kodi_remote --volumeup"kodi_bedroom_volumedown: "kodi_remote --volumedown"kodi_bedroom_context: "kodi_remote --context"
and last but not least the little shell script that handles the calls obviously swap the ip address and port in the shell script for your ip and port
host=http://port:ip/jsonrpccase $1 in--back ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.back", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--up ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Up", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--down ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Down", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--left ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Left", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--right ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Right", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--home ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Home", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--select ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.Select", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--update ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--clean ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Clean", "id": "mybash"}' -H 'content-type: application/json;' $hostc ;;--poweroff ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "System.Shutdown", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--restart ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "System.OnRestart", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--context ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Input.ContextMenu", "id": "mybash"}' -H 'content-type: application/json;' $host ;;--mute ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetMute", "params": {"mute":"toggle"}, "id": "mybash"}' -H 'content-type: application/json;' $host ;;--volumeup ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume", "params": { "volume": "increment" }, "id": 1 }' -H 'content-type: application/json;' $host ;;--volumedown ) curl -sS --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume", "params": { "volume": "decrement" }, "id": 1 }' -H 'content-type: application/json;' $host ;;esac
here is the iconpack for this card