AlarmClock service
Control the sonos alarms and times
The AlarmClock service is available on these models: v2-S1
/ v2-S13
/ v2-S14
/ v2-S18
/ v2-S21
/ v2-S27
/ v2-S3
/ v2-S33
/ v2-S38
/ v2-S6
/ v2-S9
/ v2-Sub
.
const SonosDevice = require('@svrooij/sonos').SonosDevice
const sonos = new SonosDevice('192.168.x.x')
sonos.AlarmClockService.OneOfTheMethodsBelow({...})
All actions that require input expect an object with the specified parameters, even if it only requires one parameter.
- CreateAlarm
- DestroyAlarm
- GetDailyIndexRefreshTime
- GetFormat
- GetHouseholdTimeAtStamp
- GetTimeNow
- GetTimeServer
- GetTimeZone
- GetTimeZoneAndRule
- GetTimeZoneRule
- ListAlarms
- SetDailyIndexRefreshTime
- SetFormat
- SetTimeNow
- SetTimeServer
- SetTimeZone
- UpdateAlarm
- AlarmClockService event
CreateAlarm
Create a single alarm, all properties are required
const result = await sonos.AlarmClockService.CreateAlarm({ StartLocalTime:..., Duration:..., Recurrence:..., Enabled:..., RoomUUID:..., ProgramURI:..., ProgramMetaData:..., PlayMode:..., Volume:..., IncludeLinkedZones:... });
Input object:
property | type | description |
---|---|---|
StartLocalTime | string | The start time as hh:mm:ss
|
Duration | string | The duration as hh:mm:ss
|
Recurrence | string | Repeat this alarm on Allowed values: ONCE / WEEKDAYS / WEEKENDS / DAILY
|
Enabled | boolean | Alarm enabled after creation |
RoomUUID | string | The UUID of the speaker you want this alarm for |
ProgramURI | string | The sound uri |
ProgramMetaData | Track | string | The sound metadata, can be empty string |
PlayMode | PlayMode | Alarm play mode Allowed values: NORMAL / REPEAT_ALL / SHUFFLE_NOREPEAT / SHUFFLE
|
Volume | number | Volume between 0 and 100 |
IncludeLinkedZones | boolean | Should grouped players also play the alarm? |
Output object:
property | type | description |
---|---|---|
AssignedID | number | The ID of the new alarm |
DestroyAlarm
Delete an alarm
const result = await sonos.AlarmClockService.DestroyAlarm({ ID:... });
Input object:
property | type | description |
---|---|---|
ID | number | The Alarm ID from ListAlarms |
This actions returns a boolean whether or not the requests succeeded.
GetDailyIndexRefreshTime
const result = await sonos.AlarmClockService.GetDailyIndexRefreshTime();
Output object:
property | type | description |
---|---|---|
CurrentDailyIndexRefreshTime | string |
GetFormat
const result = await sonos.AlarmClockService.GetFormat();
Output object:
property | type | description |
---|---|---|
CurrentTimeFormat | string | |
CurrentDateFormat | string |
GetHouseholdTimeAtStamp
const result = await sonos.AlarmClockService.GetHouseholdTimeAtStamp({ TimeStamp:... });
Input object:
property | type | description |
---|---|---|
TimeStamp | string |
Output object:
property | type | description |
---|---|---|
HouseholdUTCTime | string |
GetTimeNow
const result = await sonos.AlarmClockService.GetTimeNow();
Output object:
property | type | description |
---|---|---|
CurrentUTCTime | string | |
CurrentLocalTime | string | |
CurrentTimeZone | string | |
CurrentTimeGeneration | number |
GetTimeServer
const result = await sonos.AlarmClockService.GetTimeServer();
Output object:
property | type | description |
---|---|---|
CurrentTimeServer | string |
GetTimeZone
const result = await sonos.AlarmClockService.GetTimeZone();
Output object:
property | type | description |
---|---|---|
Index | number | |
AutoAdjustDst | boolean |
GetTimeZoneAndRule
const result = await sonos.AlarmClockService.GetTimeZoneAndRule();
Output object:
property | type | description |
---|---|---|
Index | number | |
AutoAdjustDst | boolean | |
CurrentTimeZone | string |
GetTimeZoneRule
const result = await sonos.AlarmClockService.GetTimeZoneRule({ Index:... });
Input object:
property | type | description |
---|---|---|
Index | number |
Output object:
property | type | description |
---|---|---|
TimeZone | string |
ListAlarms
Get the AlarmList as XML
const result = await sonos.AlarmClockService.ListAlarms();
Output object:
property | type | description |
---|---|---|
CurrentAlarmList | string | xml string, see remarks |
CurrentAlarmListVersion | string |
Remarks Some libraries also provide a ListAndParseAlarms where the alarm list xml is parsed
SetDailyIndexRefreshTime
const result = await sonos.AlarmClockService.SetDailyIndexRefreshTime({ DesiredDailyIndexRefreshTime:... });
Input object:
property | type | description |
---|---|---|
DesiredDailyIndexRefreshTime | string |
This actions returns a boolean whether or not the requests succeeded.
SetFormat
const result = await sonos.AlarmClockService.SetFormat({ DesiredTimeFormat:..., DesiredDateFormat:... });
Input object:
property | type | description |
---|---|---|
DesiredTimeFormat | string | |
DesiredDateFormat | string |
This actions returns a boolean whether or not the requests succeeded.
SetTimeNow
const result = await sonos.AlarmClockService.SetTimeNow({ DesiredTime:..., TimeZoneForDesiredTime:... });
Input object:
property | type | description |
---|---|---|
DesiredTime | string | |
TimeZoneForDesiredTime | string |
This actions returns a boolean whether or not the requests succeeded.
SetTimeServer
const result = await sonos.AlarmClockService.SetTimeServer({ DesiredTimeServer:... });
Input object:
property | type | description |
---|---|---|
DesiredTimeServer | string |
This actions returns a boolean whether or not the requests succeeded.
SetTimeZone
const result = await sonos.AlarmClockService.SetTimeZone({ Index:..., AutoAdjustDst:... });
Input object:
property | type | description |
---|---|---|
Index | number | |
AutoAdjustDst | boolean |
This actions returns a boolean whether or not the requests succeeded.
UpdateAlarm
Update an alarm, all parameters are required.
const result = await sonos.AlarmClockService.UpdateAlarm({ ID:..., StartLocalTime:..., Duration:..., Recurrence:..., Enabled:..., RoomUUID:..., ProgramURI:..., ProgramMetaData:..., PlayMode:..., Volume:..., IncludeLinkedZones:... });
Input object:
property | type | description |
---|---|---|
ID | number | The ID of the alarm see ListAlarms |
StartLocalTime | string | The start time as hh:mm:ss
|
Duration | string | The duration as hh:mm:ss
|
Recurrence | string | Repeat this alarm on Allowed values: ONCE / WEEKDAYS / WEEKENDS / DAILY
|
Enabled | boolean | Alarm enabled after creation |
RoomUUID | string | The UUID of the speaker you want this alarm for |
ProgramURI | string | The sound uri |
ProgramMetaData | Track | string | The sound metadata, can be empty string |
PlayMode | PlayMode | Alarm play mode Allowed values: NORMAL / REPEAT_ALL / SHUFFLE_NOREPEAT / SHUFFLE
|
Volume | number | Volume between 0 and 100 |
IncludeLinkedZones | boolean | Should grouped players also play the alarm? |
This actions returns a boolean whether or not the requests succeeded.
Remarks Some libraries support PatchAlarm where you can update a single parameter
AlarmClockService event
const SonosDevice = require('@svrooij/sonos').SonosDevice
const sonos = new SonosDevice('192.168.x.x')
sonos.AlarmClockService.Events('serviceEvent', (data) => {
console.log(data);
});
The AlarmClockService emits events with these properties. Not all properties are emitted every time.
parameter | type | possible values |
---|---|---|
AlarmListVersion | string | |
DailyIndexRefreshTime | string | |
DateFormat | string | |
TimeFormat | string | |
TimeGeneration | number | |
TimeServer | string | |
TimeZone | string |
This file is automatically generated with @svrooij/sonos-docs, do not edit manually.