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.

    For inspiration: A DAKboard clone

    Scheduled Pinned Locked Moved Show your Mirror
    8 Posts 4 Posters 1.2k Views 8 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.
    • M Offline
      mrchips83
      last edited by

      Took me a few months but finally have my MM version of our old DAKboard up and running how I want it:

      Modules:
      Wallberry Theme (to mimic DAKboard’s style as closely as possible)
      MMM-MonthlyCalendar (displaying our shared Google family calendar)
      MMM-HomeAssistant (for screen auto-on/off based off HA movement detection)
      MMM-BackgroundSlideshow (pulling top-rated photos from my Synology NAS)

      20260327_upload.jpg.png

      J 1 Reply Last reply Reply Quote 16
      • P Offline
        pocketknife
        last edited by

        hi there - would you be willing to share your [non private] config.js for it?

        M 1 Reply Last reply Reply Quote 1
        • J Offline
          Junoman @mrchips83
          last edited by

          @mrchips83

          Looking Good.
          That is pretty much what I was trying to accomplish 2 years ago but gave up.

          MagicMirror is fantastic, but ideally just looking to build a calendar with photo transitions.
          Spent much time trying to configure our calendar on our cell phones to sync to the cloud and show up on the screen - got part way there.

          Another big challenge that would be so perfect is date/time photo folders.
          For instance automatic winter photos in winter, summer photos in summer and photos of a specific person on their birthday.
          Easy to create folder arrangements to do this, but no code to schedule.

          Layout was also a challenge with MM to mimic DAK, but came very close. Let’s admit that DAK is an impressive clean and nice look.

          Anyway, congratulations and please keep us updated when you are finished.
          Would love to see your final display!

          Thanks for sharing too. You might have inspired me to jump back into this.

          1 Reply Last reply Reply Quote 1
          • M Offline
            mrchips83 @pocketknife
            last edited by

            @pocketknife

            Sure can: I’m travelling next week but will share it when I get back

            B P 2 Replies Last reply Reply Quote 1
            • B Offline
              botts85 @mrchips83
              last edited by

              @mrchips83 Are you doing anything to make the text visible on top of lighter colored photos?

              M 1 Reply Last reply Reply Quote 0
              • P Offline
                pocketknife @mrchips83
                last edited by

                @mrchips83 said:

                @pocketknife

                Sure can: I’m travelling next week but will share it when I get back

                thank you so much!! Cheers! Rich

                M 1 Reply Last reply Reply Quote 1
                • M Offline
                  mrchips83 @botts85
                  last edited by

                  @botts85
                  No: haven’t really found that to be an issue. I guess it could be tweaked in the CSS?

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    mrchips83 @pocketknife
                    last edited by mrchips83

                    @pocketknife

                    Here you go. It’s pretty untidy (could do with a good bit of pruning!) but hope it helps:

                    /* Config Sample
                     *
                     * For more information on how you can configure this file
                     * see https://docs.magicmirror.builders/configuration/introduction.html
                     * and https://docs.magicmirror.builders/modules/configuration.html
                     *
                     * You can use environment variables using a `config.js.template` file instead of `config.js`
                     * which will be converted to `config.js` while starting. For more information
                     * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
                     */
                    let config = {
                    	address: "localhost",	// Address to listen on, can be:
                    							// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
                    							// - another specific IPv4/6 to listen on a specific interface
                    							// - "0.0.0.0", "::" to listen on any interface
                    							// Default, when address config is left out or empty, is "localhost"
                    	port: 8080,
                    	basePath: "/",	// The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
                    									// you must set the sub path here. basePath must end with a /
                    	ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],	// Set [] to allow all IP addresses
                    									// or add a specific IPv4 of 192.168.1.5 :
                    									// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
                    									// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
                    									// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
                    
                    	useHttps: false,			// Support HTTPS or not, default "false" will use HTTP
                    	httpsPrivateKey: "",	// HTTPS private key path, only require when useHttps is true
                    	httpsCertificate: "",	// HTTPS Certificate path, only require when useHttps is true
                    
                    	language: "en",
                    	locale: "en-US",   // this variable is provided as a consistent location
                    			   // it is currently only used by 3rd party modules. no MagicMirror code uses this value
                    			   // as we have no usage, we  have no constraints on what this field holds
                    			   // see https://en.wikipedia.org/wiki/Locale_(computer_software) for the possibilities
                    
                    	logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
                    	timeFormat: 24,
                    	units: "metric",
                    
                    	modules: [
                    		// Base WallberryTheme adds new font, styles, and a rotating background image pulled from Unsplash.com
                    		  {
                    		    module: "WallberryTheme",
                    		    position: "fullscreen_below", // Required Position
                    		    config: {
                    		      unsplashAccessKey: "YOUR_API_KEY_HERE", // REQUIRED
                    		      collections: "XXXX" // optional - leave empty for a random photo
                    		    }
                    		  },
                    		  // WB-clock adds local time (Optional Module)
                    		  {
                    		    module: "WallberryTheme/WB-clock",
                    		    position: "top_bar", // highly suggest using top_bar position
                    		    config: {
                    		      //localCityName: "Seattle", // optional
                    		      //otherCities: [
                    		      	//{name: "DC", timezone: "US/Eastern"}, // optional
                    		      	//{name: "Anchorage", timezone: "US/Alaska"} // optional
                    		      //]
                    		    }
                    		  },
                    		  // WB-weather adds weather (Optional Module)
                    		  {
                    		    module: "WallberryTheme/WB-weather",
                    		    position: "bottom_bar",  // Highly suggested location
                    		    config: {
                    		    		// See "Configuration options" for more information.
                    				apiKey: "YOUR_API_KEY_HERE", // REQUIRED
                    				latitude: YOUR_LATITUDE, // REQUIRED
                    				longitude: YOUR_LONGITUDE // REQUIRED
                    		    }
                    		  },
                    		{
                        			module: 'MMM-BackgroundSlideshow',
                        			position: 'fullscreen_below',
                        			config: {
                          				imagePaths: ['/mnt/XXX/'],
                    				recursiveSubDirectories: true,
                    				transitionImages: false,
                          				randomizeImageOrder: true,
                    				showImageInfo:	true,
                    				showProgressBar: false,
                    				imageInfoNoFileExt: true,
                    				showAllImagesBeforeRestart: true,
                    				slideshowSpeed: 600000,
                        				}
                    		},
                    		{
                                		module: 'MMM-auto-refresh',
                                		config: {
                                    		// See below for configurable options
                    				refreshInterval: 21600000  //6 hours
                                		}
                    		},        	 
                    		{
                                		module: 'MMM-CountDown',
                    			disabled: true,	
                    			position: 'bottom_right',            		
                    			config: {
                                    		event: "SOMEONES Birthday:",
                    				date: "2026-01-01 00:00:00",
                    				daysLabel: " days",
                    				showHours: false,
                        				showMinutes: false,
                        				showSeconds: false
                                		}
                    		},
                    		{
                    		    module: 'MMM-HomeAssistant',
                    		    config: {
                    			mqttServer: 'mqtt://192.XXX.X.XX',
                    			mqttPort: XXXX,
                    			username: 'XXXXXX',
                    			password: 'XXXXXXXXXXXXXXXXXXXXX',
                    			deviceName: 'XXXMagicMirror',
                    			autodiscoveryTopic: 'homeassistant',
                    			monitorControl: false,
                    			brightnessControl: true,
                    			moduleControl: true,
                            		monitorStatusCommand: 'wlr-randr | awk \'/HDMI-A-1/ {found=1} found && /Enabled:/ {print ($2 == "yes") ? "true" : "false"; exit} END {if(!found) print "false"}\'',
                            		monitorOnCommand: 'wlr-randr --output HDMI-A-1 --on',
                            		monitorOffCommand: 'wlr-randr --output HDMI-A-1 --off',
                    			pm2ProcessName: 'mm',
                    			refreshBrowser: true
                    		    }
                    		},		
                    		{
                    			module: "alert",
                    		},
                    		{
                    			module: "updatenotification",
                    			position: "top_bar"
                    		},
                    		{
                    			module: "clock",
                    			disabled: true,			
                    			position: "top_left"
                    		},
                    		{
                    			module: "calendar",
                    			header: "US Holidays",
                    			//position: "top_left",
                    			config: {				
                    				calendars: [				
                    					{
                    						fetchInterval: 7 * 24 * 60 * 60 * 1000,
                    						symbol: "calendar-check",
                    						url: "https://calendar.google.com/calendar/ical/YOUR_GOOGLE_CAL_URL.ics",						
                    						//url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
                    					}
                    				]
                    			}
                    		},
                    		{
                    			module: "MMM-MonthlyCalendar",
                    			position: "top_bar",
                    			config: { // See "Configuration options" for more information.
                    				mode: "twoWeeks",
                    				firstDayOfWeek:	"monday",
                    		    }
                    		  },		
                    		  {
                          			module: "helloworld",
                          			position: "bottom_bar", // This can be any of the regions.
                    			disabled: true,	      			
                    			config: {
                            			// See 'Configuration options' for more information.
                            			text: "Happy birthday!",
                          				},
                        		},
                    		{
                    			module: "compliments",
                    			disabled: true,	
                    			position: "lower_third"
                    		},
                    		{
                    			module: "weather",
                    			disabled: true,	
                    			position: "top_right",
                    			config: {
                    				weatherProvider: "openmeteo",
                    				type: "current",
                    				lat: YOUR LATITUDE,
                    				lon: YOUR LONGITUDE
                    			}
                    		},
                    		{
                    			module: "weather",
                    			disabled: true,	
                    			position: "top_right",
                    			header: "Weather Forecast",
                    			config: {
                    				weatherProvider: "openmeteo",
                    				type: "forecast",
                    				lat: YOUR LATITUDE,
                    				lon: YOUR LONGITUDE
                    			}
                    		},
                    		{
                    			module: "newsfeed",
                    			disabled: true,	
                    			position: "bottom_bar",
                    			config: {
                    				feeds: [
                    					{
                    						title: "New York Times",
                    						url: "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
                    					}
                    				],
                    				showSourceTitle: true,
                    				showPublishDate: true,
                    				broadcastNewsFeeds: true,
                    				broadcastNewsUpdates: true
                    			}
                    		},
                    	]
                    };
                    
                    /*************** DO NOT EDIT THE LINE BELOW ***************/
                    if (typeof module !== "undefined") { module.exports = config; }
                    
                    1 Reply 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 / 1
                    • 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