Read the statement by Michael Teeuw here.
-
Try this instead:
{from: '0 06 * * * ', to: '30 09 * * * ', dimLevel: ‘50’},
{from: '0 16 * * * ', to: '30 22 * * * ', dimLevel: ‘50’} -
A few quick observations,
Firstly I’d suggest removing the leading zeros from each field in the cron expression, i.e. changing
00 06 * * *
to0 6 * * *
- some parsers may support this but I believe the cron tab specification states the valid values for the minute field is 0-59 and hour field is 0-23. If in doubt, try using http://crontab.guru/ to test your expressions.Next up, make sure you updated to the latest version (
git pull
from the module directory and restart the mirror) to ensure the dim functionality is available to your mirror.If after ensuring the cron expressions are correct and you have the latest version, you are still experiencing this problem, can you check the output of the log (
pm2 logs mm
). You should have something like thisMM-ModuleScheduler received CREATE_MODULE_SCHEDULE MMM-ModuleScheduler is scheduling clock using '0 6 * * *' and '30 9 * * *' MMM-ModuleScheduler is dimming clock MMM-ModuleScheduler has scheduled clock MMM-ModuleScheduler will next show clock at Wed Oct 15 2016 06:00:00 GMT+0000 (UTC) MMM-ModuleScheduler will next dim clock at Wed Oct 15 2016 09:30:00 GMT+0000 (UTC)
Can you share the output of your log here so I can take a look?
-
Having looked at the code, there may be certain circumstances where the module is initially hidden, even when the dimLevel option is defined. I believe this only relates to schedules are defined using arrays with a particular show > dim > show > dim sequence.
I’ve pushed an update to try an fix this, so feel free to update the module and give it a go.
Alternatively, (and also highly recommended) would be to minimise the number of cron jobs create by simplifying your schedule as follows
{ module: "clock", position: "top_left", classes: "scheduler", config: { // Show at 06:00 and 16:00, then dim to 50% at 09:30 and 22:30 every day module_schedule: {from: '0 6,16 * * *', to: '30 9,22 * * *', dimLevel: '50'}, } },
-
@ianperrin
It works! It was probably the code update that fixed even though I also simplified the cron expression.All my other schedules (which hides, not dims, modules) worked before even with arrays having double quotes and leading zeroes. And they still work.
Great work @ianperrin, and thank you for a must-have module!
-
An update to MMM-ModuleScheduler is now available which includes the ability to
- Send notifications using a schedule - thanks for the idea @cowboysdude
- Control how quickly modules are shown/hidden (
animationSpeed
option) - Override the name of the class used to identify the modules which have a schedule (
schedulerClass
option)
Check out the updated documentation for more information.
-
That is awesome!! You just keep making this better and better!!! Thank you!
-
@ianperrin @cowboysdude
Check out my new module MMM-tvservice in the System section of the forum. I took the idea from @ianperrin when he suggested a module to act on notifications. -
@Alvinger interesting, I’ll check it out.
You may also be interested in taking a look at MMM-Remote-Control. It contains a heap of functions to control your mirror (including turning the monitor off and on, rebooting the pi, restarting the MM process etc) remotely.
I’ve been working with @Jopyth to expose this functionality via the use of sendNotification.
This should allow schedules like:
notification_schedule: [ {notification: 'REMOTE_ACTION', schedule: '30 9 * * *', payload: {action: 'MONITOROFF'}}, {notification: 'REMOTE_ACTION', schedule: '30 18 * * *', payload: {action: 'MONITORON'}} ]
Check out the repository on GitHub - the latest code includes this capability
-
@ianperrin The actions available are now also documented in the readme, so noone has to dig through all the code neccessarily. See this section, a table is down below.
-
@ianperrin @Jopyth: sorry, wasn’t aware that MMM-Remote-Control had that ability. I would recommend MMM-Remote-Control instead of MMM-tvservice to the general user as it covers all functionality needed.
MMM-tvservice is more for the linux enthusiast who wants a program to do one thing and one thing only. I am not running MagicMirror through PM2 but rather directly via systemd so I cannot use all functionality of MMM-Remote-Control without editing the source. Also, as I am running through systemd I do not need to prefix the commands with sudo as the service already runs as root.