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.

    Third-Party Module - how to get help?

    Scheduled Pinned Locked Moved Solved Troubleshooting
    64 Posts 3 Posters 34.8k Views 4 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.
    • E Offline
      ember1205 @sdetweil
      last edited by

      @sdetweil said in Third-Party Module - how to get help?:

      https://wpitchoune.net/tricks/raspberry_pi3_increase_swap_size.html

      I will give this a shot. Given that each time the slideshow has died, it has indicated that it ran out of memory at roughly 100Mb (and the default swap is 100Mb), this could definitely be related. I’ll try doubling it to see what happens with this module.

      I was going to try tackling the transitioning to prevent changing to the new image until it was rendered (to prevent the “painting”), but need the memory issue fixed first. :)

      Does your image module contain the JS code you were referring to that hides the image until it’s rendered?

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

        @ember1205 yes, it contains the code for the transition handling.

        I would make the swap 1 gig… its only a little disk (memory card) space…

        the code.

        basically it adds an img (appends) to the div to display, the image is hidden,
        then there is an onload handler, that gets notified when the image is loaded (not yet visible)
        it also adjusts the image size to keep the proportions correct, (css background-size:cover and contain both distort the image)

        it makes the image visible, and starts the timer for the next image.

        it then checks to see if there are TWO images in the div,
        if so, it hides the 1st, shows the second and removes the 1st (old image)
        repeat

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        E 1 Reply Last reply Reply Quote 0
        • E Offline
          ember1205 @sdetweil
          last edited by

          @sdetweil

          I will give your code a try. Increasing the swap size and re-enabling the cache resulted in another almost immediate crash.

          :(

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

            @ember1205 hm… mine runs like a top on pi0 , pi3 b+, pi4, odroid, jetson nano , macOs, ubuntu

            my selected pics holds 100 pics, some as large as 15meg. 7.4 meg avg

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            E 1 Reply Last reply Reply Quote 0
            • E Offline
              ember1205 @sdetweil
              last edited by

              @sdetweil

              Seems your code has dependencies? I’m getting an error when trying to load:

              WARNING! Could not load config file. Starting with default configuration. Error found: Error: Cannot find module 'node_helper'
              
              S 1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil @ember1205
                last edited by

                @ember1205 node_help is the build in module,

                sounds like u did an npm install, even tho not needed (and finds a bug or new feature we don’t want)

                recover with this

                cd ~/MagicMirror
                git checkout modules/node_modules/node_helper/index.js
                

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                E 1 Reply Last reply Reply Quote 0
                • E Offline
                  ember1205 @sdetweil
                  last edited by

                  @sdetweil said in Third-Party Module - how to get help?:

                  git checkout modules/node_modules/node_helper/index.js

                  yeah, I get into the habit of installing add-ons this way and I did the npm install.

                  Your fix cleaned it right up and it started up. But, guess what? Out of memory again.

                  Seems that I have bigger issues here…

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

                    @ember1205 show me the output of

                    node-v 
                    npm -v
                    lsb_release -a
                    uname -a
                    

                    and other than image, you are running default modules, correct?

                    I’m gonna be out for a couple hours, running xmas errands. will try to look in on my phone

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    E 2 Replies Last reply Reply Quote 0
                    • E Offline
                      ember1205 @sdetweil
                      last edited by

                      @sdetweil

                      pi@raspberrypi:~ $ node -v
                      v10.17.0
                      
                      pi@raspberrypi:~ $ npm -v
                      6.11.3
                      
                      pi@raspberrypi:~ $ lsb_release -a
                      No LSB modules are available.
                      Distributor ID: Raspbian
                      Description:    Raspbian GNU/Linux 10 (buster)
                      Release:        10
                      Codename:       buster
                      
                      pi@raspberrypi:~ $ uname -a
                      Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
                      
                      S 1 Reply Last reply Reply Quote 0
                      • E Offline
                        ember1205 @sdetweil
                        last edited by

                        @sdetweil said in Third-Party Module - how to get help?:

                        and other than image, you are running default modules, correct?

                        I have installed your MMM-ImagesPhotos and MMM-BackgroundSlideshow. Even paring the configuration down to ONLY one third-party module running, it will die unless I have the http cache disabled.

                        I have changed the swap size from the default of 100 to 250 and when it crashed, there was only a small portion of swap being used.

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

                          @ember1205 hm

                          my uname -a

                          Linux raspberrypi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
                          

                          we have different kernels… wonder why
                          just got the pi4 yesterday

                          Sam

                          How to add modules

                          learning how to use browser developers window for css changes

                          E 1 Reply Last reply Reply Quote 0
                          • E Offline
                            ember1205 @sdetweil
                            last edited by

                            @sdetweil Possibly because you’re running on a 4 and I’m on a 3?

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

                              are u using pm2 to manage? if so, do a pm2 logs --lines=100 >somefile

                              I’d like to see the error

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

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

                                @ember1205 ok, from my pi3

                                Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
                                

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                1 Reply Last reply Reply Quote 0
                                • E Offline
                                  ember1205
                                  last edited by

                                  I just did an apt-get update and apt-get upgrade. I then flushed the PM2 logs and restarted. When it crashes again, I’ll post the log info as you asked.

                                  1 Reply Last reply Reply Quote 0
                                  • E Offline
                                    ember1205
                                    last edited by

                                    At a minimum, the apt-get update / upgrade seems to have at least helped. After installing the updates and restarting, I’ve been running this module with clock, calendar, current weather, and weather forecast all enabled and it hasn’t crashed in about an hour.

                                    I stopped everything and reverted to the BackgroundSlideshow module to see if it would also run clean, but it died pretty quickly. I’ve flushed the logs again (although I did capture their contents from the other module’s crash) and once again changed over to ImagesPhotos to see what happens after another run.

                                    While I’m waiting to see if it will crash, I have some questions about the rendering configuration.

                                    I’ve tried both the “fullscreen” and “middle_center” settings and the photos are not constrained to the screen (in terms of the actual image, not where it’s shown). I can change the details so that I use less than full height and/or width, and there is a black border. However, the image itself is getting cropped - badly.

                                    How can I get this to display the entire image on the screen like I can with the other module?

                                    S 1 Reply Last reply Reply Quote 0
                                    • E Offline
                                      ember1205
                                      last edited by

                                      [TAILING] Tailing last 100 lines for [all] processes (change the value with --lines option)
                                      /home/pi/.pm2/pm2.log last 100 lines:
                                      PM2        | 2019-12-12T14:19:37: PM2 log: App [mm:0] starting in -fork mode-
                                      PM2        | 2019-12-12T14:19:37: PM2 log: App [mm:0] online
                                      PM2        | 2019-12-12T14:41:26: PM2 log: Stopping app:mm id:0
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:26: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:41:27: PM2 log: App [mm:0] exited with code [0] via signal [SIGINT]
                                      PM2        | 2019-12-12T14:41:27: PM2 log: pid=4285 msg=process killed
                                      PM2        | 2019-12-12T14:41:27: PM2 log: App [mm:0] starting in -fork mode-
                                      PM2        | 2019-12-12T14:41:27: PM2 log: App [mm:0] online
                                      PM2        | 2019-12-12T14:43:33: PM2 log: Stopping app:mm id:0
                                      PM2        | 2019-12-12T14:43:33: PM2 log: App [mm:0] exited with code [0] via signal [SIGINT]
                                      PM2        | 2019-12-12T14:43:33: PM2 log: pid=4543 msg=process killed
                                      PM2        | 2019-12-12T14:43:33: PM2 log: App [mm:0] starting in -fork mode-
                                      PM2        | 2019-12-12T14:43:33: PM2 log: App [mm:0] online
                                      PM2        | 2019-12-12T14:46:33: PM2 log: Stopping app:mm id:0
                                      PM2        | 2019-12-12T14:46:33: PM2 log: pid=4667 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:46:33: PM2 log: App [mm:0] exited with code [0] via signal [SIGINT]
                                      PM2        | 2019-12-12T14:46:33: PM2 log: pid=4667 msg=process killed
                                      PM2        | 2019-12-12T14:46:33: PM2 log: App [mm:0] starting in -fork mode-
                                      PM2        | 2019-12-12T14:46:33: PM2 log: App [mm:0] online
                                      PM2        | 2019-12-12T14:47:42: PM2 log: Stopping app:mm id:0
                                      PM2        | 2019-12-12T14:47:43: PM2 log: pid=4822 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T14:47:43: PM2 log: App [mm:0] exited with code [0] via signal [SIGINT]
                                      PM2        | 2019-12-12T14:47:43: PM2 log: pid=4822 msg=process killed
                                      PM2        | 2019-12-12T14:47:43: PM2 log: App [mm:0] starting in -fork mode-
                                      PM2        | 2019-12-12T14:47:43: PM2 log: App [mm:0] online
                                      PM2        | 2019-12-12T15:00:40: PM2 log: Stopping app:mm id:0
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:41: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:42: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:42: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:42: PM2 log: pid=4943 msg=failed to kill - retrying in 100ms
                                      PM2        | 2019-12-12T15:00:42: PM2 log: App [mm:0] exited with code [0] via signal [SIGINT]
                                      PM2        | 2019-12-12T15:00:42: PM2 log: pid=4943 msg=process killed
                                      
                                      /home/pi/.pm2/logs/mm-error.log last 100 lines:
                                      0|mm       | [5004:1212/145553.006275:FATAL:memory.cc(22)] Out of memory. size=96641024
                                      
                                      /home/pi/.pm2/logs/mm-out.log last 100 lines:
                                      0|mm       | No helper found for module: weatherforecast.
                                      0|mm       | All module helpers loaded.
                                      0|mm       | Starting server on port 8080 ...
                                      0|mm       | Server started ...
                                      0|mm       | Connecting socket for: MMM-ImagesPhotos
                                      0|mm       | Starting node helper for: MMM-ImagesPhotos
                                      0|mm       | Connecting socket for: updatenotification
                                      0|mm       | Connecting socket for: calendar
                                      0|mm       | Starting node helper for: calendar
                                      0|mm       | Sockets connected & modules started ...
                                      0|mm       | Launching application.
                                      0|mm       | Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/EDITED%40gmail.com/EDITED/basic.ics - Interval: 900000
                                      0|mm       |
                                      0|mm       | > magicmirror@2.9.0 start /home/pi/MagicMirror
                                      0|mm       | > sh run-start.sh
                                      0|mm       |
                                      0|mm       | Starting MagicMirror: v2.9.0
                                      0|mm       | Loading config ...
                                      0|mm       | Loading module helpers ...
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: MMM-ImagesPhotos
                                      0|mm       | No helper found for module: alert.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: updatenotification
                                      0|mm       | No helper found for module: clock.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: calendar
                                      0|mm       | No helper found for module: currentweather.
                                      0|mm       | No helper found for module: weatherforecast.
                                      0|mm       | All module helpers loaded.
                                      0|mm       | Starting server on port 8080 ...
                                      0|mm       | Server started ...
                                      0|mm       | Connecting socket for: MMM-ImagesPhotos
                                      0|mm       | Starting node helper for: MMM-ImagesPhotos
                                      0|mm       | Connecting socket for: updatenotification
                                      0|mm       | Connecting socket for: calendar
                                      0|mm       | Starting node helper for: calendar
                                      0|mm       | Sockets connected & modules started ...
                                      0|mm       | Launching application.
                                      0|mm       | Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/EDITED%40gmail.com/EDITED/basic.ics - Interval: 900000
                                      0|mm       |
                                      0|mm       | > magicmirror@2.9.0 start /home/pi/MagicMirror
                                      0|mm       | > sh run-start.sh
                                      0|mm       |
                                      0|mm       | Starting MagicMirror: v2.9.0
                                      0|mm       | Loading config ...
                                      0|mm       | Loading module helpers ...
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: MMM-ImagesPhotos
                                      0|mm       | No helper found for module: alert.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: updatenotification
                                      0|mm       | No helper found for module: clock.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: calendar
                                      0|mm       | No helper found for module: currentweather.
                                      0|mm       | No helper found for module: weatherforecast.
                                      0|mm       | All module helpers loaded.
                                      0|mm       | Starting server on port 8080 ...
                                      0|mm       | Server started ...
                                      0|mm       | Connecting socket for: MMM-ImagesPhotos
                                      0|mm       | Starting node helper for: MMM-ImagesPhotos
                                      0|mm       | Connecting socket for: updatenotification
                                      0|mm       | Connecting socket for: calendar
                                      0|mm       | Starting node helper for: calendar
                                      0|mm       | Sockets connected & modules started ...
                                      0|mm       | Launching application.
                                      0|mm       | Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/EDITED%40gmail.com/EDITED/basic.ics - Interval: 900000
                                      0|mm       |
                                      0|mm       | > magicmirror@2.9.0 start /home/pi/MagicMirror
                                      0|mm       | > sh run-start.sh
                                      0|mm       |
                                      0|mm       | Starting MagicMirror: v2.9.0
                                      0|mm       | Loading config ...
                                      0|mm       | Loading module helpers ...
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: MMM-ImagesPhotos
                                      0|mm       | No helper found for module: alert.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: updatenotification
                                      0|mm       | No helper found for module: clock.
                                      0|mm       | Initializing new module helper ...
                                      0|mm       | Module helper loaded: calendar
                                      0|mm       | No helper found for module: currentweather.
                                      0|mm       | No helper found for module: weatherforecast.
                                      0|mm       | All module helpers loaded.
                                      0|mm       | Starting server on port 8080 ...
                                      0|mm       | Server started ...
                                      0|mm       | Connecting socket for: MMM-ImagesPhotos
                                      0|mm       | Starting node helper for: MMM-ImagesPhotos
                                      0|mm       | Connecting socket for: updatenotification
                                      0|mm       | Connecting socket for: calendar
                                      0|mm       | Starting node helper for: calendar
                                      0|mm       | Sockets connected & modules started ...
                                      0|mm       | Launching application.
                                      0|mm       | Create new calendar fetcher for url: https://calendar.google.com/calendar/ical/EDITED%40gmail.com/EDITED/basic.ics - Interval: 900000
                                      0|mm       | Shutting down server...
                                      0|mm       | Stopping module helper: MMM-ImagesPhotos
                                      0|mm       | Stopping module helper: updatenotification
                                      0|mm       | Stopping module helper: calendar
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • S Offline
                                        sdetweil @ember1205
                                        last edited by sdetweil

                                        @ember1205 you need to use position:‘fullscreen’ for my sizing to work.

                                        there is a space around the picture, its NOT ‘fullscreen’, its the fullscreen section of the mirror ui.

                                        i adjust the pic to fix exactly with the same relative dimensions as actual

                                        I do not fill (cover) the screen
                                        and do not contain (the image)
                                        alt text
                                        alt text
                                        alt text

                                        whatever it takes to get 100% of the image, no clipping, onto the screen.

                                        they will NEVER fill the screen, the measurements are different.

                                        the grey is the background color in the config to use to fill the empty space around the pic

                                          backgroundColor: "#808080",  // the default is #000 , ie, black
                                        

                                        the pics are centered on the screen

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

                                        S E 2 Replies Last reply Reply Quote 0
                                        • S Offline
                                          sdetweil @sdetweil
                                          last edited by

                                          @ember1205 if you don’t use position:“fullscreen” then the image will be clipped or shrunk based on the area u pick, which is less that 100% of the display space.

                                          I wanted a full background image without clipping or stretching

                                          I checked a few thousand images to insure the right calculations.

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0
                                          • E Offline
                                            ember1205 @sdetweil
                                            last edited by

                                            @sdetweil

                                            I tried with the config you provided:

                                            		{
                                            			module: "MMM-ImagesPhotos",
                                            			position: "fullscreen",
                                            			config: {
                                            				opacity: 0.9, 
                                            				animationSpeed: 0,
                                            				updateInterval: 30000,  // how often to change pic
                                            				backgroundColor: "#808080", // color around pic (if u want something other than black)
                                            			},
                                            		},
                                            

                                            This results in the photos running off the edges of the screen and not being able to view the entire image. I have also tried using the config on the project page, and adding the maxHeight and maxWidth variables as well.

                                            Just for the heck of it, I even tried using the “fullscreen_below” positioning area that the other module uses.

                                            The photos always run off the edge of the screen. And by a lot.

                                            As of right now, these are all photos that were shot on a 24MP DSLR and they are being displayed on a 1080 TV. There is definitely more pixels in the photo and the device needs to ‘resize’ them down to fit the screen (which it does not appear to be doing).

                                            While you don’t ‘contain’ the images, I do recall that was an option being used in the other module that would ensure they did not overrun the screen edges. Is there a config option for yours that would enable it?

                                            S 2 Replies Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 1 / 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