如何获取Sony ScalarWebAPI方法列表

时间:2016-05-13 06:19:18

标签: api sony

我有几个索尼电子产品,如电视,BD播放器,高分辨率音乐播放器和bt扬声器,它们都兼容upnp。我打算让我的家庭自动化系统对已经有app进行控制的hapz1es播放器进行语音控制。从设备和服务描述网址中我发现有标准服务和供应商指定服务。

<service>
<serviceType>urn:schemas-sony-com:service:ScalarWebAPI:1</serviceType>
<serviceId>urn:schemas-sony-com:serviceId:ScalarWebAPI</serviceId>
<SCPDURL>/ScalarWebApiSCPD.xml</SCPDURL>
<controlURL>/upnp/control/ScalarAPI</controlURL>
<eventSubURL/>
</service>
<av:X_ScalarWebAPI_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
<av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version>
<av:X_ScalarWebAPI_BaseURL>http://192.168.86.169:60200/sony</av:X_ScalarWebAPI_BaseURL>
<av:X_ScalarWebAPI_ServiceList>
<av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType>
<av:X_ScalarWebAPI_ServiceType>system</av:X_ScalarWebAPI_ServiceType>
<av:X_ScalarWebAPI_ServiceType>audio</av:X_ScalarWebAPI_ServiceType>
<av:X_ScalarWebAPI_ServiceType>avContent</av:X_ScalarWebAPI_ServiceType>
</av:X_ScalarWebAPI_ServiceList>
</av:X_ScalarWebAPI_DeviceInfo>

服务描述ScalarWebApiSCPD.xml包含操作列表。通过监控应用和播放器之间的网络流量,我发现我可以POST到http://192.168.86.169:60200/sony来进行一些控制,比如打开/关闭tunr

POST / sony / system HTTP / 1.1 主持人:192.168.86.169:60200 content-type:application / json 内容长度:100

{ “方法”: “setPowerStatus”, “PARAMS”:[{ “状态”: “活跃”, “standbyDetail”: “”}], “ID”:1, “版本”: “1.1”} < / p>

但有没有办法获得方法列表?或者对api进行查询的任何一般方法,它返回所有有效的方法和参数?它是一个upnp设备,upnp设备假设能够交换设备能力。

1 个答案:

答案 0 :(得分:0)

要获取方法列表,请使用方法“getMethodTypes

邮政机构:

{"method": "getMethodTypes", "params": [""], "id": 1, "version": "1.0"}

如何关闭设备?你发送什么状态?