Read the statement by Michael Teeuw here.
Show Module based on date
-
Id like to display a module based on a date and time.
For example a commute Module to only show if its in the morning during a weekeday.Anyway to do this?
-
@soldado48 Just about anything is possible. You can add config entries to show or hide a module based on day/date … time would be a bit more difficult but doable.
-
@cowboysdude where that day/date?
in the base?
-
A combination of
cronand somecommandable - Notification emittablemodules would work. -
@MMRIZE yes, but not in the base.
have to add other stuff
cron and remotecontrol
or something like that -
You can add the MMMRemoteControl Module to your config file. In a seperat Script you can send commands to Show or hide modules. You can run the Script in python for example.
-
I’m doing this on my setup, I’m using “MMM-ProfileSwitcher”. There you can do just about anything regarding showing a / a group of modules on different times/ dates…
I group mu modules with the “classes” option…
So the clock looks like this:{ disabled: false, module: "clock", hiddenOnStartup: true, position: "top_left", header: "Datum och tid", classes: "default Erik Camilla Louise Media Jobba Väder Födelsedag small", config: { showDate: true, dateFormat: "YYYY-MM-DD", showWeek: true } },It’s shown for almost all profiles… :)
Here are some parts of my conf…
My global settings for the module... { disabled: false, module: "MMM-ProfileSwitcher", hiddenOnStartup: true, header: "Profile", classes: "none", config: { title: false, useLockStrings: false, defaultTime: 600000, enterMessages: { "Erik Camilla Louise Kakan Cappuccino": "Hej %profile%!", "Erik": ["Hoppas dagen varit bra Erik!", "Ser man på, välkommen Erik!", "Kul att se dig Erik!"], "Camilla": ["Toppendag hoppas jag, Camilla!", "Oh, trevligt att se dig Camilla!", "Kul att se dig Camilla!"], "Louise": ["Kul i skolan idag Louise?", "Lekt något skoj idag Louise?", "Kul att se dig Louise!"], "Media": ["Hej, här är allt nytt!", "Här finns mycket nytt!", "Ny media!", "Hoppas det finns något att se."], "Jobba": ["Dags att jobba nu!", "Jobba på nu!", "Var på tiden!", "Dagen är inte slut än!"], "Klocka": ["Var på tiden!"], "Väder": ["Dags för väder!", "Här är allt om vädret!", "Hoppas det blir fint väder.", "Glöm inte att kolla vädret!"], "Skattjakt": ["Skattjakten är igång!", "Nu blir det skattjakt!", "Äntligen skattjakt!"], "Grattis": ["Bra jobbat!", "Grattis!"], }, leaveMessages: { "everyone": "Hejdå %profile%...", "Erik": ["Hejdå, jag kommer sakna dig...", true], "Camilla": ["Hejdå Camilla.", true], "Louise": ["Hejdå Louise.", true], "Media": ["Hoppas du hittade något.", true], "Jobba": ["Jobbat klart redan!?", true], "Klocka": ["Slut på tiden.", true], "Väder": ["Ha så trevligt.", true], "Skattjakt": ["Hoppas det varit kul!"], "Grattis": ["Ses om ett år..."], }, timers: { "Erik": {}, "Camilla": {}, "Louise": {}, "Kakan": {}, "Cappuccino": {}, "Klocka": {}, }, ignoreModules: ["alert", "updatenotification"] } }, Then I have a specific module for halloween.... :) { disabled: false, module: 'MMM-Videoplayer', hiddenOnStartup: true, position: "fullscreen_below", classes: "scheduler turn90", config: { random: true, loop: true, hideonstart: true, notification: "VIDEOPLAYER1", videolist: ["a", "list", "of", "videos..."], module_schedule: [ {from: '0 6 31 9 *', to: '3 6 31 9 *'}, {from: '6 6 31 9 *', to: '9 6 31 9 *'}, {from: '12 6 31 9 *', to: '15 6 31 9 *'}, {from: '18 6 31 9 *', to: '21 6 31 9 *'}, {from: '24 6 31 9 *', to: '27 6 31 9 *'}, {from: '30 6 31 9 *', to: '33 6 31 9 *'}, {from: '36 6 31 9 *', to: '39 6 31 9 *'}, {from: '42 6 31 9 *', to: '45 6 31 9 *'}, {from: '48 6 31 9 *', to: '51 6 31 9 *'}, {from: '54 6 31 9 *', to: '57 6 31 9 *'}, {from: '0 7 31 9 *', to: '3 7 31 9 *'}, {from: '6 7 31 9 *', to: '9 7 31 9 *'}, {from: '12 7 31 9 *', to: '15 7 31 9 *'}, {from: '18 7 31 9 *', to: '21 7 31 9 *'}, {from: '24 7 31 9 *', to: '27 7 31 9 *'}, {from: '30 7 31 9 *', to: '33 7 31 9 *'}, {from: '36 7 31 9 *', to: '39 7 31 9 *'}, {from: '42 7 31 9 *', to: '45 7 31 9 *'}, {from: '48 7 31 9 *', to: '51 7 31 9 *'}, {from: '54 7 31 9 *', to: '57 7 31 9 *'}, {from: '0 8 31 9 *', to: '3 8 31 9 *'}, {from: '6 8 31 9 *', to: '9 8 31 9 *'}, {from: '12 8 31 9 *', to: '15 8 31 9 *'}, {from: '18 8 31 9 *', to: '21 8 31 9 *'}, {from: '24 8 31 9 *', to: '27 8 31 9 *'}, {from: '30 8 31 9 *', to: '33 8 31 9 *'}, {from: '36 8 31 9 *', to: '39 8 31 9 *'}, {from: '42 8 31 9 *', to: '45 8 31 9 *'}, {from: '48 8 31 9 *', to: '51 8 31 9 *'}, {from: '54 8 31 9 *', to: '57 8 31 9 *'}, {from: '0 9 31 9 *', to: '3 9 31 9 *'}, {from: '6 9 31 9 *', to: '9 9 31 9 *'}, {from: '12 9 31 9 *', to: '15 9 31 9 *'}, {from: '18 9 31 9 *', to: '21 9 31 9 *'}, {from: '24 9 31 9 *', to: '27 9 31 9 *'}, {from: '30 9 31 9 *', to: '33 9 31 9 *'}, {from: '36 9 31 9 *', to: '39 9 31 9 *'}, {from: '42 9 31 9 *', to: '45 9 31 9 *'}, {from: '48 9 31 9 *', to: '51 9 31 9 *'}, {from: '54 9 31 9 *', to: '57 9 31 9 *'}, {from: '0 10 31 9 *', to: '3 10 31 9 *'}, {from: '6 10 31 9 *', to: '9 10 31 9 *'}, {from: '12 10 31 9 *', to: '15 10 31 9 *'}, {from: '18 10 31 9 *', to: '21 10 31 9 *'}, {from: '24 10 31 9 *', to: '27 10 31 9 *'}, {from: '30 10 31 9 *', to: '33 10 31 9 *'}, {from: '36 10 31 9 *', to: '39 10 31 9 *'}, {from: '42 10 31 9 *', to: '45 10 31 9 *'}, {from: '48 10 31 9 *', to: '51 10 31 9 *'}, {from: '54 10 31 9 *', to: '57 10 31 9 *'}, {from: '0 11 31 9 *', to: '3 11 31 9 *'}, {from: '6 11 31 9 *', to: '9 11 31 9 *'}, {from: '12 11 31 9 *', to: '15 11 31 9 *'}, {from: '18 11 31 9 *', to: '21 11 31 9 *'}, {from: '24 11 31 9 *', to: '27 11 31 9 *'}, {from: '30 11 31 9 *', to: '33 11 31 9 *'}, {from: '36 11 31 9 *', to: '39 11 31 9 *'}, {from: '42 11 31 9 *', to: '45 11 31 9 *'}, {from: '48 11 31 9 *', to: '51 11 31 9 *'}, {from: '54 11 31 9 *', to: '57 11 31 9 *'}, {from: '0 12 31 9 *', to: '3 12 31 9 *'}, {from: '6 12 31 9 *', to: '9 12 31 9 *'}, {from: '12 12 31 9 *', to: '15 12 31 9 *'}, {from: '18 12 31 9 *', to: '21 12 31 9 *'}, {from: '24 12 31 9 *', to: '27 12 31 9 *'}, {from: '30 12 31 9 *', to: '33 12 31 9 *'}, {from: '36 12 31 9 *', to: '39 12 31 9 *'}, {from: '42 12 31 9 *', to: '45 12 31 9 *'}, {from: '48 12 31 9 *', to: '51 12 31 9 *'}, {from: '54 12 31 9 *', to: '57 12 31 9 *'}, {from: '0 13 31 9 *', to: '3 13 31 9 *'}, {from: '6 13 31 9 *', to: '9 13 31 9 *'}, {from: '12 13 31 9 *', to: '15 13 31 9 *'}, {from: '18 13 31 9 *', to: '21 13 31 9 *'}, {from: '24 13 31 9 *', to: '27 13 31 9 *'}, {from: '30 13 31 9 *', to: '33 13 31 9 *'}, {from: '36 13 31 9 *', to: '39 13 31 9 *'}, {from: '42 13 31 9 *', to: '45 13 31 9 *'}, {from: '48 13 31 9 *', to: '51 13 31 9 *'}, {from: '54 13 31 9 *', to: '57 13 31 9 *'}, {from: '0 14 31 9 *', to: '3 14 31 9 *'}, {from: '6 14 31 9 *', to: '9 14 31 9 *'}, {from: '12 14 31 9 *', to: '15 14 31 9 *'}, {from: '18 14 31 9 *', to: '21 14 31 9 *'}, {from: '24 14 31 9 *', to: '27 14 31 9 *'}, {from: '30 14 31 9 *', to: '33 14 31 9 *'}, {from: '36 14 31 9 *', to: '39 14 31 9 *'}, {from: '42 14 31 9 *', to: '45 14 31 9 *'}, {from: '48 14 31 9 *', to: '51 14 31 9 *'}, {from: '54 14 31 9 *', to: '57 14 31 9 *'}, {from: '0 15 31 9 *', to: '3 15 31 9 *'}, {from: '6 15 31 9 *', to: '9 15 31 9 *'}, {from: '12 15 31 9 *', to: '15 15 31 9 *'}, {from: '18 15 31 9 *', to: '21 15 31 9 *'}, {from: '24 15 31 9 *', to: '27 15 31 9 *'}, {from: '30 15 31 9 *', to: '33 15 31 9 *'}, {from: '36 15 31 9 *', to: '39 15 31 9 *'}, {from: '42 15 31 9 *', to: '45 15 31 9 *'}, {from: '48 15 31 9 *', to: '51 15 31 9 *'}, {from: '54 15 31 9 *', to: '57 15 31 9 *'}, {from: '0 16 31 9 *', to: '3 16 31 9 *'}, {from: '6 16 31 9 *', to: '9 16 31 9 *'}, {from: '12 16 31 9 *', to: '15 16 31 9 *'}, {from: '18 16 31 9 *', to: '21 16 31 9 *'}, {from: '24 16 31 9 *', to: '27 16 31 9 *'}, {from: '30 16 31 9 *', to: '33 16 31 9 *'}, {from: '36 16 31 9 *', to: '39 16 31 9 *'}, {from: '42 16 31 9 *', to: '45 16 31 9 *'}, {from: '48 16 31 9 *', to: '51 16 31 9 *'}, {from: '54 16 31 9 *', to: '57 16 31 9 *'}, {from: '0 17 31 9 *', to: '3 17 31 9 *'}, {from: '6 17 31 9 *', to: '9 17 31 9 *'}, {from: '12 17 31 9 *', to: '15 17 31 9 *'}, {from: '18 17 31 9 *', to: '21 17 31 9 *'}, {from: '24 17 31 9 *', to: '27 17 31 9 *'}, {from: '30 17 31 9 *', to: '33 17 31 9 *'}, {from: '36 17 31 9 *', to: '39 17 31 9 *'}, {from: '42 17 31 9 *', to: '45 17 31 9 *'}, {from: '48 17 31 9 *', to: '51 17 31 9 *'}, {from: '54 17 31 9 *', to: '57 17 31 9 *'}, {from: '0 18 31 9 *', to: '3 18 31 9 *'}, {from: '6 18 31 9 *', to: '9 18 31 9 *'}, {from: '12 18 31 9 *', to: '15 18 31 9 *'}, {from: '18 18 31 9 *', to: '21 18 31 9 *'}, {from: '24 18 31 9 *', to: '27 18 31 9 *'}, {from: '30 18 31 9 *', to: '33 18 31 9 *'}, {from: '36 18 31 9 *', to: '39 18 31 9 *'}, {from: '42 18 31 9 *', to: '45 18 31 9 *'}, {from: '48 18 31 9 *', to: '51 18 31 9 *'}, {from: '54 18 31 9 *', to: '57 18 31 9 *'}, {from: '0 19 31 9 *', to: '3 19 31 9 *'}, {from: '6 19 31 9 *', to: '9 19 31 9 *'}, {from: '12 19 31 9 *', to: '15 19 31 9 *'}, {from: '18 19 31 9 *', to: '21 19 31 9 *'}, {from: '24 19 31 9 *', to: '27 19 31 9 *'}, {from: '30 19 31 9 *', to: '33 19 31 9 *'}, {from: '36 19 31 9 *', to: '39 19 31 9 *'}, {from: '42 19 31 9 *', to: '45 19 31 9 *'}, {from: '48 19 31 9 *', to: '51 19 31 9 *'}, {from: '54 19 31 9 *', to: '57 19 31 9 *'}, {from: '0 20 31 9 *', to: '3 20 31 9 *'}, {from: '6 20 31 9 *', to: '9 20 31 9 *'}, {from: '12 20 31 9 *', to: '15 20 31 9 *'}, {from: '18 20 31 9 *', to: '21 20 31 9 *'}, {from: '24 20 31 9 *', to: '27 20 31 9 *'}, {from: '30 20 31 9 *', to: '33 20 31 9 *'}, {from: '36 20 31 9 *', to: '39 20 31 9 *'}, {from: '42 20 31 9 *', to: '45 20 31 9 *'}, {from: '48 20 31 9 *', to: '51 20 31 9 *'}, {from: '54 20 31 9 *', to: '57 20 31 9 *'}, {from: '0 21 31 9 *', to: '3 21 31 9 *'}, {from: '6 21 31 9 *', to: '9 21 31 9 *'}, {from: '12 21 31 9 *', to: '15 21 31 9 *'}, {from: '18 21 31 9 *', to: '21 21 31 9 *'}, {from: '24 21 31 9 *', to: '27 21 31 9 *'}, {from: '30 21 31 9 *', to: '33 21 31 9 *'}, {from: '36 21 31 9 *', to: '39 21 31 9 *'}, {from: '42 21 31 9 *', to: '45 21 31 9 *'}, {from: '48 21 31 9 *', to: '51 21 31 9 *'}, {from: '54 21 31 9 *', to: '57 21 31 9 *'}, {from: '0 22 31 9 *', to: '3 22 31 9 *'}, {from: '6 22 31 9 *', to: '9 22 31 9 *'}, {from: '12 22 31 9 *', to: '15 22 31 9 *'}, {from: '18 22 31 9 *', to: '21 22 31 9 *'}, {from: '24 22 31 9 *', to: '27 22 31 9 *'}, {from: '30 22 31 9 *', to: '33 22 31 9 *'}, {from: '36 22 31 9 *', to: '39 22 31 9 *'}, {from: '42 22 31 9 *', to: '45 22 31 9 *'}, {from: '48 22 31 9 *', to: '51 22 31 9 *'}, {from: '54 22 31 9 *', to: '57 22 31 9 *'}, ] } }, Basically it plays a random video in the background of the mirror every 6 minutes from 06:00 to 23. :)I hope this gives some ideas how to do stuff… :)
-
Hi there,
I’ve recently written a module to inject custom code/styles for simple tasks and modifications like this. https://github.com/shin10/MMM-FF-code-injector
The following config for example will show the clock module only Mon - Fri, 06:00 - 10:00. I just tested it with MMM-Pages and it works quite nice.
{ module: "MMM-FF-code-injector", disabled: false, config: { position: "top", scripts: { intervals:[ { interval: 60 * 1000, // test all 60 seconds description: "Show module only Mon - Fri, 06:00 - 10:00", func: function() { MM.getModules().enumerate((module) => { if (module.name === "clock") { // name of the module to show/hide let now = new Date(); let day = now.getDay(); if (day >= 1 && day <= 5) { // mon -fri let hour = now.getHours(); if(hour >= 6 && hour <= 10) { // 06:00 - 10:00 module.show(1000, { lockString: "code-injector"}); return } } module.hide(1000, { lockString: "code-injector"}); } }); } }] }, }, }, -
@shin10 you could also use node-cron library and then you wouldn’t have to have all this date/time checking
-
@sdetweil For sure. I just hadn’t thought about that usecase till now. It’s just a little helper to things done without the need for writing a dedicated module and do some hacking. So I’d prefer to keep it free of dependencies.
That said, anyone in the need for a cron might be better off with MMM-ModuleScheduler. Hadn’t known about this (I’m pretty new to MM), but it seems to be the one @Snille is actually using, despite he mentioned the profile switcher instead? And it seems to do exactly what the the op asked for: https://github.com/ianperrin/MMM-ModuleScheduler#individual-module-schedules
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login