WIP SAVANT REMOTE CONTROL WITH XBMC
#1
I am trying so hard to customize the xml profile to work with xbmc subtitle, has anyone done this beforeHuh

Here i have attached the xml profile i am using.


Sry here is the xml i am using:

PHP Code:
<?xml version="1.0" encoding="UTF-8"?>
<component device_class="Media_server" manufacturer="XBMC"
    minimum_component_engine_version="0" model="Frodo"
    rpm_xml_version="$Revision: 1.1 $"
    rpm_xml_version_date="$Date: 2012/11/26 17:59:32 $"
    unique_identifier="hostname"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="racepoint_component_profile.xsd">
    <notes>
            *This profile does not support feedback or 2 way meta data, it is strictly a remote to control Application.
            *This profile is for xbmc eEden version 12.0, previous version of xbmc may not be compatible with all features
            *Authentication with XBMC is not supported
    </notes>
    <control_interfaces preferred="ip">
        <ip name_on_component="ETHERNET" port="8080" protocol="http" response_time_length_ms="2000">
            
        </ip>
    </control_interfaces>
    <media_interfaces>
        <output name_on_component="AV OUT">
            <audio_media type="rca_stereo"/>
            <video_media type="composite"/>
            <resource resource_type="AV_VOLUMECONTROL_FUNCTION"/>
            <resource resource_type="AV_EXTERNALMEDIASERVER_SOURCE"/>
        </output>
        <output name_on_component="DIGITAL OUT">
            <audio_media type="optical_digital"/>
            <video_media type="dvi"/>
            <resource resource_type="AV_VOLUMECONTROL_FUNCTION"/>
            <resource resource_type="AV_EXTERNALMEDIASERVER_SOURCE"/>
        </output>
        <output name_on_component="HDMI OUT">
            <combined_media>
                <audio_media type="hdmi_audio"/>
                <video_media type="hdmi"/>
            </combined_media>
            <resource resource_type="AV_VOLUMECONTROL_FUNCTION"/>
            <resource resource_type="AV_EXTERNALMEDIASERVER_SOURCE"/>
        </output>
        <data name_on_component="Ethernet">
            <combined_media>
                <data_media type="ethernet"/>
                <control port="8080"/>
            </combined_media>
        </data>
    </media_interfaces>
    <state_variable_list>
        <state_variable name="Power_current_power"
            owning_logical_component="Media_server"
            state_center_binding="CurrentPowerStatus" state_center_type="string">OFF</state_variable>
        <volume_state_variable granularity="1" max_value="100"
            min_value="0" name="Volume_current_volume"
            owning_logical_component="Media_server"
            state_center_binding="CurrentVolume" state_center_type="string">0</volume_state_variable>
        <state_variable name="Mute_current_mute_setting"
            owning_logical_component="Media_server"
            state_center_binding="CurrentMuteStatus" state_center_type="string">OFF</state_variable>
    </state_variable_list>
    <logical_component logical_component_name="Media_server">
        <implementation>
            <output name_on_component="AV OUT"/>
            <output name_on_component="DIGITAL OUT"/>
            <output name_on_component="HDMI OUT"/>
        </implementation>
        <status_messages>
            <status_message name="CatchAll">
                <data constant_length="5000" type="character">
                    <update state="JUNK" type="string"/>
                </data>
            </status_message>
        </status_messages>
        <universal_component_actions>
            <action name="PowerOn">
                <execute_on_state_variable_condition
                    name="Power_current_power" test_condition="not_equal">ON</execute_on_state_variable_condition>
                <update_state_variable name="Power_current_power"
                    update_source="constant" update_type="set">ON</update_state_variable>
                <command_interface interface="ip">
                    <command response_required="no">
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="PowerOff">
                <update_state_variable name="Power_current_power"
                    update_source="constant" update_type="set">OFF</update_state_variable>
                <command_interface interface="ip">
                    <command response_required="no">
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
        </universal_component_actions>
        <resource_component_actions resource_type="AV_VOLUMECONTROL_FUNCTION">
            <action name="SetVolume">
                <action_argument name="VolumeValue" note="0-50"/>
                <update_volume_variables name="Volume_current_volume"
                    update_source="action_argument" update_type="set">VolumeValue</update_volume_variables>
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{"jsonrpc":"2.0", "id":0 ,"method":"Application.SetVolume","params": { "volume":</parameter>
                            <volume_parameter isHttpBody="true"
                                parameter_data_type="character"
                                parameter_fill=""
                                parameter_justify="right"
                                parameter_total_width="3"
                                state_variable="Volume_current_volume" volume_state_variable="Volume_current_volume"/>
                            <parameter isHttpBody="true" parameter_data_type="character">} }</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="CurrentVolume" status="success">
                                <data terminator="result&quot;:"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="}"
                                    terminator_type="character" type="character">
                                    <update state="CurrentVolume" type="string"/>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="IncreaseVolume">
                <update_volume_variables name="Volume_current_volume"
                    update_source="constant" update_type="increment">2</update_volume_variables>
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{"jsonrpc":"2.0", "id":0 ,"method":"Application.SetVolume","params": { "volume":</parameter>
                            <parameter isHttpBody="true"
                                parameter_data_type="character"
                                parameter_fill=""
                                parameter_justify="right"
                                parameter_total_width="3" state_variable="Volume_current_volume"/>
                            <parameter isHttpBody="true" parameter_data_type="character">} }</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="CurrentVolume" status="success">
                                <data terminator="result&quot;:"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="}"
                                    terminator_type="character" type="character">
                                    <update state="CurrentVolume" type="string"/>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="DecreaseVolume">
                <update_volume_variables name="Volume_current_volume"
                    update_source="constant" update_type="decrement">2</update_volume_variables>
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{"jsonrpc":"2.0", "id":0 ,"method":"Application.SetVolume","params": { "volume":</parameter>
                            <parameter isHttpBody="true"
                                parameter_data_type="character"
                                parameter_fill=""
                                parameter_justify="right"
                                parameter_total_width="3" state_variable="Volume_current_volume"/>
                            <parameter isHttpBody="true" parameter_data_type="character">} }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="MuteOn">
                <update_state_variable name="Mute_current_mute_setting"
                    update_source="constant" update_type="set">ON</update_state_variable>
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Application.SetMute", "params": {"mute":true} }</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="CurrentVolume" status="success">
                                <data terminator="result&quot;:"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="}"
                                    terminator_type="character" type="character">
                                    <data_map match_required="yes">
                                    <map key="true">
                                    <update
                                    state="CurrentMuteStatus" type="string">ON</update>
                                    </map>
                                    <map key="true">
                                    <update
                                    state="CurrentMuteStatus" type="string">OFF</update>
                                    </map>
                                    </data_map>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="MuteOff">
                <update_state_variable name="Mute_current_mute_setting"
                    update_source="constant" update_type="set">OFF</update_state_variable>
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Application.SetMute", "params": { "mute":false} }</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="CurrentVolume" status="success">
                                <data terminator="result&quot;:"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="}"
                                    terminator_type="character" type="character">
                                    <data_map match_required="yes">
                                    <map key="true">
                                    <update
                                    state="CurrentMuteStatus" type="string">ON</update>
                                    </map>
                                    <map key="true">
                                    <update
                                    state="CurrentMuteStatus" type="string">OFF</update>
                                    </map>
                                    </data_map>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
        </resource_component_actions>
        <resource_component_actions resource_type="AV_EXTERNALMEDIASERVER_SOURCE">
            <action name="Play">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"play" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Pause">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"pause" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="SkipDown">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"skipprevious" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="SkipUp">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"skipnext" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Stop">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"stop" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Music">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "GUI.ActivateWindow", "params":{ "window":"music", "parameters":["Music"] } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Photos">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "GUI.ActivateWindow", "params":{ "window":"pictures", "parameters":["Pictures"] } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Movies">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "GUI.ActivateWindow", "params":{ "window":"video", "parameters":["Files"] } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Home">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.home" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="OSDCursorUp">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Up" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="OSDCursorDown">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Down" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="OSDCursorLeft">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Left" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="OSDCursorRight">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Right" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Select">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Select" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Exit">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 ,"method": "Input.Back" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="ScanUp">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"fastforward" } }</parameter>
                            <!-- { "jsonrpc": "2.0", "id":1, "method": "Player.SetSpeed", "params": {"playerid":1, "speed": "increment"} } -->
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="ScanDown">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"rewind" } }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="PageUp">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"pageup" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="PageDown">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"pagedown" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberZero">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number0" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberOne">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number1" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberTwo">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number2" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberThree">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number3" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberFour">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number4" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberFive">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number5" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberSix">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number6" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberSeven">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number7" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberEight">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number8" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="NumberNine">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">{ "jsonrpc": "2.0", "id":1, "method": "Input.ExecuteAction", "params":{ "action":"number9" } }</command_string>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
        </resource_component_actions>
        <custom_component_actions>
            <action name="GetInfoPlayer0">
                <command_interface interface="ip">
                    <command response_required="yes">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0, "method": "Player.GetItem", "params":{ "playerid":0, "properties": ["artist","title","track"] }}</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="InfoPlayer0" status="success">
                                <data terminator="artist&quot;:["
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentArtist" type="string"/>
                                </data>
                                <data terminator="label&quot;:&quot;"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentLabel" type="string"/>
                                </data>
                                <data terminator="title&quot;:&quot;"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentTitle" type="string"/>
                                </data>
                                <data terminator_type="end_of_data" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="GetInfoPlayer1">
                <command_interface interface="ip">
                    <command response_required="yes">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0, "method": "Player.GetItem", "params":{ "playerid":1, "properties": ["artist","title","track"] }}</parameter>
                        </parameter_list>
                        <response_codes>
                            <rspmessage name="InfoPlayer0" status="success">
                                <data terminator="artist&quot;:["
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentArtist" type="string"/>
                                </data>
                                <data terminator="label&quot;:&quot;"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentLabel" type="string"/>
                                </data>
                                <data terminator="title&quot;:&quot;"
                                    terminator_type="character" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                                <data terminator="&quot;"
                                    terminator_type="character" type="character">
                                    <update state="CurrentTitle" type="string"/>
                                </data>
                                <data terminator_type="end_of_data" type="character">
                                    <update state="JUNK" type="string"/>
                                </data>
                            </rspmessage>
                        </response_codes>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Introspect">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 , "method": "JSONRPC.Introspect" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="PowerOff">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 , "method": "System.Shutdown" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Suspend">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 , "method": "System.Suspend" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="Reboot">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 , "method": "System.Reboot" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <action name="PowerOff">
                <command_interface interface="ip">
                    <command response_required="no">
                        <http_header name="content-type">application/json</http_header>
                        <command_string http_request_type="POST" type="character">jsonrpc</command_string>
                        <parameter_list>
                            <parameter isHttpBody="true" parameter_data_type="character">{ "jsonrpc": "2.0", "id":0 , "method": "JSONRPC.Introspect" }</parameter>
                        </parameter_list>
                        <delay ms_delay="200"/>
                    </command>
                </command_interface>
            </action>
            <!-- curl (-)-data-binary '{ "jsonrpc": "2.0", "id":1, "method": "GUI.ActivateWindow", "params":{ "window":"videos", "parameters":["musiclibrary"] } }' -H 'content-type: application/json;' http://10.5.215.13:8080/jsonrpc -->
            <!-- ACTION NAMES
            "left", 
    "right", 
    "up", 
    "down", 
    "pageup", 
    "pagedown", 
    "select", 
    "highlight", 
    "parentdir", 
    "parentfolder", 
    "back", 
    "previousmenu", 
    "info", 
    "pause", 
    "stop", 
    "skipnext", 
    "skipprevious", 
    "fullscreen", 
    "aspectratio", 
    "stepforward", 
    "stepback", 
    "bigstepforward", 
    "bigstepback", 
    "osd", 
    "showsubtitles", 
    "nextsubtitle", 
    "codecinfo", 
    "nextpicture", 
    "previouspicture", 
    "zoomout", 
    "zoomin", 
    "playlist", 
    "queue", 
    "zoomnormal", 
    "zoomlevel1", 
    "zoomlevel2", 
    "zoomlevel3", 
    "zoomlevel4", 
    "zoomlevel5", 
    "zoomlevel6", 
    "zoomlevel7", 
    "zoomlevel8", 
    "zoomlevel9", 
    "nextcalibration", 
    "resetcalibration", 
    "analogmove", 
    "rotate", 
    "rotateccw", 
    "close", 
    "subtitledelayminus", 
    "subtitledelay", 
    "subtitledelayplus", 
    "audiodelayminus", 
    "audiodelay", 
    "audiodelayplus", 
    "subtitleshiftup", 
    "subtitleshiftdown", 
    "subtitlealign", 
    "audionextlanguage", 
    "verticalshiftup", 
    "verticalshiftdown", 
    "nextresolution", 
    "audiotoggledigital", 
    "number0", 
    "number1", 
    "number2", 
    "number3", 
    "number4", 
    "number5", 
    "number6", 
    "number7", 
    "number8", 
    "number9", 
    "osdleft", 
    "osdright", 
    "osdup", 
    "osddown", 
    "osdselect", 
    "osdvalueplus", 
    "osdvalueminus", 
    "smallstepback", 
    "fastforward", 
    "rewind", 
    "play", 
    "playpause", 
    "delete", 
    "copy", 
    "move", 
    "mplayerosd", 
    "hidesubmenu", 
    "screenshot", 
    "rename", 
    "togglewatched", 
    "scanitem", 
    "reloadkeymaps", 
    "volumeup", 
    "volumedown", 
    "mute", 
    "backspace", 
    "scrollup", 
    "scrolldown", 
    "analogfastforward", 
    "analogrewind", 
    "moveitemup", 
    "moveitemdown", 
    "contextmenu", 
    "shift", 
    "symbols", 
    "cursorleft", 
    "cursorright", 
    "showtime", 
    "analogseekforward", 
    "analogseekback", 
    "showpreset", 
    "presetlist", 
    "nextpreset", 
    "previouspreset", 
    "lockpreset", 
    "randompreset", 
    "increasevisrating", 
    "decreasevisrating", 
    "showvideomenu", 
    "enter", 
    "increaserating", 
    "decreaserating", 
    "togglefullscreen", 
    "nextscene", 
    "previousscene", 
    "nextletter", 
    "prevletter", 
    "jumpsms2", 
    "jumpsms3", 
    "jumpsms4", 
    "jumpsms5", 
    "jumpsms6", 
    "jumpsms7", 
    "jumpsms8", 
    "jumpsms9", 
    "filter", 
    "filterclear", 
    "filtersms2", 
    "filtersms3", 
    "filtersms4", 
    "filtersms5", 
    "filtersms6", 
    "filtersms7", 
    "filtersms8", 
    "filtersms9", 
    "firstpage", 
    "lastpage", 
    "guiprofile", 
    "red", 
    "green", 
    "yellow", 
    "blue", 
    "increasepar", 
    "decreasepar", 
    "volampup", 
    "volampdown", 
    "channelup", 
    "channeldown", 
    "previouschannelgroup", 
    "nextchannelgroup", 
    "leftclick", 
    "rightclick", 
    "middleclick", 
    "doubleclick", 
    "wheelup", 
    "wheeldown", 
    "mousedrag", 
    "mousemove", 
    "noop"
            -->
            <!-- GUI WINDOW NAMES
            "home", 
    "programs", 
    "pictures", 
    "filemanager", 
    "files", 
    "settings", 
    "music", 
    "video", 
    "videos", 
    "tv", 
    "pvr", 
    "pvrguideinfo", 
    "pvrrecordinginfo", 
    "pvrtimersetting", 
    "pvrgroupmanager", 
    "pvrchannelmanager", 
    "pvrguidesearch", 
    "pvrchannelscan", 
    "pvrupdateprogress", 
    "pvrosdchannels", 
    "pvrosdguide", 
    "pvrosddirector", 
    "pvrosdcutter", 
    "pvrosdteletext", 
    "systeminfo", 
    "testpattern", 
    "screencalibration", 
    "guicalibration", 
    "picturessettings", 
    "programssettings", 
    "weathersettings", 
    "musicsettings", 
    "systemsettings", 
    "videossettings", 
    "networksettings", 
    "servicesettings", 
    "appearancesettings", 
    "pvrsettings", 
    "tvsettings", 
    "scripts", 
    "videofiles", 
    "videolibrary", 
    "videoplaylist", 
    "loginscreen", 
    "profiles", 
    "skinsettings", 
    "addonbrowser", 
    "yesnodialog", 
    "progressdialog", 
    "virtualkeyboard", 
    "volumebar", 
    "submenu", 
    "favourites", 
    "contextmenu", 
    "infodialog", 
    "numericinput", 
    "gamepadinput", 
    "shutdownmenu", 
    "mutebug", 
    "playercontrols", 
    "seekbar", 
    "musicosd", 
    "addonsettings", 
    "visualisationsettings", 
    "visualisationpresetlist", 
    "osdvideosettings", 
    "osdaudiosettings", 
    "videobookmarks", 
    "filebrowser", 
    "networksetup", 
    "mediasource", 
    "profilesettings", 
    "locksettings", 
    "contentsettings", 
    "songinformation", 
    "smartplaylisteditor", 
    "smartplaylistrule", 
    "busydialog", 
    "pictureinfo", 
    "accesspoints", 
    "fullscreeninfo", 
    "karaokeselector", 
    "karaokelargeselector", 
    "sliderdialog", 
    "addoninformation", 
    "musicplaylist", 
    "musicfiles", 
    "musiclibrary", 
    "musicplaylisteditor", 
    "teletext", 
    "selectdialog", 
    "musicinformation", 
    "okdialog", 
    "movieinformation", 
    "textviewer", 
    "fullscreenvideo", 
    "fullscreenlivetv", 
    "visualisation", 
    "slideshow", 
    "filestackingdialog", 
    "karaoke", 
    "weather", 
    "screensaver", 
    "videoosd", 
    "videomenu", 
    "videotimeseek", 
    "musicoverlay", 
    "videooverlay", 
    "startwindow", 
    "startup", 
    "peripherals", 
    "peripheralsettings", 
    "extendedprogressdialog", 
    "mediafilter"
            -->
        </custom_component_actions>
    </logical_component>
</component> 
Reply
#2
eagoweb - did you have get this working? I'm currently running Kodi with my Savant system and would love more features/functionality with my Savant remote.
Reply
#3
I'm curious to know if you've got this working as well. I'm desperate to get more Kodi functionality out of my Savant remote without having to pull out my ios device.
Reply
#4
Anyone gotten better control of KODI with Savant?
Reply
#5
I am also interested if anyone has gotten better control of Kodi. Also can i get feedback to my savant app to what kodi is playing?
Reply

Logout Mark Read Team Forum Stats Members Help
SAVANT REMOTE CONTROL WITH XBMC0