Read the statement by Michael Teeuw here.
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? 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.
-
@joeytuck Tried a new API key and still no luck. Moved the module to a different portion of the config file just to see if there was somehow a limit on the amount of allowed modules that I haven’t been able to find. Still nothing.
-
@joeytuck Okay, so I deleted the MMM-Traffic folder and files that I had and did a new git clone and npm install for a fresh start. It works!! I’m sure I’m at fault for doing something stupid within the MMM-Traffic config file like changing a comma or something. Really happy about this one and I am very thankful for everyones help! I’ve learned quite a bit more about this than I thought I would need to. Onto wunderground!