2016-05-13 7 views
0

Ich habe mehrere Sony-Elektronik wie TV, BD-Player, Hi-Res-Musik-Player und BT-Lautsprecher, die alle upnp kompatibel sind. Ich plane, mein Hausautomatisierungssystem zu steuern, um den glücklichen Spieler zu steuern, der bereits App hat, um die Kontrolle zu machen. Von der Geräte- und Dienstbeschreibungsurl finde ich, dass es einen Standarddienst und einen von einem Verkäufer spezifizierten Dienst gibt.So erhalten Sie Sony ScalarWebAPI Methodenliste

<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> 

Die Service-Beschreibung ScalarWebApiSCPD.xml hat Aktionsliste. Durch die Überwachung des Netzwerkverkehrs zwischen App und Spieler, ich herausgefunden habe, dass ich http://192.168.86.169:60200/sony POST kann eine gewisse Kontrolle wie tunr zu tun on/off

POST/Sony/System HTTP/1.1 HOST: 192.168.86.169:60200 Inhalt -type: application/json content-length: 100

{"methode": "setPowerStatus", "params": [{"status": "aktiv", "standbyDetail": ""}], "id ": 1," version ":" 1.1 "}

Aber gibt es eine Möglichkeit, die Methodenliste zu bekommen? Oder irgendwelche allgemeinen Möglichkeiten, um eine Anfrage an API zu machen, und es gibt alle gültigen Methoden und Parameter zurück? Es ist ein upnp-Gerät, und upnp-Geräte sollen Gerätefähigkeiten austauschen können.

Antwort

0

Für get Liste von Methoden verwenden Methode "getMethodTypes"

Beitrag Körper:

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

Wie Sie Ihr Gerät ausschalten? Was senden Sie Status?