Read the statement by Michael Teeuw here.
Help... I need help installing 3rd party modules to Magic Mirror 2
-
Added that comma as well and itś still failing. Hereś what Iḿ getting.
pi@raspberrypi:~/MagicMirror $ npm start
magicmirror@2.1.1 start /home/pi/MagicMirror
sh run-start.shStarting MagicMirror: v2.1.1
Loading config …
WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.
Loading module helpers …
Initializing new module helper …
Module helper loaded: updatenotification
No helper found for module: helloworld.
All module helpers loaded.
Starting server on port 8080 …
Starting server op port 8080 …
Server started …
Connecting socket for: updatenotification
Sockets connected & modules started …
Launching application. -
This has been kicking my butt for the last day and a half. Learning a lot during the beating though. Do I need to add ’ ’ around numeric values as well?
-
Also, do I need to do anything to the MMM-Traffic.js file defaults like adding the api_key or changing values to match my selections on the config.js file? It seems like it’s really easy when I read the readme files and I’m looking forward to that being the case. Any help in taking a step in the right direction would be much appreciated.
-
Fixed the config errors. Turns out that if you put Drive, instead of Dr, it won’t recognize it. Unfortunately, now Magic Mirror is starting normally but I don’t see the MMM-Traffic module being displayed. I’ve tried multiple screen positions and nothing.
-
@joeytuck said in Help... I need help installing 3rd party modules to Magic Mirror 2:
Do I need to add ’ ’ around numeric values as well?
Usually you don’t. It distinguishes between (for example) the NUMBER 5 and the TEXT containing “5”. To be sure, you should look at the default values and just do it in the same way. For example, arrival_time seems to require " " even though the given example “1445” also could have been a plain number (I guess the reason is the leading 0 at for example “0800” which gets ignored when inputting as number)
Also, you got some strange quotation marks ´ ´. Until now I thought, only " " and ’ ’ were valid.
-
@joeytuck said in Help... I need help installing 3rd party modules to Magic Mirror 2:
Also, do I need to do anything to the MMM-Traffic.js file defaults like adding the api_key or changing values to match my selections on the config.js file?
No. To include the MMM-Traffic module you just have to include it in your config.js (providing all the required settings).
@joeytuck said
Turns out that if you put Drive, instead of Dr, it won’t recognize it.
Where do you put Drive or Dr? In the readMe, possible values for “mode” are described to be ‘driving’, ‘walking’, ‘bicycling’, ‘transit’.
I suggest to delete or comment (adding // before the line) all not-required settings of MMM-Traffic at first to minimize possible sources for errors.
-
I’ve noticed that my quotation marks are a different font and wondered if that would be an issue? If I copy the quotation marks on the config file and use those in place of the ones that I key on my keyboard it works. I got the program to run but it’s not reflecting the addition of the module even though in the script it says that it’s installing and helpers are installing. As far as the Dr, vs. Drive that was in the addresses that I input. When doing for example Cherry Drive it gave me a config error. But Cherry Dr did not.
-
I removed all the forward // text not required for the code and MMM-Traffic still won’t populate on my mirror. Is there any code that limits it to only the factory module placement?
-
I suspect the quotation marks not only to be in a different font but to be different signs. This is indeed an issue since javascript defines strings by double (") and single quotes (') only (for reference see: https://www.w3schools.com/jsref/jsref_obj_string.asp).
So, just to be sure: After removing unnecessary properties you have a config.js that looks something like this minimal example
var config = { port: 8080, [...] modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, [...] { module: 'MMM-Traffic', position: 'top_left', config: { api_key: 'your_apikey_here', origin: '4 Pennsylvania Plaza, New York, NY 10001', destination: '1 MetLife Stadium Dr, East Rutherford, NJ 07073' } }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;}
with some content from the default config.js at the “[…]” places, your API-key instead of " ‘your_apikey_here’ " and possibly some lines commented out by prepending “//”, correct?
The fact that the MM2 starts without error message about config.js indicates, that the issue is within the properties you set, i.e. the origin/destination or the API key.
Some suggestions:- Did you try to run it with default properties of the MMM-Traffic module (the ones I copied above)? Of course you have to input your own API key.
- Did you check whether your API key is valid?
2.a Is your API key configured correctly? As far as I know you have to login into google account and there assign the key to a project and get the access restrictions right.
2.b In case you didn’t copy the key: have you checked for typos?
If you use default config.js parameters and example parameters from MMM-Traffic module it should run. From there, you can incrementally add your changes and figure out, which property leads to the issue.
-
},
{
module: ‘MMM-Traffic’,
position: ‘bottom_right’,
classes: ‘bright small’,
config: {
api_key: ‘api key redacted’,
mode: ‘driving’,
origin: ‘origin redacted’,
destination: ‘destination address redacted’,
arrival_time: ‘’,
route_name: ‘Home to Work’,
changeColor: true,
showGreen: false,
limitYellow: 5,
limitRed: 20,
traffic_model: ‘pessimistic’,
interval: 120000,
showWeekend: true,
allTime: false
}
},
{
module: “newsfeed”,
position: “bottom_bar”,
config: {
feeds: [I copied my API key from Google directly but Iĺl register for another one and give that a shot.