MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Made a birthday module

    Scheduled Pinned Locked Moved Entertainment
    39 Posts 4 Posters 7.9k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cgillinger @plainbroke
      last edited by

      @plainbroke Working on it! The plain and simple truth is I took a few shortcuts with the behaviour of the module, and that came back to bite me. I’m working on it, but its in my spare time and right now I have precious little of it. But as soon as I get it fixed, I’ll post here.

      plainbrokeP 1 Reply Last reply Reply Quote 0
      • plainbrokeP Offline
        plainbroke @cgillinger
        last edited by

        @cgillinger
        Sounds good. I will watch this form post for the update.

        Slow learner. But trying anyways.

        C 1 Reply Last reply Reply Quote 0
        • C Offline
          cgillinger @plainbroke
          last edited by cgillinger

          I THINK I’ve solved it. At least, it works on my test installation MagicMirror running on Linux Mint. I’ve tested it with MMM-Pages and MMM-Carousel, and now the transitions are working. However, there are a few things to note:

          It looks really weird when you first start MagicMirror. The reason is that the system starts up, immediately detects that a birthday is happening, and then triggers an untimed startup where the module isn’t fully initialized yet. It sorts itself out after the first transition, and since it’s somewhat of an edge case to start from scratch, I haven’t spent time fine-tuning it. A more reasonable scenario is that MagicMirror runs continuously, the day changes, and then the birthday event occurs—where everything works as expected.

          I wasn’t able to make the module overlay existing modules while dimming them slightly, as it did in my first version. This is due to the fact that my initial solution aggressively took control over the display. To make it work with Pages and Carousel while respecting their handling of module visibility, I had to take a different approach. This means that the module now displays on its own. Im going to look into how this might be solved next, I’d really like for it to show above the other modules of that page. Because of this, I had to rename it and treat it as a completely separate module, now called “MMM-Birthday-Paged”. I’ll also mark the original module so that users who rely on module switchers don’t accidentally pick the wrong one.

          As a bonus, after all my tweaking, I ended up with several different fireworks effects, so I left them in a separate subfolder. If you want to test them, just copy the existing “fireworks.js” from the root directory.

          Give it a try, and I hope it works for you too!

          URL:
          https://github.com/cgillinger/MMM-Birthday-Paged

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @cgillinger
            last edited by

            @cgillinger instead of using the start function directly

            Use the ALL_MODULES_STARTED notification
            Then call your renamed startup() function

            See https://docs.magicmirror.builders/development/notifications.html#system-notifications

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 1
            • X Offline
              xIExodusIx
              last edited by

              Hi cgillinger,

              I tested your new modul, MMM-Birthday-Paged, sadly it does not work for me, it should shown up on my MagicMirror on Page 1 with a lot of more informations, it does, firework and confetti work well, but it kills all of my other Informations on that page and the icons in front and back of the “gratulation text” will not be displayed, exactly as mentioned in my post some Days earlier.
              For me this version of yor Modul must have its own Page.

              C 1 Reply Last reply Reply Quote 0
              • C Offline
                cgillinger @xIExodusIx
                last edited by

                @xIExodusIx On the first issue, that is, currently, by design as I outline in my previous post. I’m looking into if there is a method to fix it, but Im not there yet.

                On the second issue that sounds like a font problem. What system are you on?

                1 Reply Last reply Reply Quote 0
                • X Offline
                  xIExodusIx
                  last edited by

                  @cgillinger Hi cglinger,

                  I’m using a Raspberry Pi 4B 4GB with RaspiOS Bookworm
                  MM Version is 2.30,
                  npm Version is 10.9.2,
                  node Version is 23.6.1.

                  I hope this would help.

                  C 1 Reply Last reply Reply Quote 0
                  • C Offline
                    cgillinger @xIExodusIx
                    last edited by

                    @xIExodusIx said in Made a birthday module:

                    I’m using a Raspberry Pi 4B 4GB with RaspiOS Bookworm
                    MM Version is 2.30,
                    npm Version is 10.9.2,
                    node Version is 23.6.1.

                    I think RaspiOS is missing the font. It might be solved by issuing:

                    sudo apt update
                    sudo apt upgrade -y
                    sudo apt install -y fonts-noto-color-emoji fonts-symbola ttf-ancient-fonts
                    

                    and then rebuild font cache

                    sudo fc-cache -f -v
                    

                    Then restarting Magic Mirror and/or Pi.

                    And if I get the time, Ill look into a more elegant solution.

                    X 1 Reply Last reply Reply Quote 0
                    • X Offline
                      xIExodusIx @cgillinger
                      last edited by

                      @cgillinger said in Made a birthday module:

                      @xIExodusIx said in Made a birthday module:

                      I’m using a Raspberry Pi 4B 4GB with RaspiOS Bookworm
                      MM Version is 2.30,
                      npm Version is 10.9.2,
                      node Version is 23.6.1.

                      I think RaspiOS is missing the font. It might be solved by issuing:

                      sudo apt update
                      sudo apt upgrade -y
                      sudo apt install -y fonts-noto-color-emoji fonts-symbola ttf-ancient-fonts
                      

                      and then rebuild font cache

                      sudo fc-cache -f -v
                      

                      Then restarting Magic Mirror and/or Pi.

                      And if I get the time, Ill look into a more elegant solution.

                      Thank you :-) , this solved my problem with the funny Icons in front and then end of the text.

                      Now the last problem(s) is to tell your Module not to hijack the whole page for itself and not to ignore the position where to be displayd on the mirror.
                      Your Module is really great, because there is a little bit of (funny) action on the mirror :-)
                      I’m sure you will solve the two Problems too an I’m looking forward for that. :-)

                      C 1 Reply Last reply Reply Quote 0
                      • C Offline
                        cgillinger @xIExodusIx
                        last edited by cgillinger

                        @xIExodusIx I believe I’ve solved the issue where MMM-Birthday-Pages was taking over the entire screen when active. There’s now a new toggle, immersiveMode, which can be set to either “true” or “false”.

                        "false" allows the birthday celebration to overlay existing modules while keeping them visible.
                        "true" means only the birthday celebration is displayed, hiding everything else.
                        

                        This also means you can have different behaviors on different Pages.

                        That said, I’ve only had time for a quick test, and it worked as expected on my Linux Mint installation. To be safe, I’ve uploaded it to a separate test repository. If it proves to be stable, I’ll merge it into the main one (I’m sure there are easier ways to do this, but I suck at Git). Repo URL:
                        https://github.com/cgillinger/mmm-Birthday-paged-test (and please note that you need to rename the folder to “mmm-Birthday-paged” after cloning)

                        So, give it a try and let me know how it goes!

                        X 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 3 / 4
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy