MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. joey
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    J
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 23
    • Groups 0

    joey

    @joey

    2
    Reputation
    8
    Profile views
    23
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    joey Unfollow Follow

    Best posts made by joey

    • RE: Way to change horizontal or vertical tiling for regions?

      @sdetweil That does work. Looking back, I did try that, but I wonder if maybe I had a typo in the region name or something.

      Makes things side-by-side as you say (for my usage with upper_third region):

      .region.upper.third  .container {
        flex-direction: row;
      }
      

      Thanks, as always, for all the hard work and all the kind help!

      posted in Feature Requests
      J
      joey
    • RE: Pollen module

      I figured it out, at least for my system. I leaned on ChatGPT to figure out how to fix it. It appeared that it would sometimes update when I had MagicMirror running on the mirror system, but I also had a browser open to troubleshoot. Reloading the browser would sometimes make the module work.

      It appears that the problem is the delay for updateDom might have been causing a timing issue. I posted the following as an issue to the module GitHub page:

      In MMM-Pollen.js, changing “this.updateDom(this.config.fadeSpeed)” (line 132) to “this.updateDom(0)” seems to fix the problem I am seeing. There may be a more elegant solution, and it is possible this avoids one issue but can cause a different issue. Hopefully, vincep5 (or someone who knows more JS than I do) can find a proper way to fix this (or put logic to avoid the problem I see).

      At some point, I will learn more JavaScript AND learn how to properly contribute code changes to GitHub projects. For today, I got a thing working and now I have to get back to other stuff.

      @sdetweil This is entirely vincep5’s code (except for the one change I made). I am happy to keep using others’ modules, but I have not found the courage or time to make or fork things myself yet!

      posted in Requests
      J
      joey

    Latest posts made by joey

    • RE: Pollen module

      I figured it out, at least for my system. I leaned on ChatGPT to figure out how to fix it. It appeared that it would sometimes update when I had MagicMirror running on the mirror system, but I also had a browser open to troubleshoot. Reloading the browser would sometimes make the module work.

      It appears that the problem is the delay for updateDom might have been causing a timing issue. I posted the following as an issue to the module GitHub page:

      In MMM-Pollen.js, changing “this.updateDom(this.config.fadeSpeed)” (line 132) to “this.updateDom(0)” seems to fix the problem I am seeing. There may be a more elegant solution, and it is possible this avoids one issue but can cause a different issue. Hopefully, vincep5 (or someone who knows more JS than I do) can find a proper way to fix this (or put logic to avoid the problem I see).

      At some point, I will learn more JavaScript AND learn how to properly contribute code changes to GitHub projects. For today, I got a thing working and now I have to get back to other stuff.

      @sdetweil This is entirely vincep5’s code (except for the one change I made). I am happy to keep using others’ modules, but I have not found the courage or time to make or fork things myself yet!

      posted in Requests
      J
      joey
    • RE: Pollen module

      After chasing my tail on the Referrer issue, I finally just started throwing “console.log” everywhere in the .js. By dumping the actual result from the query (called “body”), I can actually see valid data being returned! So, it is getting the data, but failing to parse/process/display it. The module is stuck on “Loading…” (And, even weirder, while restarting my MM over and over, it seemed like the module worked once! But with no changes, it is not working again now.)

      I am digging into how it parses the data, and learning a lot about the console.log statement to figure out where it is breaking down.

      See below for proof that the module is actually pulling data. Hopefully, tomorrow will bring more time to investigate.

      On a side note, it is amazing how easy it is to lose track of time while working on what amounts to a sophisticated clock!

      /* Magic Mirror
       * Module: Pollen allergies
       */
      var NodeHelper = require('node_helper');
      var request = require('request');
      module.exports = NodeHelper.create({
        start: function () {
          console.log('MMM-Pollen helper started ...');
        },
        getData: function (url) {
            var self = this;
            console.log('requesting:' + url);
            request({ url: url, headers: {'Referer' : url}, method: 'GET' }, function (error, response, body) {
                if (!error && response.statusCode == 200) {
                    var result = JSON.parse(body);
                    self.sendSocketNotification('POLLEN_RESULT', result);
      -->       console.log('display body contents:' + body);
                } else {
                    console.log("MMM-Pollen : Could not load data.");
                }
            });
        },
        //Subclass socketNotificationReceived received.
        socketNotificationReceived: function(payload) {
           this.getData(payload);
        }
      });
      
      [2026-05-27 20:20:28.607] [LOG]   Module helper loaded: MMM-Pollen 
      [2026-05-27 20:20:29.747] [LOG]   Connecting socket for: MMM-Pollen 
      [2026-05-27 20:20:29.747] [LOG]   MMM-Pollen helper started ... 
      [2026-05-27 20:20:31.512] [LOG]   requesting:https://www.pollen.com/api/forecast/current/pollen/90210 
      [2026-05-27 20:20:31.605] [INFO]  Checking git for module: MMM-Pollen 
      [2026-05-27 20:20:31.733] [LOG]   display body contents:{"Type":"pollen","ForecastDate":"2026-05-27T00:00:00-04:00","Location":{"ZIP":"90210","City":"BEVERLY HILLS","State":"CA","periods":[{"Triggers":[{"LGID":186,"Name":"Oak","Genus":"Quercus","PlantType":"Tree"},{"LGID":346,"Name":"Grasses","Genus":"Grasses","PlantType":"Grass"},{"LGID":236,"Name":"Mulberry","Genus":"Morus","PlantType":"Tree"}],"Period":"0001-01-01T00:00:00","Type":"Yesterday","Index":4.5},{"Triggers":[{"LGID":186,"Name":"Oak","Genus":"Quercus","PlantType":"Tree"},{"LGID":346,"Name":"Grasses","Genus":"Grasses","PlantType":"Grass"},{"LGID":236,"Name":"Mulberry","Genus":"Morus","PlantType":"Tree"}],"Period":"0001-01-01T00:00:00","Type":"Today","Index":4.5},{"Triggers":[{"LGID":186,"Name":"Oak","Genus":"Quercus","PlantType":"Tree"},{"LGID":346,"Name":"Grasses","Genus":"Grasses","PlantType":"Grass"},{"LGID":236,"Name":"Mulberry","Genus":"Morus","PlantType":"Tree"}],"Period":"0001-01-01T00:00:00","Type":"Tomorrow","Index":4.1}],"DisplayLocation":"Beverly Hills, CA"}} 
      
      posted in Requests
      J
      joey
    • RE: Pollen module

      @raymondjspigot Hey, that is good stuff! I did not think about adding a Referer. Following your instructions, I was able to pull real data instead of getting an error:
      Screenshot From 2026-05-25 08-30-44.png

      My config is using the example from the module, just with a different zipcode and different screen region:

      {
         module: "MMM-Pollen",
         position: "top_center",
         header: "Pollen Forecast",
         config: {
             updateInterval: 3 * 60 * 60 * 1000, // every 3 hours
             zip_code: "22202"
         }
       },
      

      It has been a while since I have had to think about headers, so I will brush up and see what I can do to make it work. It looks like vincep5 is still occasionally active on github, so maybe I can contribute a fix there.

      I appreciate your time looking at this. I was really only asking to see if it was working for everyone else (purely my problem) or if it was still hit-or-miss (problem with the API). Now, I even have a direction to start troubleshooting!

      posted in Requests
      J
      joey
    • RE: Pollen module

      @JohnGalt Sorry to resurrect a year-old thread, but is MMM-Pollen still working for you? I cannot get it to work, but I am trying it for the first time today. Even just trying to go to the website referenced in the code directly gives me an HTTP error.

      I looked around a bit, and it looks like there are some people saying that the website it relies on, pollen.com, has disallowed or broken its API page, and others seem to say it is still working fine.

      Before I spend too much more time on this, I wanted to ask you, who is/was using the module, if it was still working. Hopefully, others can mention if it is working for them as well, or what they are using instead (assuming they are somewhere the other location-specific “Pollen” modules do not apply to).

      posted in Requests
      J
      joey
    • RE: Way to change horizontal or vertical tiling for regions?

      @sdetweil That does work. Looking back, I did try that, but I wonder if maybe I had a typo in the region name or something.

      Makes things side-by-side as you say (for my usage with upper_third region):

      .region.upper.third  .container {
        flex-direction: row;
      }
      

      Thanks, as always, for all the hard work and all the kind help!

      posted in Feature Requests
      J
      joey
    • Way to change horizontal or vertical tiling for regions?

      I am working on a project where I want to have 7-9 modules stacked either horizontally or vertically.

      By default, modules stack vertically. So, if you have three “weather” modules for London, New York, and Toronto, they will look like this:
      London Weather
      New York Weather
      Toronto Weather

      This would make sense on a vertical/portrait screen, where stacked makes sense. However, if you have a horizontal/landscape screen, you might run out of space, and it might look weird. Having them side by side might make more sense, like this:
      London Weather | New York Weather | Toronto Weather

      I spent a non-trivial amount of time trying to override the main.css file’s “flex-drection” settings using the custom.css, but I was unable to do so. I ended up breaking the cardinal rule and modified a file that could be overwritten by future updates.

      Would it be possible to have somewhere that could be changed in the config.js? Or, is there an easy way to override using custom.css that I was just too brain-fogged to see?

      Thank you.

      posted in Feature Requests
      J
      joey
    • RE: SBC boards that work well besides Raspberry pi 3, 4 or 5

      I feel like I am a fairly non-standard person when it comes to SBCs/mini PCs/cheap platforms, but I have run MM on a variety of hardware without issues (other than common things like issues with SD cards, OSes, etc).

      It might also be useful to ask the inverse question: has anyone run across any SBCs that do NOT work with MM? For example, I believe that it will not run on the original Pi, and I think it takes heroic efforts to run MM on the Pi Zero I cannot recall if I ever tried to run MM on my Pi 2. Apart from those, I am not aware of any specific SBCs it will not run on.

      I have to say, a traditional Pi 3/4/5 is a good choice for power-limited or space-limited installs. For me, I often get cheap or free old laptops with broken screens, decade-old mini PCs, etc. I take an old laptop, plug it into an old monitor, and set it on a shelf (with the laptop attached to the back of the monitor). A bit of trim around the monitor to make it look a little like a picture frame, and it passes muster. Or, an old thin client that cannot run modern windows can often be found with a behind-monitor mount (like they have at banks and such).

      Still, it would be good to have people mention if they have had success with alternatives. Knowing that the LePotato, 35% cheaper than a Pi 4, works is great for example. If I ever wanted to build an MM for a family member, buying a new SBC would probably be a safer choice than what I do for my own stuff…

      (I enjoy the beautiful pictures of people who get 50-inch televisions and wood frames with proper 1-way mirror glass, but my projects tend to have a budget of “how many coins did I find in the couch?”)

      posted in Hardware
      J
      joey
    • RE: MMM-config with modules that have sub-configs (MMM-TouchButton)

      @sdetweil said in MMM-config with modules that have sub-configs (MMM-TouchButton):

      @joey make sure you backup, backup , backup

      my backup/restore scripts on top of install/update
      can give you a lot of security and safety

      I should probably look into that. Currently, I just copy the entire directory to another place on the MM system (in case of an issue with upgrade or messing up the config), and I copy the config.js file to another system (in case of an OS/hardware issue – I use a LOT of old hardware). Up until now, I have mainly taken an OS/hardware failure as an opportunity to try a new flavor of Linux and investigate new modules while setting up MM from scratch again!

      I am setting up a new one (brand new laptop with a manufacture date of only 12 years ago!) and it is a great opportunity to look into a proper backup with your scripts.

      posted in Troubleshooting
      J
      joey
    • RE: MMM-config with modules that have sub-configs (MMM-TouchButton)

      Wow, that is great! I was just hoping for it to not reset the module settings. Being able to add the module-specific details is definitely useful. That you and Tom worked the rest of it out between my first post and now is even more amazing!

      I set up my MagicMirror, but then leave it alone for a long time. I typically only touch it when an OS or MM update causes an issue. Looking back now, the entire setup process is so much better than it has ever been before!

      Thank you for all the ways that MM has become easier and easier. (And thanks to Tom for adding the schema file!)

      I meant to add a link to the module that started this discussion, since it has been useful to me: https://github.com/Tom-Hirschberger/MMM-TouchButton I mainly use it for shutdown/sleep/reboot functions, but it is a great way to be able to run an arbitrary command for an MM running on a touchscreen (or by opening the MM page from a different device and clicking the TouchButton).

      posted in Troubleshooting
      J
      joey
    • MMM-config with modules that have sub-configs (MMM-TouchButton)

      I have recently started using MMM-config. I was unable to determine how to use it with modules that have sub-configs or that it is unaware of, such as MMM-TouchButton.

      MMM-TouchButton requires buttons to be defined in the config, but each button has a sub-config with the information about the individual button (such as icon, command/action, etc). By itself, this would not be a huge problem since I have been using MM for years prior to cool new tools like MMM-config. The problem happens when it appears that MMM-config clobbers configs that it did not create, or maybe just configs that it is not aware of (such as these MMM-TouchButton sub-configs).

      Since I am new to MMM-config, I may have done something wrong somewhere along the way.

      Example of MMM-TouchButton config (entered manually):

      module: "MMM-TouchButton",
              position: "top_left",
                config: {
                  buttons: [
                    {
                      name: "Suspend",
                      icon: "fa fa-pause",
                      command: "/usr/bin/systemctl",
                      args: "suspend",
                    },
                  ]
              },
      

      Config for MMM-TouchButton after going into MMM-config to change an unrelated setting (such as switching the default clock module from 12-hour time to 24-hour time) without even touching/expanding the MMM-TouchButton settings:

            {
              module: "MMM-TouchButton",
              position: "top_left",
              config: {
                buttons: [
                  "[object Object]"
                ]
              },
              disabled: false,
              hiddenOnStartup: false,
              configDeepMerge: false,
              order: "*",
              animateIn: "None",
              animateOut: "None"
            },
      
      posted in Troubleshooting
      J
      joey