-
-
Notifications
You must be signed in to change notification settings - Fork 14
A.1 Universal Node
Important
|
In this package standalone player are treated as a group (with size 1)! So you should use the group commands to control standalone player! |
There are three major command categories:
The coordinator - there is exactly one per group - leads the group. The content ist played on all players in sync. Most of the commands such as playback (stop/play/ etc) are only allowed on the coordinator and ignored (throw error message) on joiner (aka all non -coordinator in a group).
Note
|
Thats why in this package group commands are always and automatically being redirected to the coordinator |
The coordinators SONOS-Queue act as the group SONOS-Queue. Group mute will mute all player in the group. Group volume is very special see group volume.
Commands are related to specific player, for instance volume, loudness, led, mute state and more. Sometimes it is required to be coordinator or a non-coodinator (= joiner) - therefore also these prefix exist.
Important: For all group and player commands there are 2 options to specify the group/player:
-
Using the config node (default)
-
Using msg.playerName with SONOS-Playername such as 'SonosKueche'. This overrules 1.
The state (payload) can be given in node dialog field payload or as msg.payload. The command (topic) can be given in node dialog field topic or as msg.topic.
msg.nrcspCmd is being created and holds the used commands (from msg.topic or dialog).
msg.payload gets modified, if you use the dialog or if the command outputs data.
Delegates coordinator role to another player in that group. Both player have to be in the same group and must be different from each other. The delegating player must be a coordinator.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
SONOS-Playername |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Adjusts the group value based on the current group value see group volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
number/string |
volume adjustment (delta), range -100 to 100 |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
newVolume |
string |
new volume after adjustment |
Cancels the current sleeptimer - if one exists.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Removes all entries from the SONOS-Queue. If the SONOS-Queue was activated it stops playing.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Creates a snapshot of the given group. It includes the group playback state and for each group member additional data. That output can be directly used in group.play.snap. The queue state such as "shuffle" and the queue content is not captured.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
snapVolumes |
boolean-optional |
player volumes are captured |
in |
snapMutestates |
boolean-optional |
player mute states are captures |
out |
payload |
object |
the saved data (snap) |
out |
.playbackstate |
string |
group playback state |
out |
.wasPlaying |
boolean |
true or false |
out |
.CurrentURI |
string |
URI, content |
out |
.CurrentURIMetadata |
string |
URI, meta data |
out |
.NrTracks |
string |
number of tracks |
out |
.Track |
number |
position in SONOS-Queue |
out |
.TrackDuration |
string |
duration of current track in format hh:mm:ss |
out |
.RelTime |
string |
position in track in format hh:mm:ss |
out |
.membersData |
array of object |
each member data, first member is coordinator in group |
out |
..[].urlSchemeAuthority |
string |
such as "http://192.168.178.37:1400" |
out |
..[].playerName |
string |
such as 'Küche' |
out |
..[].volume |
string |
in range 0 to 100 - only if requested otherwise -1 |
out |
..[].mutestate |
string |
on or off - only if requested otherwise null |
Creates a new group volume snapshot. That is being used in group.adjust/set.volume see group volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Outputs available actions of the currently played content.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string, csv list |
such as Set, Play, .. see values |
Outputs crossfade / mute state.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
on or off |
Outputs an array with all members of current group. Coordinator is first in array. Hidden player are not shown!
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
.[].urlObject |
string |
such as 'http://192.168.178.37:1400' |
out |
.[].playerName |
string |
such as 'Küche' |
out |
.[].uuid |
string |
UUID such as 'RINCON_5CAAFD00223601400' |
out |
.[].invisible |
boolean |
player is hidden, invisible |
out |
.[].channelMapSet |
string |
channel Map - indicator for paired |
out |
.[].groupId |
string |
group id |
Outputs playback state.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
such as playing, stopped, … Valid values see chapter values. |
Outputs an array of queue items. Each item is an object.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
array of objects |
SONOS-Queue items |
out |
.[].id |
string |
id |
out |
.[].title |
string |
title |
out |
.[].artist |
string |
artist name |
out |
.[].album |
string |
album name |
out |
.[].uri |
string |
URI, content |
out |
.[].metadata |
string |
DIDL-Lite |
out |
.[].artUri |
string |
URI, album Art |
out |
.[].sid |
string |
Music Service id |
out |
.[].serviceName |
string |
Music Service name |
out |
.[].upnpClass |
string |
UPnP Class |
out |
.[].processingType |
string |
queue |
Outputs the current length of the SONOS-Queue.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
integer |
SONOS-Queue items |
Outputs sleeptimer.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
the time in format h:mm:ss or if not set 'none' |
Outputs several group states and properties.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
object |
|
out |
.playbackstate |
string |
valid values see chapter see values |
out |
.coordinatorName |
string |
SONOS-Playername of coordinator |
out |
.volume |
string |
group volume |
out |
.muteState |
string |
group mute state - on or off |
out |
.tvActivated |
boolean |
true if TV is activated |
out |
.queueActivated |
boolean |
true if SONOS-Queue is activated |
out |
.queueMode |
string |
SONOS-Queue modes - see values |
out |
.id |
string |
group id |
out |
.size |
number |
amount of members in group |
out |
.members |
array of object |
all members in SONOS-Queue, coordinator is first |
out |
.[].urlObject |
string |
such as 'http://192.168.178.37:1400' |
out |
.[].playerName |
string |
such as 'Küche' |
out |
.[].uuid |
string |
UUID such as 'RINCON_5CAAFD00223601400' |
out |
.[].invisible |
boolean |
player is hidden, invisible |
out |
.[].channelMapSet |
string |
channel Map - indicator for paired |
out |
.[].groupId |
string |
group id |
Outputs data related to the currently played content.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
object |
|
out |
.mediaData |
object |
data related to media: CurrentURI, CurrentURIMetaData, … |
out |
.positionData |
object |
additional data: TrackURI, TrackDuration, RelTime, … |
out |
..trackData |
object |
data related to the track: title, album, … |
out |
.title |
string |
current title |
out |
.artist |
string |
current artist |
out |
.album |
string |
current album |
out |
.serviceId |
string |
Music Service id |
out |
.serviceName |
string |
Music Service name such as Spotify |
out |
.artUri |
string |
URI, albumArt |
out |
.stationArtUri |
string |
Station art (if available) |
out |
.queueActivated |
boolean |
true if SONOS-Queue is activated |
Output the group volume see group volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
volume in range 0 to 100 |
Start playing content. Content must exist/have been set before.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
Please consider to use group.play.mysonos or group.play.library.* instead.
Plays the given content. Payload should be exported by node My Sonos.
Caution: If clearQueue = false and the exported item is of type queue it is added at the end of the queue. Queue item 1 starts to play.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
object |
content, see node My Sonos, mysonos.export.item |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
in |
clearQueue |
boolean-optional |
if true and export.queue = true the queue is cleared. Default is true |
group.play.library.album, group.play.library.artist, group.play.library.playlist, group.play.library.track
Plays the given Music Library album, artist, playlist, track (first one matching) on that group.
Caution: If clearQueue = false the item it is added at the end of the queue. Queue item 1 starts to play.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
search string to identify the Music Library (album,playlist, track) - field title |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
in |
clearQueue |
boolean-optional |
if true and export.queue = true the queue is cleared. Default is true |
Plays the given My Sonos title (first one matching) on that group.
Caution: If clearQueue = false the item it is added at the end of the queue. Queue item 1 starts to play.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
search string to identify the My Sonos item - field title |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
in |
clearQueue |
boolean-optional |
if true and export.queue = true the queue is cleared. Default is true |
Executes just this action.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Plays the given content (means notification) and then returns to the previous content (stations, track in SONOS-Queue). If volume is given all players uses the new volume for the notification!!!
Depending on the required changes this command may take some seconds to complete. During this time there should not be any other commands as they might interfere (solution: queue commands)
Caution: For msg.duration and msg.volume (if string) a strict REGEX check is used and will throw an error.
Position may fail as it sometimes takes some time to reload the song. Currently the position starts 1 sec after having initiated to reload the song.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
URI, content being played as notification |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and false: set new volume only on coordinator |
in |
duration |
string-optional |
REGEX check. if exist: overrules the internal calculation for the notification. Format hh:mm:ss. Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Resumes playing tracks from the SONOS-Queue. SONOS-Queue must not be empty. If volume is given, the given player will use that volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
Plays the given content which should have been created with command group.create.snap. If volume is given, the given player will use that volume. The queue state (normal, shuffle, …) and the group topology should not have changed!
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
object |
content, the saved data - see group.create.snap |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Plays the given http/https stream. If volume is given, the given player will use that volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
content, must be a valid http stream address for a station/stream/radio such as http://www.fritz.de/live.m3u |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
Starts playing from SONOS-Queue with the given track. SONOS-Queue must not be empty. If volume is given, the given player will use that volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
position in SONOS-Queue - 1 to SONOS-Queue length |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
Starts playing the given Tune| in radio station. If volume is given, the given player will use that volume.
Caution: For the payload a strict REGEX check is used and will throw an error. See the following table for details.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
REGEX check. the TuneIn radio station id such as 's97033'. Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
sameVolume |
boolean-optional |
if exist and true: set volume on all players |
group.queue.library.album, group.queue.library.artist, group.queue.library.playlist, group.queue.library.track
Plays the given Music Library album, artist, playlist, track (first one matching) on that group. If queue is in SHUFFLE mode, the queued song will play next.
Caution: If clearQueue = false the item it is added at the end of the queue.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
search string to identify the Music Library (album,playlist, track) - field title |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
in |
clearQueue |
boolean-optional |
if true and export.queue = true the queue is cleared. Default is true |
out |
newQueueLength |
integer |
New SONOS-Queue length |
out |
firstTrackNumberEnqueued |
integer |
Position, where new song is inserted |
Adds the given URI to the end of the SONOS-Queue. If queue is in SHUFFLE mode, the queued song will play next.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
URI, content to play |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
newQueueLength |
integer |
New SONOS-Queue length |
out |
firstTrackNumberEnqueued |
integer |
Position, where new song is inserted |
Adds the given valid Spotify URI to the end of the SONOS-Queue. URI can by playlist, album, track and more. If queue is in SHUFFLE mode, the queued song will play next.
To switch to region US (that also works in Australia, New Zealand) put the following line
process.env.SONOS_REGION_SPOTIFY = "3079"
at the top (before module.exports) of your settings.js file in your user node-red directory.
It is recommended to use My Sonos instead.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
Spotifiy URI such as spotify:track:5AdoS3gS47x40nBNlNmPQ8, spotify:album:1TSZDcvlPtAnekTaItI3qO, spotify:artistTopTracks:1dfeR4HaWDbWqFHLkxsg1d, spotify:user:spotify:playlist:37i9dQZEVXbMDoHDwVN2tF' |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
newQueueLength |
integer |
New SONOS-Queue length |
out |
firstTrackNumberEnqueued |
integer |
Position, where new song is inserted |
Removes the given tracks from the SONOS-Queue.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string/number |
start position of tracks to be removed - 1 to end of SONOS-Queue. If string then REGEX check! |
in |
numberOfTracks |
string/number-optional |
number of tracks, default is 1. If string then REGEX check! |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Saves the content of the SONOS-Queue to a SONOS-Playlist.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
new SONOS-Playlist name |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Moves to given absolute position in current song. This is only supported by some content - see group.get.actions.
Caution: For the payload a strict REGEX check is used and will throw an error. See the following table for details.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
REGEX check: new position in format hh:mm:ss. Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Moves forward/backward to given relative (ot current position) position in current song. This is only supported by some content - see group.get.actions.
Caution: For the payload a strict REGEX check is used and will throw an error. See the following table for details.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
REGEX check: new position in format +hh:mm:ss or -hh:mm:ss (back). Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets current group parameter crossfade state - must be supported by current playing content.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
on or off |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets current group mute state.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
on or off |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets current SONOS-Queue mode.
Caution: For the payload a strict REGEX check is used and will throw an error. See the following table for details.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
REGEX check: queue mode such as SHUFFLE. Mixed case is allowed link::https://github.com/hklages/node-red-contrib-sonos-plus/wiki#values[see values]. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets the new sleeptimer.
Caution: For the payload a strict REGEX check is used and will throw an error. See the following table for details.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string |
REGEX check. new sleep timer in format hh:mm:ss. Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Toggles the current playback state - stop turns to play and play turns to stop.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets group volume see group volume.
in |
payload |
string |
new group volume in range of 0 .. 100 to given player |
in |
playerName |
string/number-optional |
SONOS-Playername, overrules config node player. If string then REGEX check! |
Creates a new group based on payload.
Caution: For the payload (csv list) a strict REGEX check is used and will throw an error. See the following table for details. The names are SONOS-Playernames and NOT the config names!
Depending on the required changes this command may take some seconds to complete. During this time there should not be any other commands as they might interfere (solution: queue commands)
In case you prefer JSON over csv, please use the Node-RED build in "csv" node to convert from JSON to csv (with default option comma).
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string, csv |
REGEX check: comma separated list of SONOS-Playernames. First player will become coordinator in that group. Don’t add any additional blank or whitespace - just the SONOS-Playernames, separated by comma. SONOS-Playernames must start with character or digit followed by blank ",:.-_" character, digit. Only a few international characters are allowed ÄÖÜäöü. Let me know if you have a special _SONOS-Playername_. |
Creates a new stereopair of players - one for left, one for right channel. Afterwards both act as one player. Right player gets hidden/invisible. This command only works for specific type of SONOS-Players. > payload and playerNameRight are required! Config node player is always being overruled!
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
left SONOS-Playername |
in |
playerNameRight |
string |
right SONOS-Playername |
Enables/disables the given alarm.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
alarm ID |
Outputs an array of all alarms and the current alarm list identifier.
In/Out | Property | Type | Description |
---|---|---|---|
out |
payload |
object |
|
out |
currentAlarmListVersion |
string |
current alarm list version |
out |
array of alarm |
objects |
|
out |
.[].ID |
string |
such as 21, 40, … |
out |
.[].StartTime |
string |
such as 07:00:00 |
out |
.[].Duration |
string |
such as 02:00:00 |
out |
.[].Recurrence |
string |
such as DAILY |
out |
.[].Enabled |
string |
0 for disabled, 1 for enabled |
out |
.[].RoomUUID |
string |
such as RINCON_B8E9375831C001400 |
out |
.[].ProgramURI |
string |
x-rincon-buzzer:0 |
out |
.[].ProgramMetaData |
string |
|
out |
.[].PlayMode |
string |
such as SHUFFLE |
out |
.[].Volume |
string |
0 … 100 |
out |
.[].IncludeLinkedZones |
string |
0 for single, 1 for group |
Outputs an array of all groups in household. Each group is an array of player objects. The coordinator is the first element (index 0). Invisible members are not shown.
In/Out | Property | Type | Description |
---|---|---|---|
out |
payload |
array of array of objects |
all groups with all members (object) |
out |
.[].urlObject |
string |
such as 'http://192.168.178.37:1400' |
out |
.[].playerName |
string |
such as 'Küche' |
out |
.[].uuid |
string |
UUID such as 'RINCON_5CAAFD00223601400' |
out |
.[].invisible |
boolean |
player is hidden, invisible |
out |
.[].channelMapSet |
string |
channel Map - indicator for paired |
out |
.[].groupId |
string |
group id |
Outputs the Music Library Album Artist display option.
In/Out | Property | Type | Description |
---|---|---|---|
out |
payload |
string |
Music Library Album Artist display option - "WMP" "ITUNES" "NONE" |
Outputs an array of all available _SONOS-Playlist_s. Each item is an object.
In/Out | Property | Type | Description |
---|---|---|---|
out |
payload |
Object |
all groups with all members (object) |
out |
.[].artUri |
string |
URI, albumArt |
out |
.[].title |
string |
SONOS-Playlist title |
out |
.[].uri |
string |
URI |
out |
.[].upnpClass |
string |
upnp class |
out |
.[].Id |
string |
object id |
out |
.[].processingType |
string |
queue or stream |
Removes the given SONOS-Playlist.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
SONOS-Playlist name |
in |
ignoreNotExists |
boolean |
if not exist: true |
All players in given group (defined by config node or msg.playerName) become standalone players
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Separates a stereopair of players.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
SONOS-Playername of the left player |
Tests whether a player is available. The player in config node should be different to the checked player!
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
SONOS-Playername to be checked |
out |
payload |
boolean |
true if available |
Starts an update of the music library.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
Naming scheme for album artist displayOption - one of "WMP" "ITUNES" "NONE" |
See also household.get.musiclibrary.options
Wakes up a SONOS-Player from light sleep (but not from deep sleep/off). If you don’t know the mac address then use player.get.properties
.
Note
|
This is a special command, as it sends a UDP magic package as broadcast. So in fact a config node is not needed what means you can select any. |
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
mac address of the player (SONOS Roam, SONOS Move) to be waked up |
The player leaves the group, plays the given notification (only on that joiner - not on any other members of the group) and then rejoins the group again. The command only works on joiner not on coordinator.
Depending on the required changes this command may take some seconds to complete. During this time there should not be any other commands as they might interfere (solution: queue commands)
Caution: For msg.duration and msg.volume (if string) a strict REGEX check is done and will throw an error.
Position may fail as it sometimes takes some time to reload the song. Currently the position starts 1 sec after having initiated to reload the song.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
object |
URI, content being played as notification |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
duration |
string-optional |
REGEX check. if exist: overrules the internal calculation for the notification. Format hh:mm:ss. Don’t add additional blanks or whitespace. |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Adjusts volume - base is current volume.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string/number |
corresponding value + (increase), - (decrease). If string then REGEX check! |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
newVolume |
number |
the new volume |
Become standalone player and leaves any group.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Outputs the corresponding value.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
number |
corresponding value, range -10 to 10 |
Outputs the corresponding value.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
on or off |
Outputs the button lock state.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
on or off |
Outputs the battery level (only if supported by device). The node, sending this command should have the "Do NOT check the availability of Sonos-Player." ticked! Otherwise you have to ensure that during deployment the SONOS Roam/Move is available.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
integer |
Battery level, range 0 to 100 |
out |
powerSource |
string |
power source such as "BATTERY" or "USB_POWER" |
Outputs the device properties.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
object |
see below |
out |
.playerName |
string |
SONOS-Playername such 'Küche' |
out |
.uuid |
string |
player UUID such as 'RINCON_949F3EC13B9901400' |
out |
.serialNum |
string |
serial number such as '94-9F-3E-C1-3B-99:8' |
out |
.MACAddress |
string |
mac address such as '94:9F:3E:C1:3B:99' |
out |
.friendlyName |
string |
friendly name such as '192.168.178.36 - Sonos Beam' |
out |
.modelName |
string |
model name such as 'Sonos Beam |
and more!
Outputs array of SONOS-Queue items. Each item is an object -see group.get.queue
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Outputs the current role.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
string |
standalone or joiner or coordinator |
out |
playerName |
string |
SONOS-Playername |
Outputs the corresponding value.
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
out |
payload |
number |
volume in range 0 to 100 |
Player (given in config node or msg.playerName) joins the group given by SONOS-Playername in payload.
Recommendation: Use household.create.group, player.become.standalone
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
SONOS-Playername of any player in group to be joined |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Player (given in config node or msg.playerName) will leave any group.
Recommendation: Use household.create.group, player.become.standalone
In/Out | Property | Type | Description |
---|---|---|---|
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Activates the line in at the given player. If player belongs to group (as joiner) it will leave the group.
In/Out | Property | Type | Description |
---|---|---|---|
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
This command is depreciated as in many cases a uri is not sufficient and metadata is needed. Please use group.play.queue, player.play.tv, player.playlinein, group.play.tunein, group.play.httpstream instead.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
new avTransport such as: x-rincon-stream:RINCON_5CAAFD00223601400 (last digits: mac + 0 + port) |
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
info |
string |
info being shown as station title |
in |
artUri |
string |
uri to art/cover |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Activates the TV at the given player. If player belongs to group (as joiner) it will leave the group.
In/Out | Property | Type | Description |
---|---|---|---|
in |
volume |
string/number-optional |
if exist: new volume in range 0 to 100 on given player. If string then REGEX check! |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets device properties to the given values.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string/number |
value in range -10 to 10. If string then REGEX check! |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Set the device property to given payload.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
on or off |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
Sets button lock state.
In/Out | Property | Type | Description |
---|---|---|---|
in |
payload |
string |
on or off |
in |
playerName |
string-optional |
SONOS-Playername, overrules config node player |
node-red-contrib-sonos-plus 2024