Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 148 additions & 30 deletions FSAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ Todo

### Multiroom

:exclamation: The following comands work only on devices with mutiroom-support :exclamation:
:exclamation: The following commands work only on devices with multiroom-support :exclamation:

#### netRemote.multiroom.caps.maxClients

Expand Down Expand Up @@ -277,7 +277,7 @@ Todo
#### netRemote.multiroom.device.listAll
Method: LIST_GET_NEXT

Shows other Mutiroom devices in the Network
Shows other Multiroom devices in the Network

```
/fsapi/LIST_GET_NEXT/netRemote.multiroom.device.listAll/-1?pin=1337&maxItems=10
Expand All @@ -288,25 +288,26 @@ Shows other Mutiroom devices in the Network
<field name="ipaddress"><c8_array>192.168.xxx.xxx</c8_array></field>
<field name="audiosyncversion"><c8_array>3</c8_array></field>
<field name="groupid"><c8_array>0AD57A8A-49A8-11E6-XXXX-002261EDXXXX</c8_array></field>
<field name="groupname"><c8_array>MultirooGroupName</c8_array></field>
<field name="groupname"><c8_array>MultiroomGroupName</c8_array></field>
<field name="grouprole"><u8>2</u8></field>
<field name="clientnumber"><u8>254</u8></field>
</item>

<listend/>

```

#### netRemote.multiroom.device.listAllVersion

TODO

Method: ??
Method: GET_NOTIFIES

???
Continuous numbering of status queries

```
/fsapi/GET_NOTIFIES?pin=1337&sid=[session no.]

<notify node="netremote.multiroom.device.listallversion"><value><u32>67</u32></value></notify>
```


Expand All @@ -323,7 +324,6 @@ Method: GET
/fsapi/GET/netRemote.multiroom.device.serverStatus?pin=1337

<value><u8>1</u8></value>

```

#### netRemote.multiroom.device.clientStatus
Expand All @@ -341,7 +341,6 @@ Method: GET
/fsapi/GET/netRemote.multiroom.device.clientIndex?pin=1337

<value><u8>0</u8></value>

```


Expand All @@ -356,8 +355,7 @@ Method: GET
```
/fsapi/GET/netRemote.multiroom.device.transportOptimisation?pin=1337

<status>FS_NODE_DOES_NOT_EXIST</status>

<status>FS_OK</status><value><u8>1</u8></value>
```


Expand Down Expand Up @@ -396,44 +394,43 @@ Method: GET
/fsapi/GET/netRemote.multiroom.group.streamable?pin=1337

<value><u8>1</u8></value>

```

#### netRemote.multiroom.group.create
Method: SET

Create new group
Create new group. Further information can be requested via GET_NOTIFIES. See also the example at the end of the multi-room chapter.

```
/fsapi/SET/netRemote.multiroom.group.create?pin=1337&value=GroupName

<status>FS_NODE_DOES_NOT_EXIST</status>

<status>FS_OK</status>
```


#### netRemote.multiroom.group.addClient
Method: SET

Add device to group
Add device to group. Further information can be requested via GET_NOTIFIES. See also the example at the end of the multi-room chapter.

```
/fsapi/SET/netRemote.multiroom.group.addClient?pin=1337&value=[Device-udn]

<status>FS_NODE_DOES_NOT_EXIST</status>

<status>FS_OK</status>
```

#### netRemote.multiroom.group.attachedClients

TODO

Method: ??
Method: GET_NOTIFIES

???
Probably 1 during the AddClient process.

```
/fsapi/GET_NOTIFIES?pin=1337&sid=[session no.]

<notify node="netremote.multiroom.group.attachedclients"><value><u8>0</u8></value></notify>
```


Expand All @@ -446,34 +443,29 @@ Delete Multiroom group
/fsapi/SET/netRemote.multiroom.group.destroy?pin=1337&value=1

<status>FS_NODE_DOES_NOT_EXIST</status>

```


#### netRemote.multiroom.group.name
Method: GET

Get Mutiroom Group Name
Get Multiroom Group Name

