A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.
  • Automatic checking of all MagicMirror² modules

    Pinned
    83
    2 Votes
    83 Posts
    87k Views
    BerkSmash1984B
    @KristjanESPERANTO Awesome. Thanks for the response!
  • Head first developing MM module for extreme beginners

    Pinned
    27
    5
    7 Votes
    27 Posts
    22k Views
    R
    Anyone have an idea on how to display an image instead of a line. I downloaded a jpeg image of a dog and I would like to display that instead of
  • MM as rolling picture frame

    21
    0 Votes
    21 Posts
    4k Views
    BKeyportB
    here’s how I did it. Set up SAMBA on the pi, and include a mapping to your photos drive (I wouldn’t recommend keeping them locally) magic mirror’s config, using MMM-Backgroundslideshow /* Magic Mirror Config by Brendan Keyport. */ /* Office - Certificate Display */ var config = { address: "0.0.0.0", port: 8082, // port is 8082 as I use a server/client style setup. ipWhitelist: [], language: "en", timeFormat: 12, units: "imperial", //logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"], customCss: "css/custom3.css", modules: [ { module: 'MMM-BackgroundSlideshow', position: 'fullscreen_below', config: { imagePaths: ['<path to shared folder>'], transitionImages: true, randomizeImageOrder: true, showAllImagesBeforeRestart: true, //transitionSpeed: 0, gradient: [0], horizontalGradient: [0], backgroundSize: "contain" } } /*************** DO NOT EDIT BELOW ***************/ ] }; if (typeof module !== "undefined") { module.exports = config; } Easy as Pi.
  • Dynamic Module Chaining

    3
    0 Votes
    3 Posts
    585 Views
    BKeyportB
    @haji6 Every module that supports this SHOULD have documentation that shows how they talk to each other. Imagine a room full of people. In that room - only one person can speak at a time. Person A (Calendar) will yell out “I have an Event at 8:30 called Appointment” and write it on it’s part of the whiteboard (Might be nowhere). Then Person B will hear it and write it on a whiteboard where it’s told to for all to see. This is a simplified version of how the notification system works. My module (MMM-Multimonth) and others uses the above concept to display data. Why rewrite work when you can use what’s provided?
  • MMM-GooglePhotos Updated

    12
    1
    0 Votes
    12 Posts
    2k Views
    J
    @Rberry91 said in MMM-GooglePhotos Updated: Ok@sdetweil thank you so much that worked. Other problem the photos don’t came up Awesome that worked!
  • 0 Votes
    2 Posts
    524 Views
    S
    @Mistiz you shouldn’t need any certificates for MM to external connections, as the source server is required to provide the cert that covers its connections… MM does not provide a cert, as we don’t use http, assuming we are on a close private network in our homes. certs are a pita(pain in the a) in general … for access INTO my system , I no longer use an open port, and don’t have to provide certs for every source, or router module(gateway) I use cloudflare zero trust tunnel. they provide the cert, and maintain it. their endpoint connector runs on your network and can http connect to services at that level.
  • Photoprism image module

    3
    0 Votes
    3 Posts
    698 Views
    B
    I have to admit that a LLM makes very beautiful code. It doesn’t work yet, but it is beautiful. This is the first version created: https://github.com/Brtrnd/MMM-Photoprism I’ll spend some more time on it this evening. Once the first draft works I think i can imagine quite a few extra’s I would like to add.
  • 0 Votes
    9 Posts
    1k Views
    D
    @sdetweil Maybe I’m wrong, and I haven’t spent a lot of time trying to test it, but I think regular moment will grab the date in the local timezone based on what is set in the system. You can’t do as much with OTHER timezones in regular moment, but I think at least that works. Whereas the regular javascript date will pull the date and time in UTC. That said, I do use moment-timezone in my modules–though some of them I have taken over maintaining, and they used regular moment to some success.
  • LICENSE: on modules.magicmirror.builders shows @noassertion instead of MIT

    12
    0 Votes
    12 Posts
    2k Views
    karsten13K
    @sdetweil said in LICENSE: on modules.magicmirror.builders shows @noassertion instead of MIT: click the hints for dev view bottom left hint link works … looks like problems on your side …
  • Module Development in TypeScript

    6
    2 Votes
    6 Posts
    2k Views
    F
    Hi @Jalibu, thanks for the typings. To be honest, it’s not the best possible integration. The MagicMirror repository includes a module-types.ts file, containing the most important types, which I extended a little to fit my needs. A deeper integration, like being able to get correct typings/autocompletion for the this object in functions, is not available. If I find myself using it more in the future, I may look into improving this. I want to share an little extension or may a solution for the problem quoted: import type { Config } from "../types/Config"; import type { State } from "../types/State"; interface FrontendModuleProperties extends Partial<Module.ModuleProperties<Config>> { state?: State; } Module.register<Config>("MMM-XX", { defaults: { x: 29, y: "abc", }, getStyles() { return ["z.css"]; }, <...> getTemplateData() { return { config: this.config, value: this.state?.value, }; }, <...> socketNotificationReceived(notificationIdentifier: string, payload: State) { if (notificationIdentifier === `ABC-${this.identifier}`) { const lastValue = this.state?.value; // <-- Here lastValue got correct type automatically <...> this.state = payload; } }, } as FrontendModuleProperties);
  • MMM-Carousel Pagination Icons

    48
    0 Votes
    48 Posts
    13k Views
    C
    @mumblebaj , @karsten13 and @sdetweil , thank you really for your help with this matter. I will test tomorrow and hope all this story will help other user in the future to profit from all your great job!
  • start() vs receiving waiting for MODULE_DOM_CREATED notification?

    3
    0 Votes
    3 Posts
    668 Views
    D
    @sdetweil I’d rather have late and working consistently than early and missed because of lag. I suspect most people boot their mirror at most once a day, so waiting an extra 30 seconds for the module to show content doesn’t seem like that big of a deal. But I’ll try DOM_OBJECTS_CREATED.
  • Need help for a module who give advice because of the weather

    4
    0 Votes
    4 Posts
    388 Views
    mumblebajM
    @Xx_Codeur_xX You could have a look at some of the modules that already does this. They get the weather from the default weather module, no need to redo this as it is already available. See either of the below. https://github.com/fruestueck/MMM-WeatherDependentClothes or https://github.com/Lavve/MMM-WeatherOutfit/tree/main
  • How to Use NY Times Subscription with Default Newsfeed Module

    9
    0 Votes
    9 Posts
    1k Views
    J
    @karsten13 – Yes, that’s what I figured. The problem from the provider’s perspective would be how to both give access to legitimate subscribers while limiting access to others. The only solution that springs to mind would be to authenticate the user when they query the server, but for something like this where all the users’ computers might each be coming for content several times each day - it begins to be a lot of computing overhead.
  • SampleCode for Module to read a specific Information from a webpage

    19
    0 Votes
    19 Posts
    3k Views
    S
    @newbi ok.
  • Need Help with Receiving Notifications

    4
    0 Votes
    4 Posts
    521 Views
    S
    @raspberrypi9 did you get this working?
  • Trouble with Sending Notifcation on Module Start

    5
    0 Votes
    5 Posts
    939 Views
    S
    @raspberrypi9 my pleasure, And actually DOM_OBJECTS_CREATED means YOUR module’s content has been placed in the DOM the first time And DOM_OBJECTS_UPDATED is each time after that Because updateDom() is asynchronous now If you ever tried to document.getElementByID after getDom(), but it returned null. Then you needed to wait for one of those notifications
  • How to communicate with magic mirror from a second raspberry pi?

    5
    0 Votes
    5 Posts
    855 Views
    S
    @raspberrypi9 i deleted the duplicate topic
  • Attribution Tag for Default Compliments Model

    8
    0 Votes
    8 Posts
    1k Views
    S
    @raspberrypi9 did you figure this out?
  • Help Implementing Custom Feature w/Calendar

    5
    0 Votes
    5 Posts
    447 Views
    S
    @sdetweil did you make any progress?