Roon Extension: Alarm Clock v0.9.1 (current)

Yes, that would do the job perfectly.

Implemented relative alarm time (v0.2.0)

I finished the implementation of the relative alarm. The original idea was:


But I ended up doing it a bit differently:
I merged the separate Hours an Minutes fields into a single Alarm Time field. The alarm time field can be used to specify a time in 24h format:

7:00
09:30
14:30

Alternatively a relative alarm time can be specified (Day should be set to Once) by starting with a ‘+’ character, it is possible to specify minutes only or an hour:minute combination. The maximum relative time is 23 hours and 59 minutes:

+5
+1:30
+23:59

The new input method also supports times specified in 12h format by supplying an am/pm post-fix:

1:55am
12:39pm
11:59PM

To install, step 3 till 7 of the installation guide have to be repeated (overwrite the files of the previous install). See the first post for the link.

1 Like

Excellent as always – thanks, Jan. I like the combo of specifying a play time followed by a fade time. Works as advertised. Going to sleep with this tonight:

Sleep well @RBM :sleeping:

I noticed a small bug when I had a look at your screenshot, the space is missing between ‘Stop’ and ‘in’. Will be fixed in the next version.

1 Like

I updated the first post to let it reflect the current status.

I dozed off quite nicely to the slowly fading piano of Anat Fort


1 Like

Well done Jan, another happy user here.Thx

1 Like

Fixed alarm disable bug (v0.2.1)

I discovered a bug the hard way this morning.

I have a day off so I disabled my work day alarm for this morning and setup another one for a later time, but still I got waken up at 6:15. It turned out that the running timer did not get disabled when the alarm is disabled via the settings screen.

I just pushed a fix for this to GitHub (it also solves the missing space issue I wrote about). To install, step 3 till 7 of the installation guide have to be repeated (overwrite the files of the previous install). See the first post for the link.

2 Likes

Poor you
 Thanks for taking this one for the team! :wink:

1 Like

Implemented standby action (v0.3.0)

A recent update of the Roon API adds the possibility to switch an endpoint into standby.

Since it makes sense that you want to switch an endpoint off during the night instead of keeping it on, I added Standby as a possible action.

Standby isn’t available for all endpoints. If you can activate it via your Roon Remote (it’s beneath the volume control), then it should work fine:

In case standby is not supported then a Stop action is performed instead.

To install, step 3 till 7 of the installation guide have to be repeated (overwrite the files of the previous install). See the first post for the link.

Fixed volume setting bug (v0.3.1)

Oops, I broke the volume setting in the update of today, it was always hidden.
Fix is now available.

Nice app! Now I need to see how I can manually get node.js on my synology nas (until ROCK comes out) as the most recent available package for dsm is node.js v4. :slight_smile:

By the way, I noticed that for ROCK Roon suggests not to install anything else as upgrades can wipe that. Curious whether they have carved out something for plugins as it would be nice if they can co-exist.

Two thoughts here after getting this lovely extension installed:

  1. Being able to replace the destination queue with a playlist (or radio) set in the alarm itself is essential long term, as remembering to fill the queue before bed prone to user error. :grin:

  2. One useful feature from the Sonos world is a default sound that plays should the queue be empty or not available. This ensures “some sound”.

Thanks for all the work on this.

Nathan

I expect that when the Roon API / Extension support gets out of beta and the distribution system is in place that all this will be an integral part of ROCK.

1 Like

Thanks @Nathan_Wilkes for sharing your thoughts, I agree with both.

I already spent some time on figuring out how something like this can be implemented. One approach I tried is adding a setting to the alarms via which an internet radio stream can be pre-selected. I limited it to internet radio because it is not very user friendly to browse your complete library via a single dropdown box.

Instead of a setting per alarm, there can also be one global setting that sets a default radio stream in case there is nothing to play.

For having a fallback scenario I just implemented another approach. If there is nothing to play and the Previous button is active (normally the case if the queue is empty), then I select the previous track and play that one. It at least gives music for a few minutes, hopefully enough to get you awake.

I’m not sure yet what the best solution would be. Maybe also others can comment on what they would like to have or share their ideas for a clever implementation.

I’d say you might be better off keeping it simple. Perhaps you can generate a tone in your code, or point to a basic alarm sound you can install with the code.

That way you know if the main setting doesn’t work, some sort of alarm will always go off. Not very musical, but


And I haven’t even installed it yet so feel free to ignore me!

I don’t think it’s possible to make Roon play an arbitrary tone or music file. I think I would go with a default playlist instead of a default internet radio station, on the logic that local music is more likely to actually work.

Thanks @hifi_swlon and @ben for the suggestions. Preferring local data over an internet stream will indeed increase the reliability of the alarm.

I think I now have a fall back scenario that will work pretty well. It extends a bit on one of the options I wrote about Yesterday:

If there is nothing to play and the Previous button is active (normally the case if the queue is empty), then I select the previous track and play that one. At the same time I enable the Radio function to keep the music going after the initial track finished playing.

This gives:

  • Something to play
  • Playback of local data
  • No additional alarm settings
  • A play time long enough to get / keep you awake

Everything required to implement this is already included in the Roon API.

Not all tracks result in a radio playlist

Would the history list be available as a source?

Or, in the options, have the user select a default track or playlist?

Really? So when music is playing and I turn the radio function on, on the Now Playing screen, it can happen that there is no next track played?