```
/fsapi/GET/netRemote.multiroom.group.name?pin=1337

<value><c8_array>1234</c8_array></value>

<value><c8_array>Group 1</c8_array></value>
```

#### netRemote.multiroom.group.id
TODO

Method: GET

???
Get GUID of the group

```
/fsapi/GET/netRemote.multiroom.group.id?pin=1337

<value><c8_array>501867A4-42A7-11E6-XXXX-002261E7XXXX</c8_array></value>

```

#### netRemote.multiroom.group.state
Expand All @@ -485,7 +477,6 @@ Method: GET, SET
/fsapi/GET/netRemote.multiroom.group.state?pin=1337

<value><u8>2</u8></value>

```


Expand All @@ -498,7 +489,6 @@ Set/Get Volume for device No X (0,1,2,...)
/fsapi/GET/netRemote.multiroom.client.volume0?pin=1337&value=12

<value><u8>20</u8></value>

```

#### netRemote.multiroom.client.muteX
Expand All @@ -510,7 +500,6 @@ Set/Get MuteState for device No X (0,1,2,...)
/fsapi/GET/netRemote.multiroom.client.mute?pin=1337&value=1

<value><u8>0</u8></value>

```


Expand All @@ -523,9 +512,138 @@ Set/Get Volume for all devices
/fsapi/GET/netRemote.multiroom.group.masterVolume?pin=1337&value=12

<value><u8>12</u8></value>
```

