Read the statement by Michael Teeuw here.
Show Module based on date
-
@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