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.

    Modifying the Config File

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    101 Posts 7 Posters 146.2k Views 7 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.
    • S Do not disturb
      sdetweil @jimb
      last edited by

      @jimb please read this
      https://forum.magicmirror.builders/topic/4528/how-to-create-a-working-config-for-absolute-beginners

      I didn’t write it

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • J Offline
        jimb
        last edited by sdetweil

        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;}
        
        S 2 Replies Last reply Reply Quote 0
        • S Do not disturb
          sdetweil @jimb
          last edited by

          @jimb you are still not using the code block , which makes this hard to read…

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @jimb
            last edited by sdetweil

            @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

            How to add modules

            learning how to use browser developers window for css changes

            1 Reply Last reply Reply Quote 0
            • J Offline
              jimb
              last edited by

              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.

              1. 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.
              2. I ran ‘MPM install’ and it executed without errors
              3. From the terminal I started MM, by executing NPM Start.
              4. It started loading, but had errors then stopped.
              5. I was unable to copy text of the loading (w/errors) because the terminal times out.
              S 1 Reply Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @jimb
                last edited by sdetweil

                @jimb

                1. npm install, all lower case
                2. in the mm folder?, all lower case
                3. maybe a picture?
                4. don’t understand this, what terminal window

                mm will always start, even to put up a dumb message. ctrl-c to stop it

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • J Offline
                  jimb
                  last edited by

                  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)
                    (Use electron --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
                  S 1 Reply Last reply Reply Quote 0
                  • S Do not disturb
                    sdetweil @jimb
                    last edited by sdetweil

                    @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 install
                    

                    I’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

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      jimb
                      last edited by

                      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?

                      S 1 Reply Last reply Reply Quote 0
                      • S Do not disturb
                        sdetweil @jimb
                        last edited by

                        @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

                        How to add modules

                        learning how to use browser developers window for css changes

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 10
                        • 11
                        • 3 / 11
                        • 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