A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Screen Flashes/glitches after ~10 min of operation

    Solved
    5
    0 Votes
    5 Posts
    1k Views
    Mykle1M
    @jynx13 Glad you got it sorted out. :thumbsup:
  • Adjust the brightness of the MagicMirror

    Unsolved
    7
    0 Votes
    7 Posts
    3k Views
    CyruS1337C
    Ok, I will do it. Many Thanks
  • Magic Mirror Not starting

    Unsolved
    3
    0 Votes
    3 Posts
    2k Views
    bheplerB
    It looks like pm2 isn’t completely configured. Did you run the pm2 startup command and did you run the command it spits out at the end?
  • I could not install MM2 in a new Raspberry pi 3+

    Solved
    4
    0 Votes
    4 Posts
    1k Views
    S
    Thank you ! Finally solved using this detailed guide : https://forum.magicmirror.builders/topic/9356/the-latest-install-guide-mm-w-google-assistant
  • MMM-cryptocurrency - ticker only returns top 100 currencies

    Unsolved
    1
    0 Votes
    1 Posts
    549 Views
    kwyjibo089K
    Looks like the ticker only returns 100 currencies, the limit parameter seems useless. Anybody experienced this? Would like to have a currency outside the top 100 on my mirror. Any workaround? Or would it be best to open an issue on the module’s github site?
  • I'm tired with Magic Mirror 6 update

    Solved
    8
    0 Votes
    8 Posts
    2k Views
    S
    @sdetweil said in I'm tired with Magic Mirror 6 update: ypically you also must npm install in each module folder if they have a package.json file so that their components are at the same level I would start with each module over the defaults and comment them out, and back in one by one Ok, i’ll try
  • Installation of USB Microphone for using Google Assistant (MMM-AssistantMk2)

    Unsolved
    5
    1
    0 Votes
    5 Posts
    2k Views
    S
    @Fabian ok, I don’t know anything about that module, sorry
  • MMM-ISS and Daily XKCD - Can't get these modules working

    Solved
    7
    0 Votes
    7 Posts
    1k Views
    Mykle1M
    @Swashbucklin Glad you got it working! :thumbsup:
  • Strange line in the middle of the monitor

    Unsolved
    4
    1
    0 Votes
    4 Posts
    933 Views
    ejay-ibmE
    @Vauxdvihl then I would simply raise a git issue to the dev. I don’t know this module, but I would say at first it come from the css, I might be worng. Other user of the module can probably help better , but I think the dev can figure this out quickly Ejay
  • Can't get pm2 to auto launch after reboot

    Unsolved
    4
    0 Votes
    4 Posts
    2k Views
    wishmaster270W
    Hi, i had the same problem the last weeks. It looks like pm2 creates the startup script for systemd with wrong parameters. You should check if there exists a file “/etc/systemd/systemd/pm2-pi.service” In my case the file existed but contained the following lines: USER=root which should be USER=pi Environment=PM2_HOME=/root/.pm2 which should be Environment=PM2_HOME=/home/pi/.pm2 PIDFile=/root/.pm2/pm2.pid which should be PIDFile=/home/pi/.pm2/pm2.pid If the file does not exist you can create it with: sudo pm2 startup systemd -u pi But you need to check the values again after creating it. In the end you can enable the script with: sudo systemd enable pm2-pi.service The parts in described by @Chris are needed as well
  • Error after latest MM Update

    Solved
    3
    0 Votes
    3 Posts
    976 Views
    V
    Thanks a lot Fixed the prob
  • Optimize position in "bottom right"

    Unsolved
    2
    1
    0 Votes
    2 Posts
    953 Views
    Mykle1M
    @chris1971 Please try in your custom.css file and adjust accordingly .MMM-TextClock { margin-bottom: -50px; }
  • MMM-NOAA3 - Font size

    Unsolved
    8
    0 Votes
    8 Posts
    3k Views
    MedoM
    @myself: ;-) Found the solution by myself. I had the “.xsmall” part copied over from the original css file in my custom.css [image: 1552067080889-b2e5d39d-c6ac-4949-acea-854b9ff07e5e-grafik.png] This one is used to scale the font size…
  • MMM-Hotword being on all the time (also MMM-AssistantMk2)

    Unsolved
    5
    0 Votes
    5 Posts
    3k Views
    B
    Hi @CarstenD Can you please tel me what does this part of your config do? triggers:[ { trigger: "HOTWORD_DETECTED", fires: [ { fire:"HOTWORD_PAUSE", }, { fire:"ASSISTANT_ACTIVATE", delay: 200, payload: function(payload) { return { "profile": payload.hotword } Thanks.
  • Create divs dynamically and add it to carousal

    Unsolved
    4
    0 Votes
    4 Posts
    1k Views
    S
    @sunnykeerthi you need to do the same for all the content… sort of reverse of what you are doing… the content is not going to be placed in the dom if you don’t pass it back to MM. (on the return) wrapperEl.appendChild(container); last return wrapperE1; setTimeout(this.showSlides(container, counter), 2000); // Change image every 2 seconds when the timer goes off, the context of the pgm is unknown… its asyncronous… it doesn’t KNOW what container and counter are… these were built on the program stack, which has long since gone away…(2 seconds ago)… the model for MM is you call this.updateDom(optional_delay) and later MM will call getDom() to gte the Modules contribution to the dom… that contribution is not IN the dom until sometime after the getDom() rourine returns the topmost element of that contribution tree. only getDom() should provide content… var slideIndex = -1; getDom: function () { console.log('get dom'); // note that you are rebuilding your entire dom contribution EVERY time getDom is called // the prior content is destroyed (yanked out of dom), and this content is injected in its place // if all you are doing on each cycle thru is to chaneg the visibility of one element // then u should build it once, and use it later var wrapperEl = document.createElement("div"); var container = document.createElement("div"); container.className = "slideshow-container"; var div1 = document.createElement("div"); div1.className = "mySlides fade"; var img1 = document.createElement("img"); img1.src = "https://www.w3schools.com/howto/img_nature_wide.jpg"; div1.appendChild(img1); container.appendChild(div1); var div2 = document.createElement("div"); div2.className = "mySlides fade"; var img2 = document.createElement("img"); img2.src = "https://www.w3schools.com/howto/img_mountains_wide.jpg"; div2.appendChild(img2); container.appendChild(div2); var div3 = document.createElement("div"); div3.className = "mySlides fade"; var img3 = document.createElement("img"); img3.src = "https://www.w3schools.com/howto/img_snow_wide.jpg"; div3.appendChild(img3); container.appendChild(div3); wrapperEl.appendChild(container); // indicate which element above is visible // content not yet in dom this.showSlides(container); Log.log("slide payload >> "); // tell MM to insert THIS content where our contribution goes into the dom // if there was other content there, destroy it return wrapperEl; }, // only called from getDom() showSlides: function (container) { var slides = container.childNodes; console.log("ClassName " + slides.length); // where did this come from // if in your module contribution, it will not // exist in dom until AFTER getDom() returns // you are searching the DOM (document.) // it is not used here var dots = document.getElementsByClassName("dot"); // make all slides hidden (on return from getDom()) for (var i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } // show next slide in list slideIndex++; // if index more than slides available, start at first again if (slideIndex > slides.length) { slideIndex = 0 } // set selected slide visible slides[slideIndex ].style.display = "block"; // indicate we should force getDom() to be called in 2 seconds // which will rebuild the dom contribution again setTimeout(this.updateDom, 2000); // Change image every 2 seconds },
  • Noob need help

    Solved
    11
    0 Votes
    11 Posts
    4k Views
    R
    @Muzziboy Great that it worked out! :)
  • Backup Magic Mirror..?

    backup back up
    3
    1 Votes
    3 Posts
    2k Views
    bheplerB
    @roxx - You can always create an ISO file of your SD card. You can restore from that if your SD card becomes corrupted. I find that copying the config.js file is 90% of the way there. It will list the modules that you have installed, which you can download fresh from GitHub with little problem. The config file will contain the API keys, so that’s the part that individual to your mirror in most cases. Having a copy of the Raspbian image on hand is probably another 5%. Spinning up a new Pi with a given config.js isn’t that hard. Flash the Raspian image to SD card and boot to it. Remove unwanted features (Wolfram Alpha, Minecraft, LibreOffice, etc.) Update, upgrade, distro upgrade. Install Node, Electron & XScreenSaver. Configure screensaver to never save the screen. Clone Magic Mirror & npm install Restoreconfig.js from backup. Clone & npm install the modules listed in the config.js file. enjoy!
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
  • Multiple Calendars

    Unsolved
    3
    0 Votes
    3 Posts
    2k Views
    M
    Nilnik, I did sort it out, I ended up putting Birthdays and Holidays in there own section, it now displays birthdays above the holidays. My only issue now is its only showing 1 persons birthday when I know there are many within the next month. Funny the one that is showing is 5 months from now. Thanks for the quick reply. MW
  • 0 Votes
    5 Posts
    1k Views
    ?
    @jwashington Well, very hard to catch your points (Sorry, for my poor English), MMM-AssistantMk2 and MMM-Hotword couldn’t be the solution of your issue? MMM-AssistantMk2 is using service version to output visual response And MMM-Hotword is the awakener with Snowboy. Two modules are well combined and implemented into MM system directly. So you can control MM or its modules with these modules. (Of course some HARD configuration will be needed. and installation is not so easy.) But the goal of the module is not becoming alternative Google Home device. it can gives a voice command feature for controlling MM.