@sdetweil I think it must have been a script on the net. It was quite a long time ago, between 2022 and 2023. I honestly cannot remember. I found an old config.js from 06 October 2023
Read the statement by Michael Teeuw here.
Posts
-
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
-
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil said in Are you tired of editing config.js, or have trouble doing it, see my new module:
git status
junior@MAGIC-MIRROR:~ $ cd ~/MagicMirror/modules/MMM-Config
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $ git status
On branch main
Your branch is up to date with ‘origin/main’.nothing to commit, working tree clean
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $ cd ~/MagicMirror
junior@MAGIC-MIRROR:~/MagicMirror $ git status
fatal: not a git repository (or any of the parent directories): .git
junior@MAGIC-MIRROR:~/MagicMirror $ -
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil Script
You helped me on a while back -
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil said in Are you tired of editing config.js, or have trouble doing it, see my new module:
cd ~/MagicMirror
git checkout modules/default/updatenotification/updatenotification.jsit checkout modules/default/updatenotification/updatenotification.js
fatal: not a git repository (or any of the parent directories): .git
junior@MAGIC-MIRROR:~/MagicMirror $ -
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
My bad,iI was trying to dissable the “Update available” banner at the top of mirror
/* MagicMirror²
-
Module: UpdateNotification
-
By Michael Teeuw https://michaelteeuw.nl
-
MIT Licensed.
*/
Module.register(“updatenotification”, {
defaults: {
updateInterval: 10 * 60 * 1000, // every 10 minutes
refreshInterval: 24 * 60 * 60 * 1000, // one day
ignoreModules: [],
sendUpdatesNotifications: false,
updates: [],
updateTimeout: 2 * 60 * 1000, // max update duration
updateAutorestart: false // autoRestart MM when update done ?
disabled: true;
},suspended: false,
moduleList: {},
needRestart: false,
updates: {},start () {
Log.info(Starting module: ${this.name}
);
this.addFilters();
setInterval(() => {
this.moduleList = {};
this.updateDom(2);
}, this.config.refreshInterval);
},suspend () {
this.suspended = true;
},resume () {
this.suspended = false;
this.updateDom(2);
},notificationReceived (notification) {
switch (notification) {
case “DOM_OBJECTS_CREATED”:
this.sendSocketNotification(“CONFIG”, this.config);
this.sendSocketNotification(“MODULES”, Object.keys(Module.definitions));
break;
case “SCAN_UPDATES”:
this.sendSocketNotification(“SCAN_UPDATES”);
break;
}
},socketNotificationReceived (notification, payload) {
switch (notification) {
case “REPO_STATUS”:
this.updateUI(payload);
break;
case “UPDATES”:
this.sendNotification(“UPDATES”, payload);
break;
case “UPDATE_STATUS”:
this.updatesNotifier(payload);
break;
}
},getStyles () {
return [${this.name}.css
];
},getTemplate () {
return${this.name}.njk
;
},getTemplateData () {
return { moduleList: this.moduleList, updatesList: this.updates, suspended: this.suspended, needRestart: this.needRestart };
},updateUI (payload) {
if (payload && payload.behind > 0) {
// if we haven’t seen info for this module
if (this.moduleList[payload.module] === undefined) {
// save it
this.moduleList[payload.module] = payload;
this.updateDom(2);
}
} else if (payload && payload.behind === 0) {
// if the module WAS in the list, but shouldn’t be
if (this.moduleList[payload.module] !== undefined) {
// remove it
delete this.moduleList[payload.module];
this.updateDom(2);
}
}
},addFilters () {
this.nunjucksEnvironment().addFilter(“diffLink”, (text, status) => {
if (status.module !== “MagicMirror”) {
return text;
}const localRef = status.hash; const remoteRef = status.tracking.replace(/.*\//, ""); return `<a href="https://github.com/MichMich/MagicMirror/compare/${localRef}...${remoteRef}" class="xsmall dimmed difflink" target="_blank">${text}</a>`; });
},
updatesNotifier (payload, done = true) {
if (this.updates[payload.name] === undefined) {
this.updates[payload.name] = {
name: payload.name,
-
-
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil said in Are you tired of editing config.js, or have trouble doing it, see my new module:
./test_convert.sh override
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $ ./test_convert.sh overri de
--------------------MMM-Config
module updatenotification-defaults has an error in the construction of its defau lts section
the error line is disabled: true;
please change it to the literal value of the referenced variable
and restart MagicMirror
--------------------MMM-Config
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $ -
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil
Results
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $ ./test-convert.sh override
-bash: ./test-convert.sh: No such file or directory
junior@MAGIC-MIRROR:~/MagicMirror/modules/MMM-Config $I used a fresh SD card for the reinstallation, but some of her modules are incompatible with the new setup. Consequently, my wife has firmly decided to stick with the current version until her modules stop functioning. Unfortunately, since one of the modules doesn’t work with the old MagicMirror version, I’m at an impasse. It is a pity, I wanted this as due to dyslexia, this would have been perfect for my situation
-
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil said in Are you tired of editing config.js, or have trouble doing it, see my new module:
npm run config:check
[04.04.2025 16:09.03.683] [INFO] Checking file… /home/junior/MagicMirror/config/config.js
[04.04.2025 16:09.03.781] [INFO] Your configuration file doesn’t contain syntax errors :)
junior@MAGIC-MIRROR:~/MagicMirror $ -
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil, I’m sorry. Can you please highlight where I have the error? I am considering reinstalling it as I cannot even update Magic Mirror. I want to back up Config.js, but if it contains faults, then I will be back to square one.
/* * MagicMirror² Config Sample * * By Michael Teeuw https://michaelteeuw.nl * MIT Licensed. * * 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 */ 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: [], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.2.49 : // ["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", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 24, units: "metric", // serverOnly: true/false/"local" , // local for armv6l processors, default // starts serveronly and then starts chrome browser // false, default for all NON-armv6l devices // true, force serveronly mode, because you want to.. no UI on this device modules: [ { module: 'MMM-MovieListings', position: 'bottom_center', // This can be any of the regions. Best results in left or$ config: { apiKey: '', region: 'GB', language: 'en-UK', interface: 'poster', //'list', 'poster', 'detailed' includeMoviePlot: false, maxPlotLength: 198, header: 'Kinofilme', moviesPerPage: 0, refreshInterval: 1000 * 60 * 60 * 24, //Once a day baseUrl: 'https://api.themoviedb.org/3/movie/now_playing', animationSpeed: 2.5 * 1000, pageChangeInterval: 35 * 1000 } }, { module: 'MMM-Globe', position: 'bottom_left', config: { style: 'geoColor', imageSize: 300, ownImagePath:'', updateInterval: 10*60*1000 } }, { module: 'MMM-Tools', position: 'bottom_right', config: { refresh: 1000 * 5, containerSize: null, itemSize: null } }, { module: "MMM-EyeCandy", position: "top_center", config: { maxWidth: "75%", // Sizes the images. Retains aspect ratio. style: '1', // Style number or use ownImagePath to override style ownImagePath: '', // 'modules/MMM-EyeCandy/pix/name-graphics-lisa-596441.jpg' } }, { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_right" }, { module: "calendar", header: "UK Holidays", position: "top_right", config: { calendars: [ { symbol: "calendar-check-o ", url: "https://www.calendarlabs.com/ical-calendar/ics/75/UK_Holidays.ics" } ] } }, { module: "compliments", position: "top_bar" }, { module: "MMM-OpenmapWeather", position: "top_left", // This can be any of the regions. Best results in left or right regions. header: "Current Weather", //Location is the default value if header is empty or not defined. config: { // See 'Configuration options' for more information. location: "CROYDON,LONDON", locationID: "2651817", //Location ID from http://openweathermap.org/help/city_list.txt appid: "", //openweathermap.org API key colorIcon: true } }, { module:"MMM-Config", position:"top_left", // the QR code (if requested) will appear here config:{ showQR: true } }, { module: "weather", position: "top_left", header: "Weather Forecast", config: { weatherProvider: "openweathermap", type: "forecast", location: "London", locationID: "2651817", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "" } }, { module: "newsfeed", position: "bottom_bar", config: { feeds: [ { title: "BBC UK News", url: "http://feeds.bbci.co.uk/news/uk/rss.xml" } ], showSourceTitle: true, showPublishDate: true, broadcastNewsFeeds: true, broadcastNewsUpdates: true } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
-
RE: Are you tired of editing config.js, or have trouble doing it, see my new module
@sdetweil [31mSyntaxError: Unexpected identifier 'config’[39m
[31m at internalCompileFunction (node:internal/vm:73:18)[39m
[31m at wrapSafe (node:internal/modules/cjs/loader:1185:20)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1227:27)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
[31m at Function._load (node:electron/js2c/node_init:2:13357)[39m
[31m at Module.require (node:internal/modules/cjs/loader:1150:19)[39m
[31m at require (node:internal/modules/cjs/helpers:121:18)[39m
[31m at loadConfig (/home/junior/MagicMirror/js/app.js:118:14)[39m
[31m at App.start (/home/junior/MagicMirror/js/app.js:248:18)[39m
[31m at Object. (/home/junior/MagicMirror/js/electron.js:192:7)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1271:14)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 09:44.46.126] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)[27.03.2025 09:46.55.825] [ERROR] [31mWARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/junior/MagicMirror/config/config.js:122[39m
[31m config: {[39m
[31m ^^^^^^[39m[31mSyntaxError: Unexpected identifier 'config’[39m
[31m at internalCompileFunction (node:internal/vm:73:18)[39m
[31m at wrapSafe (node:internal/modules/cjs/loader:1185:20)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1227:27)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
[31m at Function._load (node:electron/js2c/node_init:2:13357)[39m
[31m at Module.require (node:internal/modules/cjs/loader:1150:19)[39m
[31m at require (node:internal/modules/cjs/helpers:121:18)[39m
[31m at loadConfig (/home/junior/MagicMirror/js/app.js:118:14)[39m
[31m at App.start (/home/junior/MagicMirror/js/app.js:248:18)[39m
[31m at Object. (/home/junior/MagicMirror/js/electron.js:192:7)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1271:14)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 09:47.26.134] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 09:53.43.417] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 09:59.04.576] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 10:02.53.766] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 10:15.08.770] [ERROR] [31mWARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/junior/MagicMirror/config/config.js:130[39m
[31m {[39m
[31m ^[39m[31mSyntaxError: Unexpected token '{'[39m
[31m at internalCompileFunction (node:internal/vm:73:18)[39m
[31m at wrapSafe (node:internal/modules/cjs/loader:1185:20)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1227:27)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
[31m at Function._load (node:electron/js2c/node_init:2:13357)[39m
[31m at Module.require (node:internal/modules/cjs/loader:1150:19)[39m
[31m at require (node:internal/modules/cjs/helpers:121:18)[39m
[31m at loadConfig (/home/junior/MagicMirror/js/app.js:118:14)[39m
[31m at App.start (/home/junior/MagicMirror/js/app.js:248:18)[39m
[31m at Object. (/home/junior/MagicMirror/js/electron.js:192:7)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1271:14)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 10:15.58.981] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGSEGV
[27.03.2025 10:22.57.762] [WARN] Version is incorrect. Skip module: ‘MMM-Config’
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
at CheckVkSuccessImpl (…/…/third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88)
at CreateVkInstance (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458)
at Initialize (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344)
at Create (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266)
at operator() (…/…/third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521)/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 10:29.29.494] [ERROR] [31mWARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/junior/MagicMirror/config/config.js:130[39m
[31m {[39m
[31m ^[39m[31mSyntaxError: Unexpected token '{'[39m
[31m at internalCompileFunction (node:internal/vm:73:18)[39m
[31m at wrapSafe (node:internal/modules/cjs/loader:1185:20)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1227:27)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
[31m at Function._load (node:electron/js2c/node_init:2:13357)[39m
[31m at Module.require (node:internal/modules/cjs/loader:1150:19)[39m
[31m at require (node:internal/modules/cjs/helpers:121:18)[39m
[31m at loadConfig (/home/junior/MagicMirror/js/app.js:118:14)[39m
[31m at App.start (/home/junior/MagicMirror/js/app.js:248:18)[39m
[31m at Object. (/home/junior/MagicMirror/js/electron.js:192:7)[39m
[31m at Module._compile (node:internal/modules/cjs/loader:1271:14)[39m
[31m at Object…js (node:internal/modules/cjs/loader:1326:10)[39m
[31m at Module.load (node:internal/modules/cjs/loader:1126:32)[39m
[31m at node:internal/modules/cjs/loader:967:12[39m
/home/junior/MagicMirror/node_modules/electron/dist/electron exited with signal SIGINT
[27.03.2025 10:30.26.627] [ERROR] [31mWARNING! Could not validate config file. Starting with default configuration. Please correct syntax errors at or above this line: /home/junior/MagicMirror/config/config.js:130[39m
[31m {[39m
[31m ^[39m