A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Categories

  • Announcements regarding the MagicMirror software and forum.

    64 Topics
    425 Posts
    KristjanESPERANTOK
    I didn’t want to start a separate thread for this, but I didn’t want to leave it unmentioned here in the forum either 🙂 The website has undergone a major modernization. Mainly technical changes under the hood and the design has been retained except for a few details. But there are also a few things that regular users of the site might notice: For example there is now a dark mode, responsiveness and accessibility have been improved, there is a favicon, an animated GIF showing the MagicMirror interface and faster loading times. https://magicmirror.builders/
  • Discuss the MagicMirror² core framework.

    492 Topics
    4k Posts
    S
    @videogame95 currently there is no one developing a new voice module.
  • Anything harware related can be found here.

    796 Topics
    7k Posts
    J
    @plainbroke – Thanks. I have used FEH in the past. I used it as a dedicated picture display on a Raspberry Pi, but had issues with it being stable. I am now using Magic Mirror running a single module now for the same purpose. It stopps displaying pictures every few days, so I suspect I have too many pictures loaded on the USB mounted there. I may give FEH a try again… Thanks again
  • Add exciting new features to your mirror.

    6k Topics
    58k Posts
    S
    @snerk4000 understood. I only mention that cause once an hour is hard to test Trying to give you other ways to test and verify
  • Make your mirror your own but modifying its appearance.

    432 Topics
    3k Posts
    R
    In case anyone finds this in the future, this behavior is actually natively supported with the cellStyle option set to flat. From the documentation: flat - No styling applied. Data is shown in default MM styling The default for this option is mimic which copies exactly what you have in your existing sheet. If you didn’t want to use flat, you could still use mimic but change your sheet to match the MM (background color black, text color #fff, #666, or #999). If use the custom css be aware that it will have undefined behavior if you try to change other options in the future. Thanks for using the module!
  • Share your project story with pictures.

    573 Topics
    5k Posts
    KristjanESPERANTOK
    @fred2nice That’s cool! I’ve been thinking about getting a laser cutter for a while. That would be one more reason to do so - even though I don’t even need a new frame now 😅
  • You have a problem with your mirror? Ask for help.

    5k Topics
    36k Posts
    S
    @butchkemper ok, the module development doc is here https://docs.magicmirror.builders/module-development/introduction.html the doc says module, but I call the JS in the browser modulename,js cause the NAME MUST match the ‘module name’ as used in config.js module: the note I made above comes from this comment in the modules dev doc Note 1: When a node helper sends a notification, all modules of that module type receive the same notifications. socketNotifications are ONLY between modulename.js and the node_helper.js in this module package. and the functions use the same name on both sides sendSocketNotfication and socketNotificationReceived a typical way to deal with this is for the modulename.js to provide the this.identifier value as part of every request to the node_helper (sendSocketNotification), and for the node_helper to send that value back on each response, (sendSocketNotification) and THEN the modulename.js checks to see if the response value matches its this.identifier… (in the socketNotificationReceived function) if NOT then the response is for some other instance these 3 steps are missing from the pihole-stats module components if you look at my sample module while reading the doc, you can see each piece https://github.com/sdetweil/SampleModule (it does NOT use the this.identifier) and there is a little flow info missing the node_helper.js in a module folder gets loaded at server side startup then the MagicMirror index.html gets loaded in the browser MagicMirror reads the config.js and loads each modules modulename.js into the browser as a script element, then calls the loaded/init/getScripts/getTemplates/getTranslations/start methods, and then finally the getDom or getTemplateData functions… once the content is loaded into the browser DOM, then a notification is sent MODULE_DOM_CREATED that means code could query and manipulate content with dom methods later when the modulename.js determines that NEW content should be displayed, it calls this.updateDom() and then MagicMirror will call back at getDom or getTemplate data, and after updating the internal DOM , it will signal via the MODULE_DOM_UPDATED notification modules should be good citizens, and stop updating after suspend() and resume updating after resume() if you open the browsr developers window, ctrl-shift-i, and select the elements tab, you can see the html structure of index.html filled out with the module info. scripts added to the head block and content added to the body block and if you use something like the MMM-pages module, you can watch the css effects as content is hidden and shown and you can use the elements tab to discover and experiment with different css styles on seleted elements to help create custom.css entries… see the second link in my signature below for a post on that info
  • A place to talk about whatever you want.

    1k Topics
    10k Posts
    A
    I am new here and recently joined this helpful community. Happy to join with all forum members. Thanks