Read the statement by Michael Teeuw here.
MMM-GoogleAssistant help?
-
@infinity2437 because its on line 99
unexpected token
means the previous line did not have a trailing comma
-
@sdetweil I fixed that one now it says unexpected token node on touch
-
@infinity2437 there are 3 errors… all the same problem
-
Well you need to add " , " on a number of lines read WiKi config [http://wiki.bugsounet.fr/en/MMM-GoogleAssistant/Configuration](link url)
and [http://wiki.bugsounet.fr/en/MMM-GoogleAssistant/ConfigurationStructure](link url) -
@Infinity2437 @djboob66 the text config.js formatting rules are as follows
the thing to the
left
of : only needs quotes if it contains special characters, like - or .if
the thing to theright
of : is a number or true or false, it shouldnot
be quotedotherwise,
if
the thing to theright
contains letters or special chars then itmust
be quoted
single or double doesn’t matter as long as both ends matchif
the thing on thenext
line starts with a word, see rule part1, thenTHIS
lineMUST
have a comma at the end, signifying more is coming -
@sdetweil I meant he missing ( , )
-
@djboob66 yes, i said that before, and told him how to find them and fix them
-
@sdetweil ok now i have a new problem when trying to get MMM-Detection to work and now it says there is an error which is the
:
inmodule:
-
post config
-
@djboob66 line 140 column 10
/* Magic Mirror 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/getting-started/configuration.html#general * 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: ["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: 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: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, { module: "calendar", header: "US Holidays", position: "top_left", config: { calendars: [ { symbol: "calendar-check", url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics" } ] } }, { module: "compliments", position: "lower_third" }, { module: "weather", position: "top_right", config: { weatherProvider: "openweathermap", type: "hourly", units: "imperial", location: "", locationID: "5098135", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "YOUR_OPENWEATHER_API_KEY" } }, { module: "weather", position: "top_right", header: "Weather Forecast", config: { weatherProvider: "openweathermap", type: "forecast", units: "imperial", location: "", locationID: "5098135", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city apiKey: "YOUR_OPENWEATHER_API_KEY" } }, { module: "MMM-GoogleAssistant", position: "bottom_bar", configDeepMerge: true, config: { assistantConfig: { lang: "en-US", latitude: 40.8614432, longitude: -73.9624286 }, responseConfig: { useFullscreen: false, useResponseOutput: true, responseOutputCSS: "response_output.css", screenOutputTimer: 5000, activateDelay: 250, useAudioOutput: true, useChime: true, confirmationChime: true, useInformations: true }, Extended: { touch: { useTouch: true, mode: 2 }, spotify: { usespotify: true, player: { type: "Raspotify", email: "", password: minVolume: 10, maxVolume: 90, usePause: true } }, visual: { updateInterval: 1000, idleInterval: 10000, useBottomBar: false, CLIENT_ID: "", CLIENT_SECRET: "", } } } }, module: "MMM-Detector", position: "top_left", configDeepMerge: true, config: { debug: false, autoStart: true, useLogos: true, micConfig: { recorder: "auto", device: "default", audioGain: 2.0, applyFrontend: true // When you use only `snowboy` and `smart_mirror`, `false` is better. But with other models, `true` is better. }, newLogos: { default: "default.png" }, detectors: [ { detector: "Snowboy", Model: "jarvis", Sensitivity: null, Logo: "google", autoRestart: false, onDetected: { notification: "GA_ACTIVATE" } }, { detector: "Porcupine", Model: "ok google", Sensitivity: null, Logo: "google", autoRestart: false, onDetected: { notification: "GA_ACTIVATE" } }, { detector: "Porcupine", Model: "hey google", Sensitivity: null, Logo: "google", autoRestart: false, onDetected: { notification: "GA_ACTIVATE" } } ], NPMCheck: { useChecker: true, delay: 10 * 60 * 1000, useAlert: true } } } ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}