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.

    MMM-GooglePhotos

    Scheduled Pinned Locked Moved Entertainment
    294 Posts 56 Posters 297.4k Views 59 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.
    • ? Offline
      A Former User @krishnatnl
      last edited by

      @krishnatnl
      In my MMM-DropboxWallpaper, I applied already that feature(automatically changing mode by ratio). I have been doubting whether it has really usefulness in real usage. Anyway I’ll consider this feature in this module too.

      1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @krishnatnl
        last edited by

        @krishnatnl
        I’ve updated. mode:hybrid is available for changing mode:cover or mode:contain automatically by aspect ratio.

        1 Reply Last reply Reply Quote 0
        • K Offline
          krishnatnl
          last edited by

          This working fine and solved my issue @Sean . Happy Holidays :)

          1 Reply Last reply Reply Quote 0
          • K Offline
            krouton
            last edited by

            Hi Sean,

            I keep getting the “[GPHOTO] Scan finished : 0/There is no scanned photo currently.” error however there are 3000 photos in the folder. Sometimes it will successfully scan and display the photos fine but more and more recently it fails.

            {
            		module: "MMM-GooglePhotos",
            		position: "fullscreen_below",
            		disabled: false,
            	config: {
            		albumId: "xxxxx", // your album id from result of `auth_and_test.js`
            		refreshInterval: 1000*60*5,  
            		scanInterval: 1000*60*10, // too many scans might cause API quota limit also.
            			//note(2018-07-29). It is some weird. API documents said temporal image url would live for 1 hour, but it might be broken shorter. So, per 10 min scanning could prevent dead url.
            
            		sort: "random", //'time', 'reverse', 'random'
            		showWidth: "1380px", // how large the photo will be shown as. (e.g;'100%' for fullscreen)
            		showHeight: "1060px",
            		originalWidthPx: 1380, // original size of loaded image. (related with image quality)
            		originalHeightPx: 1060, // Bigger size gives you better quality, but can give you network burden.
            		mode: "contain", // "cover" or "contain" (https://www.w3schools.com/cssref/css3_pr_background-size.asp)
              }
            },
            

            Connecting socket for: MMM-GooglePhotos
            MMM-GooglePhotos started
            Connecting socket for: MMM-MyCalendar
            Starting node helper for: MMM-MyCalendar
            Sockets connected & modules started …
            Ready to go! Please point your browser to: http://0.0.0.0:8080
            MMM-ModuleScheduler is removing all scheduled jobs
            MMM-ModuleScheduler received CREATE_GLOBAL_SCHEDULE
            MMM-ModuleScheduler is creating a global schedule for all modules using “30 6 * * *” and “00 18 * * *” with dim level 40
            MMM-GooglePhotos initialized after loading.
            [RCREPO] Repository scanning…
            [GPHOTO] Scan finished : 0
            There is no scanned photo currently.
            [RCREPO] modules.json is updated.
            [RCREPO] Repository scanning…
            [GPHOTO] Scan finished : 0
            There is no scanned photo currently.
            [RCREPO] modules.json is updated.
            [GPHOTO] Scan finished : 0
            There is no scanned photo currently.
            [RCREPO] modules.json is updated.

            0_1544843092175_Capture.PNG
            Inspector shows it loads the module but not an actual photo.

            Any help would be greatly appreciated.

            ? 2 Replies Last reply Reply Quote 0
            • ? Offline
              A Former User @krouton
              last edited by

              @krouton
              Move to some smaller folder than try again. 3000 would be so many photos, and ther could be more in your subdirectories.

              1 Reply Last reply Reply Quote 0
              • ? Offline
                A Former User @krouton
                last edited by A Former User

                @krouton
                By the way, sorry for out of topic, but…
                RCREPO seems too many times working. Scanning should be executed at start of MM once. Why did the log say so many times?
                Would you try again after removing MMM-Remote-Control-Repository from config.js??

                1 Reply Last reply Reply Quote 0
                • Y Offline
                  yupwho
                  last edited by

                  @Sean , thanks a ton for this great module. My wife would have never been ok with a Smart display in our family room without having family pictures on it.
                  I have MMM-Google photos on full screen mode (monitor is in portrait mode). It works perfectly as expected - although the pictures come up as pixelated or not as sharp in lower resolution. All photos in my configured album are uploaded in full resolution. Is there any way to display it in high(est/er) resolution?

                  My configuration is as below:-

                  		{
                  		  module: "MMM-GooglePhotos",
                  		  position: "fullscreen_below",
                  		  config: {
                  		    albumId: "XXXXX", // your album id from result of `auth_and_test.js`
                  		    refreshInterval: 1000*60,  
                  		    scanInterval: 1000*60*10, // too many scans might cause API quota limit also.
                  		    //note(2018-07-29). It is some weird. API documents said temporal image url would live for 1 hour, but it might be broken shorter. So, per 10 min scanning could prevent dead url.
                  		
                  		    sort: "random", //'time', 'reverse', 'random'
                  		    showWidth: "100%", // how large the photo will be shown as. (e.g;'100%' for fullscreen)
                  		    showHeight: "100%",
                  		    originalWidthPx: 1920, // original size of loaded image. (related with image quality)
                  		    originalHeightPx: 1080, // Bigger size gives you better quality, but can give you network burden.
                  		    mode: "hybrid", // "cover" or "contain" (https://www.w3schools.com/cssref/css3_pr_background-size.asp)
                  		    //ADDED. "hybrid" : if you set as "hybrid" it will change "cover" and "contain" automatically by aspect ratio.
                  		  }
                  		},
                  
                  bheplerB 1 Reply Last reply Reply Quote 0
                  • bheplerB Offline
                    bhepler Module Developer @yupwho
                    last edited by

                    @yupwho - Hmm. If you uploaded at full resolution, they are probably higher than 1920x1080. Specifying those parameters may be causing some weird resizing artifacts.

                    As an experiment, trying taking out the orginalWidthPix and originalHeightPx parameters and see what you get.

                    Y 1 Reply Last reply Reply Quote 0
                    • Y Offline
                      yupwho @bhepler
                      last edited by

                      @bhepler Thanks! Removing it seemed to worsen the quality. I think I am going to experiment with different values here - https://en.wikipedia.org/wiki/Display_resolution#Common_display_resolutions.
                      I have tried the 2560*1440 and it looks little bit better.

                      Still looking if there is a more definite solution.

                      Thanks!

                      ? 1 Reply Last reply Reply Quote 0
                      • ? Offline
                        A Former User @yupwho
                        last edited by

                        @yupwho
                        Set originalWidthPx and originalHeightPx to higher value.

                        But dithering would be unescapable destiny. Because Max Screen Size of supported in RPI would be 1920*1080 and your pictures are larger than, so Dithering should be happened.

                        Usually Dithering - Scaling up/down, by index of 2 (e.g: X2, X4, X1/2, X1/4) would be better than other values.
                        So, dithering to 800X480 from 1600x960 could be better from 2000X1200.

                        And I think the best values would be the same size to display.
                        Because, if dithering would be happened, it would be done twice - once when your Google Photo send picture to RPI by OriginalWidth/Height and once again when my module showing it by showWidth/Height.
                        So, The best case would be all the same sizes - your picture original, OriginalWidth/Height, showWidth/Height are same. In other case, somewhat quality down is unavoidable. My module has no correction/manipulation method because this is not photoshop. sorry.

                        Y 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 6
                        • 7
                        • 8
                        • 9
                        • 10
                        • 29
                        • 30
                        • 8 / 30
                        • 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