Read the statement by Michael Teeuw here.
For inspiration: A DAKboard clone
-
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)
-
hi there - would you be willing to share your [non private] config.js for it?
-
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.
-
Sure can: I’m travelling next week but will share it when I get back
-
@mrchips83 Are you doing anything to make the text visible on top of lighter colored photos?
-
Sure can: I’m travelling next week but will share it when I get back
thank you so much!! Cheers! Rich
-
@botts85
No: haven’t really found that to be an issue. I guess it could be tweaked in the CSS? -
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; }
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