Quick question,
Can someone provide me with a sample of how to construct the data_request (actions and arguments) for the Sonos plugin as it applies to the Say, Volume and Zone (when performing an HTTP post).
e.g. data_request?id=lu_actions&output_format=xml&DeviceNum={SonosDeviceNumber}&serviceId=urn:micasaverde-com:serviceId:Sonos1
Thanks in advance…
<?xml version="1.0"?>
<root>
<serviceList>
<serviceLis serviceId="urn:micasaverde-com:serviceId:Sonos1">
<actionList>
<actionLis name="SetURIToPlay">
<arguments>
<argument dataType="string" name="URIToPlay"></argument>
</arguments>
</actionLis>
<actionLis name="PlayURI">
<arguments>
<argument dataType="string" name="URIToPlay"></argument>
<argument dataType="ui2" name="Volume"></argument>
</arguments>
</actionLis>
<actionLis name="EnqueueURI">
<arguments>
<argument dataType="string" name="URIToEnqueue"></argument>
<argument dataType="string" name="EnqueueMode"></argument>
</arguments>
</actionLis>
<actionLis name="Alert">
<arguments>
<argument dataType="string" name="URI"></argument>
<argument dataType="ui2" name="Volume"></argument>
<argument dataType="boolean" name="SameVolumeForAll"></argument>
<argument dataType="ui4" name="Duration"></argument>
<argument dataType="string" name="GroupDevices"></argument>
<argument dataType="string" name="GroupZones"></argument>
</arguments>
</actionLis>
<actionLis name="Say">
<arguments>
<argument dataType="string" name="Text"></argument>
<argument dataType="string" name="Language"></argument>
<argument dataType="string" name="Engine"></argument>
<argument dataType="ui2" name="Volume"></argument>
<argument dataType="boolean" name="SameVolumeForAll"></argument>
<argument dataType="string" name="GroupDevices"></argument>
<argument dataType="string" name="GroupZones"></argument>
</arguments>
</actionLis>
<actionLis name="SetupTTS">
<arguments>
<argument dataType="string" name="DefaultLanguage"></argument>
<argument dataType="string" name="DefaultEngine"></argument>
<argument dataType="string" name="OSXTTSServerURL"></argument>
</arguments>
</actionLis>
<actionLis name="PauseAll">
<arguments></arguments>
</actionLis>
<actionLis name="JoinGroup">
<arguments>
<argument dataType="string" name="Zone"></argument>
</arguments>
</actionLis>
<actionLis name="LeaveGroup">
<arguments></arguments>
</actionLis>
<actionLis name="UpdateGroupMembers">
<arguments>
<argument dataType="string" name="Zones"></argument>
</arguments>
</actionLis>
<actionLis name="SavePlaybackContext">
<arguments>
<argument dataType="string" name="GroupDevices"></argument>
<argument dataType="string" name="GroupZones"></argument>
</arguments>
</actionLis>
<actionLis name="RestorePlaybackContext">
<arguments></arguments>
</actionLis>
<actionLis name="StartSonosDiscovery">
<arguments></arguments>
</actionLis>
<actionLis name="SelectSonosDevice">
<arguments>
<argument dataType="string" name="URL"></argument>
</arguments>
</actionLis>
<actionLis name="SearchAndSelectSonosDevice">
<arguments>
<argument dataType="string" name="Name"></argument>
<argument dataType="string" name="IP"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyRenderingChange">
<arguments>
<argument dataType="string" name="LastChange"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyAVTransportChange">
<arguments>
<argument dataType="string" name="LastChange"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyMusicServicesChange">
<arguments>
<argument dataType="string" name="LastChange"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyZoneGroupTopologyChange">
<arguments>
<argument dataType="string" name="ZoneGroupState"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyContentDirectoryChange">
<arguments>
<argument dataType="string" name="ContainerUpdateIDs"></argument>
</arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:micasaverde-com:serviceId:MediaNavigation1">
<actionList>
<actionLis name="ChapterDown">
<arguments></arguments>
</actionLis>
<actionLis name="ChapterUp">
<arguments></arguments>
</actionLis>
<actionLis name="DiskDown">
<arguments></arguments>
</actionLis>
<actionLis name="DiskUp">
<arguments></arguments>
</actionLis>
<actionLis name="FastForward">
<arguments></arguments>
</actionLis>
<actionLis name="Pause">
<arguments></arguments>
</actionLis>
<actionLis name="Play">
<arguments></arguments>
</actionLis>
<actionLis name="QuickSkip">
<arguments></arguments>
</actionLis>
<actionLis name="Rewind">
<arguments></arguments>
</actionLis>
<actionLis name="SkipDown">
<arguments></arguments>
</actionLis>
<actionLis name="SkipUp">
<arguments></arguments>
</actionLis>
<actionLis name="Slow">
<arguments></arguments>
</actionLis>
<actionLis name="Stop">
<arguments></arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:micasaverde-com:serviceId:Volume1">
<actionList>
<actionLis name="Down">
<arguments></arguments>
</actionLis>
<actionLis name="Mute">
<arguments></arguments>
</actionLis>
<actionLis name="Up">
<arguments></arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:upnp-org:serviceId:AVTransport">
<actionList>
<actionLis name="AddMultipleURIsToQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
<argument dataType="ui4" name="NumberOfURIs"></argument>
<argument dataType="string" name="EnqueuedURIs"></argument>
<argument dataType="string" name="EnqueuedURIsMetaData"></argument>
<argument dataType="string" name="ContainerURI"></argument>
<argument dataType="string" name="ContainerMetaData"></argument>
<argument dataType="ui4" name="DesiredFirstTrackNumberEnqueued"></argument>
<argument dataType="boolean" name="EnqueueAsNext"></argument>
</arguments>
</actionLis>
<actionLis name="AddURIToQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="EnqueuedURI"></argument>
<argument dataType="string" name="EnqueuedURIMetaData"></argument>
<argument dataType="ui4" name="DesiredFirstTrackNumberEnqueued"></argument>
<argument dataType="boolean" name="EnqueueAsNext"></argument>
</arguments>
</actionLis>
<actionLis name="AddURIToSavedQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="ObjectID"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
<argument dataType="string" name="EnqueuedURI"></argument>
<argument dataType="string" name="EnqueuedURIMetaData"></argument>
<argument dataType="ui4" name="AddAtIndex"></argument>
</arguments>
</actionLis>
<actionLis name="CreateSavedQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Title"></argument>
<argument dataType="string" name="EnqueuedURI"></argument>
<argument dataType="string" name="EnqueuedURIMetaData"></argument>
</arguments>
</actionLis>
<actionLis name="DelegateGroupCoordinationTo">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="NewCoordinator"></argument>
<argument dataType="boolean" name="RejoinGroup"></argument>
</arguments>
</actionLis>
<actionLis name="GetPositionInfo">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="Next">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="NextProgrammedRadioTracks">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="NextSection">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="NotifyDeletedURI">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="DeletedURI"></argument>
</arguments>
</actionLis>
<actionLis name="Pause">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="Play">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Speed"></argument>
</arguments>
</actionLis>
<actionLis name="Previous">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="PreviousSection">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="Record">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="RemoveAllTracksFromQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="RemoveTrackFromQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="ObjectID"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
</arguments>
</actionLis>
<actionLis name="RemoveTrackRangeFromQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
<argument dataType="ui4" name="StartingIndex"></argument>
<argument dataType="ui4" name="NumberOfTracks"></argument>
</arguments>
</actionLis>
<actionLis name="ReorderTracksInQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="ui4" name="StartingIndex"></argument>
<argument dataType="ui4" name="NumberOfTracks"></argument>
<argument dataType="ui4" name="InsertBefore"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
</arguments>
</actionLis>
<actionLis name="ReorderTracksInSavedQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="ObjectID"></argument>
<argument dataType="ui4" name="UpdateID"></argument>
<argument dataType="string" name="TrackList"></argument>
<argument dataType="string" name="NewPositionList"></argument>
</arguments>
</actionLis>
<actionLis name="RunAlarm">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="ui4" name="AlarmID"></argument>
<argument dataType="string" name="LoggedStartTime"></argument>
<argument dataType="string" name="Duration"></argument>
<argument dataType="string" name="ProgramURI"></argument>
<argument dataType="string" name="ProgramMetaData"></argument>
<argument dataType="string" name="PlayMode"></argument>
<argument dataType="ui2" name="Volume"></argument>
<argument dataType="boolean" name="IncludeLinkedZones"></argument>
</arguments>
</actionLis>
<actionLis name="SaveQueue">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Title"></argument>
<argument dataType="string" name="ObjectID"></argument>
</arguments>
</actionLis>
<actionLis name="Seek">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Unit"></argument>
<argument dataType="string" name="Target"></argument>
</arguments>
</actionLis>
<actionLis name="SetAVTransportURI">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="CurrentURI"></argument>
<argument dataType="string" name="CurrentURIMetaData"></argument>
</arguments>
</actionLis>
<actionLis name="SetCrossfadeMode">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="boolean" name="CrossfadeMode"></argument>
</arguments>
</actionLis>
<actionLis name="SetNextAVTransportURI">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="NextURI"></argument>
<argument dataType="string" name="NextURIMetaData"></argument>
</arguments>
</actionLis>
<actionLis name="SetPlayMode">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="NewPlayMode"></argument>
</arguments>
</actionLis>
<actionLis name="SetRecordQualityMode">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="NewRecordQualityMode"></argument>
</arguments>
</actionLis>
<actionLis name="SnoozeAlarm">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Duration"></argument>
</arguments>
</actionLis>
<actionLis name="StartAutoplay">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="ProgramURI"></argument>
<argument dataType="string" name="ProgramMetaData"></argument>
<argument dataType="ui2" name="Volume"></argument>
<argument dataType="boolean" name="IncludeLinkedZones"></argument>
<argument dataType="boolean" name="ResetVolumeAfter"></argument>
</arguments>
</actionLis>
<actionLis name="Stop">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:upnp-org:serviceId:RenderingControl">
<actionList>
<actionLis name="RampToVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="string" name="RampType"></argument>
<argument dataType="ui2" name="DesiredVolume"></argument>
<argument dataType="boolean" name="ResetVolumeAfter"></argument>
<argument dataType="string" name="ProgramURI"></argument>
</arguments>
</actionLis>
<actionLis name="ResetBasicEQ">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
<actionLis name="ResetExtEQ">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="EQType"></argument>
</arguments>
</actionLis>
<actionLis name="RestoreVolumePriorToRamp">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
</arguments>
</actionLis>
<actionLis name="SelectPreset">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="PresetName"></argument>
</arguments>
</actionLis>
<actionLis name="SetBass">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="i2" name="DesiredBass"></argument>
</arguments>
</actionLis>
<actionLis name="SetChannelMap">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="ChannelMap"></argument>
</arguments>
</actionLis>
<actionLis name="SetEQ">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="EQType"></argument>
<argument dataType="i2" name="DesiredValue"></argument>
</arguments>
</actionLis>
<actionLis name="SetLoudness">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="boolean" name="DesiredLoudness"></argument>
</arguments>
</actionLis>
<actionLis name="SetMute">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="boolean" name="DesiredMute"></argument>
</arguments>
</actionLis>
<actionLis name="SetOutputFixed">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="boolean" name="DesiredFixed"></argument>
</arguments>
</actionLis>
<actionLis name="SetRelativeVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="i4" name="Adjustment"></argument>
</arguments>
</actionLis>
<actionLis name="SetTreble">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="i2" name="DesiredTreble"></argument>
</arguments>
</actionLis>
<actionLis name="SetVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="ui2" name="DesiredVolume"></argument>
</arguments>
</actionLis>
<actionLis name="SetVolumeDB">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="string" name="Channel"></argument>
<argument dataType="i2" name="DesiredVolume"></argument>
</arguments>
</actionLis>
<serviceLis serviceId="urn:upnp-org:serviceId:GroupRenderingControl">
<actionList>
<actionLis name="SetGroupMute">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="boolean" name="DesiredMute"></argument>
</arguments>
</actionLis>
<actionLis name="SetGroupVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="ui2" name="DesiredVolume"></argument>
</arguments>
</actionLis>
<actionLis name="SetRelativeGroupVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
<argument dataType="i4" name="Adjustment"></argument>
</arguments>
</actionLis>
<actionLis name="SnapshotGroupVolume">
<arguments>
<argument dataType="ui4" name="InstanceID"></argument>
</arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:micasaverde-com:serviceId:HaDevice1">
<actionList>
<actionLis name="Reconfigure">
<arguments></arguments>
</actionLis>
<actionLis name="StressTest">
<arguments></arguments>
</actionLis>
<actionLis name="Remove">
<arguments></arguments>
</actionLis>
<actionLis name="Poll">
<arguments></arguments>
</actionLis>
<actionLis name="ToggleState">
<arguments></arguments>
</actionLis>
<actionLis name="SetPollFrequency">
<arguments>
<argument dataType="boolean" name="PollingEnabled"></argument>
<argument dataType="ui1" name="PollMinDelay"></argument>
</arguments>
</actionLis>
</actionList>
</serviceLis>
<serviceLis serviceId="urn:upnp-org:serviceId:DeviceProperties">
<actionList></actionList>
</serviceLis>
<serviceLis serviceId="urn:upnp-org:serviceId:ContentDirectory">
<actionList></actionList>
</serviceLis>
<serviceLis serviceId="urn:upnp-org:serviceId:ZoneGroupTopology">
<actionList></actionList>
</serviceLis>
</serviceList>
</root>