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

    Posts

    Recent Best Controversial
    • Default Compliments Module - Special Days

      I wasn’t sure where to put this but I wanted to make use of the “special days” feature of the default compliments and it didn’t behave as I was expecting. I assumed it would override the normally configured compliments and show only the one(s) specific to that day, however it appears to just add the day’s compliments to the existing list.

      For example I have this in my config:

      "....-12-25": ["Happy Christmas WallysWellies!"]
      

      But that message just gets added to my many already configured compliments (I changed the date to test).

      For anyone like me that wants to show only this message on your chosen day I tweaked the compliments.js file around line 98 from this:

      // Add compliments for special days
      for (let entry in this.config.compliments) {
        if (new RegExp(entry).test(date)) {
          Array.prototype.push.apply(compliments, this.config.compliments[entry]);
        }
      }
      

      to this:

      // Add compliments for special days
      for (let entry in this.config.compliments) {
        if (new RegExp(entry).test(date)) {
          compliments = []; // Empty the array if it's a special day in config.js
          Array.prototype.push.apply(compliments, this.config.compliments[entry]);
        }
      }
      

      It just empties the compliments array if it’s a date specified in the config file (or at least I assume that’s how it works - seemed happy in a quick test!).

      I didn’t see much info when searching for answers so I thought I might throw it out there for info / discussion.

      posted in General Discussion
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @zanix Hi Zanix. Just updated the module and all meal entries now seem to use the default image. I updated the docker image in case that was the problem but they’re all still showing the default orange image.

      Possible bug introduced in the latest release?

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @zanix that’s dedication, thanks!

      I see the update notification so I’ll get it updated tonight. Cheers.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-Pages - possible to change module config?

      I got the effect I was after which I’m going to include here for the amusement of real programmers…

      I added a notification check at the end of the notificationReceived function in the MMM-Wallpaper.js file that listens for page changes from the MMM-Pages module:

      else if (notification === "NEW_PAGE") {
              self.updateImageFilter(payload);
          }
      

      And I wrote a nasty little function to deal with it:

      updateImageFilter: function(pageNumber) {
          var self = this;
          var mainDiv = document.getElementsByClassName("MMM-Wallpaper")[0];
          if (mainDiv) {
              var wallpaperImage = mainDiv.getElementsByTagName("img")[0];
              if (wallpaperImage && pageNumber === 0) {
                  wallpaperImage.style.filter = "grayscale(0.0) brightness(1.0)";
              }
              else if (wallpaperImage) {
                  wallpaperImage.style.filter = self.config.filter;
              }
          }
        }
      

      I’m using Alexa to switch between the pages.

      I had some bugs during my initial versions which I put down to the code trying to access the div or image element before it was created, hence the dodgy checks. They might be unnecessary.

      The logic is pretty simple but I’m no programmer and I’ve never used TypeScript. Pretty happy with the result though. One day I might try and animate the brightness transition…

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-Pages - possible to change module config?

      @sdetweil Thank you for your help.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-Pages - possible to change module config?

      @sdetweil Basically, using MMM-Pages I will have 2 pages:

      • Page 1 - show only MMM-Wallpaper.
      • Page 2 - show MMM-Wallpaper, and everything else (calendar, clock, weather, mealie, Spotify…).

      MMM-Wallpaper is set to position “fullscreen_below” so I have configured it to dim the images so I can read the text of the other modules using it’s normal config:

      filter: "grayscale(0.0) brightness(0.2)"
      

      On page 1, where there will be no other modules overlayed, I would like to reset this config and have the images at normal (full) brightness.

      I’m just looking for some ideas on how to achieve this with the least amount of fuss.

      The idea situation would be, MMM-Wallpaper page 1 config:

      filter: "grayscale(0.0) brightness(1.0)"
      

      MMM-Wallpaper page 2 config:

      filter: "grayscale(0.0) brightness(0.2)"
      
      posted in Troubleshooting
      W
      WallysWellies
    • MMM-Pages - possible to change module config?

      Hello all. I recently setup MMM-Pages and essentially am looking for setup where one page is a digital photo frame, and the other has all my dashboard content. For the wallpaper I use MMM-Wallpaper.

      Both pages have the background image set but in order to increase contrast for the text I dim the images with this line in the config:

      filter: "grayscale(0.0) brightness(0.2)"
      

      I would like to disable that line (or adjust it) so the background is more vibrant on the page without the dashboard text.

      My first thought would be to duplicate the module and simply switch between them when the page changes but I wonder if anyone can see a better way? I do see that the wallpaper module can accept a notification called UPDATE_WALLPAPER_CONFIG which may be of some help. Not sure how I could use that though.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @zanix Restarting the MM service fixed the issue with no additional steps so it may well be an expiring token or something.

      I have updated the Mealie container so I am now on v1.7.0 and switched to using the API key for auth. I have also checked and I am using the current version of your module, v1.5.0.

      I’ll report back if anything interesting happens. Thanks again for your advice.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil I’ll look into it, thanks.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil Mealie is the first time I’ve used docker so it’s totally manual. I’ve never tried to update it - it was setup within the last couple of months.

      I was planning to do the update based on the Mealie docs but I could look into watchtower.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error
      • I have found the part of Mealie that allows creation of an API key so I could switch to that method for authentication.
      • I also see I am a couple of versions behind the Mealie master branch (I use version 1.5.1 - current version is 1.7.0). That looks drastic but it’s only 2 releases behind.

      I don’t think either of these things are causing my issue necessarily but it’s a couple of things I can change soon.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @zanix The mealie module has been in an error since yesterday and I wonder if you might be able to help me troubleshoot?

      I have run the following command:

      tail -100 .pm2/logs/mm-error.log
      

      And at the end I see the following:

      [2024-05-31 16:47:51.577] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 17:47:51.580] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 18:47:51.581] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 19:47:51.590] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 20:47:51.571] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 21:47:51.575] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 22:47:51.582] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-05-31 23:47:51.574] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 00:47:51.604] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 01:47:51.601] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 02:47:51.576] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 03:47:51.576] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 04:47:51.577] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 05:47:51.575] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 06:47:51.580] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 07:47:51.571] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 08:47:51.577] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 09:47:51.572] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 10:47:51.577] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 11:47:51.576] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 12:47:51.568] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      [2024-06-01 13:47:51.580] [ERROR] [MMM-MealieMenu] Fetch error: "Unauthorized"
      

      I have confirmed that the correct username / password is in my config.js file (and it has worked previously) - I can login via my laptop using http://raspberrypi:9925/ using these credentials.

      The config.js file is using the following line for the connection:

      host: "http://localhost:9925"
      

      I use browser / terminal / SSH etc. to access the Pi but if necessary I can connect a keyboard / mouse if that would aid in narrowing down the issue.

      Do you have any thoughts? I can probably just restart the mirror service but I haven’t yet in case that deletes any valuable information. Any advice would be appreciated.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @zanix Thanks for your input :)

      I made the change after posting and it certainly doesn’t break anything but I have been playing with some other modules too so have restarted the software several times meaning I haven’t given it a chance to error but based on my understanding it probably shouldn’t anymore. I don’t know why it was in the first place though - the Mealie container is on the Pi so it’s using localhost to retrieve data. Who knows.

      I did make one other change because I wanted to see the next week of meals, rather than the remaining meals this week. So I changed this line:

      const startOfWeek = this.getFirstDayOfWeek(config.weekStartsOnMonday);
      

      to this:

      const startOfWeek = moment();
      

      It’s pretty crude but if you’re taking suggestions it might be nice to have the option to show x number of days in the future rather than until the end of the week. I don’t believe that’s currently possible natively?

      Thanks for the module though, it’s great!

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil Done!

      I shall try and remember to report back if it seems to have worked - if I do not then we can assume I am a happy customer.

      Cheers for your time.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil I’m looking at the node_helper.js file and reading your comments and I’m a little unsure what you are suggesting.

      Are you saying I could edit this code block:

      .catch((error) => {
              this.sendSocketNotification("MEALIE_ERROR", {
                error: "FETCH_ERROR",
                details: error,
                identifier: config.identifier
              });
            })
      

      to this:

      .catch((error) => {
              this.outstandingRequest = false; 
              this.sendSocketNotification("MEALIE_ERROR", {
                error: "FETCH_ERROR",
                details: error,
                identifier: config.identifier
              });
            })
      

      ?

      Sorry, I can fumble my way around code but I’m far from a programmer!

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil Thank you for your advice and apologies for the delayed response - I need to enable email notifications or something…

      I will try your suggestion. Much appreciated.

      posted in Troubleshooting
      W
      WallysWellies
    • RE: MMM-MealieMenu Fetch Error

      @sdetweil

      Thanks Sam. Any pointers would be good. It’s a fairly minor thing but it just seems a bit odd that after a single fetch error it just gives up forever (until restarted).

      I’ve discovered the pm2 log so I will try and remember to have a look at that next time it throws the error.

      I changed the config to update once every hour when I initially set it up:

      updateInterval: 60 * 60
      
      posted in Troubleshooting
      W
      WallysWellies
    • MMM-MealieMenu Fetch Error

      Hello. I have the MMM-MealieMenu module configured and working on an RPi5 but I run into a recurring issue where it will display a fetch error periodically.

      I’m not sure what causes it to be briefly unable to get the meal plan but the “bug” in my mind is that once the module hits that error it will just stop trying to refreshing the data forever, until I restart the Magic Mirror service. Once I restart the service it will get the meal plan and be happy for a few more days.

      I’m wondering if someone with more coding skills than myself can suggest a tweak to (presumably) the node_helper.js file so that it will allow the module to either try again at the next configured refresh cycle, or wait a period of time and retry repeatedly. Lines 120 to 126 seem to be the code block that deals with this particular error.

      I’m not sure where I might find log information to troubleshoot why the fetch error occurs in the first place but it appears to just be temporary as the meal planner remains accessible at it’s URL when using a browser, despite the error on screen. It’s all hosted on the Pi using the docker image.

      posted in Troubleshooting
      W
      WallysWellies
    • 1
    • 2
    • 2 / 2