@svrooij/sonos
Advanced tools
Comparing version 2.6.0-beta.7 to 2.6.0-beta.8
@@ -56,4 +56,6 @@ "use strict"; | ||
// See https://github.com/svrooij/node-sonos-ts/issues/93 if you found and album art uri that doesn't work. | ||
const art = uri.replace(/&/gi, '&'); // .replace(/%25/g, '%').replace(/%3a/gi, ':'); | ||
track.AlbumArtUri = art.startsWith('http') ? art : `http://${host}:${port}${art}`; | ||
if (typeof uri === 'string' && uri.length > 0) { | ||
const art = uri.replace(/&/gi, '&'); // .replace(/%25/g, '%').replace(/%3a/gi, ':'); | ||
track.AlbumArtUri = art.startsWith('http') ? art : `http://${host}:${port}${art}`; | ||
} | ||
} | ||
@@ -156,2 +158,8 @@ if (didlItem.res) { | ||
} | ||
if (trackUri.startsWith('x-rincon-mp3radio://http')) { | ||
track.TrackUri = trackUri; | ||
track.ItemId = '-1'; | ||
//track.UpnpClass = 'object.item.audioItem.audioBroadcast'; | ||
return track; | ||
} | ||
if (trackUri.startsWith('x-rincon-cpcontainer:1006206ccatalog')) { // Amazon prime container | ||
@@ -158,0 +166,0 @@ track.TrackUri = trackUri; |
@@ -32,2 +32,6 @@ export declare enum SonosEvents { | ||
/** | ||
* This event is emitted if the group id changed | ||
*/ | ||
GroupId = "groupid", | ||
/** | ||
* This event is emitted if the groupname changes. | ||
@@ -34,0 +38,0 @@ */ |
@@ -36,2 +36,6 @@ "use strict"; | ||
/** | ||
* This event is emitted if the group id changed | ||
*/ | ||
SonosEvents["GroupId"] = "groupid"; | ||
/** | ||
* This event is emitted if the groupname changes. | ||
@@ -38,0 +42,0 @@ */ |
@@ -20,2 +20,3 @@ import { TransportState, ExtendedTransportState } from './transport-state'; | ||
coordinator: (uuid: string) => void; | ||
groupid: (id: string) => void; | ||
groupname: (name: string) => void; | ||
@@ -22,0 +23,0 @@ subscriptionError: (error: EventsError) => void; |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -58,3 +58,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
*/ | ||
async CreateAlarm(input) { return await this.SoapRequestWithBody('CreateAlarm', input); } | ||
CreateAlarm(input) { return this.SoapRequestWithBody('CreateAlarm', input); } | ||
/** | ||
@@ -65,11 +65,11 @@ * Delete an alarm | ||
*/ | ||
async DestroyAlarm(input) { return await this.SoapRequestWithBodyNoResponse('DestroyAlarm', input); } | ||
async GetDailyIndexRefreshTime() { return await this.SoapRequest('GetDailyIndexRefreshTime'); } | ||
async GetFormat() { return await this.SoapRequest('GetFormat'); } | ||
async GetHouseholdTimeAtStamp(input) { return await this.SoapRequestWithBody('GetHouseholdTimeAtStamp', input); } | ||
async GetTimeNow() { return await this.SoapRequest('GetTimeNow'); } | ||
async GetTimeServer() { return await this.SoapRequest('GetTimeServer'); } | ||
async GetTimeZone() { return await this.SoapRequest('GetTimeZone'); } | ||
async GetTimeZoneAndRule() { return await this.SoapRequest('GetTimeZoneAndRule'); } | ||
async GetTimeZoneRule(input) { return await this.SoapRequestWithBody('GetTimeZoneRule', input); } | ||
DestroyAlarm(input) { return this.SoapRequestWithBodyNoResponse('DestroyAlarm', input); } | ||
GetDailyIndexRefreshTime() { return this.SoapRequest('GetDailyIndexRefreshTime'); } | ||
GetFormat() { return this.SoapRequest('GetFormat'); } | ||
GetHouseholdTimeAtStamp(input) { return this.SoapRequestWithBody('GetHouseholdTimeAtStamp', input); } | ||
GetTimeNow() { return this.SoapRequest('GetTimeNow'); } | ||
GetTimeServer() { return this.SoapRequest('GetTimeServer'); } | ||
GetTimeZone() { return this.SoapRequest('GetTimeZone'); } | ||
GetTimeZoneAndRule() { return this.SoapRequest('GetTimeZoneAndRule'); } | ||
GetTimeZoneRule(input) { return this.SoapRequestWithBody('GetTimeZoneRule', input); } | ||
/** | ||
@@ -79,8 +79,8 @@ * Get the AlarmList as XML | ||
*/ | ||
async ListAlarms() { return await this.SoapRequest('ListAlarms'); } | ||
async SetDailyIndexRefreshTime(input) { return await this.SoapRequestWithBodyNoResponse('SetDailyIndexRefreshTime', input); } | ||
async SetFormat(input) { return await this.SoapRequestWithBodyNoResponse('SetFormat', input); } | ||
async SetTimeNow(input) { return await this.SoapRequestWithBodyNoResponse('SetTimeNow', input); } | ||
async SetTimeServer(input) { return await this.SoapRequestWithBodyNoResponse('SetTimeServer', input); } | ||
async SetTimeZone(input) { return await this.SoapRequestWithBodyNoResponse('SetTimeZone', input); } | ||
ListAlarms() { return this.SoapRequest('ListAlarms'); } | ||
SetDailyIndexRefreshTime(input) { return this.SoapRequestWithBodyNoResponse('SetDailyIndexRefreshTime', input); } | ||
SetFormat(input) { return this.SoapRequestWithBodyNoResponse('SetFormat', input); } | ||
SetTimeNow(input) { return this.SoapRequestWithBodyNoResponse('SetTimeNow', input); } | ||
SetTimeServer(input) { return this.SoapRequestWithBodyNoResponse('SetTimeServer', input); } | ||
SetTimeZone(input) { return this.SoapRequestWithBodyNoResponse('SetTimeZone', input); } | ||
/** | ||
@@ -102,3 +102,3 @@ * Update an alarm, all parameters are required. | ||
*/ | ||
async UpdateAlarm(input) { return await this.SoapRequestWithBodyNoResponse('UpdateAlarm', input); } | ||
UpdateAlarm(input) { return this.SoapRequestWithBodyNoResponse('UpdateAlarm', input); } | ||
// #endregion | ||
@@ -105,0 +105,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,9 +35,9 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async GetAudioInputAttributes() { return await this.SoapRequest('GetAudioInputAttributes'); } | ||
async GetLineInLevel() { return await this.SoapRequest('GetLineInLevel'); } | ||
async SelectAudio(input) { return await this.SoapRequestWithBodyNoResponse('SelectAudio', input); } | ||
async SetAudioInputAttributes(input) { return await this.SoapRequestWithBodyNoResponse('SetAudioInputAttributes', input); } | ||
async SetLineInLevel(input) { return await this.SoapRequestWithBodyNoResponse('SetLineInLevel', input); } | ||
async StartTransmissionToGroup(input) { return await this.SoapRequestWithBody('StartTransmissionToGroup', input); } | ||
async StopTransmissionToGroup(input) { return await this.SoapRequestWithBodyNoResponse('StopTransmissionToGroup', input); } | ||
GetAudioInputAttributes() { return this.SoapRequest('GetAudioInputAttributes'); } | ||
GetLineInLevel() { return this.SoapRequest('GetLineInLevel'); } | ||
SelectAudio(input) { return this.SoapRequestWithBodyNoResponse('SelectAudio', input); } | ||
SetAudioInputAttributes(input) { return this.SoapRequestWithBodyNoResponse('SetAudioInputAttributes', input); } | ||
SetLineInLevel(input) { return this.SoapRequestWithBodyNoResponse('SetLineInLevel', input); } | ||
StartTransmissionToGroup(input) { return this.SoapRequestWithBody('StartTransmissionToGroup', input); } | ||
StopTransmissionToGroup(input) { return this.SoapRequestWithBodyNoResponse('StopTransmissionToGroup', input); } | ||
// #endregion | ||
@@ -44,0 +44,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -14,3 +14,3 @@ import BaseService from './base-service'; | ||
/** | ||
* Service that controls stuff related to transport (play/pause/next/special urls) | ||
* Service that controls stuff related to transport (play/pause/next/special URLs) | ||
* | ||
@@ -17,0 +17,0 @@ * @export |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -19,3 +19,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
/** | ||
* Service that controls stuff related to transport (play/pause/next/special urls) | ||
* Service that controls stuff related to transport (play/pause/next/special URLs) | ||
* | ||
@@ -66,3 +66,3 @@ * @export | ||
// #region actions | ||
async AddMultipleURIsToQueue(input) { return await this.SoapRequestWithBody('AddMultipleURIsToQueue', input); } | ||
AddMultipleURIsToQueue(input) { return this.SoapRequestWithBody('AddMultipleURIsToQueue', input); } | ||
/** | ||
@@ -78,5 +78,5 @@ * Adds songs to the SONOS queue | ||
*/ | ||
async AddURIToQueue(input) { return await this.SoapRequestWithBody('AddURIToQueue', input); } | ||
async AddURIToSavedQueue(input) { return await this.SoapRequestWithBody('AddURIToSavedQueue', input); } | ||
async BackupQueue(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('BackupQueue', input); } | ||
AddURIToQueue(input) { return this.SoapRequestWithBody('AddURIToQueue', input); } | ||
AddURIToSavedQueue(input) { return this.SoapRequestWithBody('AddURIToSavedQueue', input); } | ||
BackupQueue(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('BackupQueue', input); } | ||
/** | ||
@@ -87,7 +87,7 @@ * Leave the current group and revert to a single player. | ||
*/ | ||
async BecomeCoordinatorOfStandaloneGroup(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('BecomeCoordinatorOfStandaloneGroup', input); } | ||
async BecomeGroupCoordinator(input) { return await this.SoapRequestWithBodyNoResponse('BecomeGroupCoordinator', input); } | ||
async BecomeGroupCoordinatorAndSource(input) { return await this.SoapRequestWithBodyNoResponse('BecomeGroupCoordinatorAndSource', input); } | ||
async ChangeCoordinator(input) { return await this.SoapRequestWithBodyNoResponse('ChangeCoordinator', input); } | ||
async ChangeTransportSettings(input) { return await this.SoapRequestWithBodyNoResponse('ChangeTransportSettings', input); } | ||
BecomeCoordinatorOfStandaloneGroup(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('BecomeCoordinatorOfStandaloneGroup', input); } | ||
BecomeGroupCoordinator(input) { return this.SoapRequestWithBodyNoResponse('BecomeGroupCoordinator', input); } | ||
BecomeGroupCoordinatorAndSource(input) { return this.SoapRequestWithBodyNoResponse('BecomeGroupCoordinatorAndSource', input); } | ||
ChangeCoordinator(input) { return this.SoapRequestWithBodyNoResponse('ChangeCoordinator', input); } | ||
ChangeTransportSettings(input) { return this.SoapRequestWithBodyNoResponse('ChangeTransportSettings', input); } | ||
/** | ||
@@ -100,4 +100,4 @@ * Stop playing after set sleep timer or cancel | ||
*/ | ||
async ConfigureSleepTimer(input) { return await this.SoapRequestWithBodyNoResponse('ConfigureSleepTimer', input); } | ||
async CreateSavedQueue(input) { return await this.SoapRequestWithBody('CreateSavedQueue', input); } | ||
ConfigureSleepTimer(input) { return this.SoapRequestWithBodyNoResponse('ConfigureSleepTimer', input); } | ||
CreateSavedQueue(input) { return this.SoapRequestWithBody('CreateSavedQueue', input); } | ||
/** | ||
@@ -111,4 +111,4 @@ * Delegates the coordinator role to another player in the same group | ||
*/ | ||
async DelegateGroupCoordinationTo(input) { return await this.SoapRequestWithBodyNoResponse('DelegateGroupCoordinationTo', input); } | ||
async EndDirectControlSession(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('EndDirectControlSession', input); } | ||
DelegateGroupCoordinationTo(input) { return this.SoapRequestWithBodyNoResponse('DelegateGroupCoordinationTo', input); } | ||
EndDirectControlSession(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('EndDirectControlSession', input); } | ||
/** | ||
@@ -120,3 +120,3 @@ * Get crossfade mode | ||
*/ | ||
async GetCrossfadeMode(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetCrossfadeMode', input); } | ||
GetCrossfadeMode(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetCrossfadeMode', input); } | ||
/** | ||
@@ -128,4 +128,4 @@ * Get current transport actions such as Set, Stop, Pause, Play, X_DLNA_SeekTime, Next, X_DLNA_SeekTrackNr | ||
*/ | ||
async GetCurrentTransportActions(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetCurrentTransportActions', input); } | ||
async GetDeviceCapabilities(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetDeviceCapabilities', input); } | ||
GetCurrentTransportActions(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetCurrentTransportActions', input); } | ||
GetDeviceCapabilities(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetDeviceCapabilities', input); } | ||
/** | ||
@@ -136,3 +136,3 @@ * Get information about the current playing media (queue) | ||
*/ | ||
async GetMediaInfo(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetMediaInfo', input); } | ||
GetMediaInfo(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetMediaInfo', input); } | ||
/** | ||
@@ -143,3 +143,3 @@ * Get information about current position (position in queue and time in current song) | ||
*/ | ||
async GetPositionInfo(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetPositionInfo', input); } | ||
GetPositionInfo(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetPositionInfo', input); } | ||
/** | ||
@@ -151,4 +151,4 @@ * Get time left on sleeptimer. | ||
*/ | ||
async GetRemainingSleepTimerDuration(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetRemainingSleepTimerDuration', input); } | ||
async GetRunningAlarmProperties(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetRunningAlarmProperties', input); } | ||
GetRemainingSleepTimerDuration(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetRemainingSleepTimerDuration', input); } | ||
GetRunningAlarmProperties(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetRunningAlarmProperties', input); } | ||
/** | ||
@@ -160,3 +160,3 @@ * Get current transport status, speed and state such as PLAYING, STOPPED, PLAYING, PAUSED_PLAYBACK, TRANSITIONING, NO_MEDIA_PRESENT | ||
*/ | ||
async GetTransportInfo(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetTransportInfo', input); } | ||
GetTransportInfo(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetTransportInfo', input); } | ||
/** | ||
@@ -168,3 +168,3 @@ * Get transport settings | ||
*/ | ||
async GetTransportSettings(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetTransportSettings', input); } | ||
GetTransportSettings(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetTransportSettings', input); } | ||
/** | ||
@@ -176,4 +176,4 @@ * Go to next song | ||
*/ | ||
async Next(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Next', input); } | ||
async NotifyDeletedURI(input) { return await this.SoapRequestWithBodyNoResponse('NotifyDeletedURI', input); } | ||
Next(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Next', input); } | ||
NotifyDeletedURI(input) { return this.SoapRequestWithBodyNoResponse('NotifyDeletedURI', input); } | ||
/** | ||
@@ -184,3 +184,3 @@ * Pause playback | ||
*/ | ||
async Pause(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Pause', input); } | ||
Pause(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Pause', input); } | ||
/** | ||
@@ -192,3 +192,3 @@ * Start playing the set TransportURI | ||
*/ | ||
async Play(input) { return await this.SoapRequestWithBodyNoResponse('Play', input); } | ||
Play(input) { return this.SoapRequestWithBodyNoResponse('Play', input); } | ||
/** | ||
@@ -200,3 +200,3 @@ * Go to previous song | ||
*/ | ||
async Previous(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Previous', input); } | ||
Previous(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Previous', input); } | ||
/** | ||
@@ -208,4 +208,4 @@ * Flushes the SONOS queue. | ||
*/ | ||
async RemoveAllTracksFromQueue(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('RemoveAllTracksFromQueue', input); } | ||
async RemoveTrackFromQueue(input) { return await this.SoapRequestWithBodyNoResponse('RemoveTrackFromQueue', input); } | ||
RemoveAllTracksFromQueue(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('RemoveAllTracksFromQueue', input); } | ||
RemoveTrackFromQueue(input) { return this.SoapRequestWithBodyNoResponse('RemoveTrackFromQueue', input); } | ||
/** | ||
@@ -219,6 +219,6 @@ * Removes the specified range of songs from the SONOS queue. | ||
*/ | ||
async RemoveTrackRangeFromQueue(input) { return await this.SoapRequestWithBody('RemoveTrackRangeFromQueue', input); } | ||
async ReorderTracksInQueue(input) { return await this.SoapRequestWithBodyNoResponse('ReorderTracksInQueue', input); } | ||
async ReorderTracksInSavedQueue(input) { return await this.SoapRequestWithBody('ReorderTracksInSavedQueue', input); } | ||
async RunAlarm(input) { return await this.SoapRequestWithBodyNoResponse('RunAlarm', input); } | ||
RemoveTrackRangeFromQueue(input) { return this.SoapRequestWithBody('RemoveTrackRangeFromQueue', input); } | ||
ReorderTracksInQueue(input) { return this.SoapRequestWithBodyNoResponse('ReorderTracksInQueue', input); } | ||
ReorderTracksInSavedQueue(input) { return this.SoapRequestWithBody('ReorderTracksInSavedQueue', input); } | ||
RunAlarm(input) { return this.SoapRequestWithBodyNoResponse('RunAlarm', input); } | ||
/** | ||
@@ -232,3 +232,3 @@ * Saves the current SONOS queue as a SONOS playlist and outputs objectID | ||
*/ | ||
async SaveQueue(input) { return await this.SoapRequestWithBody('SaveQueue', input); } | ||
SaveQueue(input) { return this.SoapRequestWithBody('SaveQueue', input); } | ||
/** | ||
@@ -242,3 +242,3 @@ * Seek track in queue, time delta or absolute time in song | ||
*/ | ||
async Seek(input) { return await this.SoapRequestWithBodyNoResponse('Seek', input); } | ||
Seek(input) { return this.SoapRequestWithBodyNoResponse('Seek', input); } | ||
/** | ||
@@ -252,3 +252,3 @@ * Set the transport URI to a song, a stream, the queue, another player-rincon and a lot more | ||
*/ | ||
async SetAVTransportURI(input) { return await this.SoapRequestWithBodyNoResponse('SetAVTransportURI', input); } | ||
SetAVTransportURI(input) { return this.SoapRequestWithBodyNoResponse('SetAVTransportURI', input); } | ||
/** | ||
@@ -261,4 +261,4 @@ * Set crossfade mode | ||
*/ | ||
async SetCrossfadeMode(input) { return await this.SoapRequestWithBodyNoResponse('SetCrossfadeMode', input); } | ||
async SetNextAVTransportURI(input) { return await this.SoapRequestWithBodyNoResponse('SetNextAVTransportURI', input); } | ||
SetCrossfadeMode(input) { return this.SoapRequestWithBodyNoResponse('SetCrossfadeMode', input); } | ||
SetNextAVTransportURI(input) { return this.SoapRequestWithBodyNoResponse('SetNextAVTransportURI', input); } | ||
/** | ||
@@ -271,3 +271,3 @@ * Set the PlayMode | ||
*/ | ||
async SetPlayMode(input) { return await this.SoapRequestWithBodyNoResponse('SetPlayMode', input); } | ||
SetPlayMode(input) { return this.SoapRequestWithBodyNoResponse('SetPlayMode', input); } | ||
/** | ||
@@ -279,4 +279,4 @@ * Snooze the current alarm for some time. | ||
*/ | ||
async SnoozeAlarm(input) { return await this.SoapRequestWithBodyNoResponse('SnoozeAlarm', input); } | ||
async StartAutoplay(input) { return await this.SoapRequestWithBodyNoResponse('StartAutoplay', input); } | ||
SnoozeAlarm(input) { return this.SoapRequestWithBodyNoResponse('SnoozeAlarm', input); } | ||
StartAutoplay(input) { return this.SoapRequestWithBodyNoResponse('StartAutoplay', input); } | ||
/** | ||
@@ -287,3 +287,3 @@ * Stop playback | ||
*/ | ||
async Stop(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Stop', input); } | ||
Stop(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Stop', input); } | ||
// #endregion | ||
@@ -290,0 +290,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,5 +35,5 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async GetCurrentConnectionIDs() { return await this.SoapRequest('GetCurrentConnectionIDs'); } | ||
async GetCurrentConnectionInfo(input) { return await this.SoapRequestWithBody('GetCurrentConnectionInfo', input); } | ||
async GetProtocolInfo() { return await this.SoapRequest('GetProtocolInfo'); } | ||
GetCurrentConnectionIDs() { return this.SoapRequest('GetCurrentConnectionIDs'); } | ||
GetCurrentConnectionInfo(input) { return this.SoapRequestWithBody('GetCurrentConnectionInfo', input); } | ||
GetProtocolInfo() { return this.SoapRequest('GetProtocolInfo'); } | ||
// #endregion | ||
@@ -40,0 +40,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -33,9 +33,9 @@ import BaseService from './base-service'; | ||
/** | ||
* Browse for content: Music library (A), share(S:), Sonos playlists(SQ:), Sonos favorites(FV:2), radio stations(R:0/0), radio shows(R:0/1). Recommendation: Send one request, check the `TotalMatches` and - if necessary - do additional requests with higher `StartingIndex`. In case of duplicates only the first is returned! Example: albums with same title, even if artists are different | ||
* Browse for content: Music library (A), share(S:), Sonos playlists(SQ:), Sonos favorites(FV:2), radio stations(R:0/0), radio shows(R:0/1), queue(Q:)). Recommendation: Send one request, check the `TotalMatches` and - if necessary - do additional requests with higher `StartingIndex`. In case of duplicates only the first is returned! Example: albums with same title, even if artists are different | ||
* | ||
* @param {string} input.ObjectID - The search query, (`A:ARTIST` / `A:ALBUMARTIST` / `A:ALBUM` / `A:GENRE` / `A:COMPOSER` / `A:TRACKS` / `A:PLAYLISTS` / `S:` / `SQ:` / `FV:2` / `R:0/0` / `R:0/1`) with optionally `:search+query` behind it. | ||
* @param {string} input.ObjectID - The search query, (`A:ARTIST` / `A:ALBUMARTIST` / `A:ALBUM` / `A:GENRE` / `A:COMPOSER` / `A:TRACKS` / `A:PLAYLISTS` / `FV:2` / `Q:`/ `R:0/0` / `R:0/1` / `S:` / `SQ:`) with optionally `:search+query` behind it. | ||
* @param {string} input.BrowseFlag - How to browse [ 'BrowseMetadata' / 'BrowseDirectChildren' ] | ||
* @param {string} input.Filter - Which fields should be returned `*` for all. | ||
* @param {number} input.StartingIndex - Paging, where to start, usually 0 | ||
* @param {number} input.RequestedCount - Paging, number of items, maximum is 1,000. This parameter does NOT restrict the number of items being searched (filter) but only the number being returned. | ||
* @param {number} input.RequestedCount - Paging, number of items, maximum is 1,000. This parameter does NOT restrict the number of items being searched (filter) but only the number being returned. Using 0 is equivalent to 1,000 | ||
* @param {string} input.SortCriteria - Sort the results based on metadata fields. `+upnp:artist,+dc:title` for sorting on artist then on title. | ||
@@ -63,2 +63,5 @@ * @remarks (1) If the title contains an apostrophe the returned uri will contain a `'`. (2) Some libraries support a BrowseAndParse, so you don't have to parse the xml. | ||
}): Promise<FindPrefixResponse>; | ||
/** | ||
* Get the current album art display option such as `WMP`, `ITUNES` or `NONE` | ||
*/ | ||
GetAlbumArtistDisplayOption(): Promise<GetAlbumArtistDisplayOptionResponse>; | ||
@@ -74,2 +77,7 @@ GetAllPrefixLocations(input: { | ||
GetSystemUpdateID(): Promise<GetSystemUpdateIDResponse>; | ||
/** | ||
* Updates the music library (share) index | ||
* | ||
* @param {string} input.AlbumArtistDisplayOption - `WMP`, `ITUNES` or `NONE` | ||
*/ | ||
RefreshShareIndex(input: { | ||
@@ -76,0 +84,0 @@ AlbumArtistDisplayOption: string; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -63,28 +63,36 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
/** | ||
* Browse for content: Music library (A), share(S:), Sonos playlists(SQ:), Sonos favorites(FV:2), radio stations(R:0/0), radio shows(R:0/1). Recommendation: Send one request, check the `TotalMatches` and - if necessary - do additional requests with higher `StartingIndex`. In case of duplicates only the first is returned! Example: albums with same title, even if artists are different | ||
* Browse for content: Music library (A), share(S:), Sonos playlists(SQ:), Sonos favorites(FV:2), radio stations(R:0/0), radio shows(R:0/1), queue(Q:)). Recommendation: Send one request, check the `TotalMatches` and - if necessary - do additional requests with higher `StartingIndex`. In case of duplicates only the first is returned! Example: albums with same title, even if artists are different | ||
* | ||
* @param {string} input.ObjectID - The search query, (`A:ARTIST` / `A:ALBUMARTIST` / `A:ALBUM` / `A:GENRE` / `A:COMPOSER` / `A:TRACKS` / `A:PLAYLISTS` / `S:` / `SQ:` / `FV:2` / `R:0/0` / `R:0/1`) with optionally `:search+query` behind it. | ||
* @param {string} input.ObjectID - The search query, (`A:ARTIST` / `A:ALBUMARTIST` / `A:ALBUM` / `A:GENRE` / `A:COMPOSER` / `A:TRACKS` / `A:PLAYLISTS` / `FV:2` / `Q:`/ `R:0/0` / `R:0/1` / `S:` / `SQ:`) with optionally `:search+query` behind it. | ||
* @param {string} input.BrowseFlag - How to browse [ 'BrowseMetadata' / 'BrowseDirectChildren' ] | ||
* @param {string} input.Filter - Which fields should be returned `*` for all. | ||
* @param {number} input.StartingIndex - Paging, where to start, usually 0 | ||
* @param {number} input.RequestedCount - Paging, number of items, maximum is 1,000. This parameter does NOT restrict the number of items being searched (filter) but only the number being returned. | ||
* @param {number} input.RequestedCount - Paging, number of items, maximum is 1,000. This parameter does NOT restrict the number of items being searched (filter) but only the number being returned. Using 0 is equivalent to 1,000 | ||
* @param {string} input.SortCriteria - Sort the results based on metadata fields. `+upnp:artist,+dc:title` for sorting on artist then on title. | ||
* @remarks (1) If the title contains an apostrophe the returned uri will contain a `'`. (2) Some libraries support a BrowseAndParse, so you don't have to parse the xml. | ||
*/ | ||
async Browse(input) { return await this.SoapRequestWithBody('Browse', input); } | ||
async CreateObject(input) { return await this.SoapRequestWithBody('CreateObject', input); } | ||
async DestroyObject(input) { return await this.SoapRequestWithBodyNoResponse('DestroyObject', input); } | ||
async FindPrefix(input) { return await this.SoapRequestWithBody('FindPrefix', input); } | ||
async GetAlbumArtistDisplayOption() { return await this.SoapRequest('GetAlbumArtistDisplayOption'); } | ||
async GetAllPrefixLocations(input) { return await this.SoapRequestWithBody('GetAllPrefixLocations', input); } | ||
async GetBrowseable() { return await this.SoapRequest('GetBrowseable'); } | ||
async GetLastIndexChange() { return await this.SoapRequest('GetLastIndexChange'); } | ||
async GetSearchCapabilities() { return await this.SoapRequest('GetSearchCapabilities'); } | ||
async GetShareIndexInProgress() { return await this.SoapRequest('GetShareIndexInProgress'); } | ||
async GetSortCapabilities() { return await this.SoapRequest('GetSortCapabilities'); } | ||
async GetSystemUpdateID() { return await this.SoapRequest('GetSystemUpdateID'); } | ||
async RefreshShareIndex(input) { return await this.SoapRequestWithBodyNoResponse('RefreshShareIndex', input); } | ||
async RequestResort(input) { return await this.SoapRequestWithBodyNoResponse('RequestResort', input); } | ||
async SetBrowseable(input) { return await this.SoapRequestWithBodyNoResponse('SetBrowseable', input); } | ||
async UpdateObject(input) { return await this.SoapRequestWithBodyNoResponse('UpdateObject', input); } | ||
Browse(input) { return this.SoapRequestWithBody('Browse', input); } | ||
CreateObject(input) { return this.SoapRequestWithBody('CreateObject', input); } | ||
DestroyObject(input) { return this.SoapRequestWithBodyNoResponse('DestroyObject', input); } | ||
FindPrefix(input) { return this.SoapRequestWithBody('FindPrefix', input); } | ||
/** | ||
* Get the current album art display option such as `WMP`, `ITUNES` or `NONE` | ||
*/ | ||
GetAlbumArtistDisplayOption() { return this.SoapRequest('GetAlbumArtistDisplayOption'); } | ||
GetAllPrefixLocations(input) { return this.SoapRequestWithBody('GetAllPrefixLocations', input); } | ||
GetBrowseable() { return this.SoapRequest('GetBrowseable'); } | ||
GetLastIndexChange() { return this.SoapRequest('GetLastIndexChange'); } | ||
GetSearchCapabilities() { return this.SoapRequest('GetSearchCapabilities'); } | ||
GetShareIndexInProgress() { return this.SoapRequest('GetShareIndexInProgress'); } | ||
GetSortCapabilities() { return this.SoapRequest('GetSortCapabilities'); } | ||
GetSystemUpdateID() { return this.SoapRequest('GetSystemUpdateID'); } | ||
/** | ||
* Updates the music library (share) index | ||
* | ||
* @param {string} input.AlbumArtistDisplayOption - `WMP`, `ITUNES` or `NONE` | ||
*/ | ||
RefreshShareIndex(input) { return this.SoapRequestWithBodyNoResponse('RefreshShareIndex', input); } | ||
RequestResort(input) { return this.SoapRequestWithBodyNoResponse('RequestResort', input); } | ||
SetBrowseable(input) { return this.SoapRequestWithBodyNoResponse('SetBrowseable', input); } | ||
UpdateObject(input) { return this.SoapRequestWithBodyNoResponse('UpdateObject', input); } | ||
// #endregion | ||
@@ -91,0 +99,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -28,2 +28,8 @@ import BaseService from './base-service'; | ||
}): Promise<boolean>; | ||
/** | ||
* Adds satellites and/or a sub woofer to a (main) player. The satellites become hidden. The main player RINCON_* is mandatory. RR: right - rear, LF: left - front, SW: subwoofer | ||
* | ||
* @param {string} input.HTSatChanMapSet - example: `RINCON_000PPP1400:LF,RF;RINCON_000RRR1400:RR;RINCON_000SSS1400:LR;RINCON_000QQQ1400:SW` | ||
* @remarks Not all speakers support satellites or sub woofer. Satellites should be of same type (e.g. Play:1) | ||
*/ | ||
AddHTSatellite(input: { | ||
@@ -36,3 +42,3 @@ HTSatChanMapSet: string; | ||
* @param {string} input.ChannelMapSet - example: `RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF` | ||
* @remarks No all speakers support StereoPairs | ||
* @remarks Not all speakers support StereoPairs | ||
*/ | ||
@@ -81,2 +87,8 @@ CreateStereoPair(input: { | ||
}): Promise<boolean>; | ||
/** | ||
* Removes a satellite or a sub woofer from (main) player. The satellite becomes visible. | ||
* | ||
* @param {string} input.SatRoomUUID - example: `RINCON_000RRR1400` | ||
* @remarks Not all speakers support satellites or sub woofer. Multiples RINCON_* are not allowed. | ||
*/ | ||
RemoveHTSatellite(input: { | ||
@@ -97,3 +109,3 @@ SatRoomUUID: string; | ||
* @param {string} input.ChannelMapSet - example: `RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF` | ||
* @remarks No all speakers support StereoPairs | ||
* @remarks Not all speakers support StereoPairs | ||
*/ | ||
@@ -100,0 +112,0 @@ SeparateStereoPair(input: { |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,47 +35,59 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async AddBondedZones(input) { return await this.SoapRequestWithBodyNoResponse('AddBondedZones', input); } | ||
async AddHTSatellite(input) { return await this.SoapRequestWithBodyNoResponse('AddHTSatellite', input); } | ||
AddBondedZones(input) { return this.SoapRequestWithBodyNoResponse('AddBondedZones', input); } | ||
/** | ||
* Adds satellites and/or a sub woofer to a (main) player. The satellites become hidden. The main player RINCON_* is mandatory. RR: right - rear, LF: left - front, SW: subwoofer | ||
* | ||
* @param {string} input.HTSatChanMapSet - example: `RINCON_000PPP1400:LF,RF;RINCON_000RRR1400:RR;RINCON_000SSS1400:LR;RINCON_000QQQ1400:SW` | ||
* @remarks Not all speakers support satellites or sub woofer. Satellites should be of same type (e.g. Play:1) | ||
*/ | ||
AddHTSatellite(input) { return this.SoapRequestWithBodyNoResponse('AddHTSatellite', input); } | ||
/** | ||
* Create a stereo pair (left, right speakers), right one becomes hidden | ||
* | ||
* @param {string} input.ChannelMapSet - example: `RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF` | ||
* @remarks No all speakers support StereoPairs | ||
* @remarks Not all speakers support StereoPairs | ||
*/ | ||
async CreateStereoPair(input) { return await this.SoapRequestWithBodyNoResponse('CreateStereoPair', input); } | ||
async EnterConfigMode(input) { return await this.SoapRequestWithBody('EnterConfigMode', input); } | ||
async ExitConfigMode(input) { return await this.SoapRequestWithBodyNoResponse('ExitConfigMode', input); } | ||
async GetAutoplayLinkedZones(input) { return await this.SoapRequestWithBody('GetAutoplayLinkedZones', input); } | ||
async GetAutoplayRoomUUID(input) { return await this.SoapRequestWithBody('GetAutoplayRoomUUID', input); } | ||
async GetAutoplayVolume(input) { return await this.SoapRequestWithBody('GetAutoplayVolume', input); } | ||
CreateStereoPair(input) { return this.SoapRequestWithBodyNoResponse('CreateStereoPair', input); } | ||
EnterConfigMode(input) { return this.SoapRequestWithBody('EnterConfigMode', input); } | ||
ExitConfigMode(input) { return this.SoapRequestWithBodyNoResponse('ExitConfigMode', input); } | ||
GetAutoplayLinkedZones(input) { return this.SoapRequestWithBody('GetAutoplayLinkedZones', input); } | ||
GetAutoplayRoomUUID(input) { return this.SoapRequestWithBody('GetAutoplayRoomUUID', input); } | ||
GetAutoplayVolume(input) { return this.SoapRequestWithBody('GetAutoplayVolume', input); } | ||
/** | ||
* Get the current button lock state | ||
*/ | ||
async GetButtonLockState() { return await this.SoapRequest('GetButtonLockState'); } | ||
async GetButtonState() { return await this.SoapRequest('GetButtonState'); } | ||
async GetHouseholdID() { return await this.SoapRequest('GetHouseholdID'); } | ||
async GetHTForwardState() { return await this.SoapRequest('GetHTForwardState'); } | ||
GetButtonLockState() { return this.SoapRequest('GetButtonLockState'); } | ||
GetButtonState() { return this.SoapRequest('GetButtonState'); } | ||
GetHouseholdID() { return this.SoapRequest('GetHouseholdID'); } | ||
GetHTForwardState() { return this.SoapRequest('GetHTForwardState'); } | ||
/** | ||
* Get the current LED state | ||
*/ | ||
async GetLEDState() { return await this.SoapRequest('GetLEDState'); } | ||
async GetUseAutoplayVolume(input) { return await this.SoapRequestWithBody('GetUseAutoplayVolume', input); } | ||
async GetZoneAttributes() { return await this.SoapRequest('GetZoneAttributes'); } | ||
GetLEDState() { return this.SoapRequest('GetLEDState'); } | ||
GetUseAutoplayVolume(input) { return this.SoapRequestWithBody('GetUseAutoplayVolume', input); } | ||
GetZoneAttributes() { return this.SoapRequest('GetZoneAttributes'); } | ||
/** | ||
* Get information about this specific speaker | ||
*/ | ||
async GetZoneInfo() { return await this.SoapRequest('GetZoneInfo'); } | ||
async RemoveBondedZones(input) { return await this.SoapRequestWithBodyNoResponse('RemoveBondedZones', input); } | ||
async RemoveHTSatellite(input) { return await this.SoapRequestWithBodyNoResponse('RemoveHTSatellite', input); } | ||
async RoomDetectionStartChirping(input) { return await this.SoapRequestWithBody('RoomDetectionStartChirping', input); } | ||
async RoomDetectionStopChirping(input) { return await this.SoapRequestWithBodyNoResponse('RoomDetectionStopChirping', input); } | ||
GetZoneInfo() { return this.SoapRequest('GetZoneInfo'); } | ||
RemoveBondedZones(input) { return this.SoapRequestWithBodyNoResponse('RemoveBondedZones', input); } | ||
/** | ||
* Removes a satellite or a sub woofer from (main) player. The satellite becomes visible. | ||
* | ||
* @param {string} input.SatRoomUUID - example: `RINCON_000RRR1400` | ||
* @remarks Not all speakers support satellites or sub woofer. Multiples RINCON_* are not allowed. | ||
*/ | ||
RemoveHTSatellite(input) { return this.SoapRequestWithBodyNoResponse('RemoveHTSatellite', input); } | ||
RoomDetectionStartChirping(input) { return this.SoapRequestWithBody('RoomDetectionStartChirping', input); } | ||
RoomDetectionStopChirping(input) { return this.SoapRequestWithBodyNoResponse('RoomDetectionStopChirping', input); } | ||
/** | ||
* Separate a stereo pair | ||
* | ||
* @param {string} input.ChannelMapSet - example: `RINCON_B8E9375831C001400:LF,LF;RINCON_000E58FE3AEA01400:RF,RF` | ||
* @remarks No all speakers support StereoPairs | ||
* @remarks Not all speakers support StereoPairs | ||
*/ | ||
async SeparateStereoPair(input) { return await this.SoapRequestWithBodyNoResponse('SeparateStereoPair', input); } | ||
async SetAutoplayLinkedZones(input) { return await this.SoapRequestWithBodyNoResponse('SetAutoplayLinkedZones', input); } | ||
async SetAutoplayRoomUUID(input) { return await this.SoapRequestWithBodyNoResponse('SetAutoplayRoomUUID', input); } | ||
async SetAutoplayVolume(input) { return await this.SoapRequestWithBodyNoResponse('SetAutoplayVolume', input); } | ||
SeparateStereoPair(input) { return this.SoapRequestWithBodyNoResponse('SeparateStereoPair', input); } | ||
SetAutoplayLinkedZones(input) { return this.SoapRequestWithBodyNoResponse('SetAutoplayLinkedZones', input); } | ||
SetAutoplayRoomUUID(input) { return this.SoapRequestWithBodyNoResponse('SetAutoplayRoomUUID', input); } | ||
SetAutoplayVolume(input) { return this.SoapRequestWithBodyNoResponse('SetAutoplayVolume', input); } | ||
/** | ||
@@ -86,3 +98,3 @@ * Set the button lock state | ||
*/ | ||
async SetButtonLockState(input) { return await this.SoapRequestWithBodyNoResponse('SetButtonLockState', input); } | ||
SetButtonLockState(input) { return this.SoapRequestWithBodyNoResponse('SetButtonLockState', input); } | ||
/** | ||
@@ -93,5 +105,5 @@ * Set the LED state | ||
*/ | ||
async SetLEDState(input) { return await this.SoapRequestWithBodyNoResponse('SetLEDState', input); } | ||
async SetUseAutoplayVolume(input) { return await this.SoapRequestWithBodyNoResponse('SetUseAutoplayVolume', input); } | ||
async SetZoneAttributes(input) { return await this.SoapRequestWithBodyNoResponse('SetZoneAttributes', input); } | ||
SetLEDState(input) { return this.SoapRequestWithBodyNoResponse('SetLEDState', input); } | ||
SetUseAutoplayVolume(input) { return this.SoapRequestWithBodyNoResponse('SetUseAutoplayVolume', input); } | ||
SetZoneAttributes(input) { return this.SoapRequestWithBodyNoResponse('SetZoneAttributes', input); } | ||
// #endregion | ||
@@ -98,0 +110,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,6 +35,6 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async AddMember(input) { return await this.SoapRequestWithBody('AddMember', input); } | ||
async RemoveMember(input) { return await this.SoapRequestWithBodyNoResponse('RemoveMember', input); } | ||
async ReportTrackBufferingResult(input) { return await this.SoapRequestWithBodyNoResponse('ReportTrackBufferingResult', input); } | ||
async SetSourceAreaIds(input) { return await this.SoapRequestWithBodyNoResponse('SetSourceAreaIds', input); } | ||
AddMember(input) { return this.SoapRequestWithBody('AddMember', input); } | ||
RemoveMember(input) { return this.SoapRequestWithBodyNoResponse('RemoveMember', input); } | ||
ReportTrackBufferingResult(input) { return this.SoapRequestWithBodyNoResponse('ReportTrackBufferingResult', input); } | ||
SetSourceAreaIds(input) { return this.SoapRequestWithBodyNoResponse('SetSourceAreaIds', input); } | ||
// #endregion | ||
@@ -41,0 +41,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -50,3 +50,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
*/ | ||
async GetGroupMute(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetGroupMute', input); } | ||
GetGroupMute(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetGroupMute', input); } | ||
/** | ||
@@ -58,3 +58,3 @@ * Get the group volume. | ||
*/ | ||
async GetGroupVolume(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetGroupVolume', input); } | ||
GetGroupVolume(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetGroupVolume', input); } | ||
/** | ||
@@ -67,3 +67,3 @@ * (Un-/)Mute the entire group | ||
*/ | ||
async SetGroupMute(input) { return await this.SoapRequestWithBodyNoResponse('SetGroupMute', input); } | ||
SetGroupMute(input) { return this.SoapRequestWithBodyNoResponse('SetGroupMute', input); } | ||
/** | ||
@@ -76,3 +76,3 @@ * Change group volume. Players volume will be changed proportionally based on last snapshot | ||
*/ | ||
async SetGroupVolume(input) { return await this.SoapRequestWithBodyNoResponse('SetGroupVolume', input); } | ||
SetGroupVolume(input) { return this.SoapRequestWithBodyNoResponse('SetGroupVolume', input); } | ||
/** | ||
@@ -85,3 +85,3 @@ * Relatively change group volume - returns final group volume. Players volume will be changed proportionally based on last snapshot | ||
*/ | ||
async SetRelativeGroupVolume(input) { return await this.SoapRequestWithBody('SetRelativeGroupVolume', input); } | ||
SetRelativeGroupVolume(input) { return this.SoapRequestWithBody('SetRelativeGroupVolume', input); } | ||
/** | ||
@@ -93,3 +93,3 @@ * Creates a new group volume snapshot, the volume ratio between all players. It is used by SetGroupVolume and SetRelativeGroupVolume | ||
*/ | ||
async SnapshotGroupVolume(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('SnapshotGroupVolume', input); } | ||
SnapshotGroupVolume(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('SnapshotGroupVolume', input); } | ||
// #endregion | ||
@@ -96,0 +96,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,10 +35,10 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async CommitLearnedIRCodes(input) { return await this.SoapRequestWithBodyNoResponse('CommitLearnedIRCodes', input); } | ||
async GetIRRepeaterState() { return await this.SoapRequest('GetIRRepeaterState'); } | ||
async GetLEDFeedbackState() { return await this.SoapRequest('GetLEDFeedbackState'); } | ||
async IdentifyIRRemote(input) { return await this.SoapRequestWithBodyNoResponse('IdentifyIRRemote', input); } | ||
async IsRemoteConfigured() { return await this.SoapRequest('IsRemoteConfigured'); } | ||
async LearnIRCode(input) { return await this.SoapRequestWithBodyNoResponse('LearnIRCode', input); } | ||
async SetIRRepeaterState(input) { return await this.SoapRequestWithBodyNoResponse('SetIRRepeaterState', input); } | ||
async SetLEDFeedbackState(input) { return await this.SoapRequestWithBodyNoResponse('SetLEDFeedbackState', input); } | ||
CommitLearnedIRCodes(input) { return this.SoapRequestWithBodyNoResponse('CommitLearnedIRCodes', input); } | ||
GetIRRepeaterState() { return this.SoapRequest('GetIRRepeaterState'); } | ||
GetLEDFeedbackState() { return this.SoapRequest('GetLEDFeedbackState'); } | ||
IdentifyIRRemote(input) { return this.SoapRequestWithBodyNoResponse('IdentifyIRRemote', input); } | ||
IsRemoteConfigured() { return this.SoapRequest('IsRemoteConfigured'); } | ||
LearnIRCode(input) { return this.SoapRequestWithBodyNoResponse('LearnIRCode', input); } | ||
SetIRRepeaterState(input) { return this.SoapRequestWithBodyNoResponse('SetIRRepeaterState', input); } | ||
SetLEDFeedbackState(input) { return this.SoapRequestWithBodyNoResponse('SetLEDFeedbackState', input); } | ||
// #endregion | ||
@@ -45,0 +45,0 @@ responseProperties() { |
@@ -5,3 +5,3 @@ /** | ||
* Stephan van Rooij | ||
* https://svrooij.io/sonos-api-docs | ||
* https://sonos.svrooij.io/ | ||
* | ||
@@ -8,0 +8,0 @@ * This file is generated, do not edit manually. |
@@ -21,3 +21,3 @@ "use strict"; | ||
* Stephan van Rooij | ||
* https://svrooij.io/sonos-api-docs | ||
* https://sonos.svrooij.io/ | ||
* | ||
@@ -24,0 +24,0 @@ * This file is generated, do not edit manually. |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,3 +35,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async GetSessionId(input) { return await this.SoapRequestWithBody('GetSessionId', input); } | ||
GetSessionId(input) { return this.SoapRequestWithBody('GetSessionId', input); } | ||
/** | ||
@@ -41,4 +41,4 @@ * Load music service list as xml | ||
*/ | ||
async ListAvailableServices() { return await this.SoapRequest('ListAvailableServices'); } | ||
async UpdateAvailableServices() { return await this.SoapRequestNoResponse('UpdateAvailableServices'); } | ||
ListAvailableServices() { return this.SoapRequest('ListAvailableServices'); } | ||
UpdateAvailableServices() { return this.SoapRequestNoResponse('UpdateAvailableServices'); } | ||
// #endregion | ||
@@ -45,0 +45,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,3 +35,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async QPlayAuth(input) { return await this.SoapRequestWithBody('QPlayAuth', input); } | ||
QPlayAuth(input) { return this.SoapRequestWithBody('QPlayAuth', input); } | ||
// #endregion | ||
@@ -38,0 +38,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,13 +35,13 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async AddMultipleURIs(input) { return await this.SoapRequestWithBody('AddMultipleURIs', input); } | ||
async AddURI(input) { return await this.SoapRequestWithBody('AddURI', input); } | ||
async AttachQueue(input) { return await this.SoapRequestWithBody('AttachQueue', input); } | ||
async Backup() { return await this.SoapRequestNoResponse('Backup'); } | ||
async Browse(input) { return await this.SoapRequestWithBody('Browse', input); } | ||
async CreateQueue(input) { return await this.SoapRequestWithBody('CreateQueue', input); } | ||
async RemoveAllTracks(input) { return await this.SoapRequestWithBody('RemoveAllTracks', input); } | ||
async RemoveTrackRange(input) { return await this.SoapRequestWithBody('RemoveTrackRange', input); } | ||
async ReorderTracks(input) { return await this.SoapRequestWithBody('ReorderTracks', input); } | ||
async ReplaceAllTracks(input) { return await this.SoapRequestWithBody('ReplaceAllTracks', input); } | ||
async SaveAsSonosPlaylist(input) { return await this.SoapRequestWithBody('SaveAsSonosPlaylist', input); } | ||
AddMultipleURIs(input) { return this.SoapRequestWithBody('AddMultipleURIs', input); } | ||
AddURI(input) { return this.SoapRequestWithBody('AddURI', input); } | ||
AttachQueue(input) { return this.SoapRequestWithBody('AttachQueue', input); } | ||
Backup() { return this.SoapRequestNoResponse('Backup'); } | ||
Browse(input) { return this.SoapRequestWithBody('Browse', input); } | ||
CreateQueue(input) { return this.SoapRequestWithBody('CreateQueue', input); } | ||
RemoveAllTracks(input) { return this.SoapRequestWithBody('RemoveAllTracks', input); } | ||
RemoveTrackRange(input) { return this.SoapRequestWithBody('RemoveTrackRange', input); } | ||
ReorderTracks(input) { return this.SoapRequestWithBody('ReorderTracks', input); } | ||
ReplaceAllTracks(input) { return this.SoapRequestWithBody('ReplaceAllTracks', input); } | ||
SaveAsSonosPlaylist(input) { return this.SoapRequestWithBody('SaveAsSonosPlaylist', input); } | ||
// #endregion | ||
@@ -48,0 +48,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -40,3 +40,3 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
*/ | ||
async GetBass(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetBass', input); } | ||
GetBass(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetBass', input); } | ||
/** | ||
@@ -49,4 +49,4 @@ * Get equalizer value | ||
*/ | ||
async GetEQ(input) { return await this.SoapRequestWithBody('GetEQ', input); } | ||
async GetHeadphoneConnected(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetHeadphoneConnected', input); } | ||
GetEQ(input) { return this.SoapRequestWithBody('GetEQ', input); } | ||
GetHeadphoneConnected(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetHeadphoneConnected', input); } | ||
/** | ||
@@ -58,7 +58,7 @@ * Whether or not Loudness is on | ||
*/ | ||
async GetLoudness(input) { return await this.SoapRequestWithBody('GetLoudness', input); } | ||
async GetMute(input) { return await this.SoapRequestWithBody('GetMute', input); } | ||
async GetOutputFixed(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetOutputFixed', input); } | ||
async GetRoomCalibrationStatus(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetRoomCalibrationStatus', input); } | ||
async GetSupportsOutputFixed(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetSupportsOutputFixed', input); } | ||
GetLoudness(input) { return this.SoapRequestWithBody('GetLoudness', input); } | ||
GetMute(input) { return this.SoapRequestWithBody('GetMute', input); } | ||
GetOutputFixed(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetOutputFixed', input); } | ||
GetRoomCalibrationStatus(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetRoomCalibrationStatus', input); } | ||
GetSupportsOutputFixed(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetSupportsOutputFixed', input); } | ||
/** | ||
@@ -69,3 +69,3 @@ * Get treble | ||
*/ | ||
async GetTreble(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('GetTreble', input); } | ||
GetTreble(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('GetTreble', input); } | ||
/** | ||
@@ -77,9 +77,9 @@ * Get volume | ||
*/ | ||
async GetVolume(input) { return await this.SoapRequestWithBody('GetVolume', input); } | ||
async GetVolumeDB(input) { return await this.SoapRequestWithBody('GetVolumeDB', input); } | ||
async GetVolumeDBRange(input) { return await this.SoapRequestWithBody('GetVolumeDBRange', input); } | ||
async RampToVolume(input) { return await this.SoapRequestWithBody('RampToVolume', input); } | ||
async ResetBasicEQ(input = { InstanceID: 0 }) { return await this.SoapRequestWithBody('ResetBasicEQ', input); } | ||
async ResetExtEQ(input) { return await this.SoapRequestWithBodyNoResponse('ResetExtEQ', input); } | ||
async RestoreVolumePriorToRamp(input) { return await this.SoapRequestWithBodyNoResponse('RestoreVolumePriorToRamp', input); } | ||
GetVolume(input) { return this.SoapRequestWithBody('GetVolume', input); } | ||
GetVolumeDB(input) { return this.SoapRequestWithBody('GetVolumeDB', input); } | ||
GetVolumeDBRange(input) { return this.SoapRequestWithBody('GetVolumeDBRange', input); } | ||
RampToVolume(input) { return this.SoapRequestWithBody('RampToVolume', input); } | ||
ResetBasicEQ(input = { InstanceID: 0 }) { return this.SoapRequestWithBody('ResetBasicEQ', input); } | ||
ResetExtEQ(input) { return this.SoapRequestWithBodyNoResponse('ResetExtEQ', input); } | ||
RestoreVolumePriorToRamp(input) { return this.SoapRequestWithBodyNoResponse('RestoreVolumePriorToRamp', input); } | ||
/** | ||
@@ -91,4 +91,4 @@ * Set bass level, between -10 and 10 | ||
*/ | ||
async SetBass(input) { return await this.SoapRequestWithBodyNoResponse('SetBass', input); } | ||
async SetChannelMap(input) { return await this.SoapRequestWithBodyNoResponse('SetChannelMap', input); } | ||
SetBass(input) { return this.SoapRequestWithBodyNoResponse('SetBass', input); } | ||
SetChannelMap(input) { return this.SoapRequestWithBodyNoResponse('SetChannelMap', input); } | ||
/** | ||
@@ -102,3 +102,3 @@ * Set equalizer value for different types | ||
*/ | ||
async SetEQ(input) { return await this.SoapRequestWithBodyNoResponse('SetEQ', input); } | ||
SetEQ(input) { return this.SoapRequestWithBodyNoResponse('SetEQ', input); } | ||
/** | ||
@@ -111,8 +111,8 @@ * Set loudness on / off | ||
*/ | ||
async SetLoudness(input) { return await this.SoapRequestWithBodyNoResponse('SetLoudness', input); } | ||
async SetMute(input) { return await this.SoapRequestWithBodyNoResponse('SetMute', input); } | ||
async SetOutputFixed(input) { return await this.SoapRequestWithBodyNoResponse('SetOutputFixed', input); } | ||
async SetRelativeVolume(input) { return await this.SoapRequestWithBody('SetRelativeVolume', input); } | ||
async SetRoomCalibrationStatus(input) { return await this.SoapRequestWithBodyNoResponse('SetRoomCalibrationStatus', input); } | ||
async SetRoomCalibrationX(input) { return await this.SoapRequestWithBodyNoResponse('SetRoomCalibrationX', input); } | ||
SetLoudness(input) { return this.SoapRequestWithBodyNoResponse('SetLoudness', input); } | ||
SetMute(input) { return this.SoapRequestWithBodyNoResponse('SetMute', input); } | ||
SetOutputFixed(input) { return this.SoapRequestWithBodyNoResponse('SetOutputFixed', input); } | ||
SetRelativeVolume(input) { return this.SoapRequestWithBody('SetRelativeVolume', input); } | ||
SetRoomCalibrationStatus(input) { return this.SoapRequestWithBodyNoResponse('SetRoomCalibrationStatus', input); } | ||
SetRoomCalibrationX(input) { return this.SoapRequestWithBodyNoResponse('SetRoomCalibrationX', input); } | ||
/** | ||
@@ -124,5 +124,5 @@ * Set treble level | ||
*/ | ||
async SetTreble(input) { return await this.SoapRequestWithBodyNoResponse('SetTreble', input); } | ||
async SetVolume(input) { return await this.SoapRequestWithBodyNoResponse('SetVolume', input); } | ||
async SetVolumeDB(input) { return await this.SoapRequestWithBodyNoResponse('SetVolumeDB', input); } | ||
SetTreble(input) { return this.SoapRequestWithBodyNoResponse('SetTreble', input); } | ||
SetVolume(input) { return this.SoapRequestWithBodyNoResponse('SetVolume', input); } | ||
SetVolumeDB(input) { return this.SoapRequestWithBodyNoResponse('SetVolumeDB', input); } | ||
// #endregion | ||
@@ -129,0 +129,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import { SonosUpnpError } from '../models/sonos-upnp-error'; |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,9 +35,9 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async AddAccountX(input) { return await this.SoapRequestWithBody('AddAccountX', input); } | ||
async AddOAuthAccountX(input) { return await this.SoapRequestWithBody('AddOAuthAccountX', input); } | ||
async DoPostUpdateTasks() { return await this.SoapRequestNoResponse('DoPostUpdateTasks'); } | ||
async EditAccountMd(input) { return await this.SoapRequestWithBodyNoResponse('EditAccountMd', input); } | ||
async EditAccountPasswordX(input) { return await this.SoapRequestWithBodyNoResponse('EditAccountPasswordX', input); } | ||
async EnableRDM(input) { return await this.SoapRequestWithBodyNoResponse('EnableRDM', input); } | ||
async GetRDM() { return await this.SoapRequest('GetRDM'); } | ||
AddAccountX(input) { return this.SoapRequestWithBody('AddAccountX', input); } | ||
AddOAuthAccountX(input) { return this.SoapRequestWithBody('AddOAuthAccountX', input); } | ||
DoPostUpdateTasks() { return this.SoapRequestNoResponse('DoPostUpdateTasks'); } | ||
EditAccountMd(input) { return this.SoapRequestWithBodyNoResponse('EditAccountMd', input); } | ||
EditAccountPasswordX(input) { return this.SoapRequestWithBodyNoResponse('EditAccountPasswordX', input); } | ||
EnableRDM(input) { return this.SoapRequestWithBodyNoResponse('EnableRDM', input); } | ||
GetRDM() { return this.SoapRequest('GetRDM'); } | ||
/** | ||
@@ -49,6 +49,6 @@ * Get a saved string. | ||
*/ | ||
async GetString(input) { return await this.SoapRequestWithBody('GetString', input); } | ||
async GetWebCode(input) { return await this.SoapRequestWithBody('GetWebCode', input); } | ||
async ProvisionCredentialedTrialAccountX(input) { return await this.SoapRequestWithBody('ProvisionCredentialedTrialAccountX', input); } | ||
async RefreshAccountCredentialsX(input) { return await this.SoapRequestWithBodyNoResponse('RefreshAccountCredentialsX', input); } | ||
GetString(input) { return this.SoapRequestWithBody('GetString', input); } | ||
GetWebCode(input) { return this.SoapRequestWithBody('GetWebCode', input); } | ||
ProvisionCredentialedTrialAccountX(input) { return this.SoapRequestWithBody('ProvisionCredentialedTrialAccountX', input); } | ||
RefreshAccountCredentialsX(input) { return this.SoapRequestWithBodyNoResponse('RefreshAccountCredentialsX', input); } | ||
/** | ||
@@ -60,7 +60,7 @@ * Remove a saved string | ||
*/ | ||
async Remove(input) { return await this.SoapRequestWithBodyNoResponse('Remove', input); } | ||
async RemoveAccount(input) { return await this.SoapRequestWithBodyNoResponse('RemoveAccount', input); } | ||
async ReplaceAccountX(input) { return await this.SoapRequestWithBody('ReplaceAccountX', input); } | ||
async ResetThirdPartyCredentials() { return await this.SoapRequestNoResponse('ResetThirdPartyCredentials'); } | ||
async SetAccountNicknameX(input) { return await this.SoapRequestWithBodyNoResponse('SetAccountNicknameX', input); } | ||
Remove(input) { return this.SoapRequestWithBodyNoResponse('Remove', input); } | ||
RemoveAccount(input) { return this.SoapRequestWithBodyNoResponse('RemoveAccount', input); } | ||
ReplaceAccountX(input) { return this.SoapRequestWithBody('ReplaceAccountX', input); } | ||
ResetThirdPartyCredentials() { return this.SoapRequestNoResponse('ResetThirdPartyCredentials'); } | ||
SetAccountNicknameX(input) { return this.SoapRequestWithBodyNoResponse('SetAccountNicknameX', input); } | ||
/** | ||
@@ -73,3 +73,3 @@ * Save a string in the system | ||
*/ | ||
async SetString(input) { return await this.SoapRequestWithBodyNoResponse('SetString', input); } | ||
SetString(input) { return this.SoapRequestWithBodyNoResponse('SetString', input); } | ||
// #endregion | ||
@@ -76,0 +76,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -28,10 +28,10 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async Next(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Next', input); } | ||
async Pause(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Pause', input); } | ||
async Play(input) { return await this.SoapRequestWithBodyNoResponse('Play', input); } | ||
async Previous(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Previous', input); } | ||
async SetVolume(input) { return await this.SoapRequestWithBodyNoResponse('SetVolume', input); } | ||
async StartTransmission(input) { return await this.SoapRequestWithBody('StartTransmission', input); } | ||
async Stop(input = { InstanceID: 0 }) { return await this.SoapRequestWithBodyNoResponse('Stop', input); } | ||
async StopTransmission(input) { return await this.SoapRequestWithBodyNoResponse('StopTransmission', input); } | ||
Next(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Next', input); } | ||
Pause(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Pause', input); } | ||
Play(input) { return this.SoapRequestWithBodyNoResponse('Play', input); } | ||
Previous(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Previous', input); } | ||
SetVolume(input) { return this.SoapRequestWithBodyNoResponse('SetVolume', input); } | ||
StartTransmission(input) { return this.SoapRequestWithBody('StartTransmission', input); } | ||
Stop(input = { InstanceID: 0 }) { return this.SoapRequestWithBodyNoResponse('Stop', input); } | ||
StopTransmission(input) { return this.SoapRequestWithBodyNoResponse('StopTransmission', input); } | ||
// #endregion | ||
@@ -38,0 +38,0 @@ responseProperties() { |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -10,0 +10,0 @@ import BaseService from './base-service'; |
@@ -13,3 +13,3 @@ "use strict"; | ||
* | ||
* This file is generated, do not edit manually. https://svrooij.io/sonos-api-docs | ||
* This file is generated, do not edit manually. https://sonos.svrooij.io/ | ||
*/ | ||
@@ -35,8 +35,8 @@ const base_service_1 = __importDefault(require("./base-service")); | ||
// #region actions | ||
async BeginSoftwareUpdate(input) { return await this.SoapRequestWithBodyNoResponse('BeginSoftwareUpdate', input); } | ||
async CheckForUpdate(input) { return await this.SoapRequestWithBody('CheckForUpdate', input); } | ||
BeginSoftwareUpdate(input) { return this.SoapRequestWithBodyNoResponse('BeginSoftwareUpdate', input); } | ||
CheckForUpdate(input) { return this.SoapRequestWithBody('CheckForUpdate', input); } | ||
/** | ||
* Get information about the current Zone | ||
*/ | ||
async GetZoneGroupAttributes() { return await this.SoapRequest('GetZoneGroupAttributes'); } | ||
GetZoneGroupAttributes() { return this.SoapRequest('GetZoneGroupAttributes'); } | ||
/** | ||
@@ -46,7 +46,7 @@ * Get all the Sonos groups, (as XML) | ||
*/ | ||
async GetZoneGroupState() { return await this.SoapRequest('GetZoneGroupState'); } | ||
async RegisterMobileDevice(input) { return await this.SoapRequestWithBodyNoResponse('RegisterMobileDevice', input); } | ||
async ReportAlarmStartedRunning() { return await this.SoapRequestNoResponse('ReportAlarmStartedRunning'); } | ||
async ReportUnresponsiveDevice(input) { return await this.SoapRequestWithBodyNoResponse('ReportUnresponsiveDevice', input); } | ||
async SubmitDiagnostics(input) { return await this.SoapRequestWithBody('SubmitDiagnostics', input); } | ||
GetZoneGroupState() { return this.SoapRequest('GetZoneGroupState'); } | ||
RegisterMobileDevice(input) { return this.SoapRequestWithBodyNoResponse('RegisterMobileDevice', input); } | ||
ReportAlarmStartedRunning() { return this.SoapRequestNoResponse('ReportAlarmStartedRunning'); } | ||
ReportUnresponsiveDevice(input) { return this.SoapRequestWithBodyNoResponse('ReportUnresponsiveDevice', input); } | ||
SubmitDiagnostics(input) { return this.SoapRequestWithBody('SubmitDiagnostics', input); } | ||
// #endregion | ||
@@ -53,0 +53,0 @@ responseProperties() { |
@@ -5,3 +5,3 @@ /** | ||
* Stephan van Rooij | ||
* https://svrooij.io/sonos-api-docs | ||
* https://sonos.svrooij.io/ | ||
* | ||
@@ -54,3 +54,3 @@ * This file is generated, do not edit manually. | ||
/** | ||
* Service that controls stuff related to transport (play/pause/next/special urls) | ||
* Service that controls stuff related to transport (play/pause/next/special URLs) | ||
* will be initialized on first use. | ||
@@ -57,0 +57,0 @@ * |
@@ -10,3 +10,3 @@ "use strict"; | ||
* Stephan van Rooij | ||
* https://svrooij.io/sonos-api-docs | ||
* https://sonos.svrooij.io/ | ||
* | ||
@@ -70,3 +70,3 @@ * This file is generated, do not edit manually. | ||
/** | ||
* Service that controls stuff related to transport (play/pause/next/special urls) | ||
* Service that controls stuff related to transport (play/pause/next/special URLs) | ||
* will be initialized on first use. | ||
@@ -73,0 +73,0 @@ * |
@@ -22,2 +22,3 @@ /// <reference types="node" /> | ||
private groupName; | ||
private groupId; | ||
private coordinator; | ||
@@ -37,2 +38,3 @@ /** | ||
managerEvents: EventEmitter; | ||
groupId?: string; | ||
} | undefined); | ||
@@ -357,2 +359,10 @@ /** | ||
get GroupName(): string | undefined; | ||
/** | ||
* Get the GroupId, if device is created by the SonosManager. | ||
* | ||
* @readonly | ||
* @type {(string | undefined)} | ||
* @memberof SonosDevice | ||
*/ | ||
get GroupId(): string | undefined; | ||
private currentPlayMode?; | ||
@@ -359,0 +369,0 @@ /** |
@@ -8,3 +8,2 @@ "use strict"; | ||
const node_fetch_1 = __importDefault(require("node-fetch")); | ||
const ws_1 = __importDefault(require("ws")); | ||
const sonos_device_base_1 = __importDefault(require("./sonos-device-base")); | ||
@@ -53,2 +52,3 @@ const models_1 = require("./models"); | ||
this.groupName = groupConfig.name; | ||
this.groupId = groupConfig.groupId; | ||
if (groupConfig.coordinator !== undefined && uuid !== groupConfig.coordinator.uuid) { | ||
@@ -569,2 +569,3 @@ this.coordinator = groupConfig.coordinator; | ||
async PlayNotificationAudioClip(options) { | ||
var _a, _b; | ||
this.debug('PlayNotificationAudioClip(%o)', options); | ||
@@ -577,31 +578,27 @@ if (options.onlyWhenPlaying === true && this.CurrentTransportStateSimple === models_1.TransportState.Stopped) { | ||
} | ||
if (!this.uuid.startsWith('RINCON')) { | ||
await this.LoadUuid(true); | ||
} | ||
const previousValue = process.env.NODE_TLS_REJECT_UNAUTHORIZED; | ||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; | ||
// Have no idea if this should be public | ||
// https://github.com/bencevans/node-sonos/issues/530#issuecomment-1430039043 | ||
const apiKey = '123e4567-e89b-12d3-a456-426655440000'; | ||
return new Promise((resolve, reject) => { | ||
const ws = new ws_1.default(`wss://${this.host}:1443/websocket/api`, 'v1.api.smartspeaker.audio', { | ||
headers: { | ||
'X-Sonos-Api-Key': apiKey, | ||
}, | ||
// Ignore certificate errors | ||
rejectUnauthorized: false, | ||
}); | ||
ws.on('error', (err) => { | ||
reject(err); | ||
}); | ||
// On socket opened send a message, and close the socket | ||
ws.on('open', () => { | ||
var _a, _b; | ||
ws.send(`[{"namespace":"audioClip:1","command":"loadAudioClip","playerId":"${this.uuid}","sessionId":null,"cmdId":null},{"name": "Sonos TS Notification", "appId": "io.svrooij.sonos-ts", "streamUrl": "${options.trackUri}", "volume": ${(_b = (_a = options.volume) !== null && _a !== void 0 ? _a : this.volume) !== null && _b !== void 0 ? _b : 25} }]`, (err) => { | ||
ws.close(); | ||
if (err) { | ||
reject(err); | ||
return; | ||
} | ||
resolve(true); | ||
}); | ||
}); | ||
const body = { | ||
name: 'Sonos TS Notification', | ||
appId: 'io.svrooij.sonos-ts', | ||
streamUrl: options.trackUri, | ||
volume: (_b = (_a = options.volume) !== null && _a !== void 0 ? _a : this.volume) !== null && _b !== void 0 ? _b : 25, | ||
}; | ||
return (0, node_fetch_1.default)(`https://${this.host}:1443/api/v1/players/local/audioClip`, { | ||
method: 'POST', | ||
headers: { | ||
'Content-Type': 'application/json', | ||
'X-Sonos-Api-Key': apiKey, | ||
}, | ||
body: JSON.stringify(body), | ||
}).then((response) => { | ||
if (response.ok) { | ||
return true; | ||
} | ||
throw new Error(`Playing AudioClip failed ${response.status} ${response.statusText}`); | ||
}).finally(() => { | ||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = previousValue; | ||
}); | ||
@@ -846,2 +843,9 @@ } | ||
} | ||
if (data.groupdId && data.groupdId !== this.groupId) { | ||
this.groupId = data.groupdId; | ||
this.debug('GroupId changed for %s to %s', this.uuid, this.groupId); | ||
if (this.events !== undefined) { | ||
this.events.emit(models_1.SonosEvents.GroupId, this.groupId); | ||
} | ||
} | ||
} | ||
@@ -869,2 +873,12 @@ /** | ||
/** | ||
* Get the GroupId, if device is created by the SonosManager. | ||
* | ||
* @readonly | ||
* @type {(string | undefined)} | ||
* @memberof SonosDevice | ||
*/ | ||
get GroupId() { | ||
return this.groupId; | ||
} | ||
/** | ||
* Current play mode, only set when subscribed to events. | ||
@@ -871,0 +885,0 @@ * |
@@ -93,3 +93,3 @@ "use strict"; | ||
groups.forEach((g) => { | ||
const coordinator = new sonos_device_1.default(g.coordinator.host, g.coordinator.port, g.coordinator.uuid, g.coordinator.name, { name: g.name, managerEvents: this.events }); | ||
const coordinator = new sonos_device_1.default(g.coordinator.host, g.coordinator.port, g.coordinator.uuid, g.coordinator.name, { name: g.name, managerEvents: this.events, groupId: g.groupId }); | ||
if (this.devices.findIndex((v) => v.Uuid === coordinator.Uuid) === -1) | ||
@@ -100,3 +100,3 @@ this.devices.push(coordinator); | ||
if (this.devices.findIndex((v) => v.Uuid === m.uuid) === -1) { | ||
this.devices.push(new sonos_device_1.default(m.host, m.port, m.uuid, m.name, { coordinator: m.uuid === g.coordinator.uuid ? undefined : coordinator, name: g.name, managerEvents: this.events })); | ||
this.devices.push(new sonos_device_1.default(m.host, m.port, m.uuid, m.name, { coordinator: m.uuid === g.coordinator.uuid ? undefined : coordinator, name: g.name, managerEvents: this.events, groupId: g.groupId })); | ||
} | ||
@@ -118,3 +118,3 @@ }); | ||
if (coordinator === undefined) { | ||
coordinator = new sonos_device_1.default(g.coordinator.host, g.coordinator.port, g.coordinator.uuid, g.coordinator.name, { coordinator: undefined, name: g.name, managerEvents: this.events }); | ||
coordinator = new sonos_device_1.default(g.coordinator.host, g.coordinator.port, g.coordinator.uuid, g.coordinator.name, { coordinator: undefined, name: g.name, managerEvents: this.events, groupId: g.groupId }); | ||
this.devices.push(coordinator); | ||
@@ -127,3 +127,3 @@ this.events.emit('NewDevice', coordinator); | ||
.forEach((m) => { | ||
const newDevice = new sonos_device_1.default(m.host, m.port, m.uuid, m.name, { coordinator: m.uuid === g.coordinator.uuid ? undefined : coordinator, name: g.name, managerEvents: this.events }); | ||
const newDevice = new sonos_device_1.default(m.host, m.port, m.uuid, m.name, { coordinator: m.uuid === g.coordinator.uuid ? undefined : coordinator, name: g.name, managerEvents: this.events, groupId: g.groupId }); | ||
this.devices.push(newDevice); | ||
@@ -133,3 +133,3 @@ this.events.emit('NewDevice', newDevice); | ||
g.members.forEach((m) => { | ||
this.events.emit(m.uuid, { coordinator: g.coordinator.uuid === m.uuid ? undefined : coordinator, name: g.name }); | ||
this.events.emit(m.uuid, { coordinator: g.coordinator.uuid === m.uuid ? undefined : coordinator, name: g.name, groupId: g.groupId }); | ||
}); | ||
@@ -136,0 +136,0 @@ }); |
{ | ||
"name": "@svrooij/sonos", | ||
"version": "2.6.0-beta.7", | ||
"version": "2.6.0-beta.8", | ||
"description": "A node library to control your sonos devices, written in typescript", | ||
@@ -9,3 +9,5 @@ "main": "lib/index.js", | ||
"build": "tsc", | ||
"generate": "npx @svrooij/sonos-docs combine && npx @svrooij/sonos-docs generate ./.generator/ts/ ./", | ||
"generate": "npm run generate:prepare && npm run generate:files", | ||
"generate:prepare": "npx @svrooij/sonos-docs@1.3.0 combine", | ||
"generate:files": "npx @svrooij/sonos-docs@1.3.0 generate ./.generator/ts/ ./", | ||
"lint": "eslint ./src/*.ts ./src/**/*.ts", | ||
@@ -29,3 +31,3 @@ "lint:fix": "eslint ./src/*.ts ./src/**/*.ts --fix", | ||
], | ||
"author": "Stephan van Rooij <sonos@svrooij.io> (https://svrooij.io)", | ||
"author": "Stephan van Rooij <stephan+sonos@svrooij.io> (https://svrooij.io)", | ||
"license": "MIT", | ||
@@ -35,3 +37,3 @@ "bugs": { | ||
}, | ||
"homepage": "https://svrooij.io/node-sonos-ts/", | ||
"homepage": "https://sonos-ts.svrooij.io/", | ||
"devDependencies": { | ||
@@ -38,0 +40,0 @@ "@types/chai": "^4.2.16", |
@@ -9,3 +9,2 @@ # Sonos (the typescript version) | ||
[![Join us on Discord][badge_discord]][link_discord] | ||
[![Support me on Github][badge_sponsor]][link_sponsor] | ||
@@ -25,3 +24,3 @@ [![Follow on Twitter][badge_twitter]][link_twitter] | ||
- [x] Auto generated client (supporting all features the normal app does). [Sonos api documentation and generator](https://svrooij.io/sonos-api-docs/) | ||
- [x] Auto generated client (supporting all features the normal app does). [Sonos api documentation and generator][link_sonos-docs] | ||
- [x] Auto discovery or one known device as starting point. | ||
@@ -38,7 +37,7 @@ - [x] Support for logical devices (grouped speakers) from the start. | ||
See **[Documentation](https://svrooij.github.io/node-sonos-ts/getting-started.html)** | ||
See **[Documentation](https://sonos-ts.svrooij.io/getting-started.html)** | ||
[![Sonos typescript this library][badge_sonos-typescript]][link_sonos-typescript] [![Join us on Discord][badge_discord]][link_discord] | ||
[![Sonos typescript this library][badge_sonos-typescript]][link_sonos-typescript] | ||
If you need help using this library, [join us on discord][link_discord]. | ||
If you need help using this library, check out the [questions section](https://github.com/svrooij/node-sonos-ts/discussions/categories/q-a) on this repository. | ||
@@ -124,2 +123,3 @@ ## Use Sonos manager (recommended) | ||
|[sonos-cli](https://github.com/svrooij/sonos-cli)|[@svrooij](https://github.com/svrooij)|An experimental command line interface for your sonos devices.| | ||
|[node-red-contrib-sonos-plus](https://github.com/hklages/node-red-contrib-sonos-plus)|[@hklages](https://github.com/hklages)|A node-red node to control your sonos devices| | ||
@@ -134,3 +134,2 @@ Also using this library, but not in the list? Send a PR. | ||
[![Sonos typescript this library][badge_sonos-typescript]][link_sonos-typescript] | ||
[![Join us on Discord][badge_discord]][link_discord] | ||
[![Support me on Github][badge_sponsor]][link_sponsor] | ||
@@ -206,3 +205,2 @@ [![Follow on Twitter][badge_twitter]][link_twitter] | ||
[badge_coverage]: https://img.shields.io/coverallsCoverage/github/svrooij/node-sonos-ts?style=for-the-badge&branch=beta | ||
[badge_discord]: https://img.shields.io/discord/782374564054564875?style=for-the-badge | ||
[badge_issues]: https://img.shields.io/github/issues/svrooij/node-sonos-ts?style=for-the-badge | ||
@@ -218,10 +216,9 @@ [badge_npm]: https://img.shields.io/npm/v/@svrooij/sonos?style=for-the-badge | ||
[link_build]: https://github.com/svrooij/node-sonos-ts/actions | ||
[link_discord]: https://discord.gg/VMtG6Ft36J | ||
[link_issues]: https://github.com/svrooij/node-sonos-ts/issues | ||
[link_npm]: https://www.npmjs.com/package/@svrooij/sonos | ||
[link_sonos-cli]: https://github.com/svrooij/sonos-cli | ||
[link_sonos-docs]: https://svrooij.io/sonos-api-docs | ||
[link_sonos-mqtt]: https://svrooij.io/sonos2mqtt | ||
[link_sonos-typescript]: https://svrooij.io/node-sonos-ts | ||
[link_sonos-docs]: https://sonos.svrooij.io/ | ||
[link_sonos-mqtt]: https://sonos2mqtt.svrooij.io/ | ||
[link_sonos-typescript]: https://sonos-ts.svrooij.io/ | ||
[link_sponsor]: https://github.com/sponsors/svrooij | ||
[link_twitter]: https://twitter.com/svrooij |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
485929
11414
217
18