Roon Extension: Alarm Clock v0.9.1 (current)

It uses the time of the machine where the extension is running on, in your case the Pi.

Good suggestion, something for the next release.

Windows maintenance on my Roon system caused the Extension Manager and the Alarm Clock to disappear. OK: I started the process of installing the Extension Manager again. Windows Defender tried to stop the installer, and I had to struggle to get Defender to allow the installer to proceed. Can you at least sign the installer so that Windows will be happy?

It would seem I am another one with TZ troubles. :frowning:

My Roon core is on a Synology NAS. I have installed the Roon Extension Manager in Docker on the NAS and set the environmental variable TZ to America/Los_Angeles.

I then used the Roon Extension Manager in Roon to install Alarm Clock. It appears to work with the exception that it doesn’t use my local time - it would appear to be using GMT. Am I missing something or is this a known issue?

In the example below, the alarm works, but note that to get the alarm to go off at 5:59 AM, I have to set the alarm to 1:59 PM. This is an eight hour difference - the same as between my local time and GMT.

The image below shows the TZ variable in docker for the extension manager. It would seem that the TZ isn’t getting picked up by extensions loaded into Roon with the extension manager.

Thank you in advance for any help or ideas.

Here is a display idiosyncrasy that should be fixed:

When the alarm is set to fade in rather than immediate, the time of the alarm is in some places shown as the start of the fade and others shown as the time the alarm is set. See these two screen shots for the same alarm using a 1 minute fade.

I seem to recall I had issues with a docker install re time zone being not what is used in the host, but I don’t recall what I was using other than it was on a synology nas. I think there was some cli command or config setting that corrected it but I abandoned the docker solution and ended up not perusing the nas solution.

Maybe google will be of help…it might have been songkong

Yes here it is…

Thank you for the reply. I have the TZ environment variable set in the container (per the SongKong example), I think it’s a problem in the Alarm Clock app not picking this up.

You have set the TZ variable for the Extension Manager container but when you install the Alarm Clock from it the Alarm Clock ends up in its own container. The TZ variable isn’t transferred between the two containers (maybe something I should look into).

You can set the TZ variable for the Alarm Clock during installation, the option is in the Docker Install Options:

Interesting, my extension settings appear different. Following what I read as the recommended method of install, I installed the Extension Manager in Docker then I used it to install Alarm Clock from within Roon. There appears no place to set docker install options for the Alarm Clock Container. In fact, when I go to docker, I don’t see a separate container for Alarm Clock, only the extension manager.

I presumed Alarm Clock was running inside the Extension Manager container.

Is it possible to delete an alarm once created? I see it can be set to ‘inactive,’ but I don’t see the option to delete the alarm.

In your setup it indeed is. While creating the container for the Extension Manager you did not make the Docker daemon available to it. This means that you cannot install the Docker based extensions, but not a problem if you want to use the Alarm Clock.

Back to the time zone issue. The TZ variable you set should end up in the container and then be picked up by the Alarm Clock. I see in the screenshot that the Synology web interface has a Terminal tab, if you open that and give the command:

echo $TZ

Do you get the America/Los_Angeles value back?

No, I never saw a need for it. You can set the alarm to inactive or you can repurpose it for a different alarm. What is your use case for a delete option?

I agree with you, just presumed the function might exist and I was missing it. Good as is.

The CLI isn’t echoing the value of $TZ. See the attached screen shot from the terminal.

As a feature request, it would be nice to be able to name alarms rather than the default form of:

#) Zone Action

Does this terminal window give you a prompt when you press Enter, i.e. some string ending with a #?

If not then you can try to connect to the Synology over ssh, when that is done you can get into the container with:

docker exec -it theappgineer-roon-extension-manager2 bash

On the prompt you then get you repeat the echo command:

echo $TZ

Good call, the terminal window in the synology docker app did not offer a prompt.

When I SSH over the run the command you suggest it gives me a permission denied error (see screen shot). The account I am using has full access to everything and is in the Admin group.

This could all be related to Synology’s specific Docker implementation.

Also…another feature request: It would be nice if alarms had a duration. For example, I would like to set an alarm that goes off at 01:00 and plays for X minutes then shuts off. This would be much more manageable than creating a separate stop event or having to turn off manually.

I don’t know if this Admin group also provides the necessary access rights for Docker, Docker normally requires that the user account is a member of the docker group. Do you get rid of the permission denied error f you run the command with sudo?

I do get the same error with sudo.

However, it seems to be functioning correctly now with the exception that on a full NAS reboot, sometimes the Alarm Clock extension is properly loaded by the extension manager and other times it is not - rather it’s simply missing and must be reinstalled through the extension manager.

I appreciate all of your help. The extension is very useful and I’m sure it will become less finiky over time.

Best.

The Docker integrations on NAS’es seem to cause more issues than plain installs on Linux Systems (it also doesn’t help that I do not own such a NAS).

A last thing you could try is create the Extension Manager container from the command line over ssh (hoping this doesn’t give permission errors). The required options are described here.

Thank you @Jan_Koudijs.