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

    Dec 21, 2019, 8:15 AM
    4 Votes
    14 Posts
    3k Views
    Hi folks, I’m no expert at all and it was a lot of trial and error. I used the lower_third position because there aren’t any other modules in that position which were also moving around the screen when changing the position of MMM-Solar-Picture. Also the NASA-watermark is still there in the upper left corner of the shown solar picture. It is just hidden behind the Earth module, so that worked out for me. My config.js on a 1080p screen { module: "MMM-SolarPicture", //IGNORED position: "lower_third", config: { imageType: 'AIA 304', updateInterval: 1 * 60 * 60 * 1000, //(1 hour) maxMediaWidth: 1200, maxMediaHeight: 1200 } }, I added these lines to my custom.css .MMM-SolarPicture img { position: absolute; top: +100px; left: +1100px; opacity: 1 !important; } Good luck with moving around your sun and kind regards
  • Mmm-OneDrive help

    12 days ago
    0 Votes
    1 Posts
    82 Views
    Hi I managed to install and auth. I have put photo in my OneDrive album but log is showing : [ERROR] Error: HEIF image not found [ERROR] [ONEDRIVE] [node_helper] failed to refresh and send chunk: [2025-06-05 21:35:42.315] [ERROR] [ONEDRIVE] [node_helper] HEIF image not found I have both jpg and heic in the folder. What should I do here
  • alternative to googlephoto?

    13 days ago
    0 Votes
    2 Posts
    132 Views
    I’ve also looked for some alternatives. If you have a chance to host an own or to rent a nextcloud instance, you can use MMM-RandomPhoto. If you would like to use another cloud-service, you can copy your pictures to OneDrive and use MMM-OneDrive
  • MMM-Photoprism

    16 days ago
    0 Votes
    1 Posts
    108 Views
    Hi all I’ve created a photoprism image viewer to replace google images. This is my fist thing I’ve made. Honestly it’s 90% generated with LLM. Description: The module will every 5 minutes (configurable) download a random image from an album to the cache folder and then show this image. I don’t add pictures because I don’t feel like putting my children online. Download: // Remove the spaces and add your Github module repository [card:Brtrnd/MMM-Photoprism] https://github.com/Brtrnd/MMM-Photoprism #future features Configuring what info you see as overlay (location, picturename, …). the height/width are now set with max-width. I’d like to make that configurable. More styling options. Feel free to pull anything you like. Admitedly I don’t check github weekly (maybe monthly).
  • MMM-CalvinAndHobbes

    Dec 24, 2019, 7:40 AM
    0 Votes
    9 Posts
    2k Views
    CAN someone help me? Calvin and Hobbes is my WIFEs favorite part of my MM. My problem is it loads the same comic over and over never changes… This started a few months ago. I removed it and reinstalled it, Then I was getting blank screen saying loading. NEVER DID. Then replaced the node_helper.js file with the one from mdiorio’s post above. and it now gets a the same comic instead of just a loading message. So then I thought I will remove old version and loaded B3DTech’s That sent me back to loading message and never showed a comic. Then I went back to the original version from rahultadak then had to reload the node_helper.js and I am back to the same old comic showing all the time… PLEASE HELP. Thanks in advance to the incredible crew on this site.
  • MMM-ImmichSlideShow not working anymore since 1.133.1

    24 days ago
    0 Votes
    4 Posts
    165 Views
    @Merowinger awesome!
  • 1 Votes
    1 Posts
    139 Views
    Description: The MMM-Cinestar-FDW displays the “Film der Woche” (Movie of the Week) from Cinestar cinemas on your MagicMirror². This module automatically shows the weekly featured film as soon as it’s announced — typically late Wednesday or early Thursday. Screenshots: [image: 1746210524622-fa795be6-ca76-4569-a6bd-9aaefb2ce538-example_1.png] Download: Click here https://github.com/LukasWestholt/MMM-Cinestar-FDW Version 1.0 Configurable poster height
  • Made a birthday module

    Jan 19, 2025, 11:43 AM
    1
    7 Votes
    39 Posts
    6k Views
    @plainbroke Yes, that might do the trick! If MagicMirror manages to keep the two settings in sync.
  • 0 Votes
    7 Posts
    368 Views
    @sdetweil we did these steps
  • MMM-trakt-ondeck

    Mar 3, 2025, 3:09 AM
    1 Votes
    2 Posts
    191 Views
    Trakt is a fantastic tool for keeping track of your favorite shows, progress, and upcoming episodes. If you’re ever looking to promote content like TV shows or movies to the right audience, digital marketing can play a vital role. At ixoric, a trusted [digital marketing company, we specialize in creating strategies that help businesses connect with their audience effectively—whether it’s through social media, targeted ads, or content marketing. Let us know if you’d like to learn more about how we can help your brand shine!
  • 0 Votes
    20 Posts
    2k Views
    @sdetweil MMM-BackgroundSlideshow seems to do exactly what I want, but I think your handling of formatting the images is better.
  • Let it snow now Magic Mirror

    Dec 11, 2024, 1:39 PM
    3 Votes
    23 Posts
    3k Views
    @sdetweil Yes, I understand, but it’s not the cost itself that’s the issue (although it would have been a problem if there was a cost). The concern is having to provide my credit card details. It’s not that I distrust OpenWeather, but I prefer not to share them unnecessarily. You never know, for example, if they might get hacked.
  • 5 Votes
    7 Posts
    2k Views
    @KristjanESPERANTO Now that’s a whole new approach. Thanks, it works!
  • MMM-Fireworks

    Dec 29, 2024, 9:44 PM
    3 Votes
    15 Posts
    2k Views
    Hi, I’ve just released an update to solve several requests and problems. https://github.com/ChrisF1976/MMM-Fireworks Multiple Scheduled Events: The module now accepts an array of scheduled events (each with its own start time and text message). At each event time, the fireworks start with the corresponding overlay text. Two separate notifications have been added: NotificationStart (e.g. “FireFireFire”) starts the fireworks immediately using either the notification’s payload text or a default (textNotification). NotificationStop (e.g. “StopFire”) stops the fireworks immediately if they are running. When a notification is received, it overrides the scheduled events temporarily without affecting future scheduled shows. See also updated config! You can test the notifications with this simple module. I used it during development. I created a small start and stop button you can use. If you want to test the notification sender module you need to change the “fullscreen_above” to any other region of the mirror. Otherwise you cannot click on the buttons because they’re “behind” the MMM-Fireworks module… Config: { module: "MMM-NotificationSender", position: "top_left", config: { startNotification: "FireFireFire", stopNotification: "StopFire", startText: "Test me!", //leave blank to use text from MMM-Fireworks stopText: "Stop Fire", //nothing happens currently - maybe not needed } }, Module: Module.register("MMM-NotificationSender", { // Default configuration options. These can be overwritten in config.js. defaults: { // Notification names to send. Other modules can listen to these names. startNotification: "START_NOTIFICATION", stopNotification: "STOP_NOTIFICATION", // Text payloads for the notifications. startText: "This is a start notification.", stopText: "This is a stop notification." }, // Called when the module is started start: function() { Log.info("Starting module: " + this.name); }, // Override the getDom method to create your custom UI. getDom: function() { // Create a wrapper element to contain the buttons. var wrapper = document.createElement("div"); wrapper.style.textAlign = "center"; // Create the Start button var startBtn = document.createElement("button"); startBtn.innerHTML = "Start"; startBtn.style.marginRight = "10px"; startBtn.addEventListener("click", this.sendStartNotification.bind(this)); wrapper.appendChild(startBtn); // Create the Stop button var stopBtn = document.createElement("button"); stopBtn.innerHTML = "Stop"; stopBtn.addEventListener("click", this.sendStopNotification.bind(this)); wrapper.appendChild(stopBtn); return wrapper; }, // Function to send the start notification sendStartNotification: function() { // Log to console and MagicMirror logs to check the button click event. console.log("Start button pressed. Sending start notification..."); Log.info( "Sending start notification: " + this.config.startNotification + " with payload: " + JSON.stringify({ text: this.config.startText }) ); // Send the notification with the configured name and payload. this.sendNotification(this.config.startNotification, { text: this.config.startText }); }, // Function to send the stop notification sendStopNotification: function() { // Log to console and MagicMirror logs to check the button click event. console.log("Stop button pressed. Sending stop notification..."); Log.info( "Sending stop notification: " + this.config.stopNotification + " with payload: " + JSON.stringify({ text: this.config.stopText }) ); // Send the notification with the configured name and payload. this.sendNotification(this.config.stopNotification, { text: this.config.stopText }); } });
  • Bird of the day

    Dec 3, 2024, 3:43 PM
    1
    4 Votes
    5 Posts
    855 Views
    @cgillinger We are really enjoying the Bird of the Day on the MagicMirror! Not sure if this was just a problem for me, but we were finding the same birds were being displayed and they were almost all ducks. I think the nuthatch API was always using the “Default value : 1” for page and “Default value : 25” for pageSize, so there were only 25 possible birds. With the pageSize of 25 I think there are a maximum of 15 pages in their database. I fudged my .js file like this, but there is probably a better was to do this, I’m not a developer. Something to consider for future updates getBird: function () { const randPage = Math.floor(Math.random() * 15) + 1; const endpoint = this.config.endpoint + "&page=" + randPage; fetch(endpoint, { headers: { "api-key": this.config.apiKey }, })
  • 0 Votes
    2 Posts
    840 Views
    I know this is an old thread, but I just came across this today. I found you can fix this by putting limitComicHeight: false, in your config This is what mine looks like and it works great. { disabled: false, module: 'MMM-CalvinAndHobbes', position: 'middle_center', classes: "calvin", config: { invertColors: false, grayScale: false, updateInterval: 1000 * 60 * 60 * 12, limitComicHeight: false, } } I also had to adjust my css because of the zoom, but you may not need to. #cahcomiccontent { zoom: 80%; }
  • 0 Votes
    1 Posts
    199 Views
    I created a very simple and lightweight background wallpaper module. It also exposes 3 URLs to control your wallpaper using your devices like phone and smart watch gestures. Here is the link to my github repository https://github.com/sumitnsit/MMM-Wallpaper [image: 1735054247091-example-resized.jpg] Control Slideshow using API Remote URL Description http://{IP Address}:8080/next Loads next wallpaper and pauses the slideshow for 30 seconds http://{IP Address}:8080/last Loads previous wallpaper and pauses the slideshow for 30 seconds http://{IP Address}:8080/resume Resume the slideshow if you want it to resume before 30 seconds pause. Control slide show using iPhone’s Shortcuts You can create shortcuts on iPhone’s Shortcuts app to control the slideshow using your iPhone Create a new shortcut Add Get contents of from actions and add URL for next/last/resume. Be a magician in font of MagicMirror and control wallpaper with your hand gestures. Go to Settings > Accessibliity > AssistiveTouch > Hand Gestures Assign gestures to shortcuts created ealiear. Tap > Last DoubleTap > Next Clench > Resume [image: 1735054239781-watch.jpeg]
  • New module: Weather effects

    Dec 28, 2024, 11:52 AM
    3
    4 Votes
    27 Posts
    3k Views
    @uros76 awesome… also no idea why it wouldn’t work before
  • 1 Votes
    1 Posts
    134 Views
    Hi guys, I’ve created a new module. My motivation was to see what’s up around me in my city. I’ve missed so many events in my life, so I was searching for an event reminder. But I didn’t find anything that fits to my belongings. So I decided to create something on my own: MMM-EventSearch The MMM-EventSearch module for MagicMirror fetches and displays event information using the SerpAPI to search for events based on a given query, location, and other parameters. It uses in this case google (see SerpApi for other options) and displays the list results from google which everyone has seen already. To find a suitable query go to goolge and try a little for your city or surrounding city/provice/state. The results are currently limited to the the results that google initally shows. So the “mode results” button does not work or is not accessible with this API! The module dynamically generates a table with event details, displaying: Date/Time: Event’s date and time. Title: The title of the event. Image: A thumbnail image of the event, if available, which links to the event’s page. Event Fetching: Events are refreshed periodically based on the updateInterval. On the free plan from SerpAPI 100 calls are free per month. So be careful. CSS Styling is a little acc. to Google results. [image: MMM-EventSearch.png?raw=true] Have fun! Cheers Chris.
  • 0 Votes
    1 Posts
    95 Views
    I created a very simple and lightweight background wallpaper module. It also exposes 3 URLs to control your wallpaper using your devices like phone and smart watch gestures. Here is the link to my github repository https://github.com/sumitnsit/MMM-Wallpaper