Read the statement by Michael Teeuw here.
Modifying the Config File
-
Sam, sorry to be so dense. You mention the ‘git clone’ command. Is that how ‘all’ your files are moved into the MagicMirror/Moddules directory? I’ll hunt around for the proper usage. It’s a little confusing using commands from the computer though. Please keep im mind this is all new to me, thanks
-
@jimb please read this
https://forum.magicmirror.builders/topic/4528/how-to-create-a-working-config-for-absolute-beginnersI didn’t write it
-
Sam, I read your comments, thanks! I have git-cloned the files into the modules sub-directory. I modified the config.js to include the lines of code you listed. Somehow I’ve blown up the file. Running in dev mode it says “unexpected (:)” is in line 58. I’ve gone over the code and don’t see the issue. Here is my config file-
/* * 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 * * 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", logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging timeFormat: 12, units: "imperial", modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "MMM-Config", position: "top_right", //the QR code (if requested) will appear here config:{ }, module: "clock", timezone: "America/Chicago", showPeriodUpper: "true", showDate: "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://ics.calendarlabs.com/76/mm3137/US_Holidays.ics" } ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", units: "imperial", windUnits: "imperial", tempUnits: "imperial", appendLocationNameToHeader: "true", showPeriodUpper: "true", colored: "true", position: "top_right", header: "Current Weather", config: { weatherProvider: "openweathermap", lat: "29.763281", lon: "-95.363274", type: "current", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8eca2aec0c123ce212", } }, { module: "weather", units: "imperial", winUnits: "imperial", tempUnits: "imperial", appendLocationNameToHeader: "true", showPeriodUpper: "true", colored: "true", position: "top_right", header: "Weather Forecast", config: { weatherProvider: "openweathermap", lat: "29.763281", lon:"-95.363274", type: "forecast", location: "Houston", locationID: "4699066", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "8eca2aecb123ce212", } }, { module: "newsfeed", 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;} -
@jimb you are still not using the code block , which makes this hard to read…
-
@jimb said in Modifying the Config File:
{ module: "MMM-Config", position: "top_right", //the QR code (if requested) will appear here config:{ },you obviously didn’t copy everything
the syntax requires every { to have a matching }
and every [ and matching ]
and every " a matching " -
Sam, Guess who? I got the Config.js straightened out and MM was starting fine. This was with the MMM-Config text added to the file.
The I attempted to follow the steps to add the module code to the module sub-folder.
- Clicked on the green button in your instructions and pasted the link into the terminal prefaced by ‘git clone’. It ‘cloned’ into the modules directory without errors.
- I ran ‘MPM install’ and it executed without errors
- From the terminal I started MM, by executing NPM Start.
- It started loading, but had errors then stopped.
- I was unable to copy text of the loading (w/errors) because the terminal times out.
-
- npm install, all lower case
- in the mm folder?, all lower case
- maybe a picture?
- don’t understand this, what terminal window
mm will always start, even to put up a dumb message. ctrl-c to stop it
-
Sam, I was able to grab the text from the terminal running on my computer- this was after starting MM
/home/rutspi/MagicMirror$ npm start
magicmirror@2.25.0 start
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.js[11.12.2023 19:08.13.289] [LOG] Starting MagicMirror: v2.25.0
[11.12.2023 19:08.13.298] [LOG] Loading config …
[11.12.2023 19:08.13.303] [DEBUG] config template file not exists, no envsubst
[11.12.2023 19:08.13.308] [LOG] Loading module helpers …
[11.12.2023 19:08.13.311] [LOG] No helper found for module: alert.
[11.12.2023 19:08.13.338] [LOG] Initializing new module helper …
[11.12.2023 19:08.13.339] [LOG] Module helper loaded: updatenotification
[11.12.2023 19:08.13.352] [ERROR] (node:1623) UnhandledPromiseRejectionWarning: Error: Cannot find module ‘deep-object-diff’
Require stack:- /home/rutspi/MagicMirror/modules/MMM-Config/node_helper.js
- /home/rutspi/MagicMirror/js/app.js
- /home/rutspi/MagicMirror/js/electron.js
- /home/rutspi/MagicMirror/node_modules/electron/dist/resources/default_app.asar/main.js
- at node:internal/modules/cjs/loader:1084:15
at Function. (node:electron/js2c/browser_init:2:117576)
at Module._resolveFilename (/home/rutspi/MagicMirror/node_modules/module-alias/index.js:49:29)
at node:internal/modules/cjs/loader:929:27
at Function._load (node:electron/js2c/asar_bundle:2:13327)
at Module.require (node:internal/modules/cjs/loader:1150:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object. (/home/rutspi/MagicMirror/modules/MMM-Config/node_helper.js:10:14)
at Module._compile (node:internal/modules/cjs/loader:1271:14)
at Object…js (node:internal/modules/cjs/loader:1326:10)
at Module.load (node:internal/modules/cjs/loader:1126:32)
at node:internal/modules/cjs/loader:967:12
at Function._load (node:electron/js2c/asar_bundle:2:13327)
at Module.require (node:internal/modules/cjs/loader:1150:19)
at require (node:internal/modules/cjs/helpers:110:18)
at loadModule (/home/rutspi/MagicMirror/js/app.js:180:19)
(Useelectron --trace-warnings ...to show where the warning was created)
[11.12.2023 19:08.13.353] [ERROR] (node:1623) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[1623:1211/190814.008170:ERROR:object_proxy.cc(590)] Failed to call ``` method: org.freedesktop.portal.Settings.Read: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to retrieve device information MESA-LOADER: failed to open kms_swrast: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) failed to load driver: kms_swrast MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri) failed to load swrast driver -
@jimb said in Modifying the Config File:
Cannot find module ‘deep-object-diff’
yeh, you missed a step
Clone this repo into ~/MagicMirror/modules directory. cd MMM-Config <---- this one npm installI’ve updated the install steps
1. cd ~/MagicMirror/modules 2. git clone https://github.com/sdetweil/MMM-Config 3. cd MMM-Config 4. npm install -
Sam, all is working OK again. Thanks! FYI, my capitalizations were for emphasis only, not copied or used.
Now, real dumb question "How is “MMM-Config” invoked?
-
@jimb said in Modifying the Config File:
How is “MMM-Config” invoked?
from the doc
showQR OPTIONAL false Show a QR code on the MM screen to allow quick access to the configuration form
Otherwise, use a browser to open
http://MM_IP_Address:MM_Port/modules/MMM-Config/review
-
Sam, you can stick a fork in this one as I don’t need any more help at this point. Thanks for all the assistance!
-
@jimb is mmm-config working or just moved on?
-
Sam, moving on as I want to build the actual frame for the Magic Mirror and not spend this amount of time on the code which is difficult to understand. Not your fault, but mine. :-)
-
@jimb no problem. come back when you’re ready.
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