Navigation

    MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord
    1. Home
    2. innovation
    I
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    innovation

    @innovation

    0
    Reputation
    9
    Posts
    5
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    innovation Follow

    Best posts made by innovation

    This user hasn't posted anything yet.

    Latest posts made by 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
    • 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.
        }
      
      posted in Development
      I
      innovation