#### Example of the command sequence for creating a multi-room group with the addition of a client. (Recording UNDOK).
Please note that some commands are repeated, probably due to delays between requests and responses.
Note also that the value 'multiroom.device.listallversion' is continuously incremented during status queries.
```
GET/fsapi/SET/netRemote.multiroom.group.create?pin=1337&value=Group+1

<fsapiResponse><status>FS_OK</status></fsapiResponse>


# get notifies for the session
GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status>
<notify node="netremote.multiroom.device.listallversion"><value><u32>64</u32></value></notify>
</fsapiResponse>


GET/fsapi/GET/netRemote.multiroom.group.id?pin=1337
<fsapiResponse><status>FS_OK</status><value><c8_array>yyyyyyyy-BE17-11F0-8F8D-yyyyyyyyyyyy</c8_array></value></fsapiResponse>


# use the udn value of the client
GET/fsapi/SET/netRemote.multiroom.group.addClient?pin=1337&value=xxxxxxxx-472B-11E1-9F67-xxxxxxxxxxxx

<fsapiResponse><status>FS_OK</status></fsapiResponse>


GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status>
<notify node="netremote.multiroom.device.listallversion"><value><u32>65</u32></value></notify>
<notify node="netremote.multiroom.group.attachedclients"><value><u8>1</u8></value></notify>
<notify node="netremote.multiroom.client.status0"><value><u8>0</u8></value></notify>
</fsapiResponse>


GET/fsapi/LIST_GET_NEXT/netRemote.multiroom.device.listAll/-1?pin=1337&maxItems=30
<fsapiResponse><status>FS_OK</status><item key="0">
<field name="udn"><c8_array>xxxxxxxx-472B-11E1-9F67-xxxxxxxxxxxx</c8_array></field>
<field name="friendlyname"><c8_array>BLOCKA</c8_array></field>
<field name="ipaddress"><c8_array>192.168.178.43</c8_array></field>
<field name="audiosyncversion"><c8_array>4</c8_array></field>
<field name="groupid"><c8_array>yyyyyyyy-BE17-11F0-8F8D-yyyyyyyyyyyy</c8_array></field>
<field name="groupname"><c8_array>Group1</c8_array></field>
<field name="grouprole"><u8>1</u8></field>
<field name="clientnumber"><u8>255</u8></field>
</item><listend/></fsapiResponse>


GET/fsapi/GET_MULTIPLE?pin=1337&node=netRemote.multiroom.group.name&node=netRemote.multiroom.group.id&node=netRemote.multiroom.group.state&node=netRemote.multiroom.device.serverStatus

<fsapiGetMultipleResponse>
<fsapiResponse><node>netRemote.multiroom.group.name</node><status>FS_OK</status><value><c8_array>Group1</c8_array></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.group.id</node><status>FS_OK</status><value><c8_array>yyyyyyyy-BE17-11F0-8F8D-yyyyyyyyyyyy</c8_array></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.group.state</node><status>FS_OK</status><value><u8>2</u8></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.device.serverStatus</node><status>FS_OK</status><value><u8>1</u8></value></fsapiResponse>
</fsapiGetMultipleResponse>


GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status>
<notify node="netremote.multiroom.device.listallversion"><value><u32>66</u32></value></notify>
<notify node="netremote.multiroom.group.attachedclients"><value><u8>1</u8></value></notify>
<notify node="netremote.multiroom.client.status0"><value><u8>1</u8></value></notify>
<notify node="netremote.multiroom.group.mastervolume"><value><u8>3</u8></value></notify>
<notify node="netremote.multiroom.client.volume0"><value><u8>0</u8></value></notify>
<notify node="netremote.multiroom.client.mute0"><value><u8>0</u8></value></notify>
</fsapiResponse>


GET/fsapi/LIST_GET_NEXT/netRemote.multiroom.device.listAll/-1?pin=1337&maxItems=30

<fsapiResponse><status>FS_OK</status><item key="0">
<field name="udn"><c8_array>xxxxxxxx-472B-11E1-9F67-xxxxxxxxxxxx</c8_array></field>
<field name="friendlyname"><c8_array>BLOCKA</c8_array></field>
<field name="ipaddress"><c8_array>192.168.178.43</c8_array></field>
<field name="audiosyncversion"><c8_array>4</c8_array></field>
<field name="groupid"><c8_array>yyyyyyyy-BE17-11F0-8F8D-yyyyyyyyyyyy</c8_array></field>
<field name="groupname"><c8_array>Group1</c8_array></field>
<field name="grouprole"><u8>1</u8></field>
<field name="clientnumber"><u8>0</u8></field>
</item><listend/></fsapiResponse>


GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status><notify node="netremote.multiroom.client.status0"><value><u8>2</u8></value></notify></fsapiResponse>


GET/fsapi/GET_MULTIPLE?pin=1337&node=netRemote.multiroom.group.name&node=netRemote.multiroom.group.id&node=netRemote.multiroom.group.state&node=netRemote.multiroom.device.serverStatus

<fsapiGetMultipleResponse>
<fsapiResponse><node>netRemote.multiroom.group.name</node><status>FS_OK</status><value><c8_array>Group1</c8_array></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.group.id</node><status>FS_OK</status><value><c8_array>yyyyyyyy-BE17-11F0-8F8D-yyyyyyyyyyyy</c8_array></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.group.state</node><status>FS_OK</status><value><u8>2</u8></value></fsapiResponse>
<fsapiResponse><node>netRemote.multiroom.device.serverStatus</node><status>FS_OK</status><value><u8>1</u8></value></fsapiResponse>
</fsapiGetMultipleResponse>


GET/fsapi/GET/netRemote.multiroom.client.status0?pin=1337

<fsapiResponse><status>FS_OK</status><value><u8>1</u8></value></fsapiResponse>


GET/fsapi/GET/netRemote.sys.info.friendlyName?pin=1337

<fsapiResponse><status>FS_OK</status><value><c8_array>BLOCKCVR200</c8_array></value></fsapiResponse>


GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status>
<notify node="netremote.multiroom.group.mastervolume"><value><u8>5</u8></value></notify>
<notify node="netremote.multiroom.client.volume0"><value><u8>4</u8></value></notify>
</fsapiResponse>


GET/fsapi/GET_NOTIFIES?pin=1337&sid=1887203674

<fsapiResponse><status>FS_OK</status>
<notify node="netremote.multiroom.device.listallversion"><value><u32>67</u32></value></notify>
<notify node="netremote.multiroom.group.attachedclients"><value><u8>0</u8></value></notify>
</fsapiResponse>


GET/fsapi/GET/netRemote.multiroom.device.transportOptimisation?pin=1337

<fsapiResponse><status>FS_OK</status><value><u8>1</u8></value></fsapiResponse>
```
### Misc

#### netRemote.misc.fsDebug.component
Expand Down