@strawberry-3-141 Thank you! Works perfectly
innovation
@innovation
Best posts made by innovation
Latest posts made by innovation
-
RE: MMM-AlarmClock
Hello! I have configured the module and it is working very well. However the alarm doesn’t stop. I want it to ring and display for only 5 seconds. How do I do that?
And is there a way to hide the “Work: Wed, 12:41pm” on the left top?
Would really appreciate the help. -
Question/help
Hello, I just wanted to know if there is a text to speech module that speaks on a time interval (example every 20 minutes). If there is could you please let me know which one?
Thank you
-
RE: Need help - New programmer
@ sdetweil, this is what I have entered in the js file. I am still not getting it:
/* sample module structure */ Module.register("SampleModule", { // define variables used by module, but not in config data some_variable: true, some_other_variable: "a string", // holder for config info from module_name.js config:null, // anything here in defaults will be added to the config data // and replaced if the same thing is provided in config defaults: { message: "STAY HYDRATED! DRINK A GLASS OF WATER" }, init: function(){ Log.log(this.name + " is in init!"); }, start: function(){ Log.log(this.name + " is starting!"); }, loaded: function(callback) { Log.log(this.name + " is loaded!"); callback(); }, // return list of other functional scripts to use, if any (like require in node_helper) getScripts: function() { return [ // sample of list of files to specify here, if no files,do not use this routine, or return empty list //'script.js', // will try to load it from the vendor folder, otherwise it will load is from the module folder. //'moment.js', // this file is available in the vendor folder, so it doesn't need to be available in the module folder. //this.file('anotherfile.js'), // this file will be loaded straight from the module folder. //'https://code.jquery.com/jquery-2.2.3.min.js', // this file will be loaded from the jquery servers. ] }, // return list of stylesheet files to use if any getStyles: function() { return [ // sample of list of files to specify here, if no files, do not use this routine, , or return empty list //'script.css', // will try to load it from the vendor folder, otherwise it will load is from the module folder. //'font-awesome.css', // this file is available in the vendor folder, so it doesn't need to be avialable in the module folder. //this.file('anotherfile.css'), // this file will be loaded straight from the module folder. //'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css', // this file will be loaded from the bootstrapcdn servers. ] }, // return list of translation files to use, if any /*getTranslations: function() { return { // sample of list of files to specify here, if no files, do not use this routine, , or return empty list // en: "translations/en.json", (folders and filenames in your module folder) // de: "translations/de.json" } }, */ // only called if the module header was configured in module config in config.js // getHeader: function() { // return this.data.header + " Foo Bar"; // }, // messages received from other modules and the system (NOT from your node helper) // payload is a notification dependent data structure notificationReceived: function(notification, payload, sender) { // once everybody is loaded up if(notification==="ALL_MODULES_STARTED"){ // send our config to our node_helper this.sendSocketNotification("CONFIG",this.config) } if (sender) { Log.log(this.name + " received a module notification: " + notification + " from sender: " + sender.name); } else { Log.log(this.name + " received a system notification: " + notification); } }, // messages received from from your node helper (NOT other modules or the system) // payload is a notification dependent data structure, up to you to design between module and node_helper socketNotificationReceived: function(notification, payload) { Log.log(this.name + " received a socket notification: " + notification + " - Payload: " + payload); if(notification === "message_from_helper"){ this.config.message = payload; // tell mirror runtime that our data has changed, // we will be called back at GetDom() to provide the updated content this.updateDom(1000) } }, // system notification your module is being hidden // typically you would stop doing UI updates (getDom/updateDom) if the module is hidden suspend: function(){ }, // system notification your module is being unhidden/shown // typically you would resume doing UI updates (getDom/updateDom) if the module is shown resume: function(){ }, // this is the major worker of the module, it provides the displayable content for this module start: { // now the timerRoutine will be called every 15 seconds, forever // it will change the string, and then inform MM to call to get new content setInterval(this.timerRoutine,15000) // start a repeating timer every 15 seconds }, getDom (){ var wrapper=createElement("div") wrapper.innerText=this.somestring // use the value of the somestring variable to display return wrapper; } // if user supplied message text in its module config, use it if(this.config.hasOwnProperty("message")){ // using text from module config block in config.js wrapper.innerHTML = this.config.message; } else{ // use hard coded text wrapper.innerHTML = "Hello world!"; } // pass the created content back to MM to add to DOM. return wrapper; }, timerRoutine: function(){ this.somestring="some other string "+ this.counter++; this.updateDom(time_to_delay_in_ms, 0 = immediately) } })
-
RE: Need help - New programmer
@sdetweil Hello, I am facing the same problem - and I want the same feature @smart_user mentioned. But I am sorry, I didn’t get the timer part. Which string are you talking about? and where will I add the updateDom()? Please help
-
I need your help
I want to add a small picture - 11 by 5cm onto my display. I want it to be at the bottom left of the display. I have configured the MMM-GooglePhotos module. However the image isn’t showing up - instead there is a “Loading…” button. I waited for an entire day to see if it loads but it did not. Here is my config.js code. Please help me resolve this:
{ module: "MMM-GooglePhotos", position: "bottom_right", config: { albums: ["SmartMirror"], // Set your album name. like ["My wedding", "family share", "Travle to Paris"] updateInterval: 1000 * 60, // minimum 10 seconds. sort: "random", // "old", "random" uploadAlbum: null, // Only album created by `create_uploadable_album.js`. condition: { fromDate: null, // Or "2018-03", RFC ... format available toDate: null, // Or "2019-12-25", minWidth: 400, // Or 400 maxWidth: 80000, // Or 8000 minHeight: 400, // Or 400 maxHeight: 8000, // Or 8000 minWHRatio: "> 1", maxWHRatio: "> 1", // WHRatio = Width/Height ratio ( ==1 : Squared Photo, < 1 : Portraited Photo, > 1 : Landscaped Photo) }, showWidth: 640, // These values will be used for quality of downloaded photos to show. real size to show in your MagicMirror region is recommended. showHeight: 380, timeFormat: "YYYY/MM/DD HH:mm", // Or `relative` can be used. }