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.

    Config error

    Scheduled Pinned Locked Moved Solved Troubleshooting
    13 Posts 5 Posters 3.2k Views 3 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.
    • Cr4z33C Offline
      Cr4z33
      last edited by Cr4z33

      While editing my modules I might have deleted or forgotten some brackets or commas. šŸ¤¦šŸ½ā€ā™‚ļø

      I can’t figure out what is wrong so can someone here please help me?

       Magic Mirror Config Sample
       *
       * By Michael Teeuw http://michaelteeuw.nl
       * MIT Licensed.
       *
       * For more information how you can configurate this file
       * See https://github.com/MichMich/MagicMirror#configuration
       *
       */
      
      var config = {
      	address: "0.0.0.0", // 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, is "localhost"
      	port: 8080,
      	ipWhitelist: [], // 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"],
      
      	language: "it",
      	timeFormat: 24,
      	units: "metric",
      
      	modules: [
      		{
      			module: 'MMM-Logging',
      			disabled: false,
      			config: {
      			// Module functions out of the box with nothing set here.
      			// See below for configurable options.
      				}
      		},
      		{
      			module: 'MMM-Remote-Control',
      			// uncomment the following line to show the URL of the remote control on the mirror
      			// position: 'bottom_left',
      			disabled: false
      			// you can hide this module afterwards from the remote control itself
      		},
      		{
      			module: "MMM-RTSPStream",
      			position: "bottom_left",
      			disabled: false,
      			config: {
      				autoStart: false,
      				rotateStreams: true,
      				rotateStreamTimeout: 0,
      				shutdownDelay: 0,
      				moduleWidth: 440,
      				moduleHeight: 247,
      				// moduleOffset: {
      				//		left: -330,
      				//		top: -180
      				//		},
      				localPlayer: 'omxplayer',
      				remotePlayer: 'none',
      				showSnapWhenPaused: false,
      				remoteSnaps: false,
      				stream1: {						
      						name: 'Sky TG24',
      						url: 'http://****/1:0:1:5:7918:217C:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream2: {						
      						name: 'Rai 3 HD',
      						url: 'http://****/1:0:1:2191:5:13E:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream3: {						
      						name: 'Rai 3 TGR Puglia',
      						url: 'http://****/1:0:1:D4B:8800:13E:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream4: {						
      						name: 'Deejay TV HD',
      						url: 'http://****/1:0:1:29:7918:217C:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream5: {						
      						name: 'Radio Deejay',
      						url: 'http://****/1:0:2:9:204:1D:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream6: {						
      						name: 'Radio Capital',
      						url: 'http://****/1:0:2:A:204:1D:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		},
      				stream7: {						
      						name: 'Radio 105',
      						url: 'http://****/1:0:2:1FA7:32A:110:EEEE0000:0:0:0:',
      						protocol: "tcp",
      						frameRate: 'undefined',
      						width: 440,
      						height: 247
      		            		}
      		        	}
      		},
      		{
      			module: "alert",
      			config: {
      				alert_effect: "genie",
      				effect: "genie"
      				}
      		},
      		{
      			module: "updatenotification",
      			position: "top_bar"
      		},
      		{
      			module: "newsfeed",
      			position: "bottom_bar",
      			disabled: false,
      			config: {
      				feeds: [
      					{
      						title: "Cambio Euro/Dollaro",
      						url: "https://eur.fxexchangerate.com/usd.xml",
      						encoding: "ISO-8859-16"
      					},
      					{
      						title: "Agenzia ANSA - Ultima Ora",
      						url: "https://www.ansa.it/sito/notizie/topnews/topnews_rss.xml",
      					},
      					{
      						title: "Agenzia ANSA - Mondo",
      						url: "https://www.ansa.it/sito/notizie/mondo/mondo_rss.xml"
      					},
      					{
      						title: "Hardware Upgrade",
      						url: "https://feeds.hwupgrade.it/rss_hwup.xml",
      						encoding: "ISO-8859-16"
      					},
      					{
      						title: "HDblog.it",
      						url: "http://feeds.feedburner.com/hd-blog?format=xml"
      					},
      					{
      						title: "Tom's Hardware",
      						url: "https://www.tomshw.it/feed/"
      					},
      					{
      						title: "LeccePrima",
      						url: "http://www.lecceprima.it/rss/"
      					}
      				],
      				showSourceTitle: true,
      				showPublishDate: true,
      				showDescription: true,
      				wrapTitle: false
      			}
      		},
      		{
      			module: "MMM-AssistantMk2",
      			position: "top_bar",
      			disabled: false,
      			config: {
      					//onIdle: {
      					//		timer: 1000*10, //After 10sec of last query,
      					//		command: "RTSP_ACTIVATE"
      					//	},
      					onActivate: {
      							timer: 0,
      							command: "RTSP_DEACTIVATE"
      							},
      					transcriptionHook: {
      								"CHANNEL_1": {
      										pattern: "Sky TG24",
      										command: "CHANGE_CHANNEL_1"
      										},
      								"CHANNEL_2": {
      										pattern: "Rai3",
      										command: "CHANGE_CHANNEL_2"
      										},
      								"CHANNEL_3": {
      										pattern: "Puglia",
      										// pattern: "TGR",
      										command: "CHANGE_CHANNEL_3"
      										},
      								"CHANNEL_4": {
      										pattern: "Deejay Tv",
      										command: "CHANGE_CHANNEL_4"
      										},
      								"CHANNEL_5": {
      										pattern: "Radio Deejay",
      										command: "CHANGE_CHANNEL_5"
      										},
      								"CHANNEL_6": {
      										pattern: "Radio Capital",
      										command: "CHANGE_CHANNEL_6"
      										},
      								"CHANNEL_7": {
      										pattern: "Radio 105",
      										command: "CHANGE_CHANNEL_7"
      										},
      								"PROFILE1": {
      										pattern: "Famiglia",
      										command: "CHANGE_PROFILE_1"
      										},
      								"PROFILE2": {
      										pattern: "Mio",
      										command: "CHANGE_PROFILE_2"
      										}
      								},
      					command: {
      							"CHANGE_CHANNEL_1": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream1"
      													}
      									},
      							"CHANGE_CHANNEL_2": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream2"
      													}
      									},
      							"CHANGE_CHANNEL_3": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream3"
      													}
      									},
      							"CHANGE_CHANNEL_4": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream4"
      													}
      									},
      							"CHANGE_CHANNEL_5": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream5"
      													}
      									},
      							"CHANGE_CHANNEL_6": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream6"
      													}
      									},
      							"CHANGE_CHANNEL_7": {
      										notificationExec: {
      													notification: "RTSP-PLAY",
      													payload: "stream7"
      													}
      									},
      							//"RTSP_ACTIVATE": {
      							//			notificationExec: {
      							//						notification: "RTSP-PLAY",
      							//						payload: "all"
      							//						}
      							//		},
      							"RTSP_DEACTIVATE": {
      										notificationExec: {
      													notification: "RTSP-STOP",
      													payload: "all"
      													}
      									},
      							"CHANGE_PROFILE_1": {
      										moduleExec: {
      												module:[],
      												exec: (module, params, key) => {
      																var modules = ["alert", "updatenotification", "newsfeed", "MMM-AssistantMk2", "MMM-Hotword", "clock", "MMM-MyWeather"]
      																if (modules.indexOf(module.name) >= 0) {
      																					module.show()
      																					} else {
      																					module.hide()
      																					}
      																}
      												}
      										},
      							"CHANGE_PROFILE_2": {
      										moduleExec: {
      												module:[],
      												exec: (module, params, key) => {
      																var modules = ["MMM-RTSPStream", "MMM-CalendarExt2", "alert", "updatenotification", "newsfeed", "MMM-AssistantMk2", "MMM-PushBulletNotifications", "MMM-NowPlayingOnSpotify", "MMM-Hotword", "clock", "MMM-MyWeather"]
      																if (modules.indexOf(module.name) >= 0) {
      																					module.show()
      																					} else {
      																					module.hide()
      																					}
      																}
      										}
      						},
      					},
      			record: {
      					recordProgram : "arecord",
      					device: null,
      					// device: "plughw:2,0",
      				},
      			responseScreen: false, // If available, Assistant will response with some rendered HTML
      			responseAlert: false,
      			notifications: {
      						ASSISTANT_ACTIVATED: "HOTWORD_PAUSE",
      						ASSISTANT_DEACTIVATED: "HOTWORD_RESUME",
      					},
      			deviceLocation: {
      						coordinates: {
      								latitude: ****,
      								longitude: ****
      								}
      					},
      			profiles: {
      					"default": {
      							profileFile: "default.json",
      							lang: "it-IT"
      						}
      				}
      			}
      		},
      		{
      			module: "clock",
      			position: "top_right",
      			disabled: false,
      			config: {
      				displaySeconds: false,
      				clockBold: true
      				}
      		},
      		{
      			module: 'MMM-PushBulletNotifications',
      			header: 'Notifications',
      			position: 'top_right',	// This can be any of the regions.
      			disabled: false,		
      			config: {
      				// See 'Configuration options' for more information.
      				accessToken: "****", //PushBullet API Access Token
      				numberOfNotifications: 3,
      				showPushesSentToAllDevices: true,
      				onlyAllowCommandsFromSourceDevices: [],
      				fetchLimitPushBullet: 50,
      				showPushes: true,
      				showPushesOnLoad: true,
      				showDismissedPushes: true,
      				showMirroredNotifications: true, 
      				onlyShowLastNotificationFromApplication: false,
      				showIndividualNotifications: false,
      				showSMS: true,
      				showMessage: true,
      				showIcons: true,
      				showDateTime: true,
      				localesDateTime: 'it-IT',
      				playSoundOnNotificationReceived: true,
      				soundFile: 'modules/MMM-PushBulletNotifications/sounds/new-message.mp3',			
      				maxMsgCharacters: 50,
      				maxHeaderCharacters: 32,
      				showModuleIfNoNotifications: false,
      				noNotificationsMessage: "Nessuna nuova notifica",
      				debugMode: false,
      				}
      		},
      		{
      			module: "MMM-NowPlayingOnSpotify",
      			position: "top_right",
      			disabled: false,
      			config: {
      				clientID: "****",
      				clientSecret: "****",
      				accessToken: "****",
      				refreshToken: "****"
      				}
      		},
      		{
      			module: "MMM-Hotword",
      			disabled: false,
      			config: {
      				snowboy: [
      					{
      					hotwords: "ehi specchio", //this will be sent to other module for distinguishing which hotword is detected.
      					file: "resources/models/ehi_specchio.pmdl",
      					sensitivity: '0.5',
      					},
      					{
      					hotwords: "ok specchio",
      					file: "resources/models/ok_specchio.pmdl",
      					sensitivity: '0.5',
      					}
      					],
      				record: {
      					recordProgram: "arecord",  
      					device: null,
      					},
      				autostart:true,
      				onDetected: {
      					notification: function (payload) {
      									return "ASSISTANT_ACTIVATE"
      									}
      						},
      				payload: function (payload){
      								return {
      									profile: payload.hotword
      									}
      							}
      				}
      		},
      		{
      			module: "MMM-DarkSkyForecast",
      			header: "Meteo",
      			position: "top_left",
      			classes: "default everyone",
      			disabled: false,
      			config: {
      					apikey: "****",
      					latitude: "****",
      					longitude: "****",
      					language: "it",
      					forecastHeaderText: "****",
      					label_timeFormat: "hh:mm",
      					iconset: "4c",
      					concise: false,
      					showSummary: false,
      					forecastLayout: "table"
      				}
      		}
      	]
      
      };
      
      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== "undefined") {module.exports = config;}
      
      
      justjim1220J 1 Reply Last reply Reply Quote 0
      • justjim1220J Offline
        justjim1220 Module Developer @Cr4z33
        last edited by

        @cr4z33

        line 1 needs a /* at the very top left

        the output you posted tells you where to look for the errors

        "Life's Too Short To Dance With Ugly People"
        Jim Hallock - 1995

        Cr4z33C 1 Reply Last reply Reply Quote 0
        • justjim1220J Offline
          justjim1220 Module Developer @Cr4z33
          last edited by

          @cr4z33
          try: npm run config:check

          "Life's Too Short To Dance With Ugly People"
          Jim Hallock - 1995

          Cr4z33C 2 Replies Last reply Reply Quote 0
          • Cr4z33C Offline
            Cr4z33 @justjim1220
            last edited by

            @justjim1220 thanks didn’t know about that. :)

            Will run it as soon as I get home.

            1 Reply Last reply Reply Quote 1
            • BKeyportB Offline
              BKeyport Module Developer
              last edited by

              You have to be in the MM directory, FWIW.

              I have a script set up in my root directory:
              cd ~/MagicMirror
              npm run config:check
              cd ~

              The "E" in "Javascript" stands for "Easy"

              Cr4z33C 1 Reply Last reply Reply Quote 1
              • Cr4z33C Offline
                Cr4z33 @BKeyport
                last edited by

                @bkeyport I know it. 😜

                1 Reply Last reply Reply Quote 0
                • Cr4z33C Offline
                  Cr4z33 @justjim1220
                  last edited by

                  @justjim1220 the command stopped already at line 8 so I couldn’t find out where the error was.

                  pi@raspberrypi:~/MagicMirror $ npm run config:check
                  
                  > magicmirror@2.6.0 config:check /home/pi/MagicMirror
                  > node tests/configs/check_config.js
                  
                  Checking file...  /home/pi/MagicMirror/config/config.js
                  Line 1 col 2 Expected an assignment or function call and instead saw an expression.
                  Line 1 col 7 Missing semicolon.
                  Line 1 col 8 Expected an assignment or function call and instead saw an expression.
                  Line 1 col 14 Missing semicolon.
                  Line 1 col 15 Expected an assignment or function call and instead saw an expression.
                  Line 1 col 21 Missing semicolon.
                  Line 2 col 2 Misleading line break before '*'; readers may interpret this as an expression boundary.
                  Line 3 col 2 Expected an identifier and instead saw '*'.
                  Line 3 col 2 Expected an assignment or function call and instead saw an expression.
                  Line 3 col 3 Missing semicolon.
                  Line 3 col 4 Expected an assignment or function call and instead saw an expression.
                  Line 3 col 6 Missing semicolon.
                  Line 3 col 7 Expected an assignment or function call and instead saw an expression.
                  Line 3 col 14 Missing semicolon.
                  Line 3 col 15 Expected an assignment or function call and instead saw an expression.
                  Line 3 col 20 Missing semicolon.
                  Line 4 col 2 Label 'http' on * statement.
                  Line 4 col 2 Expected an identifier and instead saw '*'.
                  Line 4 col 2 Expected an assignment or function call and instead saw an expression.
                  Line 4 col 3 Missing semicolon.
                  Line 4 col 4 Expected an assignment or function call and instead saw an expression.
                  Line 4 col 7 Missing semicolon.
                  Line 5 col 2 Expected an identifier and instead saw '*'.
                  Line 5 col 2 Expected an assignment or function call and instead saw an expression.
                  Line 5 col 3 Missing semicolon.
                  Line 6 col 2 Expected an identifier and instead saw '*'.
                  Line 6 col 2 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 3 Missing semicolon.
                  Line 6 col 4 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 7 Missing semicolon.
                  Line 6 col 8 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 12 Missing semicolon.
                  Line 6 col 13 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 24 Missing semicolon.
                  Line 6 col 25 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 28 Missing semicolon.
                  Line 6 col 29 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 32 Missing semicolon.
                  Line 6 col 33 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 36 Missing semicolon.
                  Line 6 col 37 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 48 Missing semicolon.
                  Line 6 col 49 Expected an assignment or function call and instead saw an expression.
                  Line 6 col 53 Missing semicolon.
                  Line 7 col 2 Misleading line break before '*'; readers may interpret this as an expression boundary.
                  Line 7 col 4 Expected an assignment or function call and instead saw an expression.
                  Line 7 col 7 Missing semicolon.
                  Line 8 col 2 Label 'https' on * statement.
                  Line 9 col 2 Unbegun comment.
                  Line 8 col 2 Expected an identifier and instead saw '*'.
                  Line 8 col 2 Too many errors. (1% scanned).
                  
                  justjim1220J 2 Replies Last reply Reply Quote 0
                  • justjim1220J Offline
                    justjim1220 Module Developer @Cr4z33
                    last edited by

                    @cr4z33

                    line 1 needs a /* at the very top left

                    the output you posted tells you where to look for the errors

                    "Life's Too Short To Dance With Ugly People"
                    Jim Hallock - 1995

                    Cr4z33C 1 Reply Last reply Reply Quote 0
                    • justjim1220J Offline
                      justjim1220 Module Developer @Cr4z33
                      last edited by

                      @cr4z33

                      looks like the missing /* is causing all the rest of the error, fix that one and you should be good to go.

                      "Life's Too Short To Dance With Ugly People"
                      Jim Hallock - 1995

                      Cr4z33C 1 Reply Last reply Reply Quote 0
                      • Cr4z33C Offline
                        Cr4z33 @justjim1220
                        last edited by

                        @justjim1220 good catch there thanks, but unfortunately I still get the config error. :disappointed_face:

                        1 Reply Last reply Reply Quote 0
                        • Cr4z33C Offline
                          Cr4z33 @justjim1220
                          last edited by

                          @justjim1220 sorry didn’t read properly your suggestion and missed that forward slash! :smiling_face:

                          Everything is sorted now thanks again!

                          justjim1220J bheplerB 2 Replies Last reply Reply Quote 1
                          • 1
                          • 2
                          • 1 / 2
                          • 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