MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. innovation
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    I
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 41
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Help please

      @j-e-f-f
      Thank you so much. Checking right away

      posted in Development
      I
      innovation
    • Help please

      Hello, for my project I want to add multiple different screens - like an app. The monitor I bought is not a touch one so it cannot work like an iPad.

      So can I add multiple screens and with the voice command of “next” can it switch to another screen? How can I do that if it is possible?

      This would really help me. Thank you

      posted in Development
      I
      innovation
    • RE: MMM-AlarmClock

      @strawberry-3-141 Thank you! Works perfectly

      posted in Utilities
      I
      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.

      posted in Utilities
      I
      innovation
    • RE: Question/help

      @ashishtank Oh, how do I configure it on the raspberry pi?

      posted in Development
      I
      innovation
    • 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

      posted in Development
      I
      innovation
    • 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)
      }
      
      
      })
      
      posted in General Discussion
      I
      innovation
    • RE: Need help - New programmer

      sure @sdetweil, no problem!

      posted in General Discussion
      I
      innovation
    • 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

      posted in General Discussion
      I
      innovation
    • RE: I need your help

      @George yes it works! Thank you so much!

      posted in Development
      I
      innovation
    • 1 / 1